You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@johnzon.apache.org by sa...@apache.org on 2015/04/20 16:21:32 UTC

[1/2] incubator-johnzon git commit: Some enhancements for handling configs in factories

Repository: incubator-johnzon
Updated Branches:
  refs/heads/master b90d1a67e -> 49b000424


Some enhancements for handling configs in factories


Project: http://git-wip-us.apache.org/repos/asf/incubator-johnzon/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-johnzon/commit/03af90b9
Tree: http://git-wip-us.apache.org/repos/asf/incubator-johnzon/tree/03af90b9
Diff: http://git-wip-us.apache.org/repos/asf/incubator-johnzon/diff/03af90b9

Branch: refs/heads/master
Commit: 03af90b9fb938aaa11851e8a288a8d9fde5fe598
Parents: b90d1a6
Author: Hendrik Saly <he...@gmail.com>
Authored: Sun Apr 19 11:40:02 2015 +0200
Committer: Hendrik Saly <he...@gmail.com>
Committed: Sun Apr 19 11:40:02 2015 +0200

----------------------------------------------------------------------
 .../org/apache/johnzon/core/AbstractJsonFactory.java  |  2 +-
 .../apache/johnzon/core/JsonBuilderFactoryImpl.java   | 14 ++++++++++----
 2 files changed, 11 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-johnzon/blob/03af90b9/johnzon-core/src/main/java/org/apache/johnzon/core/AbstractJsonFactory.java
----------------------------------------------------------------------
diff --git a/johnzon-core/src/main/java/org/apache/johnzon/core/AbstractJsonFactory.java b/johnzon-core/src/main/java/org/apache/johnzon/core/AbstractJsonFactory.java
index 507bf65..4ab42d5 100644
--- a/johnzon-core/src/main/java/org/apache/johnzon/core/AbstractJsonFactory.java
+++ b/johnzon-core/src/main/java/org/apache/johnzon/core/AbstractJsonFactory.java
@@ -36,7 +36,7 @@ public abstract class AbstractJsonFactory implements Serializable{
     protected final Map<String, Object> internalConfig = new HashMap<String, Object>();
     
     protected AbstractJsonFactory(final Map<String, ?> config, Collection<String> supportedConfigKeys, Collection<String> defaultSupportedConfigKeys) {
-        if(config != null) {
+        if(config != null && config.size() > 0) {
             
             if(defaultSupportedConfigKeys != null) {
                 supportedConfigKeys = new ArrayList<String>(supportedConfigKeys);

http://git-wip-us.apache.org/repos/asf/incubator-johnzon/blob/03af90b9/johnzon-core/src/main/java/org/apache/johnzon/core/JsonBuilderFactoryImpl.java
----------------------------------------------------------------------
diff --git a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonBuilderFactoryImpl.java b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonBuilderFactoryImpl.java
index e84a37d..121f18f 100644
--- a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonBuilderFactoryImpl.java
+++ b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonBuilderFactoryImpl.java
@@ -18,9 +18,12 @@
  */
 package org.apache.johnzon.core;
 
+import java.util.Arrays;
 import java.util.Collections;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
+import java.util.logging.Logger;
 
 import javax.json.JsonArrayBuilder;
 import javax.json.JsonBuilderFactory;
@@ -32,13 +35,16 @@ class JsonBuilderFactoryImpl implements JsonBuilderFactory {
     //nothing yet
 
     };
+    protected final Logger logger = Logger.getLogger(this.getClass().getName());
 
     JsonBuilderFactoryImpl(final Map<String, ?> config) {
-        if (config != null) {
-
-            for (final String configKey : SUPPORTED_CONFIG_KEYS) {
-                if (config.containsKey(configKey)) {
+        if (config != null && config.size() > 0) {
+            final List<String> supportedConfigKeys = Arrays.asList(SUPPORTED_CONFIG_KEYS);
+            for (String configKey : config.keySet()) {
+                if(supportedConfigKeys.contains(configKey)) {
                     internalConfig.put(configKey, config.get(configKey));
+                } else {
+                    logger.warning(configKey + " is not supported by " + getClass().getName());
                 }
             }
         }


[2/2] incubator-johnzon git commit: positive warning test added

Posted by sa...@apache.org.
positive warning test added


Project: http://git-wip-us.apache.org/repos/asf/incubator-johnzon/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-johnzon/commit/49b00042
Tree: http://git-wip-us.apache.org/repos/asf/incubator-johnzon/tree/49b00042
Diff: http://git-wip-us.apache.org/repos/asf/incubator-johnzon/diff/49b00042

Branch: refs/heads/master
Commit: 49b000424342bcad921fb8f19ad02f2dbb7c1ec6
Parents: 03af90b
Author: Hendrik Saly <he...@gmail.com>
Authored: Sun Apr 19 11:40:37 2015 +0200
Committer: Hendrik Saly <he...@gmail.com>
Committed: Sun Apr 19 11:40:37 2015 +0200

----------------------------------------------------------------------
 .../org/apache/johnzon/mapper/NoWarningTest.java | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-johnzon/blob/49b00042/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/NoWarningTest.java
----------------------------------------------------------------------
diff --git a/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/NoWarningTest.java b/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/NoWarningTest.java
index b1350cb..fcb3656 100644
--- a/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/NoWarningTest.java
+++ b/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/NoWarningTest.java
@@ -18,14 +18,22 @@
  */
 package org.apache.johnzon.mapper;
 
+import java.io.ByteArrayOutputStream;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.json.Json;
+
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.contrib.java.lang.system.StandardErrorStreamLog;
 import org.junit.contrib.java.lang.system.StandardOutputStreamLog;
 
 import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.assertFalse;
 
 public class NoWarningTest {
+    
     @Rule
     public final StandardOutputStreamLog out = new StandardOutputStreamLog();
 
@@ -49,4 +57,15 @@ public class NoWarningTest {
         assertTrue(out.getLog().isEmpty());
         assertTrue(err.getLog().isEmpty());
     }
+    
+    @Test
+    public void warn() {
+        Map<String, Object> unsupportedConfig = new HashMap<String, Object>();
+        unsupportedConfig.put("xxx.yyy.zzz", "");
+        Json.createGeneratorFactory(unsupportedConfig).createGenerator(new ByteArrayOutputStream());
+        //warn log
+        String log = out.getLog()+err.getLog();
+        assertFalse(log.isEmpty());
+        assertTrue(log.contains("xxx.yyy.zzz"));
+    }
 }