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:55:11 UTC
[myfaces] branch master updated: MYFACES-4428 - Separate 'begin tag' code from 'end tag' code in HtmlTextRendererBase / HtmlSecretRendererBase (#231)
This is an automated email from the ASF dual-hosted git repository.
tandraschko pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/myfaces.git
The following commit(s) were added to refs/heads/master by this push:
new 83198f4 MYFACES-4428 - Separate 'begin tag' code from 'end tag' code in HtmlTextRendererBase / HtmlSecretRendererBase (#231)
83198f4 is described below
commit 83198f4c413d3200b68afe03736575a70cffe088
Author: Jonathan S. Fisher <ex...@gmail.com>
AuthorDate: Tue Feb 15 00:55:05 2022 -0600
MYFACES-4428 - Separate 'begin tag' code from 'end tag' code in HtmlTextRendererBase / HtmlSecretRendererBase (#231)
---
.../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 e37f2a7..83bc08b 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
@@ -49,25 +49,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 4213c9e..cf2030e 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
@@ -54,6 +54,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);
@@ -70,7 +91,7 @@ public class HtmlTextRendererBase
if (component instanceof UIInput)
{
- renderInput(facesContext, component);
+ renderInputEnd(facesContext, component);
}
else if (component instanceof UIOutput)
{
@@ -175,12 +196,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 c5d4b5e..280ae7c 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 822f91f..a557835 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();