Example usage for org.apache.commons.configuration MapConfiguration MapConfiguration

List of usage examples for org.apache.commons.configuration MapConfiguration MapConfiguration

Introduction

In this page you can find the example usage for org.apache.commons.configuration MapConfiguration MapConfiguration.

Prototype

public MapConfiguration(Map map) 

Source Link

Document

Create a Configuration decorator around the specified Map.

Usage

From source file:org.apache.tinkerpop.gremlin.process.computer.traversal.strategy.decoration.VertexProgramStrategy.java

@Override
public Configuration getConfiguration() {
    final Map<String, Object> map = new HashMap<>();
    map.put(GRAPH_COMPUTER, this.computer.getGraphComputerClass().getCanonicalName());
    if (-1 != this.computer.getWorkers())
        map.put(WORKERS, this.computer.getWorkers());
    if (null != this.computer.getPersist())
        map.put(PERSIST, this.computer.getPersist().name());
    if (null != this.computer.getResultGraph())
        map.put(RESULT, this.computer.getResultGraph().name());
    if (null != this.computer.getVertices())
        map.put(VERTICES, this.computer.getVertices());
    if (null != this.computer.getEdges())
        map.put(EDGES, this.computer.getEdges());
    map.putAll(this.computer.getConfiguration());
    return new MapConfiguration(map);
}

From source file:org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSourceTest.java

@Test
public void shouldSupportMapBasedStrategies() throws Exception {
    GraphTraversalSource g = EmptyGraph.instance().traversal();
    assertFalse(g.getStrategies().getStrategy(SubgraphStrategy.class).isPresent());
    g = g.withStrategies(SubgraphStrategy.create(new MapConfiguration(new HashMap<String, Object>() {
        {// w  w  w .  ja  v  a2s  . c om
            put("vertices", __.hasLabel("person"));
            put("vertexProperties", __.limit(0));
            put("edges", __.hasLabel("knows"));
        }
    })));
    assertTrue(g.getStrategies().getStrategy(SubgraphStrategy.class).isPresent());
    g = g.withoutStrategies(SubgraphStrategy.class);
    assertFalse(g.getStrategies().getStrategy(SubgraphStrategy.class).isPresent());
    //
    assertFalse(g.getStrategies().getStrategy(ReadOnlyStrategy.class).isPresent());
    g = g.withStrategies(ReadOnlyStrategy.instance());
    assertTrue(g.getStrategies().getStrategy(ReadOnlyStrategy.class).isPresent());
    g = g.withoutStrategies(ReadOnlyStrategy.class);
    assertFalse(g.getStrategies().getStrategy(ReadOnlyStrategy.class).isPresent());
}

From source file:org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.ElementIdStrategy.java

@Override
public Configuration getConfiguration() {
    final Map<String, Object> map = new HashMap<>();
    map.put(STRATEGY, ElementIdStrategy.class.getCanonicalName());
    map.put(ID_PROPERTY_KEY, this.idPropertyKey);
    map.put(ID_MAKER, this.idMaker);
    return new MapConfiguration(map);
}

From source file:org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.HaltedTraverserStrategy.java

@Override
public Configuration getConfiguration() {
    final Map<String, Object> map = new HashMap<>();
    map.put(STRATEGY, HaltedTraverserStrategy.class.getCanonicalName());
    map.put(HALTED_TRAVERSER_FACTORY, this.haltedTraverserFactory.getCanonicalName());
    return new MapConfiguration(map);
}

From source file:org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.PartitionStrategy.java

@Override
public Configuration getConfiguration() {
    final Map<String, Object> map = new HashMap<>();
    map.put(STRATEGY, PartitionStrategy.class.getCanonicalName());
    map.put(INCLUDE_META_PROPERTIES, this.includeMetaProperties);
    if (null != this.writePartition)
        map.put(WRITE_PARTITION, this.writePartition);
    if (null != this.readPartitions)
        map.put(READ_PARTITIONS, this.readPartitions);
    if (null != this.partitionKey)
        map.put(PARTITION_KEY, this.partitionKey);
    return new MapConfiguration(map);
}

From source file:org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.PartitionStrategyProcessTest.java

