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 2019/07/25 10:48:11 UTC

[myfaces-tobago] branch master updated (4779901 -> dffd27c)

This is an automated email from the ASF dual-hosted git repository.

lofwyr pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/myfaces-tobago.git.


    from 4779901  TOBAGO-1633: TS refactoring: fix Prevent exception, if the last focus id not exists on current page (may happen, when paging in sheet)
     new d424c51  TOBAGO-1998: Use JSON for data interchange cleanup and optimization
     new dffd27c  checkstyle

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../internal/renderkit/renderer/SheetRenderer.java |  6 +--
 .../renderkit/renderer/SuggestRenderer.java        |  4 +-
 .../renderkit/renderer/TreeIconRenderer.java       |  2 +-
 .../myfaces/tobago/internal/util/JsonUtils.java    | 57 +++++++++++---------
 .../tobago/internal/util/JsonUtilsUnitTest.java    | 63 ++++++++++++++++++++--
 5 files changed, 95 insertions(+), 37 deletions(-)


[myfaces-tobago] 02/02: checkstyle

Posted by lo...@apache.org.
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 dffd27c96c55023af6f4c8ec4009e6d367669cd1
Author: Udo Schnurpfeil <lo...@apache.org>
AuthorDate: Thu Jul 25 12:47:49 2019 +0200

    checkstyle
---
 .../tobago/internal/renderkit/renderer/TreeIconRenderer.java   |  2 +-
 .../apache/myfaces/tobago/internal/util/JsonUtilsUnitTest.java | 10 +++++-----
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/TreeIconRenderer.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/TreeIconRenderer.java
index f317b3d..eee42bd 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/TreeIconRenderer.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/TreeIconRenderer.java
@@ -96,7 +96,7 @@ public class TreeIconRenderer extends RendererBase {
         TobagoClass.TREE_NODE__TOGGLE,
         treeIcon.getCustomClass());
 
