TINKERPOP-1878 Added the plugin for sparql-gremlin
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/27210df4 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/27210df4 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/27210df4 Branch: refs/heads/TINKERPOP-1878 Commit: 27210df406b2ea6810e657ad261a0145a0b3b2d2 Parents: 704dcff Author: Stephen Mallette <sp...@genoprime.com> Authored: Mon Jan 29 09:37:15 2018 -0500 Committer: Stephen Mallette <sp...@genoprime.com> Committed: Thu Aug 2 06:49:17 2018 -0400 ---------------------------------------------------------------------- .../sparql/jsr223/SparqlGremlinPlugin.java | 63 ++++++++++++++++++++ ...pache.tinkerpop.gremlin.jsr223.GremlinPlugin | 1 + 2 files changed, 64 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/27210df4/sparql-gremlin/src/main/java/org/apache/tinkerpop/gremlin/sparql/jsr223/SparqlGremlinPlugin.java ---------------------------------------------------------------------- diff --git a/sparql-gremlin/src/main/java/org/apache/tinkerpop/gremlin/sparql/jsr223/SparqlGremlinPlugin.java b/sparql-gremlin/src/main/java/org/apache/tinkerpop/gremlin/sparql/jsr223/SparqlGremlinPlugin.java new file mode 100644 index 0000000..8d0115b --- /dev/null +++ b/sparql-gremlin/src/main/java/org/apache/tinkerpop/gremlin/sparql/jsr223/SparqlGremlinPlugin.java @@ -0,0 +1,63 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tinkerpop.gremlin.sparql.jsr223; + +import org.apache.tinkerpop.gremlin.jsr223.AbstractGremlinPlugin; +import org.apache.tinkerpop.gremlin.jsr223.DefaultImportCustomizer; +import org.apache.tinkerpop.gremlin.jsr223.GremlinPlugin; +import org.apache.tinkerpop.gremlin.jsr223.ImportCustomizer; +import org.apache.tinkerpop.gremlin.sparql.process.traversal.dsl.sparql.DefaultSparqlTraversal; +import org.apache.tinkerpop.gremlin.sparql.process.traversal.dsl.sparql.SparqlTraversal; +import org.apache.tinkerpop.gremlin.sparql.process.traversal.dsl.sparql.SparqlTraversalSource; +import org.apache.tinkerpop.gremlin.sparql.process.traversal.strategy.SparqlStrategy; + +/** + * {@link GremlinPlugin} implementation for {@code sparql-gremlin} that imports the key classes and interfaces required + * to use SPARQL in TinkerPop. + * + * @author Stephen Mallette (http://stephen.genoprime.com) + */ +public final class SparqlGremlinPlugin extends AbstractGremlinPlugin { + + private static final String NAME = "tinkerpop.sparql"; + + private static final ImportCustomizer imports; + + static { + try { + imports = DefaultImportCustomizer.build().addClassImports( + SparqlTraversalSource.class, + SparqlTraversal.class, + DefaultSparqlTraversal.class, + SparqlStrategy.class).create(); + } catch (Exception ex) { + throw new RuntimeException(ex); + } + } + + private static final SparqlGremlinPlugin instance = new SparqlGremlinPlugin(); + + public SparqlGremlinPlugin() { + super(NAME, imports); + } + + public static SparqlGremlinPlugin instance() { + return instance; + } +} http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/27210df4/sparql-gremlin/src/main/resources/META-INF/services/org.apache.tinkerpop.gremlin.jsr223.GremlinPlugin ---------------------------------------------------------------------- diff --git a/sparql-gremlin/src/main/resources/META-INF/services/org.apache.tinkerpop.gremlin.jsr223.GremlinPlugin b/sparql-gremlin/src/main/resources/META-INF/services/org.apache.tinkerpop.gremlin.jsr223.GremlinPlugin new file mode 100644 index 0000000..882054c --- /dev/null +++ b/sparql-gremlin/src/main/resources/META-INF/services/org.apache.tinkerpop.gremlin.jsr223.GremlinPlugin @@ -0,0 +1 @@ +org.apache.tinkerpop.gremlin.sparql.jsr223.SparqlGremlinPlugin \ No newline at end of file