[AAI-178 Amsterdam] Make Edge Properties to be
[aai/aai-common.git] / aai-core / src / main / java / org / openecomp / aai / serialization / queryformats / Formatter.java
index f2bafe2..26b0411 100644 (file)
@@ -5,16 +5,16 @@
  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
*      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  * ============LICENSE_END=========================================================
  */
 
@@ -37,7 +37,7 @@ public class Formatter {
 
        protected JsonParser parser = new JsonParser();
        protected final FormatMapper format;
-       public Formatter(FormatMapper format) {
+       public Formatter (FormatMapper format) {
                this.format = format;
        }
        
@@ -50,7 +50,7 @@ public class Formatter {
                } else {
                        stream = vertices.stream();
                }
-               
+               final boolean isParallel = stream.isParallel();
                stream.map(v -> {
                        try {
                                return Optional.<JsonObject>of(format.formatObject(v));
@@ -61,7 +61,11 @@ public class Formatter {
                        return Optional.<JsonObject>empty();
                }).forEach(obj -> {
                        if (obj.isPresent()) {
-                               synchronized (body) {
+                               if (isParallel) {
+                                       synchronized (body) {
+                                               body.add(obj.get());
+                                       }
+                               } else {
                                        body.add(obj.get());
                                }
                        }