aboutsummaryrefslogtreecommitdiffstats
path: root/sli/common/src/main/java/org/onap/ccsdk/sli/core/sli/SvcLogicLoader.java
diff options
context:
space:
mode:
Diffstat (limited to 'sli/common/src/main/java/org/onap/ccsdk/sli/core/sli/SvcLogicLoader.java')
-rw-r--r--sli/common/src/main/java/org/onap/ccsdk/sli/core/sli/SvcLogicLoader.java212
1 files changed, 104 insertions, 108 deletions
diff --git a/sli/common/src/main/java/org/onap/ccsdk/sli/core/sli/SvcLogicLoader.java b/sli/common/src/main/java/org/onap/ccsdk/sli/core/sli/SvcLogicLoader.java
index bc8c1bdf..95f73f96 100644
--- a/sli/common/src/main/java/org/onap/ccsdk/sli/core/sli/SvcLogicLoader.java
+++ b/sli/common/src/main/java/org/onap/ccsdk/sli/core/sli/SvcLogicLoader.java
@@ -32,137 +32,133 @@ import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
-
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class SvcLogicLoader {
- private static final Logger LOGGER = LoggerFactory.getLogger(SvcLogicLoader.class);
- SvcLogicStore store;
- String directoryRoot;
- String propFile;
-
- public SvcLogicLoader(String directoryRoot, String propFile) {
- store = SvcLogicParser.getStore(propFile);
- this.directoryRoot = directoryRoot;
- this.propFile = propFile;
- }
-
- public void loadAndActivate() throws IOException {
- SvcLogicCrawler slc = new SvcLogicCrawler();
- Files.walkFileTree(Paths.get(this.directoryRoot), slc);
-
- loadGraphs(slc.getGraphPaths(), directoryRoot);
-
- List<ActivationEntry> activationEntries = processActivationFiles(slc.getActivationPaths());
- activateGraphs(activationEntries);
- }
-
- private List<ActivationEntry> processActivationFiles(List<Path> activationPaths) {
- List<ActivationEntry> activationEntries = new ArrayList<ActivationEntry>();
- for (Path activationFile : activationPaths) {
- activationEntries.addAll(getActivationEntries(activationFile));
+ private static final Logger LOGGER = LoggerFactory.getLogger(SvcLogicLoader.class);
+ protected SvcLogicStore store;
+ protected String directoryRoot;
+
+ public SvcLogicLoader(String directoryRoot, SvcLogicStore store) {
+ this.store = store;
+ this.directoryRoot = directoryRoot;
}
- return activationEntries;
- }
+ public SvcLogicLoader(String directoryRoot, String propFile) {
+ this.store = SvcLogicParser.getStore(propFile);
+ this.directoryRoot = directoryRoot;
+ }
- private void activateGraphs(List<ActivationEntry> activationEntries) {
- for (ActivationEntry entry : activationEntries) {
- try {
- if (store.hasGraph(entry.module, entry.rpc, entry.version, entry.mode)) {
- store.activate(entry.module, entry.rpc, entry.version, entry.mode);
- } else {
- LOGGER.error("hasGraph returned false for " + entry.toString());
- }
- } catch (SvcLogicException e) {
- LOGGER.error("Failed to call hasGraph for " + entry.toString(), e);
- }
+ public void loadAndActivate() throws IOException {
+ SvcLogicCrawler slc = new SvcLogicCrawler();
+ Files.walkFileTree(Paths.get(directoryRoot), slc);
+ loadGraphs(slc.getGraphPaths(), directoryRoot);
+ List<ActivationEntry> activationEntries = processActivationFiles(slc.getActivationPaths());
+ activateGraphs(activationEntries);
}
- }
-
- protected List<ActivationEntry> getActivationEntries(Path activationFilePath) {
- List<ActivationEntry> activationEntries = new ArrayList<>();
- int lineNumber = 1;
- try (BufferedReader br = Files.newBufferedReader(activationFilePath, StandardCharsets.US_ASCII)) {
- String fileRead = br.readLine();
- while (fileRead != null) {
- String[] fields = fileRead.split("\\s");
- if (fields.length == 4) {
- activationEntries.add(parseActivationEntry(fields));
- } else {
- LOGGER.error("Activation entry [" + fileRead + "] is declared at line number " + lineNumber + " in the file " + activationFilePath + " and is invalid.");
+
+ private List<ActivationEntry> processActivationFiles(List<Path> activationPaths) {
+ List<ActivationEntry> activationEntries = new ArrayList<ActivationEntry>();
+ for (Path activationFile : activationPaths) {
+ activationEntries.addAll(getActivationEntries(activationFile));
}
- fileRead = br.readLine();
- lineNumber++;
- }
- return activationEntries;
- } catch (IOException ioe) {
- LOGGER.error("Couldn't read the activation file at " + activationFilePath, ioe);
- return null;
- }
- }
-
- protected void loadGraphs(List<Path> graphPaths, String directoryRoot) {
- for (Path graphPath : graphPaths) {
- try {
- saveGraph(graphPath.toString());
- } catch (Exception e) {
- LOGGER.error("Couldn't load graph at " + graphPath, e);
- }
+ return activationEntries;
}
- }
- private void saveGraph(String xmlFile) throws SvcLogicException {
- File f = new File(xmlFile);
- if (!f.canRead()) {
- throw new ConfigurationException("Cannot read xml file (" + xmlFile + ")");
+ private void activateGraphs(List<ActivationEntry> activationEntries) {
+ for (ActivationEntry entry : activationEntries) {
+ try {
+ if (store.hasGraph(entry.module, entry.rpc, entry.version, entry.mode)) {
+ store.activate(entry.module, entry.rpc, entry.version, entry.mode);
+ } else {
+ LOGGER.error("hasGraph returned false for " + entry.toString());
+ }
+ } catch (SvcLogicException e) {
+ LOGGER.error("Failed to call hasGraph for " + entry.toString(), e);
+ }
+ }
}
- SvcLogicParser parser = new SvcLogicParser();
- LinkedList<SvcLogicGraph> graphs = null;
-
- try {
- graphs = parser.parse(xmlFile);
- } catch (Exception e) {
- throw new SvcLogicException(e.getMessage(), e);
+ protected List<ActivationEntry> getActivationEntries(Path activationFilePath) {
+ List<ActivationEntry> activationEntries = new ArrayList<>();
+ int lineNumber = 1;
+ try (BufferedReader br = Files.newBufferedReader(activationFilePath, StandardCharsets.US_ASCII)) {
+ String fileRead = br.readLine();
+ while (fileRead != null) {
+ String[] fields = fileRead.split("\\s");
+ if (fields.length == 4) {
+ activationEntries.add(parseActivationEntry(fields));
+ } else {
+ LOGGER.error("Activation entry [" + fileRead + "] is declared at line number " + lineNumber
+ + " in the file " + activationFilePath + " and is invalid.");
+ }
+ fileRead = br.readLine();
+ lineNumber++;
+ }
+ return activationEntries;
+ } catch (IOException ioe) {
+ LOGGER.error("Couldn't read the activation file at " + activationFilePath, ioe);
+ return null;
+ }
}
- if (graphs == null) {
- throw new SvcLogicException("Could not parse " + xmlFile);
+ protected void loadGraphs(List<Path> graphPaths, String directoryRoot) {
+ for (Path graphPath : graphPaths) {
+ try {
+ saveGraph(graphPath.toString());
+ } catch (Exception e) {
+ LOGGER.error("Couldn't load graph at " + graphPath, e);
+ }
+ }
}
- for (Iterator<SvcLogicGraph> iter = graphs.iterator(); iter.hasNext();) {
-
- SvcLogicGraph graph = iter.next();
+ private void saveGraph(String xmlFile) throws SvcLogicException {
+ File f = new File(xmlFile);
+ if (!f.canRead()) {
+ throw new ConfigurationException("Cannot read xml file (" + xmlFile + ")");
+ }
- try {
- LOGGER.info("Saving " + graph.toString() + " to database");
- store.store(graph);
- } catch (Exception e) {
- throw new SvcLogicException(e.getMessage(), e);
- }
+ SvcLogicParser parser = new SvcLogicParser();
+ LinkedList<SvcLogicGraph> graphs = null;
- }
- }
+ try {
+ graphs = parser.parse(xmlFile);
+ } catch (Exception e) {
+ throw new SvcLogicException(e.getMessage(), e);
+ }
- protected ActivationEntry parseActivationEntry(String[] fileInput) {
- return new ActivationEntry(fileInput[0], fileInput[1], fileInput[2], fileInput[3]);
- }
+ if (graphs == null) {
+ throw new SvcLogicException("Could not parse " + xmlFile);
+ }
- protected String getValue(String raw, String attributeName) {
- raw = raw.substring(attributeName.length() + 1);
- if (raw.contains(">")) {
- raw = raw.substring(0, raw.lastIndexOf('>'));
- }
- if (raw.endsWith("'")) {
- raw = raw.substring(0, raw.lastIndexOf('\''));
+ for (Iterator<SvcLogicGraph> iter = graphs.iterator(); iter.hasNext();) {
+ SvcLogicGraph graph = iter.next();
+ try {
+ LOGGER.info("Saving " + graph.toString() + " to database");
+ store.store(graph);
+ } catch (Exception e) {
+ throw new SvcLogicException(e.getMessage(), e);
+ }
+ }
}
- if (raw.endsWith("\"")) {
- raw = raw.substring(0, raw.lastIndexOf('"'));
+
+ protected ActivationEntry parseActivationEntry(String[] fileInput) {
+ return new ActivationEntry(fileInput[0], fileInput[1], fileInput[2], fileInput[3]);
}
- return raw;
- }
+ protected String getValue(String raw, String attributeName) {
+ raw = raw.substring(attributeName.length() + 1);
+ if (raw.contains(">")) {
+ raw = raw.substring(0, raw.lastIndexOf('>'));
+ }
+ if (raw.endsWith("'")) {
+ raw = raw.substring(0, raw.lastIndexOf('\''));
+ }
+ if (raw.endsWith("\"")) {
+ raw = raw.substring(0, raw.lastIndexOf('"'));
+ }
+ return raw;
+ }
}