Enhance SchemaGenerator to also generate indices for relationships
[aai/aai-common.git] / aai-core / src / main / java / org / onap / aai / dbmap / InMemoryGraph.java
index d017b7e..cca11c6 100644 (file)
 
 package org.onap.aai.dbmap;
 
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
 import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.util.Properties;
 
-import org.apache.commons.lang.exception.ExceptionUtils;
 import org.apache.tinkerpop.gremlin.structure.io.IoCore;
 import org.janusgraph.core.JanusGraph;
 import org.janusgraph.core.JanusGraphFactory;
@@ -37,6 +33,8 @@ import org.janusgraph.core.schema.JanusGraphManagement;
 import org.onap.aai.dbgen.GraphSONPartialIO;
 import org.onap.aai.dbgen.SchemaGenerator;
 import org.onap.aai.logging.LogFormatTools;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class InMemoryGraph {
 
@@ -47,43 +45,39 @@ public class InMemoryGraph {
         /*
          * Create a In-memory graph
          */
-        InputStream is = new FileInputStream(builder.propertyFile);
-        try {
+        try (InputStream is = new FileInputStream(builder.propertyFile)) {
             graph = JanusGraphFactory.open(builder.propertyFile);
 
             Properties graphProps = new Properties();
             graphProps.load(is);
-            JanusGraphManagement graphMgt = graph.openManagement();
             if (builder.isSchemaEnabled) {
                 LOGGER.info("Schema Enabled");
-                SchemaGenerator.loadSchemaIntoJanusGraph(graph, graphMgt, graphProps.getProperty("storage.backend"));
+                SchemaGenerator.loadSchemaIntoJanusGraph(graph, graphProps.getProperty("storage.backend"), false);
             }
-            JanusGraphTransaction transaction = graph.newTransaction();
-            LOGGER.info("Loading snapshot");
-            if (builder.isPartialGraph) {
-                if ((builder.graphsonLocation != null) && (builder.graphsonLocation.length() > 0)) {
-                    transaction.io(GraphSONPartialIO.build()).readGraph(builder.graphsonLocation);
-                } else {
-                    transaction.io(GraphSONPartialIO.build()).reader().create().readGraph(builder.seqInputStream,
-                            graph);
-                }
-            } else {
-                if ((builder.graphsonLocation != null) && (builder.graphsonLocation.length() > 0)) {
-                    transaction.io(IoCore.graphson()).readGraph(builder.graphsonLocation);
+            try (JanusGraphTransaction transaction = graph.newTransaction()) {
+                LOGGER.info("Loading snapshot");
+                if (builder.isPartialGraph) {
+                    if ((builder.graphsonLocation != null) && (builder.graphsonLocation.length() > 0)) {
+                        transaction.io(GraphSONPartialIO.build()).readGraph(builder.graphsonLocation);
+                    } else {
+                        transaction.io(GraphSONPartialIO.build()).reader().create().readGraph(builder.seqInputStream,
+                                graph);
+                    }
                 } else {
-                    transaction.io(IoCore.graphson()).reader().create().readGraph(builder.seqInputStream, graph);
+                    if ((builder.graphsonLocation != null) && (builder.graphsonLocation.length() > 0)) {
+                        transaction.io(IoCore.graphson()).readGraph(builder.graphsonLocation);
+                    } else {
+                        transaction.io(IoCore.graphson()).reader().create().readGraph(builder.seqInputStream, graph);
+                    }
                 }
+                transaction.commit();
             }
-            transaction.commit();
 
         } catch (Exception e) {
-            // TODO : Changesysout to logger
-            e.printStackTrace();
-            LOGGER.error("ERROR: Could not load datasnapshot to in memory graph. \n" + LogFormatTools.getStackTop(e));
+            LOGGER.error(String.format("ERROR: Could not load datasnapshot to in memory graph. %n%s",
+                    LogFormatTools.getStackTop(e)));
             throw new IllegalStateException("Could not load datasnapshot to in memory graph");
 
-        } finally {
-            is.close();
         }
 
     }