<dependency>\r
<groupId>org.onap.msb.java-sdk</groupId>\r
<artifactId>msb-java-sdk</artifactId>\r
+ <!--<exclusions>-->\r
+ <!--<exclusion>-->\r
+ <!--<groupId>com.eclipsesource.jaxrs</groupId>-->\r
+ <!--<artifactId>jersey-all</artifactId>-->\r
+ <!--</exclusion>-->\r
+ <!--</exclusions>-->\r
</dependency>\r
<dependency>\r
<groupId>org.apache.geronimo.specs</groupId>\r
<dependency>\r
<groupId>io.dropwizard</groupId>\r
<artifactId>dropwizard-core</artifactId>\r
+ <exclusions>\r
+ <exclusion>\r
+ <groupId>com.fasterxml.jackson.core</groupId>\r
+ <artifactId>jackson-core</artifactId>\r
+ </exclusion>\r
+ <exclusion>\r
+ <groupId>com.fasterxml.jackson.core</groupId>\r
+ <artifactId>jackson-databind</artifactId>\r
+ </exclusion>\r
+ <exclusion>\r
+ <groupId>com.fasterxml.jackson.dataformat</groupId>\r
+ <artifactId>jackson-dataformat-yaml</artifactId>\r
+ </exclusion>\r
+ </exclusions>\r
</dependency>\r
<dependency>\r
<groupId>io.swagger</groupId>\r
*/\r
package org.onap.holmes.common.api.entity;\r
\r
-import com.fasterxml.jackson.annotation.JsonProperty;\r
+import com.google.gson.annotations.SerializedName;\r
import java.util.Date;\r
import lombok.Data;\r
import lombok.NoArgsConstructor;\r
@NoArgsConstructor\r
public class AlarmsCorrelation {\r
\r
- @JsonProperty(value = "ruleid")\r
+ @SerializedName(value = "ruleid")\r
private String ruleId;\r
\r
- @JsonProperty(value = "ruleinfo")\r
+ @SerializedName(value = "ruleinfo")\r
private String ruleInfo;\r
\r
- @JsonProperty(value = "resulttype")\r
+ @SerializedName(value = "resulttype")\r
private byte resultType;\r
\r
- @JsonProperty(value = "createtime")\r
+ @SerializedName(value = "createtime")\r
private Date createTime;\r
\r
- @JsonProperty(value = "parentalarmid")\r
+ @SerializedName(value = "parentalarmid")\r
private long parentAlarmId;\r
\r
- @JsonProperty(value = "childalarmid")\r
+ @SerializedName(value = "childalarmid")\r
private long childAlarmId;\r
\r
- @JsonProperty(defaultValue = "-1")\r
private long reserve1 = -1;\r
\r
- @JsonProperty(defaultValue = "-1")\r
private long reserve2 = -1;\r
\r
- @JsonProperty(defaultValue = "-1")\r
private long reserve3 = -1;\r
}\r
*/\r
package org.onap.holmes.common.api.entity;\r
\r
-import com.fasterxml.jackson.annotation.JsonProperty;\r
import java.io.Serializable;\r
-import org.onap.holmes.common.api.stat.Alarm;\r
-\r
import lombok.Getter;\r
import lombok.NoArgsConstructor;\r
import lombok.Setter;\r
import lombok.ToString;\r
+import org.onap.holmes.common.api.stat.Alarm;\r
\r
@Setter\r
@Getter\r
@ToString\r
public class CorrelationResult implements Serializable{\r
\r
- @JsonProperty\r
private String ruleId;\r
\r
- @JsonProperty\r
private long createTimeL;\r
\r
- @JsonProperty\r
private byte resultType;\r
\r
- @JsonProperty\r
private Alarm[] affectedAlarms;\r
}\r
*/\r
package org.onap.holmes.common.api.entity;\r
\r
-import com.fasterxml.jackson.annotation.JsonProperty;\r
+import com.google.gson.annotations.SerializedName;\r
import java.util.Date;\r
import java.util.Properties;\r
import lombok.Getter;\r
@Setter\r
public class CorrelationRule {\r
\r
- @JsonProperty(value = "ruleid")\r
+ @SerializedName(value = "ruleid")\r
private String rid;\r
- @JsonProperty(value = "rulename")\r
+ @SerializedName(value = "rulename")\r
private String name;\r
- @JsonProperty\r
+\r
private String description;\r
- @JsonProperty\r
+\r
private int enabled;\r
- @JsonProperty\r
+\r
private long templateID;\r
+\r
private String engineID;\r
- @JsonProperty\r
+\r
private String engineType;\r
- @JsonProperty\r
+\r
private String creator;\r
- @JsonProperty\r
+\r
private String modifier;\r
- @JsonProperty\r
+\r
private Properties params;\r
- @JsonProperty\r
+\r
private String content;\r
- @JsonProperty\r
+\r
private String vendor;\r
- @JsonProperty(value = "createtime")\r
+ @SerializedName(value = "createtime")\r
private Date createTime;\r
- @JsonProperty(value = "updatetime")\r
+ @SerializedName(value = "updatetime")\r
private Date updateTime;\r
- @JsonProperty(value = "package")\r
+ @SerializedName(value = "package")\r
private String packageName;\r
- @JsonProperty(value = "controlloopname")\r
+ @SerializedName(value = "controlloopname")\r
private String closedControlLoopName;\r
}\r
\r
package org.onap.holmes.common.api.entity;\r
\r
-import com.fasterxml.jackson.annotation.JsonIgnoreProperties;\r
import lombok.AllArgsConstructor;\r
import lombok.Data;\r
import lombok.Getter;\r
@Data\r
@NoArgsConstructor\r
@AllArgsConstructor\r
-@JsonIgnoreProperties(ignoreUnknown = true)\r
@Getter\r
@Setter\r
public class ServiceNode {\r
\r
package org.onap.holmes.common.api.entity;\r
\r
-import com.fasterxml.jackson.annotation.JsonIgnoreProperties;\r
import java.util.ArrayList;\r
import java.util.List;\r
import lombok.AllArgsConstructor;\r
@Data\r
@NoArgsConstructor\r
@AllArgsConstructor\r
-@JsonIgnoreProperties(ignoreUnknown = true)\r
@Setter\r
@Getter\r
public class ServiceRegisterEntity {\r
*/
package org.onap.holmes.common.dmaap;
-import com.fasterxml.jackson.core.JsonProcessingException;
import java.util.Optional;
import java.util.UUID;
import java.util.concurrent.ConcurrentHashMap;
import org.onap.holmes.common.dmaap.entity.PolicyMsg;
import org.onap.holmes.common.dmaap.entity.PolicyMsg.EVENT_STATUS;
import org.onap.holmes.common.exception.CorrelationException;
-import org.onap.holmes.common.utils.JacksonUtil;
+import org.onap.holmes.common.utils.GsonUtil;
@Slf4j
@Service
publisher.setUrl(DcaeConfigurationsCache.getPubSecInfo(dmaapConfigKey).getDmaapInfo()
.getTopicUrl());
publisher.publish(policyMsg);
- log.info("send policyMsg: " + JacksonUtil.beanToJson(policyMsg));
+ log.info("send policyMsg: " + GsonUtil.beanToJson(policyMsg));
} catch (CorrelationException e) {
log.error("Failed to publish the control loop event to DMaaP", e);
- } catch (JsonProcessingException e) {
- log.info("Failed to convert the control loop event to json");
} catch (NullPointerException e) {
log.error("DMaaP configurations do not exist!");
}
package org.onap.holmes.common.utils;
import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
+import com.google.gson.JsonDeserializationContext;
+import com.google.gson.JsonDeserializer;
+import com.google.gson.JsonElement;
+import com.google.gson.JsonParseException;
import com.google.gson.reflect.TypeToken;
+import java.lang.reflect.Type;
import java.util.List;
import java.util.Map;
public class GsonUtil {
private static Gson gson = null;
static {
- if (gson == null) {;
- gson = new Gson();
+ if (gson == null) {
+ gson = new GsonBuilder()
+ .registerTypeAdapter(Integer.class, new JsonDeserializer<Integer>() {
+ @Override
+ public Integer deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException {
+ try {
+ return json.getAsInt();
+ } catch (NumberFormatException e) {
+ return 0;
+ }
+ }
+ })
+ .create();
}
}
private GsonUtil() {
}
+
+
public static String beanToJson(Object object) {
String gsonString = null;
if (gson != null) {
package org.onap.holmes.common.utils;
-import com.fasterxml.jackson.core.JsonProcessingException;
import com.google.common.hash.HashCode;
import com.google.common.hash.HashFunction;
import com.google.common.hash.Hashing;
import java.nio.charset.Charset;
-import net.sf.json.JSONObject;
public class Md5Util {
return hash.toString();
}
- public static String md5(Object data) throws JsonProcessingException {
- String actualData = data == null ? "{}" : JacksonUtil.beanToJson(data);
+ public static String md5(Object data) {
+ String actualData = data == null ? "{}" : GsonUtil.beanToJson(data);
return md5(actualData);
}
}
import static org.hamcrest.core.IsEqual.equalTo;\r
import static org.junit.Assert.assertThat;\r
\r
+import com.google.gson.Gson;\r
+import com.google.gson.GsonBuilder;\r
+import com.google.gson.JsonDeserializationContext;\r
+import com.google.gson.JsonDeserializer;\r
+import com.google.gson.JsonElement;\r
+import com.google.gson.JsonParseException;\r
+import com.google.gson.JsonSerializationContext;\r
+import com.google.gson.JsonSerializer;\r
+import java.lang.reflect.Type;\r
import org.junit.Test;\r
import org.onap.holmes.common.utils.bean.TestBean;\r
\r
public void testBeanToJson() throws Exception {\r
TestBean o = new TestBean();\r
o.setId("id");\r
- String result = JacksonUtil.beanToJson(o);\r
+ String result = GsonUtil.beanToJson(o);\r
assertThat("{\"id\":\"id\"}", equalTo(result));\r
}\r
\r
@Test\r
public void jsonToBean_json_null() throws Exception {\r
String jsonNull = null;\r
- TestBean testBean = JacksonUtil.jsonToBean(jsonNull, TestBean.class);\r
- assertThat(testBean.getId(), equalTo(null));\r
+ TestBean testBean = GsonUtil.jsonToBean(jsonNull, TestBean.class);\r
+ assertThat(testBean, equalTo(null));\r
}\r
\r
@Test\r
public void jsonToBean_json_normal() throws Exception {\r
String json = "{\"id\":\"id\"}";\r
- TestBean testBean = JacksonUtil.jsonToBean(json, TestBean.class);\r
+ TestBean testBean = GsonUtil.jsonToBean(json, TestBean.class);\r
assertThat(testBean.getId(), equalTo("id"));\r
}\r
+\r
}
\ No newline at end of file
import org.onap.holmes.common.dcae.entity.SecurityInfo;
public class Md5UtilTest {
+
@Test
- public void testMd5NormalDiff(){
+ public void testMd5NormalDiff() {
String contents1 = "contents1";
String contents2 = "contents2";
}
@Test
- public void testMd5NormalSame(){
+ public void testMd5NormalSame() {
String contents1 = "contents";
String contents2 = "contents";
}
@Test
- public void testMd5Null(){
+ public void testMd5Null() {
String contents1 = null;
String contents2 = null;
}
@Test
- public void testMd5ObjDiff(){
+ public void testMd5ObjDiff() {
DcaeConfigurations config1 = new DcaeConfigurations();
DcaeConfigurations config2 = new DcaeConfigurations();
config1.addPubSecInfo("config1", new SecurityInfo());
config2.addPubSecInfo("config2", new SecurityInfo());
+ assertThat(Md5Util.md5(config1), not(equalTo(Md5Util.md5(config2))));
- try {
- assertThat(Md5Util.md5(config1), not(equalTo(Md5Util.md5(config2))));
- } catch (JsonProcessingException e) {
- e.printStackTrace();
- }
}
@Test
- public void testMd5ObjSame(){
+ public void testMd5ObjSame() {
DcaeConfigurations config1 = new DcaeConfigurations();
DcaeConfigurations config2 = new DcaeConfigurations();
config1.addPubSecInfo("config", new SecurityInfo());
config2.addPubSecInfo("config", new SecurityInfo());
- try {
- assertThat(Md5Util.md5(config1), equalTo(Md5Util.md5(config2)));
- } catch (JsonProcessingException e) {
- e.printStackTrace();
- }
+ assertThat(Md5Util.md5(config1), equalTo(Md5Util.md5(config2)));
+
}
}
\ No newline at end of file