AAI-1523 Batch reformat aai-core
[aai/aai-common.git] / aai-core / src / main / java / org / onap / aai / serialization / queryformats / Formatter.java
index 7284714..a19bd3f 100644 (file)
@@ -17,6 +17,7 @@
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
+
 package org.onap.aai.serialization.queryformats;
 
 import com.att.eelf.configuration.EELFLogger;
@@ -24,74 +25,72 @@ import com.att.eelf.configuration.EELFManager;
 import com.google.gson.JsonArray;
 import com.google.gson.JsonObject;
 import com.google.gson.JsonParser;
-import org.onap.aai.logging.LogFormatTools;
-import org.onap.aai.serialization.queryformats.exceptions.AAIFormatQueryResultFormatNotSupported;
-import org.onap.aai.serialization.queryformats.exceptions.AAIFormatVertexException;
 
 import java.util.List;
 import java.util.Optional;
 import java.util.stream.Stream;
 
+import org.onap.aai.logging.LogFormatTools;
+import org.onap.aai.serialization.queryformats.exceptions.AAIFormatQueryResultFormatNotSupported;
+import org.onap.aai.serialization.queryformats.exceptions.AAIFormatVertexException;
+
 public class Formatter {
 
-       private static final EELFLogger LOGGER = EELFManager.getInstance().getLogger(Formatter.class);
-
-       protected JsonParser parser = new JsonParser();
-       protected final FormatMapper format;
-
-       public Formatter(FormatMapper format) {
-               this.format = format;
-       }
-
-       public JsonObject output(List<Object> queryResults) {
-
-               Stream<Object> stream;
-               JsonObject result = new JsonObject();
-               JsonArray body = new JsonArray();
-
-               if (this.format instanceof Count) {
-                       JsonObject countResult;
-                       try {
-                               countResult = format.formatObject(queryResults).orElseThrow(() -> new AAIFormatVertexException(""));
-                               body.add(countResult);
-                       } catch (Exception e) {
-                               LOGGER.warn("Failed to format result type of the query " + LogFormatTools.getStackTop(e));
-                       }
-               } else {
-                       if (queryResults.size() >= format.parallelThreshold()) {
-                               stream = queryResults.parallelStream();
-                       } else {
-                               stream = queryResults.stream();
-                       }
-
-                       final boolean isParallel = stream.isParallel();
-
-                       stream.map(o -> {
-                               try {
-                                       return format.formatObject(o);
-                               } catch (AAIFormatVertexException e) {
-                                       LOGGER.warn("Failed to format vertex, returning a partial list " + LogFormatTools.getStackTop(e));
-                               } catch (AAIFormatQueryResultFormatNotSupported e) {
-                                       LOGGER.warn("Failed to format result type of the query " + LogFormatTools.getStackTop(e));
-                               }
-
-                               return Optional.<JsonObject>empty();
-                       })
-                       .filter(Optional::isPresent)
-                       .map(Optional::get)
-                       .forEach(json -> {
-                                       if (isParallel) {
-                                               synchronized (body) {
-                                                       body.add(json);
-                                               }
-                                       } else {
-                                               body.add(json);
-                                       }
-                       });
-
-               }
-               result.add("results", body);
-               return result.getAsJsonObject();
-       }
+    private static final EELFLogger LOGGER = EELFManager.getInstance().getLogger(Formatter.class);
+
+    protected JsonParser parser = new JsonParser();
+    protected final FormatMapper format;
+
+    public Formatter(FormatMapper format) {
+        this.format = format;
+    }
+
+    public JsonObject output(List<Object> queryResults) {
+
+        Stream<Object> stream;
+        JsonObject result = new JsonObject();
+        JsonArray body = new JsonArray();
+
+        if (this.format instanceof Count) {
+            JsonObject countResult;
+            try {
+                countResult = format.formatObject(queryResults).orElseThrow(() -> new AAIFormatVertexException(""));
+                body.add(countResult);
+            } catch (Exception e) {
+                LOGGER.warn("Failed to format result type of the query " + LogFormatTools.getStackTop(e));
+            }
+        } else {
+            if (queryResults.size() >= format.parallelThreshold()) {
+                stream = queryResults.parallelStream();
+            } else {
+                stream = queryResults.stream();
+            }
+
+            final boolean isParallel = stream.isParallel();
+
+            stream.map(o -> {
+                try {
+                    return format.formatObject(o);
+                } catch (AAIFormatVertexException e) {
+                    LOGGER.warn("Failed to format vertex, returning a partial list " + LogFormatTools.getStackTop(e));
+                } catch (AAIFormatQueryResultFormatNotSupported e) {
+                    LOGGER.warn("Failed to format result type of the query " + LogFormatTools.getStackTop(e));
+                }
+
+                return Optional.<JsonObject>empty();
+            }).filter(Optional::isPresent).map(Optional::get).forEach(json -> {
+                if (isParallel) {
+                    synchronized (body) {
+                        body.add(json);
+                    }
+                } else {
+                    body.add(json);
+                }
+            });
+
+        }
+        result.add("results", body);
+        return result.getAsJsonObject();
+    }
 
 }