Update schema ingest library call schema service
[aai/aai-common.git] / aai-schema-ingest / src / main / java / org / onap / aai / edges / JsonIngestor.java
index 1656275..713103a 100644 (file)
@@ -1,4 +1,4 @@
-/** 
+/**
  * ============LICENSE_START=======================================================
  * org.onap.aai
  * ================================================================================
 
 package org.onap.aai.edges;
 
+import com.att.eelf.configuration.EELFLogger;
+import com.att.eelf.configuration.EELFManager;
+import com.jayway.jsonpath.DocumentContext;
+import com.jayway.jsonpath.JsonPath;
+import org.onap.aai.setup.SchemaVersion;
+
 import java.io.BufferedReader;
 import java.io.FileReader;
 import java.io.IOException;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 import java.util.Map.Entry;
 
-import org.onap.aai.setup.SchemaVersion;
-
-import com.jayway.jsonpath.DocumentContext;
-import com.jayway.jsonpath.JsonPath;
-
 /**
  * JsonIngestor produces DocumentContexts from json files
  */
 public class JsonIngestor {
-       
-       /**
-        * Reads in given json files to queryable DocumentContexts.
-        * 
-        * @param filesToIngest - map of filenames to ingest
-        *                      per Version
-        * @return Map<SchemaVersion, List<DocumentContext>> - map of DocumentContexts per Version
-        */
-       public Map<SchemaVersion, List<DocumentContext>> ingest(Map<SchemaVersion, List<String>> filesToIngest) {
-               Map<SchemaVersion, List<DocumentContext>> result = new HashMap<>();
-               
-               for (Entry<SchemaVersion, List<String>> verFiles : filesToIngest.entrySet()) {
-                       SchemaVersion v = verFiles.getKey();
-                       List<String> files = verFiles.getValue();
-                       
-                       List<DocumentContext> docs = new ArrayList<>();
-                       
-                       for (String rulesFilename : files) {
-                               String fileContents = readInJsonFile(rulesFilename);
-                               docs.add(JsonPath.parse(fileContents));
-                       }
-                       result.put(v, docs);
-               }
-               
-               return result;
-       }
-       
-       /**
-        * Reads the json file at the given filename into an in-memory String.
-        * 
-        * @param rulesFilename - json file to be read (must include path to the file)
-        * @return String json contents of the given file
-        */
-       private String readInJsonFile(String rulesFilename) {
-               StringBuilder sb = new StringBuilder();
-               try(BufferedReader br = new BufferedReader(new FileReader(rulesFilename))) {
-                       String line;
-                       while ((line = br.readLine()) != null) {
-                               sb.append(line);
-                       }
-               } catch (IOException e) {
-                       throw new ExceptionInInitializerError(e);
-               }
-               return sb.toString();
-       }
+       private static final EELFLogger LOGGER = EELFManager.getInstance().getLogger(JsonIngestor.class);
+    
+    /**
+     * Reads in given json files to queryable DocumentContexts.
+     *
+     * @param filesToIngest - map of filenames to ingest
+     *                         per Version
+     * @return Map<SchemaVersion, List<DocumentContext>> - map of DocumentContexts per Version
+     */
+    public Map<SchemaVersion, List<DocumentContext>> ingest(Map<SchemaVersion, List<String>> filesToIngest) {
+        Map<SchemaVersion, List<DocumentContext>> result = new HashMap<>();
+
+        for (Entry<SchemaVersion, List<String>> verFiles : filesToIngest.entrySet()) {
+            SchemaVersion v = verFiles.getKey();
+            List<String> files = verFiles.getValue();
+
+            List<DocumentContext> docs = new ArrayList<>();
+            for (String rulesFilename : files) {
+                String fileContents = readInJsonFile(rulesFilename);
+                docs.add(JsonPath.parse(fileContents));
+            }
+            result.put(v, docs);
+        }
+
+        return result;
+    }
+
+    public Map<SchemaVersion, List<DocumentContext>> ingestContent(Map<SchemaVersion, List<String>> filesToIngest) {
+        Map<SchemaVersion, List<DocumentContext>> result = new HashMap<>();
+
+        for (Entry<SchemaVersion, List<String>> verFiles : filesToIngest.entrySet()) {
+            SchemaVersion v = verFiles.getKey();
+            List<String> files = verFiles.getValue();
+
+            List<DocumentContext> docs = new ArrayList<>();
+            for (String jsonPayload : files) {
+                docs.add(JsonPath.parse(jsonPayload));
+            }
+            result.put(v, docs);
+        }
+        return result;
+    }
+
+    /**
+     * Reads the json file at the given filename into an in-memory String.
+     *
+     * @param rulesFilename - json file to be read (must include path to the file)
+     * @return String json contents of the given file
+     */
+    public String readInJsonFile(String rulesFilename) {
+        StringBuilder sb = new StringBuilder();
+        try(BufferedReader br = new BufferedReader(new FileReader(rulesFilename))) {
+            String line;
+            while ((line = br.readLine()) != null) {
+                sb.append(line);
+            }
+        } catch (IOException e) {
+            LOGGER.warn("Exception in file"+e.getMessage());
+            throw new ExceptionInInitializerError(e);
+        }
+        return sb.toString();
+    }
 }