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%2FChampAPIImpl.java;fp=src%2Fmain%2Fjava%2Forg%2Fonap%2Faai%2Fchamp%2Fgraph%2Fimpl%2FChampAPIImpl.java;h=607ba785adab2617af4b043a902f1c471ff2c90a;hb=c74f7b13b573386e70c10721fc391624ee792ed6;hp=ed06429505220e9df9bbb2ace9037cf2a33da012;hpb=9fc28cff11a4b570618c0f533ce9de6209a5dd0c;p=aai%2Fchamp.git diff --git a/src/main/java/org/onap/aai/champ/graph/impl/ChampAPIImpl.java b/champ-lib/champ-core/src/main/java/org/onap/aai/champcore/graph/impl/ChampAPIImpl.java similarity index 76% rename from src/main/java/org/onap/aai/champ/graph/impl/ChampAPIImpl.java rename to champ-lib/champ-core/src/main/java/org/onap/aai/champcore/graph/impl/ChampAPIImpl.java index ed06429..607ba78 100644 --- a/src/main/java/org/onap/aai/champ/graph/impl/ChampAPIImpl.java +++ b/champ-lib/champ-core/src/main/java/org/onap/aai/champcore/graph/impl/ChampAPIImpl.java @@ -19,14 +19,14 @@ * ============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.util.Map.Entry; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.atomic.AtomicBoolean; -import org.onap.aai.champ.ChampAPI; -import org.onap.aai.champ.ChampGraph; +import org.onap.aai.champcore.ChampAPI; +import org.onap.aai.champcore.ChampGraph; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -35,32 +35,33 @@ public class ChampAPIImpl implements ChampAPI { private static final Logger LOGGER = LoggerFactory.getLogger(ChampAPIImpl.class); private final AtomicBoolean shutdown; - private final ChampGraph.Type type; + private final String type; private final ConcurrentHashMap graphs; - public ChampAPIImpl(ChampGraph.Type type) { + public ChampAPIImpl(String type) { this.type = type; this.graphs = new ConcurrentHashMap (); this.shutdown = new AtomicBoolean(false); } private ConcurrentHashMap getGraphs() { - return graphs; + return graphs; } @Override public ChampGraph getGraph(String graphName) { - if (shutdown.get()) throw new IllegalStateException("Cannot call getGraph() after shutdown() has been initiated"); + if (shutdown.get()) { + throw new IllegalStateException("Cannot call getGraph() after shutdown() has been initiated"); + } - if (getGraphs().containsKey(graphName)) return getGraphs().get(graphName); + if (getGraphs().containsKey(graphName)) { + return getGraphs().get(graphName); + } - final ChampGraph graph = ChampGraph.Factory.newInstance(type, graphName); - - final ChampGraph existingGraph = getGraphs().putIfAbsent(graphName, graph); - - if (existingGraph == null) return graph; - - return existingGraph; + // At this point, we know a graph with this name doesn't exist. Create and return it. + final ChampGraph graph = new InMemoryChampGraphImpl.Builder().build(); + graphs.put(graphName, graph); + return graph; } @Override @@ -80,7 +81,7 @@ public class ChampAPIImpl implements ChampAPI { } @Override - public ChampGraph.Type getType() { + public String getType() { return type; }