You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lo...@apache.org on 2017/09/14 08:58:29 UTC
[myfaces-tobago] 02/03: TOBAGO-1786: Selector to address UIStyle *
change API
This is an automated email from the ASF dual-hosted git repository.
lofwyr pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/myfaces-tobago.git
commit 430caa48925db18d49eb3eea5231d3e37d4bef4b
Author: Udo Schnurpfeil <lo...@apache.org>
AuthorDate: Wed Sep 13 19:58:16 2017 +0200
TOBAGO-1786: Selector to address UIStyle
* change API
---
.../internal/renderkit/renderer/ProgressRenderer.java | 2 +-
.../internal/renderkit/renderer/StyleRenderer.java | 6 ++++--
.../myfaces/tobago/internal/util/StyleRenderUtils.java | 17 +++++++++++------
.../tobago/internal/util/StyleRenderUtilsUnitTest.java | 18 ++++++------------
4 files changed, 22 insertions(+), 21 deletions(-)
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/ProgressRenderer.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/ProgressRenderer.java
index f86509f..c0f7a2c 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/ProgressRenderer.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/ProgressRenderer.java
@@ -78,7 +78,7 @@ public class ProgressRenderer extends RendererBase {
final UIStyle style = (UIStyle) facesContext.getApplication()
.createComponent(facesContext, UIStyle.COMPONENT_TYPE, RendererTypes.Style.name());
style.setTransient(true);
- style.setSelector(StyleRenderUtils.encodeSelector("#", clientId, ">.", BootstrapClass.PROGRESS_BAR.getName()));
+ style.setSelector(StyleRenderUtils.encodeIdSelector(clientId) + ">." + BootstrapClass.PROGRESS_BAR.getName());
style.setWidth(new Measure(percent * 100, Measure.Unit.PERCENT));
progress.getChildren().add(style);
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/StyleRenderer.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/StyleRenderer.java
index c048e7a..6a694a3 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/StyleRenderer.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/StyleRenderer.java
@@ -210,9 +210,11 @@ public class StyleRenderer extends RendererBase {
writer.writeText(":");
switch (name) {
case backgroundImage:
- writer.writeText("url('");
+ writer.writeText("url(");
+ writer.write("'");
writer.writeText(value);
- writer.writeText("')");
+ writer.write("'");
+ writer.writeText(")");
break;
default:
writer.writeText(value);
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/util/StyleRenderUtils.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/util/StyleRenderUtils.java
index 8615875..070df5b 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/util/StyleRenderUtils.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/util/StyleRenderUtils.java
@@ -37,6 +37,9 @@ public class StyleRenderUtils {
// to prevent instantiation
}
+ /**
+ * PRELIMINARY
+ */
public static void writeIdSelector(TobagoResponseWriter writer, String id) throws IOException {
writer.writeText("#");
@@ -54,6 +57,9 @@ public class StyleRenderUtils {
writer.writeText(chars, last, chars.length - last);
}
+ /**
+ * PRELIMINARY
+ */
// not using writeText, because > must not be encoded!
public static void writeSelector(final TobagoResponseWriter writer, final String selector) throws IOException {
if (selector.contains("<")) {
@@ -64,12 +70,11 @@ public class StyleRenderUtils {
}
}
- public static String encodeSelector(String... selector) {
- StringBuilder builder = new StringBuilder();
- for (String s : selector) {
- builder.append(s.replaceAll(":", "\\\\:"));
- }
- return builder.toString();
+ /**
+ * PRELIMINARY
+ */
+ public static String encodeIdSelector(String clientId) {
+ return "#" + clientId.replaceAll(":", "\\\\:");
}
}
diff --git a/tobago-core/src/test/java/org/apache/myfaces/tobago/internal/util/StyleRenderUtilsUnitTest.java b/tobago-core/src/test/java/org/apache/myfaces/tobago/internal/util/StyleRenderUtilsUnitTest.java
index 7a0518e..c4bfd3d 100644
--- a/tobago-core/src/test/java/org/apache/myfaces/tobago/internal/util/StyleRenderUtilsUnitTest.java
+++ b/tobago-core/src/test/java/org/apache/myfaces/tobago/internal/util/StyleRenderUtilsUnitTest.java
@@ -30,22 +30,16 @@ import java.io.IOException;
public class StyleRenderUtilsUnitTest extends AbstractTobagoTestBase {
@Test
- public void testEncodeSelector() {
- Assert.assertEquals("", StyleRenderUtils.encodeSelector());
+ public void testEncodeIdSelector() {
+ Assert.assertEquals("#", StyleRenderUtils.encodeIdSelector(""));
- Assert.assertEquals("", StyleRenderUtils.encodeSelector(""));
+ Assert.assertEquals("#tag", StyleRenderUtils.encodeIdSelector("tag"));
- Assert.assertEquals("tag", StyleRenderUtils.encodeSelector("tag"));
+ Assert.assertEquals("#id\\:sub", StyleRenderUtils.encodeIdSelector("id:sub"));
- Assert.assertEquals(".class", StyleRenderUtils.encodeSelector(".class"));
+ Assert.assertEquals("#id\\:sub\\:sub2", StyleRenderUtils.encodeIdSelector("id:sub:sub2"));
- Assert.assertEquals("parent>child", StyleRenderUtils.encodeSelector("parent>child"));
-
- Assert.assertEquals("#id\\:sub", StyleRenderUtils.encodeSelector("#id:sub"));
-
- Assert.assertEquals("#id\\:sub\\:sub2", StyleRenderUtils.encodeSelector("#id:sub:sub2"));
-
- Assert.assertEquals("#id\\:sub\\:sub2\\:sub3", StyleRenderUtils.encodeSelector("#id:sub:sub2:sub3"));
+ Assert.assertEquals("#id\\:sub\\:sub2\\:sub3", StyleRenderUtils.encodeIdSelector("id:sub:sub2:sub3"));
}
@Test
--
To stop receiving notification emails like this one, please contact
"commits@myfaces.apache.org" <co...@myfaces.apache.org>.