-    if (source != null && source.startsWith( "fa-")) {
+    if (source != null && source.startsWith("fa-")) {
       writer.startElement(HtmlElements.I);
       writer.writeClassAttribute(Icons.FA, Icons.custom(source));
       if (folder) {
diff --git a/tobago-core/src/test/java/org/apache/myfaces/tobago/internal/util/JsonUtilsUnitTest.java b/tobago-core/src/test/java/org/apache/myfaces/tobago/internal/util/JsonUtilsUnitTest.java
index 2117f89..cf8029f 100644
--- a/tobago-core/src/test/java/org/apache/myfaces/tobago/internal/util/JsonUtilsUnitTest.java
+++ b/tobago-core/src/test/java/org/apache/myfaces/tobago/internal/util/JsonUtilsUnitTest.java
@@ -50,7 +50,7 @@ public class JsonUtilsUnitTest extends AbstractTobagoTestBase {
     final CommandMap map = new CommandMap();
     Assertions.assertEquals("{}", JsonUtils.encode(map));
 
-    Assertions.assertEquals(null, JsonUtils.encode((CommandMap)null));
+    Assertions.assertEquals(null, JsonUtils.encode((CommandMap) null));
   }
 
   @Test
@@ -169,7 +169,7 @@ public class JsonUtilsUnitTest extends AbstractTobagoTestBase {
 
     Assertions.assertEquals("[\"foo\\\"bar\"]", JsonUtils.encode(new String[]{"foo\"bar"}));
 
-    Assertions.assertEquals(null, JsonUtils.encode((String[])null));
+    Assertions.assertEquals(null, JsonUtils.encode((String[]) null));
   }
 
   @Test
@@ -227,7 +227,7 @@ public class JsonUtilsUnitTest extends AbstractTobagoTestBase {
     final Boolean[] array = new Boolean[]{true, false, true};
     Assertions.assertEquals("[true,false,true]", JsonUtils.encode(array));
 
-    Assertions.assertEquals(null, JsonUtils.encode((Boolean[])null));
+    Assertions.assertEquals(null, JsonUtils.encode((Boolean[]) null));
 
     Assertions.assertEquals("[]", JsonUtils.encode(new Boolean[0]));
   }
@@ -237,7 +237,7 @@ public class JsonUtilsUnitTest extends AbstractTobagoTestBase {
     final Integer[] array = new Integer[]{-1_000_000_000, 0, 42};
     Assertions.assertEquals("[-1000000000,0,42]", JsonUtils.encode(array));
 
-    Assertions.assertEquals(null, JsonUtils.encode((Integer[])null));
+    Assertions.assertEquals(null, JsonUtils.encode((Integer[]) null));
 
     Assertions.assertEquals("[]", JsonUtils.encode(new Integer[0]));
   }
@@ -247,7 +247,7 @@ public class JsonUtilsUnitTest extends AbstractTobagoTestBase {
     final List<Integer> list = Arrays.asList(-1_000_000_000, 0, 42);
     Assertions.assertEquals("[-1000000000,0,42]", JsonUtils.encode(list));
 
-    Assertions.assertEquals(null, JsonUtils.encode((List<Integer>)null));
+    Assertions.assertEquals(null, JsonUtils.encode((List<Integer>) null));
 
     Assertions.assertEquals("[]", JsonUtils.encode(new ArrayList<Integer>()));
   }


[myfaces-tobago] 01/02: TOBAGO-1998: Use JSON for data interchange cleanup and optimization

Posted by lo...@apache.org.
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 d424c515618d26f6b461b07fadb8e2e435eec78e
Author: Udo Schnurpfeil <lo...@apache.org>
AuthorDate: Thu Jul 25 12:43:28 2019 +0200

    TOBAGO-1998: Use JSON for data interchange
    cleanup and optimization
---
 .../internal/renderkit/renderer/SheetRenderer.java |  6 +--
 .../renderkit/renderer/SuggestRenderer.java        |  4 +-
 .../myfaces/tobago/internal/util/JsonUtils.java    | 57 +++++++++++---------
 .../tobago/internal/util/JsonUtilsUnitTest.java    | 63 ++++++++++++++++++++--
 4 files changed, 94 insertions(+), 36 deletions(-)

diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SheetRenderer.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SheetRenderer.java
index 22a1ca9..89088b9 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SheetRenderer.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SheetRenderer.java
@@ -280,14 +280,10 @@ public class SheetRenderer extends RendererBase {
     writer.writeAttribute(DataAttributes.BEHAVIOR_COMMANDS, JsonUtils.encode(commands), false);
     writer.writeAttribute(DataAttributes.SELECTION_MODE, sheet.getSelectable().name(), false);
     writer.writeAttribute(DataAttributes.FIRST, Integer.toString(sheet.getFirst()), false);
-    final StringBuilder builder = new StringBuilder();
 
     final boolean autoLayout = sheet.isAutoLayout();
     if (!autoLayout) {
-      builder.append("{\"columns\":");
-      JsonUtils.encode(sheet.getColumnLayout(), builder);
-      builder.append("}");
-      writer.writeAttribute(DataAttributes.LAYOUT, builder.toString(), true);
+      writer.writeAttribute(DataAttributes.LAYOUT, JsonUtils.encode(sheet.getColumnLayout(), "columns"), true);
     }
   }
 
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SuggestRenderer.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SuggestRenderer.java
index f81f368..3b8e4b6 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SuggestRenderer.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/SuggestRenderer.java
@@ -124,10 +124,10 @@ public class SuggestRenderer extends RendererBase {
     writer.writeAttribute(DataAttributes.SUGGEST_MAX_ITEMS, suggest.getMaximumItems());
     writer.writeAttribute(DataAttributes.SUGGEST_UPDATE, suggest.isUpdate());
     writer.writeAttribute(DataAttributes.SUGGEST_TOTAL_COUNT, totalCount);
-    writer.writeAttribute(DataAttributes.SUGGEST_DATA, JsonUtils.encode(array, true), true);
+    writer.writeAttribute(DataAttributes.SUGGEST_DATA, JsonUtils.encode(array), true);
 
     if (LOG.isDebugEnabled()) {
-      LOG.debug("suggest list: " + JsonUtils.encode(array, true));
+      LOG.debug("suggest list: " + JsonUtils.encode(array));
     }
 
     writer.endElement(HtmlElements.INPUT);
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/util/JsonUtils.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/util/JsonUtils.java
index b0726df..1cf85f6 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/util/JsonUtils.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/util/JsonUtils.java
@@ -44,16 +44,15 @@ public class JsonUtils {
   private JsonUtils() {
   }
 
-  private static void encode(final StringBuilder builder, final String name, final String[] value,
-      final boolean escape) {
+  private static void encode(final StringBuilder builder, final String name, final String[] value) {
     builder.append("\"");
     builder.append(name);
     builder.append("\":");
-    encode(builder, value, escape);
+    encode(builder, value);
     builder.append(",");
   }
 
-  public static void encode(final StringBuilder builder, final String[] value, final boolean escape) {
+  private static void encode(final StringBuilder builder, final String[] value) {
     builder.append("[");
     boolean colon = false;
     for (final String item : value) {
@@ -61,17 +60,13 @@ public class JsonUtils {
         builder.append(",");
       }
       builder.append("\"");
-      if (escape) {
-        for (int i = 0; i < item.length(); i++) {
-          final char c = item.charAt(i);
-          if (c == '\"') {
-            builder.append("\\\"");
-          } else {
-            builder.append(c);
-          }
+      for (int i = 0; i < item.length(); i++) {
+        final char c = item.charAt(i);
+        if (c == '\"') {
+          builder.append("\\\"");
+        } else {
+          builder.append(c);
         }
-      } else {
-        builder.append(item);
       }
       builder.append("\"");
       colon = true;
@@ -79,7 +74,7 @@ public class JsonUtils {
     builder.append("]");
   }
 
-  public static void encode(final StringBuilder builder, final Boolean[] value) {
+  private static void encode(final StringBuilder builder, final Boolean[] value) {
     builder.append("[");
     boolean colon = false;
     for (final boolean item : value) {
@@ -92,7 +87,7 @@ public class JsonUtils {
     builder.append("]");
   }
 
-  public static void encode(final StringBuilder builder, final List<Integer> value) {
+  private static void encode(final StringBuilder builder, final List<Integer> value) {
     builder.append("[");
     boolean colon = false;
     for (final Integer item : value) {
@@ -109,7 +104,7 @@ public class JsonUtils {
     builder.append("\"");
     builder.append(name);
     builder.append("\":");
-    builder.append(Boolean.toString(value));
+    builder.append(value);
     builder.append(",");
   }
 
@@ -117,7 +112,7 @@ public class JsonUtils {
     builder.append("\"");
     builder.append(name);
     builder.append("\":");
-    builder.append(Integer.toString(value));
+    builder.append(value);
     builder.append(",");
   }
 
@@ -250,11 +245,11 @@ public class JsonUtils {
     builder.append("{");
     final int initialLength = builder.length();
 
-    encode(builder, "monthNames", dateTimeI18n.getMonthNames(), false);
-    encode(builder, "monthNamesShort", dateTimeI18n.getMonthNamesShort(), false);
-    encode(builder, "dayNames", dateTimeI18n.getDayNames(), false);
-    encode(builder, "dayNamesShort", dateTimeI18n.getDayNamesShort(), false);
-    encode(builder, "dayNamesMin", dateTimeI18n.getDayNamesMin(), false);
+    encode(builder, "monthNames", dateTimeI18n.getMonthNames());
+    encode(builder, "monthNamesShort", dateTimeI18n.getMonthNamesShort());
+    encode(builder, "dayNames", dateTimeI18n.getDayNames());
+    encode(builder, "dayNamesShort", dateTimeI18n.getDayNamesShort());
+    encode(builder, "dayNamesMin", dateTimeI18n.getDayNamesMin());
     encode(builder, "firstDay", dateTimeI18n.getFirstDay());
 
     if (builder.length() - initialLength > 0) {
@@ -265,12 +260,12 @@ public class JsonUtils {
     return builder.toString();
   }
 
-  public static String encode(final String[] strings, final boolean escape) {
+  public static String encode(final String[] strings) {
     if (strings == null) {
       return null;
     }
     final StringBuilder builder = new StringBuilder();
-    encode(builder, strings, escape);
+    encode(builder, strings);
     return builder.toString();
   }
 
@@ -301,7 +296,7 @@ public class JsonUtils {
     return builder.toString();
   }
 
-  public static void encode(final MeasureList layout, final StringBuilder builder) {
+  private static void encode(final MeasureList layout, final StringBuilder builder) {
     builder.append("[");
     for (final Measure measure : layout) {
       final Measure.Unit unit = measure.getUnit();
@@ -366,6 +361,16 @@ public class JsonUtils {
     return builder.toString();
   }
 
+  public static String encode(final MeasureList measures, final String name) {
+    final StringBuilder builder = new StringBuilder();
+    builder.append("{\"");
+    builder.append(name);
+    builder.append("\":");
+    JsonUtils.encode(measures, builder);
+    builder.append("}");
+    return builder.toString();
+  }
+
   public static String encodeEmptyArray() {
     return "[]";
   }
diff --git a/tobago-core/src/test/java/org/apache/myfaces/tobago/internal/util/JsonUtilsUnitTest.java b/tobago-core/src/test/java/org/apache/myfaces/tobago/internal/util/JsonUtilsUnitTest.java
index 84915cd..2117f89 100644
--- a/tobago-core/src/test/java/org/apache/myfaces/tobago/internal/util/JsonUtilsUnitTest.java
+++ b/tobago-core/src/test/java/org/apache/myfaces/tobago/internal/util/JsonUtilsUnitTest.java
@@ -30,11 +30,15 @@ import org.apache.myfaces.tobago.internal.context.DateTimeI18n;
 import org.apache.myfaces.tobago.internal.renderkit.Collapse;
 import org.apache.myfaces.tobago.internal.renderkit.Command;
 import org.apache.myfaces.tobago.internal.renderkit.CommandMap;
+import org.apache.myfaces.tobago.layout.Measure;
+import org.apache.myfaces.tobago.layout.MeasureList;
 import org.apache.myfaces.tobago.util.ComponentUtils;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
+import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.List;
 import java.util.Locale;
 
 // using ' instead of " to make it better readable.
@@ -45,6 +49,8 @@ public class JsonUtilsUnitTest extends AbstractTobagoTestBase {
   public void empty() {
     final CommandMap map = new CommandMap();
     Assertions.assertEquals("{}", JsonUtils.encode(map));
+
+    Assertions.assertEquals(null, JsonUtils.encode((CommandMap)null));
   }
 
   @Test
@@ -152,14 +158,18 @@ public class JsonUtilsUnitTest extends AbstractTobagoTestBase {
     Assertions.assertEquals(Arrays.asList(2, 3, 4), JsonUtils.decodeIntegerArray("[null,2,3,4]"));
 
     Assertions.assertEquals(Arrays.asList(), JsonUtils.decodeIntegerArray("1,2,3,4"));
+
+    Assertions.assertEquals(null, JsonUtils.decodeIntegerArray(null));
   }
 
   @Test
   public void encodeStringArray() {
     Assertions.assertEquals("[\"A-rập Xê-út (Tiếng A-rập)\"]",
-        JsonUtils.encode(new String[]{"A-rập Xê-út (Tiếng A-rập)"}, false));
-    Assertions.assertEquals("[\"foo\"bar\"]", JsonUtils.encode(new String[]{"foo\"bar"}, false));
-    Assertions.assertEquals("[\"foo\\\"bar\"]", JsonUtils.encode(new String[]{"foo\"bar"}, true));
+        JsonUtils.encode(new String[]{"A-rập Xê-út (Tiếng A-rập)"}));
+
+    Assertions.assertEquals("[\"foo\\\"bar\"]", JsonUtils.encode(new String[]{"foo\"bar"}));
+
+    Assertions.assertEquals(null, JsonUtils.encode((String[])null));
   }
 
   @Test
@@ -200,4 +210,51 @@ public class JsonUtilsUnitTest extends AbstractTobagoTestBase {
     Assertions.assertEquals(expected, JsonUtils.encode(map), "command map");
   }
 
+  @Test
+  public void encodeMeasureList() {
+    final MeasureList measureList = new MeasureList();
+    measureList.add(Measure.AUTO);
+    measureList.add(Measure.FRACTION1);
+    measureList.add(Measure.valueOf(100));
+
+    Assertions.assertEquals(
+        "{\"name\":[\"auto\",1.0,{\"measure\":\"100px\"}]}",
+        JsonUtils.encode(measureList, "name"));
+  }
+
+  @Test
+  public void encodeBooleanArray() {
+    final Boolean[] array = new Boolean[]{true, false, true};
+    Assertions.assertEquals("[true,false,true]", JsonUtils.encode(array));
+
+    Assertions.assertEquals(null, JsonUtils.encode((Boolean[])null));
+
+    Assertions.assertEquals("[]", JsonUtils.encode(new Boolean[0]));
+  }
+
+  @Test
+  public void encodeIntegerArray() {
+    final Integer[] array = new Integer[]{-1_000_000_000, 0, 42};
+    Assertions.assertEquals("[-1000000000,0,42]", JsonUtils.encode(array));
+
+    Assertions.assertEquals(null, JsonUtils.encode((Integer[])null));
+
+    Assertions.assertEquals("[]", JsonUtils.encode(new Integer[0]));
+  }
+
+  @Test
+  public void encodeIntegerList() {
+    final List<Integer> list = Arrays.asList(-1_000_000_000, 0, 42);
+    Assertions.assertEquals("[-1000000000,0,42]", JsonUtils.encode(list));
+
+    Assertions.assertEquals(null, JsonUtils.encode((List<Integer>)null));
+
+    Assertions.assertEquals("[]", JsonUtils.encode(new ArrayList<Integer>()));
+  }
+
+  @Test
+  public void encodeEmptyArray() {
+    Assertions.assertEquals("[]", JsonUtils.encodeEmptyArray());
+  }
+
 }