Merge "Reorder modifiers"
[so.git] / bpmn / MSOCoreBPMN / src / main / java / org / openecomp / mso / bpmn / core / json / DecomposeJsonUtil.java
index 738ec49..8ab93f2 100644 (file)
+/*-\r
+ * ============LICENSE_START=======================================================\r
+ * ONAP - SO\r
+ * ================================================================================\r
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.\r
+ * ================================================================================\r
+ * Licensed under the Apache License, Version 2.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ *      http://www.apache.org/licenses/LICENSE-2.0\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ * ============LICENSE_END=========================================================\r
+ */\r
+\r
 package org.openecomp.mso.bpmn.core.json;\r
 \r
-import java.io.Serializable;\r
 import java.io.IOException;\r
-\r
+import java.io.Serializable;\r
 \r
 import org.openecomp.mso.bpmn.core.domain.AllottedResource;\r
+import org.openecomp.mso.bpmn.core.domain.ConfigResource;\r
 import org.openecomp.mso.bpmn.core.domain.NetworkResource;\r
 import org.openecomp.mso.bpmn.core.domain.ServiceDecomposition;\r
+import org.openecomp.mso.bpmn.core.domain.ServiceInstance;\r
 import org.openecomp.mso.bpmn.core.domain.VnfResource;\r
 \r
-import com.fasterxml.jackson.core.JsonParseException;\r
 import com.fasterxml.jackson.databind.DeserializationFeature;\r
-import com.fasterxml.jackson.databind.JsonMappingException;\r
 import com.fasterxml.jackson.databind.ObjectMapper;\r
 \r
-import org.openecomp.mso.logger.MsoLogger;\r
-\r
 public class DecomposeJsonUtil implements Serializable {\r
-       private static final MsoLogger LOGGER = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL);\r
-       /**\r
-        * \r
-        */\r
+\r
        private static final long serialVersionUID = 1L;\r
 \r
