You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by ta...@apache.org on 2022/02/15 06:54:43 UTC
[myfaces] branch 2.3-next updated: Fix MYFACES-4428 - Separate "begin tag" code from "end tag" code in HtmlTextRendererBase / HtmlSecretRendererBase (#229)
This is an automated email from the ASF dual-hosted git repository.
tandraschko pushed a commit to branch 2.3-next
in repository https://gitbox.apache.org/repos/asf/myfaces.git
The following commit(s) were added to refs/heads/2.3-next by this push:
new 4053c67 Fix MYFACES-4428 - Separate "begin tag" code from "end tag" code in HtmlTextRendererBase / HtmlSecretRendererBase (#229)
4053c67 is described below
commit 4053c67ef4c43a8a4eeee0ae070a48e7fda67909
Author: Jonathan S. Fisher <ex...@gmail.com>
AuthorDate: Tue Feb 15 00:54:38 2022 -0600
Fix MYFACES-4428 - Separate "begin tag" code from "end tag" code in HtmlTextRendererBase / HtmlSecretRendererBase (#229)
---
.../html/base/HtmlSecretRendererBase.java | 35 ++++++++++++----------
.../renderkit/html/base/HtmlTextRendererBase.java | 27 ++++++++++++++---
.../renderkit/html/HtmlSecretRendererTest.java | 1 +
.../renderkit/html/HtmlTextRendererTest.java | 2 ++
4 files changed, 45 insertions(+), 20 deletions(-)
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlSecretRendererBase.java b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlSecretRendererBase.java
index c49c46e..b4d43ea 100644
--- a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlSecretRendererBase.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlSecretRendererBase.java
@@ -48,25 +48,28 @@ public class HtmlSecretRendererBase extends HtmlRenderer
private static final String AUTOCOMPLETE_VALUE_OFF = "off";
@Override
+ public void encodeBegin(FacesContext facesContext, UIComponent uiComponent) throws IOException
+ {
+ RendererUtils.checkParamValidity(facesContext, uiComponent, UIInput.class);
+
+ ResponseWriter writer = facesContext.getResponseWriter();
+
+ Map<String, List<ClientBehavior>> behaviors = null;
+ if (uiComponent instanceof ClientBehaviorHolder)
+ {
+ behaviors = ((ClientBehaviorHolder) uiComponent).getClientBehaviors();
+ if (!behaviors.isEmpty())
+ {
+ ResourceUtils.renderDefaultJsfJsInlineIfNecessary(facesContext, writer);
+ }
+ }
+ //allow subclasses to render custom attributes by separating rendering begin and end
+ renderInputBegin(facesContext, uiComponent);
+ }
+
public void encodeEnd(FacesContext facesContext, UIComponent uiComponent)
throws IOException
{
- RendererUtils.checkParamValidity(facesContext, uiComponent, UIInput.class);
-
- ResponseWriter writer = facesContext.getResponseWriter();
-
- Map<String, List<ClientBehavior>> behaviors = null;
- if (uiComponent instanceof ClientBehaviorHolder)
- {
- behaviors = ((ClientBehaviorHolder) uiComponent).getClientBehaviors();
- if (!behaviors.isEmpty())
- {
- ResourceUtils.renderDefaultJsfJsInlineIfNecessary(facesContext, writer);
- }
- }
-
- //allow subclasses to render custom attributes by separating rendering begin and end
- renderInputBegin(facesContext, uiComponent);
renderInputEnd(facesContext, uiComponent);
}
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlTextRendererBase.java b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlTextRendererBase.java
index 7413dfa..fd001ba 100644
--- a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlTextRendererBase.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlTextRendererBase.java
@@ -53,6 +53,27 @@ public class HtmlTextRendererBase
private static final String AUTOCOMPLETE_VALUE_OFF = "off";
@Override
+ public void encodeBegin(FacesContext facesContext, UIComponent component) throws IOException
+ {
+ RendererUtils.checkParamValidity(facesContext,component,null);
+
+ Map<String, List<ClientBehavior>> behaviors = null;
+ if (component instanceof ClientBehaviorHolder)
+ {
+ behaviors = ((ClientBehaviorHolder) component).getClientBehaviors();
+ if (!behaviors.isEmpty())
+ {
+ ResourceUtils.renderDefaultJsfJsInlineIfNecessary(facesContext, facesContext.getResponseWriter());
+ }
+ }
+
+ if (component instanceof UIInput)
+ {
+ renderInputBegin(facesContext, component);
+ }
+ }
+
+ @Override
public void encodeEnd(FacesContext facesContext, UIComponent component) throws IOException
{
RendererUtils.checkParamValidity(facesContext,component,null);
@@ -69,7 +90,7 @@ public class HtmlTextRendererBase
if (component instanceof UIInput)
{
- renderInput(facesContext, component);
+ renderInputEnd(facesContext, component);
}
else if (component instanceof UIOutput)
{
@@ -173,12 +194,10 @@ public class HtmlTextRendererBase
return true;
}
+ @Deprecated
protected void renderInput(FacesContext facesContext, UIComponent component)
throws IOException
{
- //allow subclasses to render custom attributes by separating rendering begin and end
- renderInputBegin(facesContext, component);
- renderInputEnd(facesContext, component);
}
//Subclasses can set the value of an attribute before, or can render a custom attribute after calling this method
diff --git a/impl/src/test/java/org/apache/myfaces/renderkit/html/HtmlSecretRendererTest.java b/impl/src/test/java/org/apache/myfaces/renderkit/html/HtmlSecretRendererTest.java
index 42ac4b6..c7a839e 100644
--- a/impl/src/test/java/org/apache/myfaces/renderkit/html/HtmlSecretRendererTest.java
+++ b/impl/src/test/java/org/apache/myfaces/renderkit/html/HtmlSecretRendererTest.java
@@ -69,6 +69,7 @@ public class HtmlSecretRendererTest extends AbstractJsfTestCase
public void testInputTextDefault() throws Exception
{
+ inputText.encodeBegin(facesContext);
inputText.encodeEnd(facesContext);
facesContext.renderResponse();
diff --git a/impl/src/test/java/org/apache/myfaces/renderkit/html/HtmlTextRendererTest.java b/impl/src/test/java/org/apache/myfaces/renderkit/html/HtmlTextRendererTest.java
index b06874c..083e020 100644
--- a/impl/src/test/java/org/apache/myfaces/renderkit/html/HtmlTextRendererTest.java
+++ b/impl/src/test/java/org/apache/myfaces/renderkit/html/HtmlTextRendererTest.java
@@ -93,6 +93,7 @@ public class HtmlTextRendererTest extends AbstractJsfTestCase
outputText.setValue("Output");
outputText.setStyleClass("myStyleClass");
+ outputText.encodeBegin(facesContext);
outputText.encodeEnd(facesContext);
facesContext.renderResponse();
@@ -111,6 +112,7 @@ public class HtmlTextRendererTest extends AbstractJsfTestCase
outputText.setValue("Output");
outputText.setEscape(true);
+ outputText.encodeBegin(facesContext);
outputText.encodeEnd(facesContext);
facesContext.renderResponse();