You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by sp...@apache.org on 2015/05/22 21:11:42 UTC

incubator-tinkerpop git commit: Removed other constructors for YamlConfiguration as they were not working.

Repository: incubator-tinkerpop
Updated Branches:
  refs/heads/master 8eaa0c27a -> 1f0df4a44


Removed other constructors for YamlConfiguration as they were not working.

Those constructors relied on calls to super() which immediately triggered a call to load() thus not allowing the yaml member variable to be initialized leaving a npe to deal with.


Project: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/commit/1f0df4a4
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/tree/1f0df4a4
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/diff/1f0df4a4

Branch: refs/heads/master
Commit: 1f0df4a449fd0cf363e9e47e3864be4f3d845ad8
Parents: 8eaa0c2
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Fri May 22 15:09:42 2015 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Fri May 22 15:11:35 2015 -0400

----------------------------------------------------------------------
 .../gremlin/structure/util/GraphFactory.java    |  4 +-
 .../gremlin/util/config/YamlConfiguration.java  | 20 ----------
 .../apache/tinkerpop/gremlin/TestHelper.java    | 41 ++++++++++++++++++++
 .../util/config/YamlConfigurationTest.java      | 18 +++++++++
 .../apache/tinkerpop/gremlin/TestHelper.java    |  3 --
 5 files changed, 62 insertions(+), 24 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/1f0df4a4/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/GraphFactory.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/GraphFactory.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/GraphFactory.java
