/** * {@inheritDoc} * * @deprecated As of release 3.3.5, replaced by {@link AnonymousTraversalSource#withRemote(RemoteConnection)}. * @see <a href="https://issues.apache.org/jira/browse/TINKERPOP-2078">TINKERPOP-2078</a> */ @Override @Deprecated public GraphTraversalSource withRemote(final RemoteConnection connection) { // check if someone called withRemote() more than once, so just release resources on the initial // connection as you can't have more than one. maybe better to toss IllegalStateException?? if (this.connection != null) throw new IllegalStateException(String.format("TraversalSource already configured with a RemoteConnection [%s]", connection)); final GraphTraversalSource clone = this.clone(); clone.connection = connection; clone.getStrategies().addStrategies(new RemoteStrategy(connection)); return clone; }
public GraphTraversalSource withBulk(final boolean useBulk) { if (useBulk) return this; final GraphTraversalSource clone = this.clone(); RequirementsStrategy.addRequirements(clone.getStrategies(), TraverserRequirement.ONE_BULK); clone.bytecode.addSource(Symbols.withBulk, useBulk); return clone; }
public GraphTraversalSource withPath() { final GraphTraversalSource clone = this.clone(); RequirementsStrategy.addRequirements(clone.getStrategies(), TraverserRequirement.PATH); clone.bytecode.addSource(Symbols.withPath); return clone; }
@Test @LoadGraphWith(MODERN) public void shouldNotHaveAnonymousTraversalMixups() throws Exception { if (!g.getStrategies().getStrategy(TranslationStrategy.class).isPresent()) { logger.debug("No " + TranslationStrategy.class.getSimpleName() + " is registered and thus, skipping test."); return; } final GraphTraversalSource a = g; final GraphTraversalSource b = g.withoutStrategies(TranslationStrategy.class); assert a.getStrategies().getStrategy(TranslationStrategy.class).isPresent(); assert !b.getStrategies().getStrategy(TranslationStrategy.class).isPresent(); assertEquals(6l, a.V().out().count().next().longValue()); assertEquals(6l, b.V().out().count().next().longValue()); assert a.getStrategies().getStrategy(TranslationStrategy.class).isPresent(); assert !b.getStrategies().getStrategy(TranslationStrategy.class).isPresent(); assertEquals(2l, a.V().repeat(__.out()).times(2).count().next().longValue()); assertEquals(2l, b.V().repeat(__.out()).times(2).count().next().longValue()); assert a.getStrategies().getStrategy(TranslationStrategy.class).isPresent(); assert !b.getStrategies().getStrategy(TranslationStrategy.class).isPresent(); }
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())); 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()));
private boolean isIgnoredKey(String key) { // TODO Filter out constants? Predicate<String> isKey = Predicate.isEqual(Objects.requireNonNull(key)); return isKey.test(options().fileParentKey().orElse(null)) || options().identifierKey().filter(isKey).isPresent() || traversal().getStrategies().toList().stream().flatMap(ofType(PartitionStrategy.class)) .map(PartitionStrategy::getPartitionKey).anyMatch(isKey); }
/** * {@inheritDoc} * * @deprecated As of release 3.3.5, replaced by {@link AnonymousTraversalSource#withRemote(RemoteConnection)}. * @see <a href="https://issues.apache.org/jira/browse/TINKERPOP-2078">TINKERPOP-2078</a> */ @Override @Deprecated public GraphTraversalSource withRemote(final RemoteConnection connection) { // check if someone called withRemote() more than once, so just release resources on the initial // connection as you can't have more than one. maybe better to toss IllegalStateException?? if (this.connection != null) throw new IllegalStateException(String.format("TraversalSource already configured with a RemoteConnection [%s]", connection)); final GraphTraversalSource clone = this.clone(); clone.connection = connection; clone.getStrategies().addStrategies(new RemoteStrategy(connection)); return clone; }
public GraphTraversalSource withBulk(final boolean useBulk) { if (useBulk) return this; final GraphTraversalSource clone = this.clone(); RequirementsStrategy.addRequirements(clone.getStrategies(), TraverserRequirement.ONE_BULK); clone.bytecode.addSource(Symbols.withBulk, useBulk); return clone; }
public GraphTraversalSource withPath() { final GraphTraversalSource clone = this.clone(); RequirementsStrategy.addRequirements(clone.getStrategies(), TraverserRequirement.PATH); clone.bytecode.addSource(Symbols.withPath); return clone; }
protected void getTraversalProperties(BiConsumer<Object, Object> properties, boolean includeConstants) { for (TraversalStrategy<?> strategy : traversal.getStrategies().toList()) { if (strategy instanceof PartitionStrategy && ((PartitionStrategy) strategy).getWritePartition() != null) { properties.accept(((PartitionStrategy) strategy).getPartitionKey(), ((PartitionStrategy) strategy).getWritePartition()); } else if (strategy instanceof PropertyConstantStrategy) { ((PropertyConstantStrategy) strategy).getPropertyMap().forEach(properties); } } }
@Test @LoadGraphWith(MODERN) public void shouldNotHaveAnonymousTraversalMixups() throws Exception { if (!g.getStrategies().getStrategy(TranslationStrategy.class).isPresent()) { logger.debug("No " + TranslationStrategy.class.getSimpleName() + " is registered and thus, skipping test."); return; } final GraphTraversalSource a = g; final GraphTraversalSource b = g.withoutStrategies(TranslationStrategy.class); assert a.getStrategies().getStrategy(TranslationStrategy.class).isPresent(); assert !b.getStrategies().getStrategy(TranslationStrategy.class).isPresent(); assertEquals(6l, a.V().out().count().next().longValue()); assertEquals(6l, b.V().out().count().next().longValue()); assert a.getStrategies().getStrategy(TranslationStrategy.class).isPresent(); assert !b.getStrategies().getStrategy(TranslationStrategy.class).isPresent(); assertEquals(2l, a.V().repeat(__.out()).times(2).count().next().longValue()); assertEquals(2l, b.V().repeat(__.out()).times(2).count().next().longValue()); assert a.getStrategies().getStrategy(TranslationStrategy.class).isPresent(); assert !b.getStrategies().getStrategy(TranslationStrategy.class).isPresent(); }
@Override protected void topologyEagerCreation(Topology topology) { BlackDuckIo.Builder builder = BlackDuckIo.build(); configureBdio.accept(builder); BlackDuckIo bdio = topology.getSqlgGraph().io(builder); BlackDuckIoOptions options = bdio.options(); BdioFrame frame = bdio.mapper().create().createMapper(); List<TraversalStrategy<?>> strategies = topology.getSqlgGraph().traversal() .withStrategies(this.strategies.toArray(new TraversalStrategy<?>[this.strategies.size()])) .getStrategies().toList(); // Define the schema vertex(topology, options, frame.context(), strategies); dataProperties(topology, options, frame.context()); objectProperties(topology, frame.context(), strategies); metadata(topology, options, frame.context(), strategies); }
List<TraversalStrategy<?>> strategies = traversal().getStrategies().toList();
List<TraversalStrategy<?>> strategies = traversal().getStrategies().toList(); Map<String, Object> traversalProperties = new LinkedHashMap<>(); getTraversalProperties((k, v) -> traversalProperties.put(k.toString(), v), true);
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())); 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()));
private void updateFileSystemType(Bdio.FileSystemType fileSystemType) { SchemaTable file = SchemaTable.from(graph(), Bdio.Class.File.name()).withPrefix(VERTEX_PREFIX); SchemaTable parent = SchemaTable.from(graph(), Bdio.ObjectProperty.parent.name()).withPrefix(EDGE_PREFIX); List<TraversalStrategy<?>> strategies = traversal().getStrategies().toList();