1 package org.openecomp.mso.bpmn.core.decomposition;
\r
3 import java.io.IOException;
\r
4 import java.util.List;
\r
6 import org.codehaus.jackson.JsonGenerationException;
\r
7 import org.codehaus.jackson.JsonParseException;
\r
8 import org.codehaus.jackson.map.JsonMappingException;
\r
9 import org.codehaus.jackson.map.ObjectMapper;
\r
10 import org.codehaus.jackson.map.ObjectWriter;
\r
11 import org.json.JSONException;
\r
12 import org.json.JSONObject;
\r
14 import com.fasterxml.jackson.annotation.JsonInclude;
\r
15 import com.fasterxml.jackson.annotation.JsonInclude.Include;
\r
16 import com.fasterxml.jackson.databind.DeserializationFeature;
\r
19 //import org.codehaus.jackson.map.SerializationConfig.Feature;
\r
20 import org.codehaus.jackson.map.DeserializationConfig.Feature;
\r
21 import org.codehaus.jackson.map.annotate.JsonSerialize;
\r
24 * Wrapper encapsulates needed JSON functionality
\r
25 * to be extended by MSO service decomposition objects
\r
26 * providing ways to convert to and from JSON
\r
31 @JsonInclude(Include.NON_NULL)
\r
32 public abstract class JsonWrapper {
\r
34 @JsonInclude(Include.NON_NULL)
\r
35 public String toJsonString(){
\r
39 String jsonString = "";
\r
40 //convert with Jackson
\r
41 ObjectMapper mapper = new ObjectMapper();
\r
42 mapper.enable(org.codehaus.jackson.map.SerializationConfig.Feature.WRAP_ROOT_VALUE);
\r
44 mapper.setSerializationInclusion(JsonSerialize.Inclusion.NON_NULL);
\r
46 ObjectWriter ow = mapper.writer().withDefaultPrettyPrinter();
\r
48 jsonString = ow.writeValueAsString(this);
\r
49 } catch (JsonGenerationException e) {
\r
50 // TODO Auto-generated catch block
\r
51 e.printStackTrace();
\r
52 } catch (JsonMappingException e) {
\r
53 // TODO Auto-generated catch block
\r
54 e.printStackTrace();
\r
55 } catch (IOException e) {
\r
56 // TODO Auto-generated catch block
\r
57 e.printStackTrace();
\r
62 @JsonInclude(Include.NON_NULL)
\r
63 public JSONObject toJsonObject(){
\r
65 ObjectMapper mapper = new ObjectMapper();
\r
66 // mapper.configure(SerializationConfig.Feature.WRAP_ROOT_VALUE, true);
\r
67 //mapper.enable(SerializationFeature.WRAP_ROOT_VALUE);
\r
69 mapper.enable(org.codehaus.jackson.map.SerializationConfig.Feature.WRAP_ROOT_VALUE);
\r
70 // mapper.enable(org.codehaus.jackson.map.DeserializationConfig.Feature.UNWRAP_ROOT_VALUE);
\r
71 JSONObject json = new JSONObject();
\r
73 json = new JSONObject(mapper.writeValueAsString(this));
\r
74 } catch (JsonGenerationException e) {
\r
75 // TODO Auto-generated catch block
\r
76 e.printStackTrace();
\r
77 } catch (JsonMappingException e) {
\r
78 // TODO Auto-generated catch block
\r
79 e.printStackTrace();
\r
80 } catch (JSONException e) {
\r
81 // TODO Auto-generated catch block
\r
82 e.printStackTrace();
\r
83 } catch (IOException e) {
\r
84 // TODO Auto-generated catch block
\r
85 e.printStackTrace();
\r
90 public String listToJson(List list) {
\r
91 ObjectMapper mapper = new ObjectMapper();
\r
92 mapper.enable(org.codehaus.jackson.map.SerializationConfig.Feature.WRAP_ROOT_VALUE);
\r
94 String jsonString = "";
\r
96 jsonString = mapper.writeValueAsString(list);
\r
97 } catch (JsonGenerationException e) {
\r
98 // TODO Auto-generated catch block
\r
99 e.printStackTrace();
\r
100 } catch (JsonMappingException e) {
\r
101 // TODO Auto-generated catch block
\r
102 e.printStackTrace();
\r
103 } catch (IOException e) {
\r
104 // TODO Auto-generated catch block
\r
105 e.printStackTrace();
\r
112 * Method to construct Service Decomposition object converting
\r
115 * @param jsonString - input in JSON format confirming ServiceDecomposition
\r
116 * @return - ServiceDecomposition object
\r
118 public ServiceDecomposition JsonToServiceDecomposition(String jsonString) {
\r
120 ServiceDecomposition serviceDecomposition = new ServiceDecomposition();
\r
121 ObjectMapper om = new ObjectMapper();
\r
122 om.configure(Feature.UNWRAP_ROOT_VALUE, true);
\r
125 serviceDecomposition = om.readValue(jsonString, ServiceDecomposition.class);
\r
126 } catch (JsonParseException e) {
\r
127 // TODO Auto-generated catch block
\r
128 e.printStackTrace();
\r
129 } catch (JsonMappingException e) {
\r
130 // TODO Auto-generated catch block
\r
131 e.printStackTrace();
\r
132 } catch (IOException e) {
\r
133 // TODO Auto-generated catch block
\r
134 e.printStackTrace();
\r
137 return serviceDecomposition;
\r