index 97f56b1..0a91820 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/GraphFactory.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/GraphFactory.java
@@ -116,7 +116,9 @@ public class GraphFactory {
             switch (fileExtension) {
                 case "yml":
                 case "yaml":
-                    return new YamlConfiguration(configurationFile);
+                    final YamlConfiguration config = new YamlConfiguration();
+                    config.load(configurationFile);
+                    return config;
                 case "xml":
                     return new XMLConfiguration(configurationFile);
                 default:

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/1f0df4a4/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/config/YamlConfiguration.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/config/YamlConfiguration.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/config/YamlConfiguration.java
index 56ae2ea..4075c98 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/config/YamlConfiguration.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/config/YamlConfiguration.java
@@ -51,26 +51,6 @@ public class YamlConfiguration extends AbstractHierarchicalFileConfiguration {
         initialize();
     }
 
-    public YamlConfiguration(final HierarchicalConfiguration c) {
-        super(c);
-        initialize();
-    }
-
-    public YamlConfiguration(final String fileName) throws ConfigurationException {
-        super(fileName);
-        initialize();
-    }
-
-    public YamlConfiguration(final File file) throws ConfigurationException {
-        super(file);
-        initialize();
-    }
-
-    public YamlConfiguration(final URL url) throws ConfigurationException {
-        super(url);
-        initialize();
-    }
-
     private void initialize() {
         yamlOptions.setIndent(DEFAULT_IDENT);
         yamlOptions.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK);

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/1f0df4a4/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/TestHelper.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/TestHelper.java b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/TestHelper.java
index c3d7def..3a8f8c3 100644
--- a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/TestHelper.java
+++ b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/TestHelper.java
@@ -18,8 +18,11 @@
  */
 package org.apache.tinkerpop.gremlin;
 
+import java.io.File;
+import java.io.IOException;
 import java.lang.reflect.Constructor;
 import java.lang.reflect.Modifier;
+import java.net.URL;
 
 import static org.junit.Assert.assertTrue;
 
@@ -34,4 +37,42 @@ public final class TestHelper {
         constructor.setAccessible(true);
         constructor.newInstance();
     }
+
+    /**
+     * See {@code TestHelper} in gremlin-test for the official version.
+     */
+    public static File generateTempFile(final Class clazz, final String fileName, final String fileNameSuffix) throws IOException {
+        final File path = makeTestDataPath(clazz, "temp");
+        if (!path.exists()) path.mkdirs();
+        return File.createTempFile(fileName, fileNameSuffix, path);
+    }
+
+    /**
+     * See {@code TestHelper} in gremlin-test for the official version.
+     */
+    public static File makeTestDataPath(final Class clazz, final String childPath) {
+        final String buildDirectory = System.getProperty("build.dir");
+        final File root = null == buildDirectory ? new File(computePath(clazz)).getParentFile() : new File(buildDirectory);
+        return new File(root, cleanPathSegment(childPath));
+    }
+
+    /**
+     * See {@code TestHelper} in gremlin-test for the official version.
+     */
+    public static String cleanPathSegment(final String toClean) {
+        final String cleaned = toClean.replaceAll("[.\\\\/:*?\"<>|\\[\\]\\(\\)]", "");
+        if (cleaned.length() == 0)
+            throw new IllegalStateException("Path segment " + toClean + " has not valid characters and is thus empty");
+        return cleaned;
+    }
+
+    /**
+     * See {@code TestHelper} in gremlin-test for the official version.
+     */
+    private static String computePath(final Class clazz) {
+        final String clsUri = clazz.getName().replace('.', '/') + ".class";
+        final URL url = clazz.getClassLoader().getResource(clsUri);
+        final String clsPath = url.getPath();
+        return clsPath.substring(0, clsPath.length() - clsUri.length());
+    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/1f0df4a4/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/util/config/YamlConfigurationTest.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/util/config/YamlConfigurationTest.java b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/util/config/YamlConfigurationTest.java
index 8dbbb3d..f75a6c4 100644
--- a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/util/config/YamlConfigurationTest.java
+++ b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/util/config/YamlConfigurationTest.java
@@ -18,12 +18,18 @@
  */
 package org.apache.tinkerpop.gremlin.util.config;
 
+import org.apache.commons.configuration.ConfigurationException;
+import org.apache.tinkerpop.gremlin.TestHelper;
 import org.junit.Test;
 import org.yaml.snakeyaml.DumperOptions;
 import org.yaml.snakeyaml.Yaml;
 
+import java.io.File;
+import java.io.FileWriter;
+import java.io.Reader;
 import java.io.StringReader;
 import java.io.StringWriter;
+import java.io.Writer;
 import java.util.Arrays;
 import java.util.HashMap;
 import java.util.LinkedHashMap;
@@ -36,6 +42,18 @@ import static org.junit.Assert.assertEquals;
  */
 public class YamlConfigurationTest {
 
+    @Test(expected = ConfigurationException.class)
+    public void shouldThrowConfigurationExceptionIfLoadFails() throws Exception {
+        final YamlConfiguration config = new YamlConfiguration();
+        config.load((Reader) null);
+    }
+
+    @Test(expected = ConfigurationException.class)
+    public void shouldThrowConfigurationExceptionIfSaveFails() throws Exception {
+        final YamlConfiguration config = new YamlConfiguration();
+        config.save((Writer) null);
+    }
+
     @Test
     public void shouldLoadSaveConfiguration() throws Exception {
         final YamlConfiguration config = new YamlConfiguration();

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/1f0df4a4/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/TestHelper.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/TestHelper.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/TestHelper.java
index a9e4f31..d3dba57 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/TestHelper.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/TestHelper.java
@@ -23,7 +23,6 @@ import org.apache.tinkerpop.gremlin.structure.Edge;
 import org.apache.tinkerpop.gremlin.structure.Property;
 import org.apache.tinkerpop.gremlin.structure.Vertex;
 import org.apache.tinkerpop.gremlin.structure.VertexProperty;
-import org.apache.tinkerpop.gremlin.structure.io.graphml.GraphMLResourceAccess;
 import org.apache.tinkerpop.gremlin.structure.util.Comparators;
 import org.apache.tinkerpop.gremlin.util.iterator.IteratorUtils;
 
@@ -32,7 +31,6 @@ import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.net.URL;
-import java.util.Comparator;
 import java.util.Iterator;
 import java.util.List;
 
@@ -113,7 +111,6 @@ public final class TestHelper {
         return cleaned;
     }
 
-
     ///////////////
 
     public static void validateVertexEquality(final Vertex originalVertex, final Vertex otherVertex, boolean testEdges) {