@Test
@FeatureRequirementSet(FeatureRequirementSet.Package.SIMPLE)
public void shouldWriteToMultiplePartitions() {
    final PartitionStrategy partitionStrategyAA = PartitionStrategy.build().partitionKey(partition)
            .writePartition("A").readPartitions("A").create();
    final GraphTraversalSource sourceAA = g.withStrategies(partitionStrategyAA);

    final PartitionStrategy partitionStrategyBA = PartitionStrategy.build().partitionKey(partition)
            .writePartition("B").readPartitions("A").create();
    final GraphTraversalSource sourceBA = g.withStrategies(partitionStrategyBA);

    final PartitionStrategy partitionStrategyCAB = PartitionStrategy.build().partitionKey(partition)
            .writePartition("C").addReadPartition("A").addReadPartition("B").create();
    final GraphTraversalSource sourceCAB = g.withStrategies(partitionStrategyCAB);

    final PartitionStrategy partitionStrategyC = PartitionStrategy.build().partitionKey(partition)
            .writePartition("C").create();
    final GraphTraversalSource sourceC = g.withStrategies(partitionStrategyC);

    final PartitionStrategy partitionStrategyCA = PartitionStrategy.build().partitionKey(partition)
            .writePartition("C").readPartitions("A").create();
    final GraphTraversalSource sourceCA = g.withStrategies(partitionStrategyCA);

    final GraphTraversalSource sourceCABC = g
            .withStrategies(PartitionStrategy.create(new MapConfiguration(new HashMap<String, Object>() {
                {//from   w  w  w .j a  v a  2  s  . c  om

                    put(PartitionStrategy.WRITE_PARTITION, "C");
                    put(PartitionStrategy.PARTITION_KEY, partition);
                    put(PartitionStrategy.READ_PARTITIONS, Arrays.asList("A", "B", "C"));
                }
            })));
    final PartitionStrategy partitionStrategyCC = PartitionStrategy.build().partitionKey(partition)
            .writePartition("C").addReadPartition("C").create();
    final GraphTraversalSource sourceCC = g.withStrategies(partitionStrategyCC);

    final PartitionStrategy partitionStrategyCBC = PartitionStrategy.build().partitionKey(partition)
            .writePartition("C").readPartitions(Arrays.asList("B", "C")).create();
    final GraphTraversalSource sourceCBC = g.withStrategies(partitionStrategyCBC);

    final Vertex vA = sourceAA.addV().property("any", "a").next();
    final Vertex vAA = sourceAA.addV().property("any", "aa").next();
    final Edge eAtoAA = sourceAA.withSideEffect("vAA", vAA).V(vA.id()).addE("aTOa").to("vAA").next();

    final Vertex vB = sourceBA.addV().property("any", "b").next();
    sourceBA.withSideEffect("vB", vB).V(vA.id()).addE("aTOb").to("vB").next();

    final Vertex vC = sourceCAB.addV().property("any", "c").next();
    final Edge eBtovC = sourceCAB.withSideEffect("vC", vC).V(vB.id()).addE("bTOc").to("vC").next();
    final Edge eAtovC = sourceCAB.withSideEffect("vC", vC).V(vA.id()).addE("aTOc").to("vC").next();

    assertEquals(0, IteratorUtils.count(sourceC.V()));
    assertEquals(0, IteratorUtils.count(sourceC.E()));

    assertEquals(new Long(2), sourceCA.V().count().next());
    assertEquals(new Long(1), sourceCA.E().count().next());
    assertEquals(new Long(1), sourceCA.V(vA.id()).outE().count().next());
    assertEquals(eAtoAA.id(), sourceCA.V(vA.id()).outE().next().id());
    assertEquals(new Long(1), sourceCA.V(vA.id()).out().count().next());
    assertEquals(vAA.id(), sourceCA.V(vA.id()).out().next().id());

    final Vertex vA1 = sourceCA.V(vA.id()).next();
    assertEquals(new Long(1), sourceCA.V(vA1).outE().count().next());
    assertEquals(eAtoAA.id(), sourceCA.V(vA1).outE().next().id());
    assertEquals(new Long(1), sourceCA.V(vA1).out().count().next());
    assertEquals(vAA.id(), sourceCA.V(vA1).out().next().id());

    assertEquals(new Long(3), sourceCAB.V().count().next());
    assertEquals(new Long(2), sourceCAB.E().count().next());

    assertEquals(new Long(4), sourceCABC.V().count().next());
    assertEquals(new Long(4), sourceCABC.E().count().next());

    assertEquals(1, IteratorUtils.count(sourceCC.V()));
    // two edges are in the "C" partition, but one each of their incident vertices are not
    assertEquals(2, IteratorUtils.count(sourceCC.E()));

    // two edges are in the "C" partition, but one each of their incident vertices are not
    assertEquals(new Long(2), sourceCC.V(vC.id()).inE().count().next());
    assertEquals(new Long(0), sourceCC.V(vC.id()).in().count().next());

    // excluded vertices; vA is not in {B,C}
    assertEquals(new Long(2), sourceCBC.V(vC.id()).inE().count().next());
    assertEquals(new Long(1), sourceCBC.V(vC.id()).in().count().next());
    assertEquals(vC.id(), sourceCBC.E(eBtovC.id()).inV().id().next());
    assertEquals(vB.id(), sourceCBC.E(eBtovC.id()).outV().id().next());
    assertEquals(vC.id(), sourceCBC.E(eAtovC.id()).inV().id().next());
    assertFalse(sourceCBC.E(eAtovC.id()).outV().hasNext());
}

