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) {