summaryrefslogtreecommitdiffstats
path: root/dcae-analytics/dcae-analytics-tca-model/src/main/java/org/onap/dcae/analytics/tca/model/util/json
diff options
context:
space:
mode:
Diffstat (limited to 'dcae-analytics/dcae-analytics-tca-model/src/main/java/org/onap/dcae/analytics/tca/model/util/json')
-rw-r--r--dcae-analytics/dcae-analytics-tca-model/src/main/java/org/onap/dcae/analytics/tca/model/util/json/TcaModelJsonConversion.java60
-rw-r--r--dcae-analytics/dcae-analytics-tca-model/src/main/java/org/onap/dcae/analytics/tca/model/util/json/TcaObjectMapperSupplier.java38
-rw-r--r--dcae-analytics/dcae-analytics-tca-model/src/main/java/org/onap/dcae/analytics/tca/model/util/json/mixin/facade/AaiMixin.java54
-rw-r--r--dcae-analytics/dcae-analytics-tca-model/src/main/java/org/onap/dcae/analytics/tca/model/util/json/mixin/facade/TcaAlertMixin.java40
-rw-r--r--dcae-analytics/dcae-analytics-tca-model/src/main/java/org/onap/dcae/analytics/tca/model/util/json/mixin/policy/BaseTcaPolicyModelMixin.java29
-rw-r--r--dcae-analytics/dcae-analytics-tca-model/src/main/java/org/onap/dcae/analytics/tca/model/util/json/mixin/policy/ClosedLoopEventStatusMixin.java29
-rw-r--r--dcae-analytics/dcae-analytics-tca-model/src/main/java/org/onap/dcae/analytics/tca/model/util/json/mixin/policy/ControlLoopSchemaTypeMixin.java28
-rw-r--r--dcae-analytics/dcae-analytics-tca-model/src/main/java/org/onap/dcae/analytics/tca/model/util/json/mixin/policy/DirectionMixin.java28
-rw-r--r--dcae-analytics/dcae-analytics-tca-model/src/main/java/org/onap/dcae/analytics/tca/model/util/json/mixin/policy/MetricsPerEventNameMixin.java26
-rw-r--r--dcae-analytics/dcae-analytics-tca-model/src/main/java/org/onap/dcae/analytics/tca/model/util/json/mixin/policy/TcaPolicyMixin.java27
-rw-r--r--dcae-analytics/dcae-analytics-tca-model/src/main/java/org/onap/dcae/analytics/tca/model/util/json/mixin/policy/ThresholdMixin.java44
-rw-r--r--dcae-analytics/dcae-analytics-tca-model/src/main/java/org/onap/dcae/analytics/tca/model/util/json/module/TcaFacadeModelModule.java43
-rw-r--r--dcae-analytics/dcae-analytics-tca-model/src/main/java/org/onap/dcae/analytics/tca/model/util/json/module/TcaPolicyModule.java59
13 files changed, 505 insertions, 0 deletions
diff --git a/dcae-analytics/dcae-analytics-tca-model/src/main/java/org/onap/dcae/analytics/tca/model/util/json/TcaModelJsonConversion.java b/dcae-analytics/dcae-analytics-tca-model/src/main/java/org/onap/dcae/analytics/tca/model/util/json/TcaModelJsonConversion.java
new file mode 100644
index 0000000..aaec970
--- /dev/null
+++ b/dcae-analytics/dcae-analytics-tca-model/src/main/java/org/onap/dcae/analytics/tca/model/util/json/TcaModelJsonConversion.java
@@ -0,0 +1,60 @@
+/*
+ * ================================================================================
+ * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ *
+ */
+
+package org.onap.dcae.analytics.tca.model.util.json;
+
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import java.util.Optional;
+import java.util.function.Function;
+
+import org.onap.dcae.analytics.model.util.function.JsonToJavaObjectBiFunction;
+import org.onap.dcae.analytics.tca.model.facade.TcaAlert;
+import org.onap.dcae.analytics.tca.model.policy.TcaPolicy;
+
+/**
+ * @author Rajiv Singla
+ */
+public abstract class TcaModelJsonConversion {
+
+
+ public static final ObjectMapper TCA_OBJECT_MAPPER = new TcaObjectMapperSupplier().get();
+
+ // Type reference to convert tca policy string to tca policy object
+ private static final TypeReference<TcaPolicy> TCA_POLICY_TYPE_REF = new TypeReference<TcaPolicy>() {
+ };
+
+ // Type reference to convert tca alert string to tca alert
+ private static final TypeReference<TcaAlert> TCA_ALERT_TYPE_REF = new TypeReference<TcaAlert>() {
+ };
+
+ // Tca Policy JSON conversion function
+ public static final Function<String, Optional<TcaPolicy>> TCA_POLICY_JSON_FUNCTION = new
+ JsonToJavaObjectBiFunction<TcaPolicy>(TCA_OBJECT_MAPPER).curry(TCA_POLICY_TYPE_REF);
+
+ // Tca Alert JSON conversion function
+ public static final Function<String, Optional<TcaAlert>> TCA_ALERT_JSON_FUNCTION = new
+ JsonToJavaObjectBiFunction<TcaAlert>(TCA_OBJECT_MAPPER).curry(TCA_ALERT_TYPE_REF);
+
+ private TcaModelJsonConversion() {
+ // private constructor
+ }
+
+}
diff --git a/dcae-analytics/dcae-analytics-tca-model/src/main/java/org/onap/dcae/analytics/tca/model/util/json/TcaObjectMapperSupplier.java b/dcae-analytics/dcae-analytics-tca-model/src/main/java/org/onap/dcae/analytics/tca/model/util/json/TcaObjectMapperSupplier.java
new file mode 100644
index 0000000..f17819e
--- /dev/null
+++ b/dcae-analytics/dcae-analytics-tca-model/src/main/java/org/onap/dcae/analytics/tca/model/util/json/TcaObjectMapperSupplier.java
@@ -0,0 +1,38 @@
+/*
+ * ================================================================================
+ * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ *
+ */
+
+package org.onap.dcae.analytics.tca.model.util.json;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import org.onap.dcae.analytics.model.util.json.BaseObjectMapperSupplier;
+import org.onap.dcae.analytics.tca.model.util.json.module.TcaFacadeModelModule;
+import org.onap.dcae.analytics.tca.model.util.json.module.TcaPolicyModule;
+
+/**
+ * @author Rajiv Singla
+ */
+public class TcaObjectMapperSupplier extends BaseObjectMapperSupplier {
+
+ @Override
+ public void registerCustomModules(final ObjectMapper objectMapper) {
+ objectMapper.registerModule(new TcaFacadeModelModule());
+ objectMapper.registerModule(new TcaPolicyModule());
+ }
+}
diff --git a/dcae-analytics/dcae-analytics-tca-model/src/main/java/org/onap/dcae/analytics/tca/model/util/json/mixin/facade/AaiMixin.java b/dcae-analytics/dcae-analytics-tca-model/src/main/java/org/onap/dcae/analytics/tca/model/util/json/mixin/facade/AaiMixin.java
new file mode 100644
index 0000000..5eed3c0
--- /dev/null
+++ b/dcae-analytics/dcae-analytics-tca-model/src/main/java/org/onap/dcae/analytics/tca/model/util/json/mixin/facade/AaiMixin.java
@@ -0,0 +1,54 @@
+/*
+ * ================================================================================
+ * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ *
+ */
+
+package org.onap.dcae.analytics.tca.model.util.json.mixin.facade;
+
+import com.fasterxml.jackson.annotation.JsonGetter;
+import com.fasterxml.jackson.annotation.JsonSetter;
+
+import org.onap.dcae.analytics.model.util.json.mixin.common.BaseDynamicPropertiesProviderMixin;
+
+/**
+ * @author Rajiv Singla
+ */
+public abstract class AaiMixin extends BaseDynamicPropertiesProviderMixin {
+
+ private String genericVNFName;
+ private String genericServerName;
+
+ @JsonGetter("generic-vnf.vnf-name")
+ public String getGenericVNFName() {
+ return genericVNFName;
+ }
+
+ @JsonSetter("generic-vnf.vnf-name")
+ public void setGenericVNFName(String genericVNFName) {
+ this.genericVNFName = genericVNFName;
+ }
+
+ @JsonGetter("vserver.vserver-name")
+ public String getGenericServerName() {
+ return genericServerName;
+ }
+
+ @JsonSetter("vserver.vserver-name")
+ public void setGenericServerName(String genericServerName) {
+ this.genericServerName = genericServerName;
+ }
+}
diff --git a/dcae-analytics/dcae-analytics-tca-model/src/main/java/org/onap/dcae/analytics/tca/model/util/json/mixin/facade/TcaAlertMixin.java b/dcae-analytics/dcae-analytics-tca-model/src/main/java/org/onap/dcae/analytics/tca/model/util/json/mixin/facade/TcaAlertMixin.java
new file mode 100644
index 0000000..6841e02
--- /dev/null
+++ b/dcae-analytics/dcae-analytics-tca-model/src/main/java/org/onap/dcae/analytics/tca/model/util/json/mixin/facade/TcaAlertMixin.java
@@ -0,0 +1,40 @@
+/*
+ * ================================================================================
+ * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ *
+ */
+
+package org.onap.dcae.analytics.tca.model.util.json.mixin.facade;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+import org.onap.dcae.analytics.model.util.json.mixin.JsonMixin;
+import org.onap.dcae.analytics.tca.model.facade.Aai;
+
+
+/**
+ * @author Rajiv Singla
+ */
+public abstract class TcaAlertMixin implements JsonMixin {
+
+ @JsonProperty("target_type")
+ private String targetType;
+ @JsonProperty("AAI")
+ private Aai aai;
+ @JsonProperty("requestID")
+ private String requestId;
+
+}
diff --git a/dcae-analytics/dcae-analytics-tca-model/src/main/java/org/onap/dcae/analytics/tca/model/util/json/mixin/policy/BaseTcaPolicyModelMixin.java b/dcae-analytics/dcae-analytics-tca-model/src/main/java/org/onap/dcae/analytics/tca/model/util/json/mixin/policy/BaseTcaPolicyModelMixin.java
new file mode 100644
index 0000000..8ab1180
--- /dev/null
+++ b/dcae-analytics/dcae-analytics-tca-model/src/main/java/org/onap/dcae/analytics/tca/model/util/json/mixin/policy/BaseTcaPolicyModelMixin.java
@@ -0,0 +1,29 @@
+/*
+ * ================================================================================
+ * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ *
+ */
+
+package org.onap.dcae.analytics.tca.model.util.json.mixin.policy;
+
+
+import org.onap.dcae.analytics.model.util.json.mixin.common.BaseDynamicPropertiesProviderMixin;
+
+/**
+ * @author Rajiv Singla
+ */
+public abstract class BaseTcaPolicyModelMixin extends BaseDynamicPropertiesProviderMixin {
+}
diff --git a/dcae-analytics/dcae-analytics-tca-model/src/main/java/org/onap/dcae/analytics/tca/model/util/json/mixin/policy/ClosedLoopEventStatusMixin.java b/dcae-analytics/dcae-analytics-tca-model/src/main/java/org/onap/dcae/analytics/tca/model/util/json/mixin/policy/ClosedLoopEventStatusMixin.java
new file mode 100644
index 0000000..3eb2ffa
--- /dev/null
+++ b/dcae-analytics/dcae-analytics-tca-model/src/main/java/org/onap/dcae/analytics/tca/model/util/json/mixin/policy/ClosedLoopEventStatusMixin.java
@@ -0,0 +1,29 @@
+/*
+ * ================================================================================
+ * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ *
+ */
+
+package org.onap.dcae.analytics.tca.model.util.json.mixin.policy;
+
+
+import org.onap.dcae.analytics.model.util.json.mixin.JsonMixin;
+
+/**
+ * @author Rajiv Singla
+ */
+public abstract class ClosedLoopEventStatusMixin implements JsonMixin {
+}
diff --git a/dcae-analytics/dcae-analytics-tca-model/src/main/java/org/onap/dcae/analytics/tca/model/util/json/mixin/policy/ControlLoopSchemaTypeMixin.java b/dcae-analytics/dcae-analytics-tca-model/src/main/java/org/onap/dcae/analytics/tca/model/util/json/mixin/policy/ControlLoopSchemaTypeMixin.java
new file mode 100644
index 0000000..895629f
--- /dev/null
+++ b/dcae-analytics/dcae-analytics-tca-model/src/main/java/org/onap/dcae/analytics/tca/model/util/json/mixin/policy/ControlLoopSchemaTypeMixin.java
@@ -0,0 +1,28 @@
+/*
+ * ================================================================================
+ * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ *
+ */
+
+package org.onap.dcae.analytics.tca.model.util.json.mixin.policy;
+
+import org.onap.dcae.analytics.model.util.json.mixin.JsonMixin;
+
+/**
+ * @author Rajiv Singla
+ */
+public abstract class ControlLoopSchemaTypeMixin implements JsonMixin {
+}
diff --git a/dcae-analytics/dcae-analytics-tca-model/src/main/java/org/onap/dcae/analytics/tca/model/util/json/mixin/policy/DirectionMixin.java b/dcae-analytics/dcae-analytics-tca-model/src/main/java/org/onap/dcae/analytics/tca/model/util/json/mixin/policy/DirectionMixin.java
new file mode 100644
index 0000000..34891ea
--- /dev/null
+++ b/dcae-analytics/dcae-analytics-tca-model/src/main/java/org/onap/dcae/analytics/tca/model/util/json/mixin/policy/DirectionMixin.java
@@ -0,0 +1,28 @@
+/*
+ * ================================================================================
+ * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ *
+ */
+
+package org.onap.dcae.analytics.tca.model.util.json.mixin.policy;
+
+import org.onap.dcae.analytics.model.util.json.mixin.JsonMixin;
+
+/**
+ * @author Rajiv Singla
+ */
+public abstract class DirectionMixin implements JsonMixin {
+}
diff --git a/dcae-analytics/dcae-analytics-tca-model/src/main/java/org/onap/dcae/analytics/tca/model/util/json/mixin/policy/MetricsPerEventNameMixin.java b/dcae-analytics/dcae-analytics-tca-model/src/main/java/org/onap/dcae/analytics/tca/model/util/json/mixin/policy/MetricsPerEventNameMixin.java
new file mode 100644
index 0000000..5a41bfe
--- /dev/null
+++ b/dcae-analytics/dcae-analytics-tca-model/src/main/java/org/onap/dcae/analytics/tca/model/util/json/mixin/policy/MetricsPerEventNameMixin.java
@@ -0,0 +1,26 @@
+/*
+ * ================================================================================
+ * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ *
+ */
+
+package org.onap.dcae.analytics.tca.model.util.json.mixin.policy;
+
+/**
+ * @author Rajiv Singla
+ */
+public abstract class MetricsPerEventNameMixin extends BaseTcaPolicyModelMixin {
+}
diff --git a/dcae-analytics/dcae-analytics-tca-model/src/main/java/org/onap/dcae/analytics/tca/model/util/json/mixin/policy/TcaPolicyMixin.java b/dcae-analytics/dcae-analytics-tca-model/src/main/java/org/onap/dcae/analytics/tca/model/util/json/mixin/policy/TcaPolicyMixin.java
new file mode 100644
index 0000000..aa0561e
--- /dev/null
+++ b/dcae-analytics/dcae-analytics-tca-model/src/main/java/org/onap/dcae/analytics/tca/model/util/json/mixin/policy/TcaPolicyMixin.java
@@ -0,0 +1,27 @@
+/*
+ * ================================================================================
+ * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ *
+ */
+
+package org.onap.dcae.analytics.tca.model.util.json.mixin.policy;
+
+/**
+ * @author Rajiv Singla
+ */
+public abstract class TcaPolicyMixin extends BaseTcaPolicyModelMixin {
+
+}
diff --git a/dcae-analytics/dcae-analytics-tca-model/src/main/java/org/onap/dcae/analytics/tca/model/util/json/mixin/policy/ThresholdMixin.java b/dcae-analytics/dcae-analytics-tca-model/src/main/java/org/onap/dcae/analytics/tca/model/util/json/mixin/policy/ThresholdMixin.java
new file mode 100644
index 0000000..f0cab59
--- /dev/null
+++ b/dcae-analytics/dcae-analytics-tca-model/src/main/java/org/onap/dcae/analytics/tca/model/util/json/mixin/policy/ThresholdMixin.java
@@ -0,0 +1,44 @@
+/*
+ * ================================================================================
+ * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ *
+ */
+
+package org.onap.dcae.analytics.tca.model.util.json.mixin.policy;
+
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+import java.math.BigDecimal;
+
+/**
+ * @author Rajiv Singla
+ */
+public abstract class ThresholdMixin extends BaseTcaPolicyModelMixin {
+
+ @JsonIgnore
+ private BigDecimal actualFieldValue;
+
+ @JsonIgnore
+ public BigDecimal getActualFieldValue() {
+ return actualFieldValue;
+ }
+
+ @JsonProperty
+ public void setActualFieldValue(BigDecimal actualFieldValue) {
+ this.actualFieldValue = actualFieldValue;
+ }
+}
diff --git a/dcae-analytics/dcae-analytics-tca-model/src/main/java/org/onap/dcae/analytics/tca/model/util/json/module/TcaFacadeModelModule.java b/dcae-analytics/dcae-analytics-tca-model/src/main/java/org/onap/dcae/analytics/tca/model/util/json/module/TcaFacadeModelModule.java
new file mode 100644
index 0000000..7da75ce
--- /dev/null
+++ b/dcae-analytics/dcae-analytics-tca-model/src/main/java/org/onap/dcae/analytics/tca/model/util/json/module/TcaFacadeModelModule.java
@@ -0,0 +1,43 @@
+/*
+ * ================================================================================
+ * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ *
+ */
+
+package org.onap.dcae.analytics.tca.model.util.json.module;
+
+import com.fasterxml.jackson.databind.module.SimpleModule;
+
+import org.onap.dcae.analytics.tca.model.facade.Aai;
+import org.onap.dcae.analytics.tca.model.facade.TcaAlert;
+import org.onap.dcae.analytics.tca.model.util.json.mixin.facade.AaiMixin;
+import org.onap.dcae.analytics.tca.model.util.json.mixin.facade.TcaAlertMixin;
+
+
+/**
+ * @author Rajiv Singla
+ */
+public class TcaFacadeModelModule extends SimpleModule {
+
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public void setupModule(final SetupContext setupContext) {
+ setupContext.setMixInAnnotations(TcaAlert.class, TcaAlertMixin.class);
+ setupContext.setMixInAnnotations(Aai.class, AaiMixin.class);
+ }
+
+}
diff --git a/dcae-analytics/dcae-analytics-tca-model/src/main/java/org/onap/dcae/analytics/tca/model/util/json/module/TcaPolicyModule.java b/dcae-analytics/dcae-analytics-tca-model/src/main/java/org/onap/dcae/analytics/tca/model/util/json/module/TcaPolicyModule.java
new file mode 100644
index 0000000..33af18b
--- /dev/null
+++ b/dcae-analytics/dcae-analytics-tca-model/src/main/java/org/onap/dcae/analytics/tca/model/util/json/module/TcaPolicyModule.java
@@ -0,0 +1,59 @@
+/*
+ * ================================================================================
+ * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ *
+ */
+
+package org.onap.dcae.analytics.tca.model.util.json.module;
+
+import com.fasterxml.jackson.databind.module.SimpleModule;
+
+import org.onap.dcae.analytics.tca.model.policy.BaseTcaPolicyModel;
+import org.onap.dcae.analytics.tca.model.policy.ClosedLoopEventStatus;
+import org.onap.dcae.analytics.tca.model.policy.ControlLoopSchemaType;
+import org.onap.dcae.analytics.tca.model.policy.Direction;
+import org.onap.dcae.analytics.tca.model.policy.MetricsPerEventName;
+import org.onap.dcae.analytics.tca.model.policy.TcaPolicy;
+import org.onap.dcae.analytics.tca.model.policy.Threshold;
+import org.onap.dcae.analytics.tca.model.util.json.mixin.policy.BaseTcaPolicyModelMixin;
+import org.onap.dcae.analytics.tca.model.util.json.mixin.policy.ClosedLoopEventStatusMixin;
+import org.onap.dcae.analytics.tca.model.util.json.mixin.policy.ControlLoopSchemaTypeMixin;
+import org.onap.dcae.analytics.tca.model.util.json.mixin.policy.DirectionMixin;
+import org.onap.dcae.analytics.tca.model.util.json.mixin.policy.MetricsPerEventNameMixin;
+import org.onap.dcae.analytics.tca.model.util.json.mixin.policy.TcaPolicyMixin;
+import org.onap.dcae.analytics.tca.model.util.json.mixin.policy.ThresholdMixin;
+
+
+/**
+ * @author Rajiv Singla
+ */
+public class TcaPolicyModule extends SimpleModule {
+
+ private static final long serialVersionUID = 1L;
+
+
+ @Override
+ public void setupModule(final SetupContext setupContext) {
+ setupContext.setMixInAnnotations(BaseTcaPolicyModel.class, BaseTcaPolicyModelMixin.class);
+ setupContext.setMixInAnnotations(TcaPolicy.class, TcaPolicyMixin.class);
+ setupContext.setMixInAnnotations(ControlLoopSchemaType.class, ControlLoopSchemaTypeMixin.class);
+ setupContext.setMixInAnnotations(ClosedLoopEventStatus.class, ClosedLoopEventStatusMixin.class);
+ setupContext.setMixInAnnotations(MetricsPerEventName.class, MetricsPerEventNameMixin.class);
+ setupContext.setMixInAnnotations(Direction.class, DirectionMixin.class);
+ setupContext.setMixInAnnotations(Threshold.class, ThresholdMixin.class);
+ setupContext.setMixInAnnotations(TcaPolicy.class, TcaPolicyMixin.class);
+ }
+}