From source file:org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy.java

@Override
public Configuration getConfiguration() {
    final Map<String, Object> map = new HashMap<>();
    if (null != this.vertexCriterion)
        map.put(VERTICES, this.vertexCriterion);
    if (null != this.edgeCriterion)
        map.put(EDGES, this.edgeCriterion);
    if (null != this.vertexPropertyCriterion)
        map.put(VERTEX_PROPERTIES, this.vertexPropertyCriterion);
    return new MapConfiguration(map);
}

From source file:org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategyProcessTest.java

@Test
@LoadGraphWith(CREW)/*from w w w  .  j  av a  2 s.c o m*/
public void shouldFilterVertexProperties() throws Exception {
    GraphTraversalSource sg = g
            .withStrategies(SubgraphStrategy.create(new MapConfiguration(new HashMap<String, Object>() {
                {
                    put(SubgraphStrategy.VERTEX_PROPERTIES, __.has("startTime", P.gt(2005)));
                }
            })));
    checkResults(Arrays.asList("purcellville", "baltimore", "oakland", "seattle", "aachen"),
            sg.V().properties("location").value());
    checkResults(Arrays.asList("purcellville", "baltimore", "oakland", "seattle", "aachen"),
            sg.V().values("location"));
    if (sg.getStrategies().getStrategy(InlineFilterStrategy.class).isPresent())
        assertFalse(TraversalHelper.hasStepOfAssignableClassRecursively(TraversalFilterStep.class,
                sg.V().properties("location").value().iterate().asAdmin()));
    // check to make sure edge properties are not analyzed
    sg = g.withStrategies(SubgraphStrategy.build().vertexProperties(has("startTime", P.gt(2005))).create());
    checkResults(Arrays.asList("purcellville", "baltimore", "oakland", "seattle", "aachen"), sg.V().as("a")
            .properties("location").as("b").select("a").outE().properties().select("b").value().dedup());
    checkResults(Arrays.asList("purcellville", "baltimore", "oakland", "seattle", "aachen"),
            sg.V().as("a").values("location").as("b").select("a").outE().properties().select("b").dedup());
    if (sg.getStrategies().getStrategy(InlineFilterStrategy.class).isPresent())
        assertFalse(TraversalHelper.hasStepOfAssignableClassRecursively(TraversalFilterStep.class,
                sg.V().as("a").values("location").as("b").select("a").outE().properties().select("b").dedup()
                        .iterate().asAdmin()));
    //
    sg = g.withStrategies(SubgraphStrategy.build().vertices(has("name", P.neq("stephen")))
            .vertexProperties(has("startTime", P.gt(2005))).create());
    checkResults(Arrays.asList("baltimore", "oakland", "seattle", "aachen"),
            sg.V().properties("location").value());
    checkResults(Arrays.asList("baltimore", "oakland", "seattle", "aachen"), sg.V().values("location"));
    //
    sg = g.withStrategies(SubgraphStrategy.build().vertices(has("name", P.not(P.within("stephen", "daniel"))))
            .vertexProperties(has("startTime", P.gt(2005))).create());
    checkResults(Arrays.asList("baltimore", "oakland", "seattle"), sg.V().properties("location").value());
    checkResults(Arrays.asList("baltimore", "oakland", "seattle"), sg.V().values("location"));
    //
    sg = g.withStrategies(SubgraphStrategy.build().vertices(has("name", P.eq("matthias")))
            .vertexProperties(has("startTime", P.gte(2014))).create());
    checkResults(makeMapList(1, "seattle", 1L), sg.V().groupCount().by("location"));
    //
    sg = g.withStrategies(
            SubgraphStrategy.build().vertices(has("location")).vertexProperties(hasNot("endTime")).create());
    checkOrderedResults(Arrays.asList("aachen", "purcellville", "santa fe", "seattle"),
            sg.V().order().by("location", Order.incr).values("location"));
    //
    sg = g.withStrategies(SubgraphStrategy.create(new MapConfiguration(new HashMap<String, Object>() {
        {
            put(SubgraphStrategy.VERTICES, __.has("location"));
            put(SubgraphStrategy.VERTEX_PROPERTIES, __.hasNot("endTime"));
        }
    })));
    checkResults(Arrays.asList("aachen", "purcellville", "santa fe", "seattle"),
            sg.V().valueMap("location").select(Column.values).unfold().unfold());
    checkResults(Arrays.asList("aachen", "purcellville", "santa fe", "seattle"),
            sg.V().propertyMap("location").select(Column.values).unfold().unfold().value());
    //
    sg = g.withStrategies(SubgraphStrategy.build().edges(__.<Edge>hasLabel("uses").has("skill", 5)).create());
    checkResults(Arrays.asList(5, 5, 5), sg.V().outE().valueMap().select(Column.values).unfold());
    checkResults(Arrays.asList(5, 5, 5), sg.V().outE().propertyMap().select(Column.values).unfold().value());
    //
    sg = g.withStrategies(SubgraphStrategy.build().vertexProperties(__.hasNot("skill")).create());
    checkResults(Arrays.asList(3, 3, 3, 4, 4, 5, 5, 5), sg.V().outE("uses").values("skill"));
    checkResults(Arrays.asList(3, 3, 3, 4, 4, 5, 5, 5),
            sg.V().as("a").properties().select("a").dedup().outE().values("skill"));
    checkResults(Arrays.asList(3, 3, 3, 4, 4, 5, 5, 5), sg.V().as("a").properties().select("a").dedup().outE()
            .properties("skill").as("b").identity().select("b").by(__.value()));
}

