Java源码示例:org.apache.commons.configuration2.BaseConfiguration
示例1
@Override
public void loadState(final Graph graph, final Configuration config) {
configuration = new BaseConfiguration();
if (config != null) {
ConfigurationUtils.copy(config, configuration);
}
if (configuration.containsKey(EDGE_TRAVERSAL)) {
this.edgeTraversal = PureTraversal.loadState(configuration, EDGE_TRAVERSAL, graph);
this.scope = MessageScope.Local.of(() -> this.edgeTraversal.get().clone());
}
scopes = new HashSet<>(Collections.singletonList(scope));
this.property = configuration.getString(PROPERTY, COMPONENT);
this.haltedTraversers = TraversalVertexProgram.loadHaltedTraversers(configuration);
this.haltedTraversersIndex = new IndexedTraverserSet<>(v -> v);
for (final Traverser.Admin<Vertex> traverser : this.haltedTraversers) {
this.haltedTraversersIndex.add(traverser.split());
}
}
示例2
@Test
public void shouldConfigPoolOnConstructionWithPoolSizeOneAndNoIoRegistry() throws Exception {
final Configuration conf = new BaseConfiguration();
final GryoPool pool = GryoPool.build().poolSize(1).ioRegistries(conf.getList(IoRegistry.IO_REGISTRY, Collections.emptyList())).create();
final GryoReader reader = pool.takeReader();
final GryoWriter writer = pool.takeWriter();
pool.offerReader(reader);
pool.offerWriter(writer);
for (int ix = 0; ix < 100; ix++) {
final GryoReader r = pool.takeReader();
final GryoWriter w = pool.takeWriter();
assertReaderWriter(w, r, 1, Integer.class);
// should always return the same original instance
assertEquals(reader, r);
assertEquals(writer, w);
pool.offerReader(r);
pool.offerWriter(w);
}
}
示例3
@Override
public Configuration newGraphConfiguration(final String graphName, final Class<?> test,
final String testMethodName,
final Map<String, Object> configurationOverrides,
final LoadGraphWith.GraphData loadGraphWith) {
final Configuration conf = new BaseConfiguration();
getBaseConfiguration(graphName, test, testMethodName, loadGraphWith).entrySet().stream()
.forEach(e -> conf.setProperty(e.getKey(), e.getValue()));
// assign overrides but don't allow gremlin.graph setting to be overridden. the test suite should
// not be able to override that.
configurationOverrides.entrySet().stream()
.filter(c -> !c.getKey().equals(Graph.GRAPH))
.forEach(e -> conf.setProperty(e.getKey(), e.getValue()));
return conf;
}
示例4
@Override
public TinkerGraph deserialize(final JsonParser jsonParser, final DeserializationContext deserializationContext) throws IOException, JsonProcessingException {
final Configuration conf = new BaseConfiguration();
conf.setProperty("gremlin.tinkergraph.defaultVertexPropertyCardinality", "list");
final TinkerGraph graph = TinkerGraph.open(conf);
while (jsonParser.nextToken() != JsonToken.END_OBJECT) {
if (jsonParser.getCurrentName().equals("vertices")) {
while (jsonParser.nextToken() != JsonToken.END_ARRAY) {
if (jsonParser.currentToken() == JsonToken.START_OBJECT) {
final DetachedVertex v = (DetachedVertex) deserializationContext.readValue(jsonParser, Vertex.class);
v.attach(Attachable.Method.getOrCreate(graph));
}
}
} else if (jsonParser.getCurrentName().equals("edges")) {
while (jsonParser.nextToken() != JsonToken.END_ARRAY) {
if (jsonParser.currentToken() == JsonToken.START_OBJECT) {
final DetachedEdge e = (DetachedEdge) deserializationContext.readValue(jsonParser, Edge.class);
e.attach(Attachable.Method.getOrCreate(graph));
}
}
}
}
return graph;
}
示例5
@Override
public TinkerGraph deserialize(final JsonParser jsonParser, final DeserializationContext deserializationContext) throws IOException, JsonProcessingException {
final Configuration conf = new BaseConfiguration();
conf.setProperty("gremlin.tinkergraph.defaultVertexPropertyCardinality", "list");
final TinkerGraph graph = TinkerGraph.open(conf);
while (jsonParser.nextToken() != JsonToken.END_OBJECT) {
if (jsonParser.getCurrentName().equals("vertices")) {
while (jsonParser.nextToken() != JsonToken.END_ARRAY) {
if (jsonParser.currentToken() == JsonToken.START_OBJECT) {
final DetachedVertex v = (DetachedVertex) deserializationContext.readValue(jsonParser, Vertex.class);
v.attach(Attachable.Method.getOrCreate(graph));
}
}
} else if (jsonParser.getCurrentName().equals("edges")) {
while (jsonParser.nextToken() != JsonToken.END_ARRAY) {
if (jsonParser.currentToken() == JsonToken.START_OBJECT) {
final DetachedEdge e = (DetachedEdge) deserializationContext.readValue(jsonParser, Edge.class);
e.attach(Attachable.Method.getOrCreate(graph));
}
}
}
}
return graph;
}
示例6
@Test
public void shouldPersistToGraphML() {
final String graphLocation = TestHelper.makeTestDataFile(TinkerGraphTest.class, "shouldPersistToGraphML.xml");
final File f = new File(graphLocation);
if (f.exists() && f.isFile()) f.delete();
final Configuration conf = new BaseConfiguration();
conf.setProperty(TinkerGraph.GREMLIN_TINKERGRAPH_GRAPH_FORMAT, "graphml");
conf.setProperty(TinkerGraph.GREMLIN_TINKERGRAPH_GRAPH_LOCATION, graphLocation);
final TinkerGraph graph = TinkerGraph.open(conf);
TinkerFactory.generateModern(graph);
graph.close();
final TinkerGraph reloadedGraph = TinkerGraph.open(conf);
IoTest.assertModernGraph(reloadedGraph, true, true);
reloadedGraph.close();
}
示例7
@Test
public void shouldPersistToGraphSON() {
final String graphLocation = TestHelper.makeTestDataFile(TinkerGraphTest.class, "shouldPersistToGraphSON.json");
final File f = new File(graphLocation);
if (f.exists() && f.isFile()) f.delete();
final Configuration conf = new BaseConfiguration();
conf.setProperty(TinkerGraph.GREMLIN_TINKERGRAPH_GRAPH_FORMAT, "graphson");
conf.setProperty(TinkerGraph.GREMLIN_TINKERGRAPH_GRAPH_LOCATION, graphLocation);
final TinkerGraph graph = TinkerGraph.open(conf);
TinkerFactory.generateModern(graph);
graph.close();
final TinkerGraph reloadedGraph = TinkerGraph.open(conf);
IoTest.assertModernGraph(reloadedGraph, true, false);
reloadedGraph.close();
}
示例8
@Test
public void shouldPersistToGryo() {
final String graphLocation = TestHelper.makeTestDataFile(TinkerGraphTest.class, "shouldPersistToGryo.kryo");
final File f = new File(graphLocation);
if (f.exists() && f.isFile()) f.delete();
final Configuration conf = new BaseConfiguration();
conf.setProperty(TinkerGraph.GREMLIN_TINKERGRAPH_GRAPH_FORMAT, "gryo");
conf.setProperty(TinkerGraph.GREMLIN_TINKERGRAPH_GRAPH_LOCATION, graphLocation);
final TinkerGraph graph = TinkerGraph.open(conf);
TinkerFactory.generateModern(graph);
graph.close();
final TinkerGraph reloadedGraph = TinkerGraph.open(conf);
IoTest.assertModernGraph(reloadedGraph, true, false);
reloadedGraph.close();
}
示例9
@Test
public void shouldPersistToGryoAndHandleMultiProperties() {
final String graphLocation = TestHelper.makeTestDataFile(TinkerGraphTest.class, "shouldPersistToGryoMulti.kryo");
final File f = new File(graphLocation);
if (f.exists() && f.isFile()) f.delete();
final Configuration conf = new BaseConfiguration();
conf.setProperty(TinkerGraph.GREMLIN_TINKERGRAPH_GRAPH_FORMAT, "gryo");
conf.setProperty(TinkerGraph.GREMLIN_TINKERGRAPH_GRAPH_LOCATION, graphLocation);
final TinkerGraph graph = TinkerGraph.open(conf);
TinkerFactory.generateTheCrew(graph);
graph.close();
conf.setProperty(TinkerGraph.GREMLIN_TINKERGRAPH_DEFAULT_VERTEX_PROPERTY_CARDINALITY, VertexProperty.Cardinality.list.toString());
final TinkerGraph reloadedGraph = TinkerGraph.open(conf);
IoTest.assertCrewGraph(reloadedGraph, false);
reloadedGraph.close();
}
示例10
@Test
public void shouldPersistWithRelativePath() {
final String graphLocation = TestHelper.convertToRelative(TinkerGraphTest.class,
TestHelper.makeTestDataPath(TinkerGraphTest.class))
+ "shouldPersistToGryoRelative.kryo";
final File f = new File(graphLocation);
if (f.exists() && f.isFile()) f.delete();
final Configuration conf = new BaseConfiguration();
conf.setProperty(TinkerGraph.GREMLIN_TINKERGRAPH_GRAPH_FORMAT, "gryo");
conf.setProperty(TinkerGraph.GREMLIN_TINKERGRAPH_GRAPH_LOCATION, graphLocation);
final TinkerGraph graph = TinkerGraph.open(conf);
TinkerFactory.generateModern(graph);
graph.close();
final TinkerGraph reloadedGraph = TinkerGraph.open(conf);
IoTest.assertModernGraph(reloadedGraph, true, false);
reloadedGraph.close();
}
示例11
@Override
public Iterator<Vertex> head(final String location, final Class readerClass, final int totalLines) {
final Configuration configuration = new BaseConfiguration();
configuration.setProperty(Constants.GREMLIN_HADOOP_INPUT_LOCATION, location);
configuration.setProperty(Constants.GREMLIN_HADOOP_GRAPH_READER, readerClass.getCanonicalName());
try {
if (InputRDD.class.isAssignableFrom(readerClass)) {
return IteratorUtils.map(((InputRDD) readerClass.getConstructor().newInstance()).readGraphRDD(configuration, new JavaSparkContext(Spark.getContext())).take(totalLines).iterator(), tuple -> tuple._2().get());
} else if (InputFormat.class.isAssignableFrom(readerClass)) {
return IteratorUtils.map(new InputFormatRDD().readGraphRDD(configuration, new JavaSparkContext(Spark.getContext())).take(totalLines).iterator(), tuple -> tuple._2().get());
}
} catch (final Exception e) {
throw new IllegalArgumentException(e.getMessage(), e);
}
throw new IllegalArgumentException("The provided parserClass must be an " + InputFormat.class.getCanonicalName() + " or an " + InputRDD.class.getCanonicalName() + ": " + readerClass.getCanonicalName());
}
示例12
@Override
public <K, V> Iterator<KeyValue<K, V>> head(final String location, final String memoryKey, final Class readerClass, final int totalLines) {
final Configuration configuration = new BaseConfiguration();
configuration.setProperty(Constants.GREMLIN_HADOOP_INPUT_LOCATION, location);
configuration.setProperty(Constants.GREMLIN_HADOOP_GRAPH_READER, readerClass.getCanonicalName());
try {
if (InputRDD.class.isAssignableFrom(readerClass)) {
return IteratorUtils.map(((InputRDD) readerClass.getConstructor().newInstance()).readMemoryRDD(configuration, memoryKey, new JavaSparkContext(Spark.getContext())).take(totalLines).iterator(), tuple -> new KeyValue(tuple._1(), tuple._2()));
} else if (InputFormat.class.isAssignableFrom(readerClass)) {
return IteratorUtils.map(new InputFormatRDD().readMemoryRDD(configuration, memoryKey, new JavaSparkContext(Spark.getContext())).take(totalLines).iterator(), tuple -> new KeyValue(tuple._1(), tuple._2()));
}
} catch (final Exception e) {
throw new IllegalArgumentException(e.getMessage(), e);
}
throw new IllegalArgumentException("The provided parserClass must be an " + InputFormat.class.getCanonicalName() + " or an " + InputRDD.class.getCanonicalName() + ": " + readerClass.getCanonicalName());
}
示例13
@Test
public void shouldWriteToArbitraryRDD() throws Exception {
final Configuration configuration = new BaseConfiguration();
configuration.setProperty("spark.master", "local[4]");
configuration.setProperty("spark.serializer", GryoSerializer.class.getCanonicalName());
configuration.setProperty(Graph.GRAPH, HadoopGraph.class.getName());
configuration.setProperty(Constants.GREMLIN_HADOOP_INPUT_LOCATION, SparkHadoopGraphProvider.PATHS.get("tinkerpop-modern-v3d0.kryo"));
configuration.setProperty(Constants.GREMLIN_HADOOP_GRAPH_READER, GryoInputFormat.class.getCanonicalName());
configuration.setProperty(Constants.GREMLIN_HADOOP_GRAPH_WRITER, ExampleOutputRDD.class.getCanonicalName());
configuration.setProperty(Constants.GREMLIN_HADOOP_OUTPUT_LOCATION, TestHelper.makeTestDataDirectory(this.getClass(), "shouldWriteToArbitraryRDD"));
configuration.setProperty(Constants.GREMLIN_HADOOP_JARS_IN_DISTRIBUTED_CACHE, false);
////////
Graph graph = GraphFactory.open(configuration);
graph.compute(SparkGraphComputer.class)
.result(GraphComputer.ResultGraph.NEW)
.persist(GraphComputer.Persist.EDGES)
.program(TraversalVertexProgram.build()
.traversal(graph.traversal().withComputer(Computer.compute(SparkGraphComputer.class)),
"gremlin-groovy",
"g.V()").create(graph)).submit().get();
}
示例14
@Test
public void shouldSupportHadoopGraphOLTP() {
final Configuration configuration = new BaseConfiguration();
configuration.setProperty("spark.master", "local[4]");
configuration.setProperty("spark.serializer", GryoSerializer.class.getCanonicalName());
configuration.setProperty(Graph.GRAPH, HadoopGraph.class.getName());
configuration.setProperty(Constants.GREMLIN_HADOOP_GRAPH_READER, ExampleInputRDD.class.getCanonicalName());
configuration.setProperty(Constants.GREMLIN_HADOOP_GRAPH_WRITER, GryoOutputFormat.class.getCanonicalName());
configuration.setProperty(Constants.GREMLIN_HADOOP_OUTPUT_LOCATION, TestHelper.makeTestDataDirectory(this.getClass(), "shouldSupportHadoopGraphOLTP"));
configuration.setProperty(Constants.GREMLIN_HADOOP_JARS_IN_DISTRIBUTED_CACHE, false);
////////
Graph graph = GraphFactory.open(configuration);
GraphTraversalSource g = graph.traversal(); // OLTP;
assertEquals("person", g.V().has("age", 29).next().label());
assertEquals(Long.valueOf(4), g.V().count().next());
assertEquals(Long.valueOf(0), g.E().count().next());
assertEquals(Long.valueOf(2), g.V().has("age", P.gt(30)).count().next());
}
示例15
@Test
public void shouldReadFromWriteToArbitraryRDD() throws Exception {
final Configuration configuration = new BaseConfiguration();
configuration.setProperty("spark.master", "local[4]");
configuration.setProperty("spark.serializer", GryoSerializer.class.getCanonicalName());
configuration.setProperty(Graph.GRAPH, HadoopGraph.class.getName());
configuration.setProperty(Constants.GREMLIN_HADOOP_GRAPH_READER, ExampleInputRDD.class.getCanonicalName());
configuration.setProperty(Constants.GREMLIN_HADOOP_GRAPH_WRITER, ExampleOutputRDD.class.getCanonicalName());
configuration.setProperty(Constants.GREMLIN_HADOOP_OUTPUT_LOCATION, TestHelper.makeTestDataDirectory(this.getClass(), "shouldReadFromWriteToArbitraryRDD"));
configuration.setProperty(Constants.GREMLIN_HADOOP_JARS_IN_DISTRIBUTED_CACHE, false);
////////
Graph graph = GraphFactory.open(configuration);
graph.compute(SparkGraphComputer.class)
.result(GraphComputer.ResultGraph.NEW)
.persist(GraphComputer.Persist.EDGES)
.program(TraversalVertexProgram.build()
.traversal(graph.traversal().withComputer(SparkGraphComputer.class),
"gremlin-groovy",
"g.V()").create(graph)).submit().get();
}
示例16
@Test
public void testMergeConfigurations() throws Exception
{
final Configuration one = new BaseConfiguration();
one.setProperty("foo", "bar");
final String properties =
"## some header \n" + "foo = bar1\n" + "bar = foo\n";
final PropertiesConfiguration two = new PropertiesConfiguration();
final PropertiesConfigurationLayout layout =
new PropertiesConfigurationLayout();
layout.load(two, new StringReader(properties));
configurationFactory.setConfigurations(one, two);
configurationFactory.afterPropertiesSet();
final Properties props = configurationFactory.getObject();
Assert.assertEquals("foo", props.getProperty("bar"));
Assert.assertEquals("bar", props.getProperty("foo"));
}
示例17
/**
* Tests a list with elements that contain an escaped list delimiter.
*/
@Test
public void testListWithEscapedElements()
{
final String[] values = { "test1", "test2\\,test3", "test4\\,test5" };
final String listKey = "test.list";
final BaseConfiguration config = new BaseConfiguration();
config.addProperty(listKey, values);
assertEquals("Wrong number of list elements", values.length, config.getList(listKey).size());
final Configuration c = createConfiguration(config);
final List<?> v = c.getList(listKey);
assertEquals("Wrong number of elements in list", values.length, v.size());
for (int i = 0; i < values.length; i++)
{
assertEquals("Wrong value at index " + i, values[i].replaceAll("\\\\", ""), v.get(i));
}
}
示例18
public static HadoopGraph getOutputGraph(final Configuration configuration, final GraphComputer.ResultGraph resultGraph, final GraphComputer.Persist persist) {
final HadoopConfiguration hadoopConfiguration = new HadoopConfiguration(configuration);
final BaseConfiguration newConfiguration = new BaseConfiguration();
newConfiguration.copy(hadoopConfiguration);
if (resultGraph.equals(GraphComputer.ResultGraph.NEW)) {
newConfiguration.setProperty(Constants.GREMLIN_HADOOP_INPUT_LOCATION, hadoopConfiguration.getOutputLocation());
if (hadoopConfiguration.containsKey(Constants.GREMLIN_HADOOP_GRAPH_WRITER))
if (null != InputOutputHelper.getInputFormat(hadoopConfiguration.getGraphWriter()))
newConfiguration.setProperty(Constants.GREMLIN_HADOOP_GRAPH_READER, InputOutputHelper.getInputFormat(hadoopConfiguration.getGraphWriter()).getCanonicalName());
newConfiguration.setProperty(Constants.GREMLIN_HADOOP_GRAPH_READER_HAS_EDGES, persist.equals(GraphComputer.Persist.EDGES));
}
newConfiguration.setProperty(Constants.GREMLIN_HADOOP_OUTPUT_LOCATION, hadoopConfiguration.getOutputLocation() + "/_");
return HadoopGraph.open(newConfiguration);
}
示例19
@Override
public Iterator<Vertex> head(final String location, final Class readerClass, final int totalLines) {
final org.apache.commons.configuration2.Configuration configuration = new BaseConfiguration();
configuration.setProperty(Constants.GREMLIN_HADOOP_INPUT_LOCATION, Constants.getSearchGraphLocation(location, this).get());
configuration.setProperty(Constants.GREMLIN_HADOOP_GRAPH_READER, readerClass.getCanonicalName());
try {
if (InputFormat.class.isAssignableFrom(readerClass))
return IteratorUtils.limit(new HadoopVertexIterator(HadoopGraph.open(configuration)), totalLines);
} catch (final IOException e) {
throw new IllegalStateException(e.getMessage(), e);
}
throw new IllegalArgumentException("The provided parser class must be an " + InputFormat.class.getCanonicalName() + ": " + readerClass.getCanonicalName());
}
示例20
/**
* Generate a {@link Configuration} from the {@link System#getProperties}.
* Only those properties with specified prefix key are aggregated.
* If the prefix and a . should be removed, then trim prefix.
*
* @param prefix the prefix of the keys to include in the configuration
* @param trimPrefix whether to trim the prefix + . from the key
* @return a configuration generated from the System properties
*/
public static Configuration getSystemPropertiesConfiguration(final String prefix, final boolean trimPrefix) {
final BaseConfiguration apacheConfiguration = new BaseConfiguration();
for (final Map.Entry<Object, Object> entry : System.getProperties().entrySet()) {
final String key = entry.getKey().toString();
final Object value = entry.getValue();
if (key.startsWith(prefix + "."))
apacheConfiguration.setProperty(trimPrefix ? key.substring(prefix.length() + 1) : key, value);
}
return apacheConfiguration;
}
示例21
@Test(expected = RuntimeException.class)
public void shouldThrowExceptionIfGraphThrowsWhileConfiguringViaConfiguration() {
final Configuration conf = new BaseConfiguration();
conf.setProperty(Graph.GRAPH, MockGraph.class.getName());
conf.setProperty("throw", "it");
GraphFactory.open(conf);
}
示例22
@Test
public void shouldOpenViaConfiguration() {
final Configuration conf = new BaseConfiguration();
conf.setProperty(Graph.GRAPH, MockGraph.class.getName());
conf.setProperty("keep", "it");
GraphFactory.open(conf);
final MockGraph g = (MockGraph) GraphFactory.open(conf);
assertEquals(MockGraph.class.getName(), g.getConf().getString(Graph.GRAPH));
assertEquals("it", g.getConf().getString("keep"));
}
示例23
@Test
public void shouldOpenWithFactoryViaConcreteClass() {
final Configuration conf = new BaseConfiguration();
conf.setProperty(Graph.GRAPH, MockGraphWithFactory.class.getName());
GraphFactory.open(conf);
final MockGraphWithFactory g = (MockGraphWithFactory) GraphFactory.open(conf);
assertEquals(conf, g.getConf());
}
示例24
@Test
public void shouldOpenWithFactoryViaConcreteInterface() {
final Configuration conf = new BaseConfiguration();
conf.setProperty(Graph.GRAPH, MockGraphInterface.class.getName());
GraphFactory.open(conf);
final MockGraphInterface g = (MockGraphInterface) GraphFactory.open(conf);
assertEquals(conf, g.getConf());
}
示例25
@Test
public void shouldCreateAnEmptyGraphInstance() {
final Configuration conf = new BaseConfiguration();
conf.setProperty(Graph.GRAPH, EmptyGraph.class.getName());
final Graph graph = GraphFactory.open(conf);
assertSame(EmptyGraph.instance(), graph);
}
示例26
@Test
public void shouldDoWithReaderWriterMethods() throws Exception {
final Configuration conf = new BaseConfiguration();
final GryoPool pool = GryoPool.build().ioRegistries(conf.getList(IoRegistry.IO_REGISTRY, Collections.emptyList())).create();
try (final ByteArrayOutputStream os = new ByteArrayOutputStream()) {
pool.doWithWriter(writer -> writer.writeObject(os, 1));
os.flush();
try (final ByteArrayInputStream is = new ByteArrayInputStream(os.toByteArray())) {
assertEquals(1, pool.<Integer>doWithReader(FunctionUtils.wrapFunction(reader -> reader.readObject(is, Integer.class))).intValue());
}
}
assertReaderWriter(pool.takeWriter(), pool.takeReader(), 1, Integer.class);
}
示例27
@Test
public void shouldConfigPoolOnConstructionWithCustomIoRegistryConstructor() throws Exception {
final Configuration conf = new BaseConfiguration();
conf.setProperty(IoRegistry.IO_REGISTRY, IoXIoRegistry.ConstructorBased.class.getName());
final GryoPool pool = GryoPool.build().ioRegistries(conf.getList(IoRegistry.IO_REGISTRY, Collections.emptyList())).create();
assertReaderWriter(pool.takeWriter(), pool.takeReader(), new IoX("test"), IoX.class);
}
示例28
@Test
public void shouldConfigPoolOnConstructionWithCustomIoRegistryInstance() throws Exception {
final Configuration conf = new BaseConfiguration();
conf.setProperty(IoRegistry.IO_REGISTRY, IoXIoRegistry.InstanceBased.class.getName());
final GryoPool pool = GryoPool.build().ioRegistries(conf.getList(IoRegistry.IO_REGISTRY, Collections.emptyList())).create();
assertReaderWriter(pool.takeWriter(), pool.takeReader(), new IoX("test"), IoX.class);
}
示例29
@Test
public void shouldConfigPoolOnConstructionWithMultipleCustomIoRegistries() throws Exception {
final Configuration conf = new BaseConfiguration();
((BaseConfiguration) conf).setListDelimiterHandler(new LegacyListDelimiterHandler(','));
conf.setProperty(IoRegistry.IO_REGISTRY,
IoXIoRegistry.InstanceBased.class.getName() + "," + IoYIoRegistry.InstanceBased.class.getName());
final GryoPool pool = GryoPool.build().ioRegistries(conf.getList(IoRegistry.IO_REGISTRY, Collections.emptyList())).create();
assertReaderWriter(pool.takeWriter(), pool.takeReader(), new IoX("test"), IoX.class);
assertReaderWriter(pool.takeWriter(), pool.takeReader(), new IoY(100, 200), IoY.class);
}
示例30
@Override
public void loadState(final Graph graph, final Configuration config) {
configuration = new BaseConfiguration();
if (config != null) {
ConfigurationUtils.copy(config, configuration);
}
propertyKey = configuration.getString(PROPERTY_CFG_KEY);
traverserRequirements = configuration.getBoolean(USE_TRAVERSER_REQUIREMENTS_CFG_KEY, true)
? Collections.singleton(TraverserRequirement.PATH) : Collections.emptySet();
elementComputeKeys.add(VertexComputeKey.of(propertyKey, false));
}