1710 Rebase - Second Attempt
[so.git] / bpmn / MSOCoreBPMN / src / main / java / org / openecomp / mso / bpmn / core / domain / JsonWrapper.java
1 package org.openecomp.mso.bpmn.core.domain;\r
2 \r
3 import java.io.IOException;\r
4 import java.io.Serializable;\r
5 import java.util.List;\r
6 \r
7 import org.json.JSONException;\r
8 import org.json.JSONObject;\r
9 \r
10 import com.fasterxml.jackson.annotation.JsonInclude;\r
11 import com.fasterxml.jackson.annotation.JsonInclude.Include;\r
12 import com.fasterxml.jackson.core.JsonGenerationException;\r
13 import com.fasterxml.jackson.databind.JsonMappingException;\r
14 import com.fasterxml.jackson.databind.ObjectMapper;\r
15 import com.fasterxml.jackson.databind.ObjectWriter;\r
16 import com.fasterxml.jackson.databind.SerializationFeature;\r
17 import com.fasterxml.jackson.databind.annotation.JsonSerialize;\r
18 \r
19 \r
20 //import org.codehaus.jackson.map.SerializationConfig.Feature;\r
21 \r
22 \r
23 /**\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
27  *\r
28  */\r
29 @JsonInclude(Include.NON_NULL)\r
30 public abstract class JsonWrapper implements Serializable  {\r
31         \r
32         @JsonInclude(Include.NON_NULL)\r
33         public String toJsonString(){\r
34                 \r
35                 String jsonString = "";\r
36                 //convert with Jackson\r
37                 ObjectMapper mapper = new ObjectMapper();\r
38                 mapper.configure(SerializationFeature.WRAP_ROOT_VALUE, true);\r
39                 \r
40                 mapper.setSerializationInclusion(Include.NON_NULL);\r
41                 \r
42                 ObjectWriter ow = mapper.writer().withDefaultPrettyPrinter();\r
43                 try {\r
44                         jsonString = ow.writeValueAsString(this);\r
45 //              } catch (JsonGenerationException e) {\r
46 //                      // TODO Auto-generated catch block\r
47 //                      e.printStackTrace();\r
48 //              } catch (JsonMappingException e) {\r
49 //                      // TODO Auto-generated catch block\r
50 //                      e.printStackTrace();\r
51 //              } catch (IOException e) {\r
52 //                      // TODO Auto-generated catch block\r
53 //                      e.printStackTrace();\r
54 //              }\r
55                 } catch (Exception e){\r
56 \r
57                         e.printStackTrace();\r
58                 }\r
59                 return jsonString;\r
60         }\r
61         \r
62         @JsonInclude(Include.NON_NULL)\r
63         public JSONObject toJsonObject(){\r
64 \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
68 \r
69         mapper.configure(SerializationFeature.WRAP_ROOT_VALUE, true);\r
70        // mapper.enable(org.codehaus.jackson.map.DeserializationConfig.Feature.UNWRAP_ROOT_VALUE);\r
71         JSONObject json = new JSONObject();\r
72          try {\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
86                 }\r
87          return json; \r
88         }\r
89         \r
90         public String listToJson(List list) {\r
91         ObjectMapper mapper = new ObjectMapper();\r
92         mapper.configure(SerializationFeature.WRAP_ROOT_VALUE, true);\r
93         \r
94                 String jsonString = "";\r
95                 try {\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
106                 }\r
107                 return jsonString;\r
108         }\r
109         \r
110         @JsonInclude(Include.NON_NULL)\r
111         public String toJsonStringNoRootName(){\r
112                 \r
113                 String jsonString = "";\r
114                 //convert with Jackson\r
115                 ObjectMapper mapper = new ObjectMapper();\r
116                 mapper.setSerializationInclusion(Include.NON_NULL);\r
117                 \r
118                 ObjectWriter ow = mapper.writer().withDefaultPrettyPrinter();\r
119                 try {\r
120                         jsonString = ow.writeValueAsString(this);\r
121                 } catch (Exception e){\r
122 \r
123                         e.printStackTrace();\r
124                 }\r
125                 return jsonString;\r
126         }\r
127         \r
128         /**\r
129          * Returns a string representation of this object.\r
130          */\r
131         public String toString() {\r
132                 return this.toJsonString();\r
133         }\r
134 }\r