X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=champ-lib%2Fchamp-core%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Faai%2Fchampcore%2Fgraph%2Fimpl%2FInMemoryChampGraphImpl.java;fp=src%2Fmain%2Fjava%2Forg%2Fonap%2Faai%2Fchamp%2Fgraph%2Fimpl%2FInMemoryChampGraphImpl.java;h=5773505527b04c2862c831beacec2c677752a8c8;hb=c74f7b13b573386e70c10721fc391624ee792ed6;hp=7afb8135a052021c7643bdea8f80b8910b2b869d;hpb=9fc28cff11a4b570618c0f533ce9de6209a5dd0c;p=aai%2Fchamp.git diff --git a/src/main/java/org/onap/aai/champ/graph/impl/InMemoryChampGraphImpl.java b/champ-lib/champ-core/src/main/java/org/onap/aai/champcore/graph/impl/InMemoryChampGraphImpl.java similarity index 81% rename from src/main/java/org/onap/aai/champ/graph/impl/InMemoryChampGraphImpl.java rename to champ-lib/champ-core/src/main/java/org/onap/aai/champcore/graph/impl/InMemoryChampGraphImpl.java index 7afb813..5773505 100644 --- a/src/main/java/org/onap/aai/champ/graph/impl/InMemoryChampGraphImpl.java +++ b/champ-lib/champ-core/src/main/java/org/onap/aai/champcore/graph/impl/InMemoryChampGraphImpl.java @@ -19,28 +19,28 @@ * ============LICENSE_END============================================ * ECOMP is a trademark and service mark of AT&T Intellectual Property. */ -package org.onap.aai.champ.graph.impl; +package org.onap.aai.champcore.graph.impl; -import java.io.IOException; -import java.util.Collection; import java.util.HashMap; +import java.util.List; import java.util.Map; import java.util.Optional; import java.util.concurrent.ConcurrentHashMap; import java.util.stream.Stream; +import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal; import org.apache.tinkerpop.gremlin.structure.Edge; import org.apache.tinkerpop.gremlin.structure.Vertex; import org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerGraph; -import org.onap.aai.champ.ChampCapabilities; -import org.onap.aai.champ.exceptions.ChampIndexNotExistsException; -import org.onap.aai.champ.model.ChampObjectIndex; -import org.onap.aai.champ.model.ChampRelationshipIndex; -import org.onap.aai.champ.schema.ChampSchemaEnforcer; -import org.onap.aai.champ.schema.DefaultChampSchemaEnforcer; -import org.slf4j.Logger; - -import com.att.nsa.cambria.client.CambriaPublisher; +import org.onap.aai.champcore.ChampCapabilities; +import org.onap.aai.champcore.ChampTransaction; +import org.onap.aai.champcore.NoOpTinkerPopTransaction; +import org.onap.aai.champcore.exceptions.ChampIndexNotExistsException; +import org.onap.aai.champcore.model.ChampObject; +import org.onap.aai.champcore.model.ChampObjectIndex; +import org.onap.aai.champcore.model.ChampRelationshipIndex; +import org.onap.aai.champcore.schema.ChampSchemaEnforcer; +import org.onap.aai.champcore.schema.DefaultChampSchemaEnforcer; public final class InMemoryChampGraphImpl extends AbstractTinkerpopChampGraph { @@ -73,6 +73,13 @@ public final class InMemoryChampGraphImpl extends AbstractTinkerpopChampGraph { this.schemaEnforcer = builder.schemaEnforcer; } + @Override + public ChampTransaction getOrCreateTransactionInstance(Optional transaction) { + + return new NoOpTinkerPopTransaction(getGraph()); + + } + public static class Builder { private final Map graphConfiguration = new HashMap (); private ChampSchemaEnforcer schemaEnforcer = new DefaultChampSchemaEnforcer(); @@ -84,6 +91,18 @@ public final class InMemoryChampGraphImpl extends AbstractTinkerpopChampGraph { return this; } + public Builder properties(Map properties) { + + this.graphConfiguration.putAll(properties); + return this; + } + + public Builder property(String path, Object value) { + + graphConfiguration.put(path, value); + return this; + } + public InMemoryChampGraphImpl build() { return new InMemoryChampGraphImpl(this); } @@ -98,6 +117,7 @@ public final class InMemoryChampGraphImpl extends AbstractTinkerpopChampGraph { return graph; } + private ConcurrentHashMap getObjectIndices() { return objectIndices; } @@ -106,7 +126,9 @@ public final class InMemoryChampGraphImpl extends AbstractTinkerpopChampGraph { return relationshipIndices; } + @Override public void executeStoreObjectIndex(ChampObjectIndex index) { + if (isShutdown()) throw new IllegalStateException("Cannot call storeObjectIndex() after shutdown has been initiated"); getGraph().createIndex(index.getField().getName(), Vertex.class); @@ -179,4 +201,9 @@ public final class InMemoryChampGraphImpl extends AbstractTinkerpopChampGraph { public ChampCapabilities capabilities() { return CAPABILITIES; } + + @Override + public GraphTraversal hasLabel(GraphTraversal query, Object type) { + return query.hasLabel((String)type, (String)type); + } }