-       /**\r
-        * Method to construct Service Decomposition object converting\r
-        * JSON structure\r
-        * \r
-        * @param jsonString - input in JSON format confirming ServiceDecomposition\r
-        * @return - ServiceDecomposition object\r
-        * @throws IOException \r
-        * @throws JsonMappingException \r
-        * @throws JsonParseException \r
-        */\r
-       public static ServiceDecomposition JsonToServiceDecomposition(String jsonString) {\r
-        \r
-        ServiceDecomposition serviceDecomposition = new ServiceDecomposition();\r
-        ObjectMapper om = new ObjectMapper();\r
-        om.configure(DeserializationFeature.UNWRAP_ROOT_VALUE, true);\r
-       \r
-               try {\r
-                       serviceDecomposition = om.readValue(jsonString, ServiceDecomposition.class);\r
-               } catch (JsonParseException e) {\r
-                       LOGGER.debug("JsonParseException :",e);\r
-               } catch (JsonMappingException e) {\r
-                       LOGGER.debug("JsonMappingException :",e);\r
-               } catch (IOException e) {\r
-                       LOGGER.debug("IOException :",e);\r
-               }\r
-               \r
-               return serviceDecomposition;\r
-       }\r
-       \r
-       /**\r
-        * Method to construct Resource Decomposition object converting\r
-        * JSON structure\r
-        * \r
-        * @param jsonString - input in JSON format confirming ResourceDecomposition\r
-        * @return - ServiceDecomposition object\r
-        * @throws IOException \r
-        * @throws JsonMappingException \r
-        * @throws JsonParseException \r
-        */\r
-       public static VnfResource JsonToVnfResource(String jsonString) {\r
-        \r
-        VnfResource vnfResource = new VnfResource();\r
-        ObjectMapper om = new ObjectMapper();\r
-        om.configure(DeserializationFeature.UNWRAP_ROOT_VALUE, true);\r
-       \r
-               try {\r
-                       vnfResource = om.readValue(jsonString, VnfResource.class);\r
-               } catch (JsonParseException e) {\r
-                       LOGGER.debug("JsonParseException :",e);\r
-               } catch (JsonMappingException e) {\r
-                       LOGGER.debug("JsonMappingException :",e);\r
-               } catch (IOException e) {\r
-                       LOGGER.debug("IOException :",e);\r
-               }\r
-               return vnfResource;\r
-       }\r
-       \r
-       /**\r
-        * Method to construct Resource Decomposition object converting\r
-        * JSON structure\r
-        * \r
-        * @param jsonString - input in JSON format confirming ResourceDecomposition\r
-        * @return - ServiceDecomposition object\r
-        * @throws IOException \r
-        * @throws JsonMappingException \r
-        * @throws JsonParseException \r
-        */\r
-       public static NetworkResource JsonToNetworkResource(String jsonString) {\r
-        \r
-        NetworkResource networkResource = new NetworkResource();\r
-        ObjectMapper om = new ObjectMapper();\r
-        om.configure(DeserializationFeature.UNWRAP_ROOT_VALUE, true);\r
-       \r
-               try {\r
-                       networkResource = om.readValue(jsonString, NetworkResource.class);\r
-               } catch (JsonParseException e) {\r
-                       LOGGER.debug("Exception :",e);\r
-               } catch (JsonMappingException e) {\r
-                       LOGGER.debug("Exception :",e);\r
-               } catch (IOException e) {\r
-                       LOGGER.debug("Exception :",e);\r
-               }\r
-               return networkResource;\r
-       }\r
-       \r
-       /**\r
-        * Method to construct Resource Decomposition object converting\r
-        * JSON structure\r
-        * \r
-        * @param jsonString - input in JSON format confirming ResourceDecomposition\r
-        * @return - ServiceDecomposition object\r
-        * @throws IOException \r
-        * @throws JsonMappingException \r
-        * @throws JsonParseException \r
-        */\r
-       public static AllottedResource JsonToAllottedResource(String jsonString) {\r
-        \r
-               AllottedResource allottedResource = new AllottedResource();\r
+    private static final ObjectMapper OBJECT_MAPPER = createObjectMapper();\r
+\r
+    private DecomposeJsonUtil() {\r
+    }\r
+\r
+    private static ObjectMapper createObjectMapper() {\r
         ObjectMapper om = new ObjectMapper();\r
         om.configure(DeserializationFeature.UNWRAP_ROOT_VALUE, true);\r
-       \r
-               try {\r
-                       allottedResource = om.readValue(jsonString, AllottedResource.class);\r
-               } catch (JsonParseException e) {\r
-                       LOGGER.debug("Exception :",e);\r
-               } catch (JsonMappingException e) {\r
-                       LOGGER.debug("Exception :",e);\r
-               } catch (IOException e) {\r
-                       LOGGER.debug("Exception :",e);\r
-               }\r
-               return allottedResource;\r
-       }\r
+        return om;\r
+    }\r
+\r
+    /**\r
+     * Method to construct Service Decomposition object converting JSON structure\r
+     *\r
+     * @param jsonString input in JSON format confirming ServiceDecomposition\r
+     * @return decoded object\r
+     * @throws JsonDecomposingException thrown when decoding json fails\r
+     */\r
+    public static ServiceDecomposition jsonToServiceDecomposition(String jsonString) throws JsonDecomposingException {\r
+        try {\r
+                       ObjectMapper om = new ObjectMapper();\r
+                       om.configure(DeserializationFeature.UNWRAP_ROOT_VALUE, true);\r
+                       om.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);\r
+            return om.readValue(jsonString, ServiceDecomposition.class);\r
+        } catch (IOException e) {\r
+            throw new JsonDecomposingException("Exception while converting json to service decomposition", e);\r
+        }\r
+    }\r
+\r
+    /**\r
+     * Method to construct Service Decomposition object converting JSON structure\r
+     *\r
+     * @param jsonString input in JSON format confirming ServiceDecomposition\r
+     * @param serviceInstanceId service instance id to be put in decoded ServiceDecomposition\r
+     * @return decoded object\r
+     * @throws JsonDecomposingException thrown when decoding json fails\r
+     */\r
+    public static ServiceDecomposition jsonToServiceDecomposition(String jsonString, String serviceInstanceId)\r
+            throws JsonDecomposingException {\r
+        ServiceDecomposition serviceDecomposition = jsonToServiceDecomposition(jsonString);\r
+        ServiceInstance serviceInstance = new ServiceInstance();\r
+        serviceInstance.setInstanceId(serviceInstanceId);\r
+        serviceDecomposition.setServiceInstance(serviceInstance);\r
+        return serviceDecomposition;\r
+    }\r
+\r
+    /**\r
+     * Method to construct Resource Decomposition object converting JSON structure\r
+     *\r
+     * @param jsonString input in JSON format confirming ResourceDecomposition\r
+     * @return decoded object\r
+     * @throws JsonDecomposingException thrown when decoding json fails\r
+     */\r
+    public static VnfResource jsonToVnfResource(String jsonString) throws JsonDecomposingException {\r
+        try {\r
+            return OBJECT_MAPPER.readValue(jsonString, VnfResource.class);\r
+        } catch (IOException e) {\r
+            throw new JsonDecomposingException("Exception while converting json to vnf resource", e);\r
+        }\r
+    }\r
+\r
+    /**\r
+     * Method to construct Resource Decomposition object converting JSON structure\r
+     *\r
+     * @param jsonString input in JSON format confirming ResourceDecomposition\r
+     * @return decoded object\r
+     * @throws JsonDecomposingException thrown when decoding json fails\r
+     */\r
+    public static NetworkResource jsonToNetworkResource(String jsonString) throws JsonDecomposingException {\r
+        try {\r
+            return OBJECT_MAPPER.readValue(jsonString, NetworkResource.class);\r
+        } catch (IOException e) {\r
+            throw new JsonDecomposingException("Exception while converting json to network resource", e);\r
+        }\r
+    }\r
+\r
+    /**\r
+     * Method to construct Resource Decomposition object converting JSON structure\r
+     *\r
+     * @param jsonString - input in JSON format confirming ResourceDecomposition\r
+     * @return decoded object\r
+     * @throws JsonDecomposingException thrown when decoding json fails\r
+     */\r
+    public static AllottedResource jsonToAllottedResource(String jsonString) throws JsonDecomposingException {\r
+        try {\r
+            return OBJECT_MAPPER.readValue(jsonString, AllottedResource.class);\r
+        } catch (IOException e) {\r
+            throw new JsonDecomposingException("Exception while converting json to allotted resource", e);\r
+        }\r
+    }\r
+    \r
+    public static ConfigResource jsonToConfigResource(String jsonString) throws JsonDecomposingException {\r
+        try {\r
+            return OBJECT_MAPPER.readValue(jsonString, ConfigResource.class);\r
+        } catch (IOException e) {\r
+            throw new JsonDecomposingException("Exception while converting json to allotted resource", e);\r
+        }\r
+    }\r
 }
\ No newline at end of file