\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