2  * ===============================LICENSE_START======================================
\r 
   4  * ================================================================================
\r 
   5  *    Copyright © 2017 AT&T Intellectual Property. All rights reserved.
\r 
   6  * ================================================================================
\r 
   7  *  Licensed under the Apache License, Version 2.0 (the "License");
\r 
   8  *  you may not use this file except in compliance with the License.
\r 
   9  *   You may obtain a copy of the License at
\r 
  11  *          http://www.apache.org/licenses/LICENSE-2.0
\r 
  13  *  Unless required by applicable law or agreed to in writing, software
\r 
  14  *  distributed under the License is distributed on an "AS IS" BASIS,
\r 
  15  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
\r 
  16  *  See the License for the specific language governing permissions and
\r 
  17  *  limitations under the License.
\r 
  18  *  ============================LICENSE_END===========================================
\r 
  21 package org.openecomp.dcae.apod.analytics.model.util.json;
\r 
  23 import com.fasterxml.jackson.core.Version;
\r 
  24 import com.fasterxml.jackson.databind.module.SimpleModule;
\r 
  25 import org.openecomp.dcae.apod.analytics.model.domain.policy.tca.BaseTCAPolicyModel;
\r 
  26 import org.openecomp.dcae.apod.analytics.model.domain.policy.tca.ClosedLoopEventStatus;
\r 
  27 import org.openecomp.dcae.apod.analytics.model.domain.policy.tca.ControlLoopSchemaType;
\r 
  28 import org.openecomp.dcae.apod.analytics.model.domain.policy.tca.Direction;
\r 
  29 import org.openecomp.dcae.apod.analytics.model.domain.policy.tca.MetricsPerEventName;
\r 
  30 import org.openecomp.dcae.apod.analytics.model.domain.policy.tca.TCAPolicy;
\r 
  31 import org.openecomp.dcae.apod.analytics.model.domain.policy.tca.Threshold;
\r 
  32 import org.openecomp.dcae.apod.analytics.model.util.json.mixin.policy.tca.BaseTCAPolicyModelMixin;
\r 
  33 import org.openecomp.dcae.apod.analytics.model.util.json.mixin.policy.tca.ClosedLoopEventStatusMixin;
\r 
  34 import org.openecomp.dcae.apod.analytics.model.util.json.mixin.policy.tca.ControlLoopSchemaTypeMixin;
\r 
  35 import org.openecomp.dcae.apod.analytics.model.util.json.mixin.policy.tca.DirectionMixin;
\r 
  36 import org.openecomp.dcae.apod.analytics.model.util.json.mixin.policy.tca.MetricsPerEventNameMixin;
\r 
  37 import org.openecomp.dcae.apod.analytics.model.util.json.mixin.policy.tca.TCAPolicyMixin;
\r 
  38 import org.openecomp.dcae.apod.analytics.model.util.json.mixin.policy.tca.ThresholdMixin;
\r 
  42  * @author Rajiv Singla . Creation Date: 11/5/2016.
\r 
  44 public class TCAPolicyModule extends SimpleModule {
\r 
  46     private static final long serialVersionUID = 1L;
\r 
  48     public TCAPolicyModule() {
\r 
  49         super("Threshold Crossing Alert Policy",
\r 
  50                 new Version(1, 0, 0, null, " org.openecomp.dcae.apod.analytics.model", "dcae-analytics-model"));
\r 
  54     public void setupModule(final SetupContext setupContext) {
\r 
  55         setupContext.setMixInAnnotations(BaseTCAPolicyModel.class, BaseTCAPolicyModelMixin.class);
\r 
  56         setupContext.setMixInAnnotations(ControlLoopSchemaType.class, ControlLoopSchemaTypeMixin.class);
\r 
  57         setupContext.setMixInAnnotations(Direction.class, DirectionMixin.class);
\r 
  58         setupContext.setMixInAnnotations(ClosedLoopEventStatus.class, ClosedLoopEventStatusMixin.class);
\r 
  59         setupContext.setMixInAnnotations(TCAPolicy.class, TCAPolicyMixin.class);
\r 
  60         setupContext.setMixInAnnotations(MetricsPerEventName.class, MetricsPerEventNameMixin.class);
\r 
  61         setupContext.setMixInAnnotations(Threshold.class, ThresholdMixin.class);
\r 
  62         setupContext.setMixInAnnotations(TCAPolicy.class, TCAPolicyMixin.class);
\r