From source file:org.apache.tinkerpop.gremlin.process.traversal.strategy.finalization.MatchAlgorithmStrategy.java

@Override
public Configuration getConfiguration() {
    return new MapConfiguration(Collections.singletonMap(MATCH_ALGORITHM,
            null != this.matchAlgorithmClass.getDeclaringClass()
                    ? this.matchAlgorithmClass.getCanonicalName().replace(
                            "." + this.matchAlgorithmClass.getSimpleName(),
                            "$" + this.matchAlgorithmClass.getSimpleName())
                    : this.matchAlgorithmClass.getCanonicalName()));
}

From source file:org.apache.tinkerpop.gremlin.structure.util.GraphFactory.java

/**
 * Open a graph. See each {@link org.apache.tinkerpop.gremlin.structure.Graph} instance for its configuration options.
 *
 * @param configuration A {@link java.util.Map} based configuration that will be converted to an {@link org.apache.commons.configuration.Configuration} object
 *                      via {@link org.apache.commons.configuration.MapConfiguration} and passed to the appropriate overload.
 * @return A Graph instance.//from  ww  w.ja v  a  2s  .  co  m
 */
public static Graph open(final Map configuration) {
    if (null == configuration)
        throw Graph.Exceptions.argumentCanNotBeNull("configuration");
    return open(new MapConfiguration(configuration));
}