You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by pa...@apache.org on 2020/07/10 13:38:04 UTC
svn commit: r1879765 [27/41] - in
/myfaces/site/publish/core22/myfaces-impl-shared: ./ apidocs/
apidocs/org/apache/myfaces/shared/application/
apidocs/org/apache/myfaces/shared/application/class-use/
apidocs/org/apache/myfaces/shared/component/ apidocs...
Modified: myfaces/site/publish/core22/myfaces-impl-shared/cpd.html
URL: http://svn.apache.org/viewvc/myfaces/site/publish/core22/myfaces-impl-shared/cpd.html?rev=1879765&r1=1879764&r2=1879765&view=diff
==============================================================================
--- myfaces/site/publish/core22/myfaces-impl-shared/cpd.html (original)
+++ myfaces/site/publish/core22/myfaces-impl-shared/cpd.html Fri Jul 10 13:37:56 2020
@@ -29,7 +29,7 @@
<div class="date">
- Last Published: 06 Feb 2017
+ Last Published: 10 Jul 2020
</div>
<ul>
<li>
@@ -803,18 +803,112 @@
<th>File</th>
<th>Line</th></tr>
<tr class="b">
+<td>org/apache/myfaces/shared/renderkit/html/HtmlRendererUtils.java</td>
+<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/HtmlRendererUtils.html#583">583</a></td></tr>
+<tr class="a">
+<td>org/apache/myfaces/shared/renderkit/html/util/SelectItemsUtils.java</td>
+<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/util/SelectItemsUtils.html#144">144</a></td></tr>
+<tr class="b"><td colspan='2'>
+<div>
+<pre> writer.startElement(HTML.OPTION_ELEM, selectItemInfo.getComponent()); // component);
+ if (itemStrValue != null)
+ {
+ writer.writeAttribute(HTML.VALUE_ATTR, itemStrValue, null);
+ }
+ else
+ {
+ writer.writeAttribute(HTML.VALUE_ATTR, "", null);
+ }
+
+ if (selected)
+ {
+ writer.writeAttribute(HTML.SELECTED_ATTR, HTML.SELECTED_ATTR, null);
+ }
+
+ boolean disabled = selectItem.isDisabled();
+ if (disabled)
+ {
+ writer.writeAttribute(HTML.DISABLED_ATTR, HTML.DISABLED_ATTR, null);
+ }
+
+ String labelClass = null;
+
+ if (componentDisabled || disabled)
+ {
+ labelClass = (String) component.getAttributes().get(
+ JSFAttr.DISABLED_CLASS_ATTR);
+ }
+ else
+ {
+ labelClass = (String) component.getAttributes().get(
+ JSFAttr.ENABLED_CLASS_ATTR);
+ }
+ if (labelClass != null)
+ {
+ writer.writeAttribute("class", labelClass, "labelClass");
+ }
+
+ boolean escape;
+ if (component instanceof EscapeCapable)
+ {
+ escape = ((EscapeCapable) component).isEscape();
+
+ // Preserve tomahawk semantic. If escape=false
+ // all items should be non escaped. If escape
+ // is true check if selectItem.isEscape() is
+ // true and do it.
+ // This is done for remain compatibility.
+ if (escape && selectItem.isEscape())
+ {
+ writer.writeText(selectItem.getLabel(), null);
+ }
+ else
+ {
+ writer.write(selectItem.getLabel());
+ }
+ }
+ else
+ {
+ escape = RendererUtils.getBooleanAttribute(component,
+ JSFAttr.ESCAPE_ATTR, false);
+ //default is to escape
+ //In JSF 1.2, when a SelectItem is created by default
+ //selectItem.isEscape() returns true (this property
+ //is not available on JSF 1.1).
+ //so, if we found a escape property on the component
+ //set to true, escape every item, but if not
+ //check if isEscape() = true first.
+ if (escape || selectItem.isEscape())
+ {
+ writer.writeText(selectItem.getLabel(), null);
+ }
+ else
+ {
+ writer.write(selectItem.getLabel());
+ }
+ }
+
+ writer.endElement(HTML.OPTION_ELEM);</pre></div></td></tr></table>
+<table border="0" class="bodyTable">
+<tr class="a">
+<th>File</th>
+<th>Line</th></tr>
+<tr class="b">
<td>org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.java</td>
<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.html#73">73</a></td></tr>
<tr class="a">
<td>org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.java</td>
-<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.html#204">204</a></td></tr>
+<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.html#207">207</a></td></tr>
<tr class="b"><td colspan='2'>
<div>
<pre> String app;
- char c;
- for (int i = 0; i < string.length (); ++i)
+ char c = ' ';
+ char prevC;
+ int length = string.length();
+ for (int i = 0; i < length; ++i)
{
app = null;
+ prevC = c;
c = string.charAt(i);
// All characters before letters
@@ -828,7 +922,7 @@
case '>': app = "&gt;"; break; //>
case ' ':
if (encodeSubsequentBlanksToNbsp &&
- (i == 0 || (i - 1 >= 0 && string.charAt(i - 1) == ' ')))
+ prevC == ' ')
{
//Space at beginning or after another space
app = "&#160;";
@@ -891,92 +985,107 @@
<th>File</th>
<th>Line</th></tr>
<tr class="b">
-<td>org/apache/myfaces/shared/renderkit/html/HtmlRendererUtils.java</td>
-<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/HtmlRendererUtils.html#583">583</a></td></tr>
+<td>org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.java</td>
+<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.html#218">218</a></td></tr>
<tr class="a">
-<td>org/apache/myfaces/shared/renderkit/html/util/SelectItemsUtils.java</td>
-<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/util/SelectItemsUtils.html#144">144</a></td></tr>
+<td>org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.java</td>
+<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.html#379">379</a></td></tr>
<tr class="b"><td colspan='2'>
<div>
-<pre> writer.startElement(HTML.OPTION_ELEM, selectItemInfo.getComponent()); // component);
- if (itemStrValue != null)
- {
- writer.writeAttribute(HTML.VALUE_ATTR, itemStrValue, null);
- }
- else
- {
- writer.writeAttribute(HTML.VALUE_ATTR, "", null);
- }
-
- if (selected)
+<pre> if ((int)c < 0x41)
+ {
+ switch (c)
{
- writer.writeAttribute(HTML.SELECTED_ATTR, HTML.SELECTED_ATTR, null);
+ case '"': app = "&quot;"; break; //"
+ case '&': app = "&amp;"; break; //&
+ case '<': app = "&lt;"; break; //<
+ case '>': app = "&gt;"; break; //>
+ case ' ':
+ if (encodeSubsequentBlanksToNbsp &&
+ prevC == ' ')
+ {
+ //Space at beginning or after another space
+ app = "&#160;";
+ }
+ break;
+ case '\n':
+ if (encodeNewline)
+ {
+ app = "<br/>";
+ }
+ break;
+ default:
+ break;
}
-
- boolean disabled = selectItem.isDisabled();
- if (disabled)
+ // http://www.w3.org/MarkUp/html3/specialchars.html
+ // From C0 extension U+0000-U+001F only U+0009, U+000A and
+ // U+000D are valid control characters
+ if (c <= 0x1F && c != 0x09 && c != 0x0A && c != 0x0D)
{
- writer.writeAttribute(HTML.DISABLED_ATTR, HTML.DISABLED_ATTR, null);
+ // Ignore escape character
+ app = "";
}
+ }
+ else if (encodeNonLatin && (int)c > 0x80)
+ {
+ switch(c)
+ {
+ //german umlauts
+ case '\u00E4' : app = "&auml;"; break;
+ case '\u00C4' : app = "&Auml;"; break;
+ case '\u00F6' : app = "&ouml;"; break;
+ case '\u00D6' : app = "&Ouml;"; break;
+ case '\u00FC' : app = "&uuml;"; break;
+ case '\u00DC' : app = "&Uuml;"; break;
+ case '\u00DF' : app = "&szlig;"; break;
- String labelClass = null;
+ //misc
+ //case 0x80: app = "&euro;"; break; sometimes euro symbol is ascii 128, should we suport it?
+ case '\u20AC': app = "&euro;"; break;
+ case '\u00AB': app = "&laquo;"; break;
+ case '\u00BB': app = "&raquo;"; break;
+ case '\u00A0': app = "&#160;"; break;
- if (componentDisabled || disabled)
- {
- labelClass = (String) component.getAttributes().get(
- JSFAttr.DISABLED_CLASS_ATTR);
- }
- else
- {
- labelClass = (String) component.getAttributes().get(
- JSFAttr.ENABLED_CLASS_ATTR);
- }
- if (labelClass != null)
- {
- writer.writeAttribute("class", labelClass, "labelClass");
+ default :
+ //encode all non basic latin characters
+ app = "&#" + ((int)c) + ";";
+ break;
}
-
- boolean escape;
- if (component instanceof EscapeCapable)
+ }
+ if (app != null)
+ {
+ //if (sb == null)
+ //{
+ // sb = new StringBuilder(realLength*2);
+ // sb.append(string, offset, i - offset);
+ //}
+ //sb.append(app);
+ if (start < i)
{
- escape = ((EscapeCapable) component).isEscape();
-
- // Preserve tomahawk semantic. If escape=false
- // all items should be non escaped. If escape
- // is true check if selectItem.isEscape() is
- // true and do it.
- // This is done for remain compatibility.
- if (escape && selectItem.isEscape())
- {
- writer.writeText(selectItem.getLabel(), null);
- }
- else
- {
- writer.write(selectItem.getLabel());
- }
+ writer.write(string, start, i-start);
}
- else
+ start = i+1;
+ writer.write(app);
+ }
+ /*
+ else
+ {
+ if (sb != null)
{
- escape = RendererUtils.getBooleanAttribute(component,
- JSFAttr.ESCAPE_ATTR, false);
- //default is to escape
- //In JSF 1.2, when a SelectItem is created by default
- //selectItem.isEscape() returns true (this property
- //is not available on JSF 1.1).
- //so, if we found a escape property on the component
- //set to true, escape every item, but if not
- //check if isEscape() = true first.
- if (escape || selectItem.isEscape())
- {
- writer.writeText(selectItem.getLabel(), null);
- }
- else
- {
- writer.write(selectItem.getLabel());
- }
+ sb.append(c);
}
+ }*/
+ }
- writer.endElement(HTML.OPTION_ELEM);</pre></div></td></tr></table>
+ //if (sb == null)
+ //{
+ // writer.write(string, offset, realLength);
+ //}
+ //else
+ //{
+ // writer.write(sb.toString());
+ //}
+ if (start == offset)</pre></div></td></tr></table>
<table border="0" class="bodyTable">
<tr class="a">
<th>File</th>
@@ -1206,6 +1315,87 @@
<th>File</th>
<th>Line</th></tr>
<tr class="b">
+<td>org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.java</td>
+<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.html#84">84</a></td></tr>
+<tr class="a">
+<td>org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.java</td>
+<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.html#379">379</a></td></tr>
+<tr class="b"><td colspan='2'>
+<div>
+<pre> if ((int)c < 0x41)
+ {
+ switch (c)
+ {
+ case '"': app = "&quot;"; break; //"
+ case '&': app = "&amp;"; break; //&
+ case '<': app = "&lt;"; break; //<
+ case '>': app = "&gt;"; break; //>
+ case ' ':
+ if (encodeSubsequentBlanksToNbsp &&
+ prevC == ' ')
+ {
+ //Space at beginning or after another space
+ app = "&#160;";
+ }
+ break;
+ case '\n':
+ if (encodeNewline)
+ {
+ app = "<br/>";
+ }
+ break;
+ default:
+ break;
+ }
+ // http://www.w3.org/MarkUp/html3/specialchars.html
+ // From C0 extension U+0000-U+001F only U+0009, U+000A and
+ // U+000D are valid control characters
+ if (c <= 0x1F && c != 0x09 && c != 0x0A && c != 0x0D)
+ {
+ // Ignore escape character
+ app = "";
+ }
+ }
+ else if (encodeNonLatin && (int)c > 0x80)
+ {
+ switch(c)
+ {
+ //german umlauts
+ case '\u00E4' : app = "&auml;"; break;
+ case '\u00C4' : app = "&Auml;"; break;
+ case '\u00F6' : app = "&ouml;"; break;
+ case '\u00D6' : app = "&Ouml;"; break;
+ case '\u00FC' : app = "&uuml;"; break;
+ case '\u00DC' : app = "&Uuml;"; break;
+ case '\u00DF' : app = "&szlig;"; break;
+
+ //misc
+ //case 0x80: app = "&euro;"; break; sometimes euro symbol is ascii 128, should we suport it?
+ case '\u20AC': app = "&euro;"; break;
+ case '\u00AB': app = "&laquo;"; break;
+ case '\u00BB': app = "&raquo;"; break;
+ case '\u00A0': app = "&#160;"; break;
+
+ default :
+ //encode all non basic latin characters
+ app = "&#" + ((int)c) + ";";
+ break;
+ }
+ }
+ if (app != null)
+ {
+ //if (sb == null)
+ //{
+ // sb = new StringBuilder(realLength*2);
+ // sb.append(string, offset, i - offset);
+ //}
+ //sb.append(app);
+ if (start < i)</pre></div></td></tr></table>
+<table border="0" class="bodyTable">
+<tr class="a">
+<th>File</th>
+<th>Line</th></tr>
+<tr class="b">
<td>org/apache/myfaces/shared/renderkit/html/HtmlMessageRendererBase.java</td>
<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/HtmlMessageRendererBase.html#372">372</a></td></tr>
<tr class="a">
@@ -1247,13 +1437,14 @@
<div>
<pre> private static boolean validateResourceName(String expression, boolean allowSlash)
{
- if (expression.length() == 2 &&
+ int length = expression.length();
+ if (length == 2 &&
expression.charAt(0) == '.' &&
expression.charAt(1) == '.')
{
return false;
}
- for (int i = 0; i < expression.length(); i++)
+ for (int i = 0; i < length; i++)
{
char c = expression.charAt(i);
@@ -1358,102 +1549,6 @@
<th>File</th>
<th>Line</th></tr>
<tr class="b">
-<td>org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.java</td>
-<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.html#222">222</a></td></tr>
-<tr class="a">
-<td>org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.java</td>
-<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.html#381">381</a></td></tr>
-<tr class="b"><td colspan='2'>
-<div>
-<pre> (i == 0 || (i - 1 >= 0 && string[i - 1] == ' ')))
- {
- //Space at beginning or after another space
- app = "&#160;";
- }
- break;
- case '\n':
- if (encodeNewline)
- {
- app = "<br/>";
- }
- break;
- default:
- break;
- }
- // http://www.w3.org/MarkUp/html3/specialchars.html
- // From C0 extension U+0000-U+001F only U+0009, U+000A and
- // U+000D are valid control characters
- if (c <= 0x1F && c != 0x09 && c != 0x0A && c != 0x0D)
- {
- // Ignore escape character
- app = "";
- }
- }
- else if (encodeNonLatin && (int)c > 0x80)
- {
- switch(c)
- {
- //german umlauts
- case '\u00E4' : app = "&auml;"; break;
- case '\u00C4' : app = "&Auml;"; break;
- case '\u00F6' : app = "&ouml;"; break;
- case '\u00D6' : app = "&Ouml;"; break;
- case '\u00FC' : app = "&uuml;"; break;
- case '\u00DC' : app = "&Uuml;"; break;
- case '\u00DF' : app = "&szlig;"; break;
-
- //misc
- //case 0x80: app = "&euro;"; break; sometimes euro symbol is ascii 128, should we suport it?
- case '\u20AC': app = "&euro;"; break;
- case '\u00AB': app = "&laquo;"; break;
- case '\u00BB': app = "&raquo;"; break;
- case '\u00A0': app = "&#160;"; break;
-
- default :
- //encode all non basic latin characters
- app = "&#" + ((int)c) + ";";
- break;
- }
- }
- if (app != null)
- {
- //if (sb == null)
- //{
- // sb = new StringBuilder(realLength*2);
- // sb.append(string, offset, i - offset);
- //}
- //sb.append(app);
- if (start < i)
- {
- writer.write(string, start, i-start);
- }
- start = i+1;
- writer.write(app);
- }
- /*
- else
- {
- if (sb != null)
- {
- sb.append(c);
- }
- }*/
- }
-
- //if (sb == null)
- //{
- // writer.write(string, offset, realLength);
- //}
- //else
- //{
- // writer.write(sb.toString());
- //}
- if (start == offset)</pre></div></td></tr></table>
-<table border="0" class="bodyTable">
-<tr class="a">
-<th>File</th>
-<th>Line</th></tr>
-<tr class="b">
<td>org/apache/myfaces/shared/renderkit/html/HtmlSecretRendererBase.java</td>
<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/HtmlSecretRendererBase.html#105">105</a></td></tr>
<tr class="a">
@@ -1730,77 +1825,6 @@
<th>File</th>
<th>Line</th></tr>
<tr class="b">
-<td>org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.java</td>
-<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.html#91">91</a></td></tr>
-<tr class="a">
-<td>org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.java</td>
-<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.html#381">381</a></td></tr>
-<tr class="b"><td colspan='2'>
-<div>
-<pre> (i == 0 || (i - 1 >= 0 && string[i - 1] == ' ')))
- {
- //Space at beginning or after another space
- app = "&#160;";
- }
- break;
- case '\n':
- if (encodeNewline)
- {
- app = "<br/>";
- }
- break;
- default:
- break;
- }
- // http://www.w3.org/MarkUp/html3/specialchars.html
- // From C0 extension U+0000-U+001F only U+0009, U+000A and
- // U+000D are valid control characters
- if (c <= 0x1F && c != 0x09 && c != 0x0A && c != 0x0D)
- {
- // Ignore escape character
- app = "";
- }
- }
- else if (encodeNonLatin && (int)c > 0x80)
- {
- switch(c)
- {
- //german umlauts
- case '\u00E4' : app = "&auml;"; break;
- case '\u00C4' : app = "&Auml;"; break;
- case '\u00F6' : app = "&ouml;"; break;
- case '\u00D6' : app = "&Ouml;"; break;
- case '\u00FC' : app = "&uuml;"; break;
- case '\u00DC' : app = "&Uuml;"; break;
- case '\u00DF' : app = "&szlig;"; break;
-
- //misc
- //case 0x80: app = "&euro;"; break; sometimes euro symbol is ascii 128, should we suport it?
- case '\u20AC': app = "&euro;"; break;
- case '\u00AB': app = "&laquo;"; break;
- case '\u00BB': app = "&raquo;"; break;
- case '\u00A0': app = "&#160;"; break;
-
- default :
- //encode all non basic latin characters
- app = "&#" + ((int)c) + ";";
- break;
- }
- }
- if (app != null)
- {
- //if (sb == null)
- //{
- // sb = new StringBuilder(realLength*2);
- // sb.append(string, offset, i - offset);
- //}
- //sb.append(app);
- if (start < i)</pre></div></td></tr></table>
-<table border="0" class="bodyTable">
-<tr class="a">
-<th>File</th>
-<th>Line</th></tr>
-<tr class="b">
<td>org/apache/myfaces/shared/renderkit/html/HtmlSecretRendererBase.java</td>
<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/HtmlSecretRendererBase.html#113">113</a></td></tr>
<tr class="a">
@@ -2148,52 +2172,6 @@
<th>File</th>
<th>Line</th></tr>
<tr class="b">
-<td>org/apache/myfaces/shared/resource/ResourceValidationUtils.java</td>
-<td><a href="./xref/org/apache/myfaces/shared/resource/ResourceValidationUtils.html#104">104</a></td></tr>
-<tr class="a">
-<td>org/apache/myfaces/shared/resource/ResourceValidationUtils.java</td>
-<td><a href="./xref/org/apache/myfaces/shared/resource/ResourceValidationUtils.html#185">185</a></td></tr>
-<tr class="b"><td colspan='2'>
-<div>
-<pre> (c == '@') || (c == '[') || (c == ']' ) || (c == '{') || (c == '}'))
- {
- continue;
- }
- else if (c == '.')
- {
- if (i+2 < expression.length())
- {
- char c1 = expression.charAt(i+1);
- char c2 = expression.charAt(i+2);
- if (c == c1 && (c2 == '/' || c2 == '\\' ) )
- {
- return false;
- }
- }
- continue;
- }
- else
- {
- return false;
- }
- }
- if (expression.length() >= 3)
- {
- int length = expression.length();
- if ( (expression.charAt(length-3) == '/' || expression.charAt(length-3) == '\\' ) &&
- expression.charAt(length-2) == '.' &&
- expression.charAt(length-1) == '.' )
- {
- return false;
- }
- }
- return true;
- }</pre></div></td></tr></table>
-<table border="0" class="bodyTable">
-<tr class="a">
-<th>File</th>
-<th>Line</th></tr>
-<tr class="b">
<td>org/apache/myfaces/shared/renderkit/html/CommonEventUtils.java</td>
<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/CommonEventUtils.html#406">406</a></td></tr>
<tr class="a">
@@ -2230,40 +2208,6 @@
<th>File</th>
<th>Line</th></tr>
<tr class="b">
-<td>org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.java</td>
-<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.html#1029">1029</a></td></tr>
-<tr class="a">
-<td>org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.java</td>
-<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.html#1240">1240</a></td></tr>
-<tr class="b"><td colspan='2'>
-<div>
-<pre> percentEncode(writer, c, characterEncoding);
- }
- else if (c == '%')
- {
- if (i + 2 < string.length())
- {
- char c1 = string.charAt(i+1);
- char c2 = string.charAt(i+2);
- if ((( c1 >= '0' && c1 <='9') || (c1 >='A' && c1 <='Z') || (c1 >='a' && c1 <='z')) &&
- (( c2 >= '0' && c2 <='9') || (c2 >='A' && c2 <='Z') || (c2 >='a' && c2 <='z')))
- {
- // do not percent encode, because it could be already encoded
- }
- else
- {
- //app = percentEncode(c, characterEncoding);
- if (start < i)
- {
- writer.write(string, start, i-start);
- }
- start = i+1;
- percentEncode(writer, c, characterEncoding);</pre></div></td></tr></table>
-<table border="0" class="bodyTable">
-<tr class="a">
-<th>File</th>
-<th>Line</th></tr>
-<tr class="b">
<td>org/apache/myfaces/shared/renderkit/html/HtmlMessagesRendererBase.java</td>
<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/HtmlMessagesRendererBase.html#159">159</a></td></tr>
<tr class="a">
@@ -2301,6 +2245,40 @@
<th>File</th>
<th>Line</th></tr>
<tr class="b">
+<td>org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.java</td>
+<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.html#1040">1040</a></td></tr>
+<tr class="a">
+<td>org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.java</td>
+<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.html#1252">1252</a></td></tr>
+<tr class="b"><td colspan='2'>
+<div>
+<pre> percentEncode(writer, c, characterEncoding);
+ }
+ else if (c == '%')
+ {
+ if (i + 2 < length)
+ {
+ char c1 = string.charAt(i+1);
+ char c2 = string.charAt(i+2);
+ if ((( c1 >= '0' && c1 <='9') || (c1 >='A' && c1 <='Z') || (c1 >='a' && c1 <='z')) &&
+ (( c2 >= '0' && c2 <='9') || (c2 >='A' && c2 <='Z') || (c2 >='a' && c2 <='z')))
+ {
+ // do not percent encode, because it could be already encoded
+ }
+ else
+ {
+ //app = percentEncode(c, characterEncoding);
+ if (start < i)
+ {
+ writer.write(string, start, i-start);
+ }
+ start = i+1;
+ percentEncode(writer, c, characterEncoding);</pre></div></td></tr></table>
+<table border="0" class="bodyTable">
+<tr class="a">
+<th>File</th>
+<th>Line</th></tr>
+<tr class="b">
<td>org/apache/myfaces/shared/renderkit/html/HtmlInputFileRendererBase.java</td>
<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/HtmlInputFileRendererBase.html#239">239</a></td></tr>
<tr class="a">
@@ -2356,6 +2334,51 @@
<th>File</th>
<th>Line</th></tr>
<tr class="b">
+<td>org/apache/myfaces/shared/resource/ResourceValidationUtils.java</td>
+<td><a href="./xref/org/apache/myfaces/shared/resource/ResourceValidationUtils.html#105">105</a></td></tr>
+<tr class="a">
+<td>org/apache/myfaces/shared/resource/ResourceValidationUtils.java</td>
+<td><a href="./xref/org/apache/myfaces/shared/resource/ResourceValidationUtils.html#186">186</a></td></tr>
+<tr class="b"><td colspan='2'>
+<div>
+<pre> (c == '@') || (c == '[') || (c == ']' ) || (c == '{') || (c == '}'))
+ {
+ continue;
+ }
+ else if (c == '.')
+ {
+ if (i+2 < length)
+ {
+ char c1 = expression.charAt(i+1);
+ char c2 = expression.charAt(i+2);
+ if (c == c1 && (c2 == '/' || c2 == '\\' ) )
+ {
+ return false;
+ }
+ }
+ continue;
+ }
+ else
+ {
+ return false;
+ }
+ }
+ if (length >= 3)
+ {
+ if ( (expression.charAt(length-3) == '/' || expression.charAt(length-3) == '\\' ) &&
+ expression.charAt(length-2) == '.' &&
+ expression.charAt(length-1) == '.' )
+ {
+ return false;
+ }
+ }
+ return true;
+ }</pre></div></td></tr></table>
+<table border="0" class="bodyTable">
+<tr class="a">
+<th>File</th>
+<th>Line</th></tr>
+<tr class="b">
<td>org/apache/myfaces/shared/renderkit/html/CommonEventUtils.java</td>
<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/CommonEventUtils.html#392">392</a></td></tr>
<tr class="a">
@@ -2563,17 +2586,17 @@
<th>Line</th></tr>
<tr class="b">
<td>org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.java</td>
-<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.html#631">631</a></td></tr>
+<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.html#640">640</a></td></tr>
<tr class="a">
<td>org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.java</td>
-<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.html#790">790</a></td></tr>
+<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.html#800">800</a></td></tr>
<tr class="b"><td colspan='2'>
<div>
<pre> app = percentEncode(c, characterEncoding);
}
else if (c == '%')
{
- if (i + 2 < string.length())
+ if (i + 2 < length)
{
char c1 = string.charAt(i+1);
char c2 = string.charAt(i+2);
@@ -2590,18 +2613,56 @@
<th>File</th>
<th>Line</th></tr>
<tr class="b">
+<td>org/apache/myfaces/shared/renderkit/html/HtmlCheckboxRendererBase.java</td>
+<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/HtmlCheckboxRendererBase.html#326">326</a></td></tr>
+<tr class="a">
+<td>org/apache/myfaces/shared/renderkit/html/HtmlRadioRendererBase.java</td>
+<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/HtmlRadioRendererBase.html#305">305</a></td></tr>
+<tr class="b"><td colspan='2'>
+<div>
+<pre> UIInput uiComponent,
+ String value,
+ boolean disabled,
+ boolean checked,
+ boolean renderId,
+ Integer itemNum)
+ throws IOException
+ {
+ String clientId = uiComponent.getClientId(facesContext);
+
+ String itemId = (itemNum == null)? null : clientId +
+ facesContext.getNamingContainerSeparatorChar() + itemNum;
+
+ ResponseWriter writer = facesContext.getResponseWriter();
+
+ writer.startElement(HTML.INPUT_ELEM, uiComponent);
+
+ if (itemId != null)
+ {
+ writer.writeAttribute(HTML.ID_ATTR, itemId, null);
+ }
+ else if (renderId)
+ {
+ writer.writeAttribute(HTML.ID_ATTR, clientId, null);
+ }
+ writer.writeAttribute(HTML.TYPE_ATTR, HTML.INPUT_TYPE_RADIO, null);</pre></div></td></tr></table>
+<table border="0" class="bodyTable">
+<tr class="a">
+<th>File</th>
+<th>Line</th></tr>
+<tr class="b">
<td>org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.java</td>
-<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.html#790">790</a></td></tr>
+<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.html#800">800</a></td></tr>
<tr class="a">
<td>org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.java</td>
-<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.html#1240">1240</a></td></tr>
+<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.html#1252">1252</a></td></tr>
<tr class="b"><td colspan='2'>
<div>
<pre> percentEncode(writer, c, characterEncoding);
}
else if (c == '%')
{
- if (i + 2 < string.length())
+ if (i + 2 < length)
{
char c1 = string.charAt(i+1);
char c2 = string.charAt(i+2);
@@ -2618,17 +2679,17 @@
<th>Line</th></tr>
<tr class="b">
<td>org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.java</td>
-<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.html#631">631</a></td></tr>
+<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.html#640">640</a></td></tr>
<tr class="a">
<td>org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.java</td>
-<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.html#1029">1029</a></td></tr>
+<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.html#1040">1040</a></td></tr>
<tr class="b"><td colspan='2'>
<div>
<pre> percentEncode(writer, c, "UTF-8");
}
else if (c == '%')
{
- if (i + 2 < string.length())
+ if (i + 2 < length)
{
char c1 = string.charAt(i+1);
char c2 = string.charAt(i+2);
@@ -2645,44 +2706,6 @@
<th>File</th>
<th>Line</th></tr>
<tr class="b">
-<td>org/apache/myfaces/shared/renderkit/html/HtmlCheckboxRendererBase.java</td>
-<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/HtmlCheckboxRendererBase.html#326">326</a></td></tr>
-<tr class="a">
-<td>org/apache/myfaces/shared/renderkit/html/HtmlRadioRendererBase.java</td>
-<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/HtmlRadioRendererBase.html#305">305</a></td></tr>
-<tr class="b"><td colspan='2'>
-<div>
-<pre> UIInput uiComponent,
- String value,
- boolean disabled,
- boolean checked,
- boolean renderId,
- Integer itemNum)
- throws IOException
- {
- String clientId = uiComponent.getClientId(facesContext);
-
- String itemId = (itemNum == null)? null : clientId +
- facesContext.getNamingContainerSeparatorChar() + itemNum;
-
- ResponseWriter writer = facesContext.getResponseWriter();
-
- writer.startElement(HTML.INPUT_ELEM, uiComponent);
-
- if (itemId != null)
- {
- writer.writeAttribute(HTML.ID_ATTR, itemId, null);
- }
- else if (renderId)
- {
- writer.writeAttribute(HTML.ID_ATTR, clientId, null);
- }
- writer.writeAttribute(HTML.TYPE_ATTR, HTML.INPUT_TYPE_RADIO, null);</pre></div></td></tr></table>
-<table border="0" class="bodyTable">
-<tr class="a">
-<th>File</th>
-<th>Line</th></tr>
-<tr class="b">
<td>org/apache/myfaces/shared/renderkit/html/HtmlRendererUtils.java</td>
<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/HtmlRendererUtils.html#361">361</a></td></tr>
<tr class="a">
@@ -2783,6 +2806,34 @@
<th>File</th>
<th>Line</th></tr>
<tr class="b">
+<td>org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.java</td>
+<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.html#800">800</a></td></tr>
+<tr class="a">
+<td>org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.java</td>
+<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.html#1040">1040</a></td></tr>
+<tr class="b"><td colspan='2'>
+<div>
+<pre> percentEncode(writer, c, "UTF-8");
+ }
+ else if (c == '%')
+ {
+ if (i + 2 < length)
+ {
+ char c1 = string.charAt(i+1);
+ char c2 = string.charAt(i+2);
+ if ((( c1 >= '0' && c1 <='9') || (c1 >='A' && c1 <='Z') || (c1 >='a' && c1 <='z')) &&
+ (( c2 >= '0' && c2 <='9') || (c2 >='A' && c2 <='Z') || (c2 >='a' && c2 <='z')))
+ {
+ // do not percent encode, because it could be already encoded
+ // and we don't want encode it twice
+ }
+ else
+ {</pre></div></td></tr></table>
+<table border="0" class="bodyTable">
+<tr class="a">
+<th>File</th>
+<th>Line</th></tr>
+<tr class="b">
<td>org/apache/myfaces/shared/renderkit/html/HtmlRadioRendererBase.java</td>
<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/HtmlRadioRendererBase.html#349">349</a></td></tr>
<tr class="a">
@@ -2855,75 +2906,11 @@
<th>File</th>
<th>Line</th></tr>
<tr class="b">
-<td>org/apache/myfaces/shared/renderkit/html/HtmlRendererUtils.java</td>
-<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/HtmlRendererUtils.html#1377">1377</a></td></tr>
-<tr class="a">
-<td>org/apache/myfaces/shared/renderkit/html/HtmlRendererUtils.java</td>
-<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/HtmlRendererUtils.html#1408">1408</a></td></tr>
-<tr class="b"><td colspan='2'>
-<div>
-<pre> UIComponent component, String forClientId, SelectItem item,
- boolean disabled) throws IOException
- {
- writer.startElement(HTML.LABEL_ELEM, null); // component);
- writer.writeAttribute(HTML.FOR_ATTR, forClientId, null);
- String labelClass = null;
- if (disabled)
- {
- labelClass = (String) component.getAttributes().get(JSFAttr.DISABLED_CLASS_ATTR);
- }
- else
- {
- labelClass = (String) component.getAttributes()
- .get(org.apache.myfaces.shared.renderkit.JSFAttr.ENABLED_CLASS_ATTR);
- }
- if (labelClass != null)
- {
- writer.writeAttribute("class", labelClass, "labelClass");
- }
- if ((item.getLabel() != null) && (item.getLabel().length() > 0))</pre></div></td></tr></table>
-<table border="0" class="bodyTable">
-<tr class="a">
-<th>File</th>
-<th>Line</th></tr>
-<tr class="b">
-<td>org/apache/myfaces/shared/renderkit/html/HtmlGridRendererBase.java</td>
-<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/HtmlGridRendererBase.html#283">283</a></td></tr>
-<tr class="a">
-<td>org/apache/myfaces/shared/renderkit/html/HtmlTableRendererBase.java</td>
-<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/HtmlTableRendererBase.html#323">323</a></td></tr>
-<tr class="b"><td colspan='2'>
-<div>
-<pre> private Integer[] getBodyRows(FacesContext facesContext, UIComponent component)
- {
- Integer[] bodyrows = null;
- String bodyrowsAttr = (String) component.getAttributes().get(JSFAttr.BODYROWS_ATTR);
- if(bodyrowsAttr != null && !"".equals(bodyrowsAttr))
- {
- String[] bodyrowsString = StringUtils.trim(StringUtils.splitShortString(bodyrowsAttr, ','));
- // parsing with no exception handling, because of JSF-spec:
- // "If present, this must be a comma separated list of integers."
- bodyrows = new Integer[bodyrowsString.length];
- for(int i = 0; i < bodyrowsString.length; i++)
- {
- bodyrows[i] = Integer.valueOf(bodyrowsString[i]);
- }
-
- }
- else
- {
- bodyrows = ZERO_INT_ARRAY;
- }</pre></div></td></tr></table>
-<table border="0" class="bodyTable">
-<tr class="a">
-<th>File</th>
-<th>Line</th></tr>
-<tr class="b">
<td>org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.java</td>
-<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.html#489">489</a></td></tr>
+<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.html#497">497</a></td></tr>
<tr class="a">
<td>org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.java</td>
-<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.html#760">760</a></td></tr>
+<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.html#769">769</a></td></tr>
<tr class="b"><td colspan='2'>
<div>
<pre> {
@@ -2931,7 +2918,8 @@
String app;
char c;
boolean endLoop = false;
- for (int i = 0; i < string.length (); ++i)
+ int length = string.length();
+ for (int i = 0; i < length; ++i)
{
app = null;
c = string.charAt(i);
@@ -2962,14 +2950,46 @@
<th>File</th>
<th>Line</th></tr>
<tr class="b">
+<td>org/apache/myfaces/shared/renderkit/html/HtmlRendererUtils.java</td>
+<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/HtmlRendererUtils.html#1377">1377</a></td></tr>
+<tr class="a">
+<td>org/apache/myfaces/shared/renderkit/html/HtmlRendererUtils.java</td>
+<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/HtmlRendererUtils.html#1408">1408</a></td></tr>
+<tr class="b"><td colspan='2'>
+<div>
+<pre> UIComponent component, String forClientId, SelectItem item,
+ boolean disabled) throws IOException
+ {
+ writer.startElement(HTML.LABEL_ELEM, null); // component);
+ writer.writeAttribute(HTML.FOR_ATTR, forClientId, null);
+ String labelClass = null;
+ if (disabled)
+ {
+ labelClass = (String) component.getAttributes().get(JSFAttr.DISABLED_CLASS_ATTR);
+ }
+ else
+ {
+ labelClass = (String) component.getAttributes()
+ .get(org.apache.myfaces.shared.renderkit.JSFAttr.ENABLED_CLASS_ATTR);
+ }
+ if (labelClass != null)
+ {
+ writer.writeAttribute("class", labelClass, "labelClass");
+ }
+ if ((item.getLabel() != null) && (item.getLabel().length() > 0))</pre></div></td></tr></table>
+<table border="0" class="bodyTable">
+<tr class="a">
+<th>File</th>
+<th>Line</th></tr>
+<tr class="b">
<td>org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.java</td>
-<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.html#886">886</a></td></tr>
+<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.html#897">897</a></td></tr>
<tr class="a">
<td>org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.java</td>
-<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.html#1209">1209</a></td></tr>
+<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.html#1221">1221</a></td></tr>
<tr class="b"><td colspan='2'>
<div>
-<pre> for (int i = offset; i < offset+realLength; ++i)
+<pre> for (int i = offset; i < length; ++i)
{
app = null;
c = string.charAt(i);
@@ -3006,50 +3026,33 @@
<th>File</th>
<th>Line</th></tr>
<tr class="b">
-<td>org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.java</td>
-<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.html#810">810</a></td></tr>
+<td>org/apache/myfaces/shared/renderkit/html/HtmlGridRendererBase.java</td>
+<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/HtmlGridRendererBase.html#283">283</a></td></tr>
<tr class="a">
-<td>org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.java</td>
-<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/util/HTMLEncoder.html#1272">1272</a></td></tr>
+<td>org/apache/myfaces/shared/renderkit/html/HtmlTableRendererBase.java</td>
+<td><a href="./xref/org/apache/myfaces/shared/renderkit/html/HtmlTableRendererBase.html#323">323</a></td></tr>
<tr class="b"><td colspan='2'>
<div>
-<pre> percentEncode(writer, c, characterEncoding);
- }
- }
- else if (c == '&')
- {
- if (i+4 < string.length() )
- {
- if ('a' == string.charAt(i+1) &&
- 'm' == string.charAt(i+2) &&
- 'p' == string.charAt(i+3) &&
- ';' == string.charAt(i+4))
- {
- //Skip
- }
- else
- {
- app = "&amp;";
- }
- }
- else
- {
- app = "&amp;";
- }
- }
- else
+<pre> private Integer[] getBodyRows(FacesContext facesContext, UIComponent component)
+ {
+ Integer[] bodyrows = null;
+ String bodyrowsAttr = (String) component.getAttributes().get(JSFAttr.BODYROWS_ATTR);
+ if(bodyrowsAttr != null && !"".equals(bodyrowsAttr))
+ {
+ String[] bodyrowsString = StringUtils.trim(StringUtils.splitShortString(bodyrowsAttr, ','));
+ // parsing with no exception handling, because of JSF-spec:
+ // "If present, this must be a comma separated list of integers."
+ bodyrows = new Integer[bodyrowsString.length];
+ for(int i = 0; i < bodyrowsString.length; i++)
{
- //No encoding, just do nothing, char will be added later.
+ bodyrows[i] = Integer.valueOf(bodyrowsString[i]);
}
-
- if (app != null)
- {
- //if (sb == null)
- //{
- // sb = new StringBuilder(string.substring(0, i));
- //}
- //sb.append(app);
- if (start < i)</pre></div></td></tr></table>
+
+ }
+ else
+ {
+ bodyrows = ZERO_INT_ARRAY;
+ }</pre></div></td></tr></table>
<table border="0" class="bodyTable">
<tr class="a">
<th>File</th>
@@ -3119,7 +3122,7 @@
<div id="footer">
<div class="copyright">
©
- 2017
+ 2020
Apache Software Foundation, Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.<br/>
Apache MyFaces, Apache Tobago, Apache, the Apache feather logo, and the Apache MyFaces project logos are trademarks of The Apache Software Foundation.
</div><!-- close copyright -->