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

rmannibucau pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/johnzon.git


The following commit(s) were added to refs/heads/master by this push:
     new 50a64d5  Enhancement [JOHNZON-278] Return constant instead of new 
instance of empty block / empty array
50a64d5 is described below

commit 50a64d59a81384fe400570e36fc93ce7e2347746
Author: Markus KARG <mar...@headcrashing.eu>
AuthorDate: Sat Sep 21 15:58:29 2019 +0000

    Enhancement [JOHNZON-278] Return constant instead of new instance of empty 
block / empty array
    
    Even in these days of modern Java, reducing memory consumption, GC stress 
and memory fragmentation, are beneficial side aspects.
    
    If makes no sense to create new empty instances of JsonArray and JsonObject 
again and again. For this case, JSON-P provides special constants.
    
    It makes sense to return these constants always.
    
    Signed-off-by: Markus KARG <mar...@headcrashing.eu>
---
 .../main/java/org/apache/johnzon/core/JsonArrayBuilderImpl.java   | 4 ++--
 .../main/java/org/apache/johnzon/core/JsonObjectBuilderImpl.java  | 8 ++++----
 pom.xml                                                           | 2 +-
 3 files changed, 7 insertions(+), 7 deletions(-)

diff --git 
a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonArrayBuilderImpl.java 
b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonArrayBuilderImpl.java
index af2aa25..5ea8c65 100644
--- 
a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonArrayBuilderImpl.java
+++ 
b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonArrayBuilderImpl.java
@@ -298,7 +298,7 @@ class JsonArrayBuilderImpl implements JsonArrayBuilder, 
Serializable {
         addValue(builder.build());
         return this;
     }
-    
+
     private void setValue(int idx, JsonValue value) {
         if (value == null || tmpList == null) {
             throw npe();
@@ -333,7 +333,7 @@ class JsonArrayBuilderImpl implements JsonArrayBuilder, 
Serializable {
     @Override
     public JsonArray build() {
         if(tmpList == null) {
-            return new JsonArrayImpl(Collections.emptyList(), bufferProvider);
+            return JsonValue.EMPTY_JSON_ARRAY;
         }
         return new JsonArrayImpl(Collections.unmodifiableList(tmpList), 
bufferProvider);
     }
diff --git 
a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonObjectBuilderImpl.java 
b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonObjectBuilderImpl.java
index de13a0a..fafcc74 100644
--- 
a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonObjectBuilderImpl.java
+++ 
b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonObjectBuilderImpl.java
@@ -176,16 +176,16 @@ class JsonObjectBuilderImpl implements JsonObjectBuilder, 
Serializable {
         if(name == null || value == null) {
             throw new NullPointerException("name or value/builder must not be 
null");
         }
-        
+
         attributeMap.put(name, value);
     }
-    
+
 
     @Override
     public JsonObject build() {
-        
+
         if(attributeMap == null || attributeMap.isEmpty()) {
-            return new JsonObjectImpl(Collections.EMPTY_MAP, bufferProvider);
+            return JsonValue.EMPTY_JSON_OBJECT;
         } else {
             Map<String, JsonValue> dump = 
(Collections.unmodifiableMap(attributeMap));
             return new JsonObjectImpl(dump, bufferProvider);
diff --git a/pom.xml b/pom.xml
index 10f9688..dc13b53 100644
--- a/pom.xml
+++ b/pom.xml
@@ -36,7 +36,7 @@
   <url>http://johnzon.apache.org</url>
 
   <properties>
-    <geronimo-jsonp.version>1.2</geronimo-jsonp.version>
+    <geronimo-jsonp.version>1.3-SNAPSHOT</geronimo-jsonp.version>
     <geronimo-jsonb.version>1.2</geronimo-jsonb.version>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     
<johnzon.site.url>https://svn.apache.org/repos/asf/johnzon/site/publish/</johnzon.site.url>

Reply via email to