* ============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 {
this.schemaEnforcer = builder.schemaEnforcer;
}
+ @Override
+ public ChampTransaction getOrCreateTransactionInstance(Optional<ChampTransaction> transaction) {
+
+ return new NoOpTinkerPopTransaction(getGraph());
+
+ }
+
public static class Builder {
private final Map<String, Object> graphConfiguration = new HashMap<String, Object> ();
private ChampSchemaEnforcer schemaEnforcer = new DefaultChampSchemaEnforcer();
return this;
}
+ public Builder properties(Map<String, Object> 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);
}
return graph;
}
+
private ConcurrentHashMap<String, ChampObjectIndex> getObjectIndices() {
return objectIndices;
}
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);
public ChampCapabilities capabilities() {
return CAPABILITIES;
}
+
+ @Override
+ public GraphTraversal<?, ?> hasLabel(GraphTraversal<?, ?> query, Object type) {
+ return query.hasLabel((String)type, (String)type);
+ }
}