From 776b69ebd28440f84a890b1d4170af77ca5974ff Mon Sep 17 00:00:00 2001 From: Saravanan A Date: Fri, 5 Apr 2019 20:45:44 +0530 Subject: Code changes done for OOF SON use case Added a new control loop for SON ANR changes Introducing control loop response flow using DCAE_CL_RSP topic Change-Id: I81d0e92ce2f5c489596ad70d7b523cab0d8436ce Issue-ID: POLICY-1463 Signed-off-by: Saravanan A Signed-off-by: Pamela Dragosh --- .../policy/controlloop/ControlLoopResponse.java | 142 +++++++++++++++++++++ .../controlloop/ControlLoopResponseTest.java | 65 ++++++++++ .../sdnr/src/main/resources/definitions.yaml | 1 + 3 files changed, 208 insertions(+) create mode 100644 controlloop/common/model-impl/events/src/main/java/org/onap/policy/controlloop/ControlLoopResponse.java create mode 100644 controlloop/common/model-impl/events/src/test/java/org/onap/policy/controlloop/ControlLoopResponseTest.java (limited to 'controlloop/common/model-impl') diff --git a/controlloop/common/model-impl/events/src/main/java/org/onap/policy/controlloop/ControlLoopResponse.java b/controlloop/common/model-impl/events/src/main/java/org/onap/policy/controlloop/ControlLoopResponse.java new file mode 100644 index 000000000..483aaacfa --- /dev/null +++ b/controlloop/common/model-impl/events/src/main/java/org/onap/policy/controlloop/ControlLoopResponse.java @@ -0,0 +1,142 @@ +/*- + * ============LICENSE_START======================================================= + * controlloop + * ================================================================================ + * Copyright (C) 2019 Wipro Limited 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.policy.controlloop; + +import com.google.gson.annotations.SerializedName; + +import java.io.Serializable; +import java.util.UUID; + +public class ControlLoopResponse implements Serializable { + + private static final long serialVersionUID = 2391252138583119195L; + + @SerializedName("closedLoopControlName") + private String closedLoopControlName; + + @SerializedName("version") + private String version = "1.0.0"; + + @SerializedName("requestID") + private UUID requestId; + + @SerializedName("target") + private String target; + + @SerializedName("from") + private String from; + + @SerializedName("policyName") + private String policyName; + + @SerializedName("policyVersion") + private String policyVersion; + + @SerializedName("payload") + private String payload; + + public ControlLoopResponse() { + + } + + /** + * Construct an instace from an existing instance. + * + * @param response + * the existing instance + */ + public ControlLoopResponse(ControlLoopResponse response) { + if (response == null) { + return; + } + this.closedLoopControlName = response.closedLoopControlName; + this.requestId = response.requestId; + this.target = response.target; + this.from = response.from; + this.policyName = response.policyName; + this.policyVersion = response.policyVersion; + this.payload = response.payload; + } + + public String getClosedLoopControlName() { + return closedLoopControlName; + } + + public void setClosedLoopControlName(String closedLoopControlName) { + this.closedLoopControlName = closedLoopControlName; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public UUID getRequestId() { + return requestId; + } + + public void setRequestId(UUID requestId) { + this.requestId = requestId; + } + + public String getTarget() { + return target; + } + + public void setTarget(String target) { + this.target = target; + } + + public String getFrom() { + return from; + } + + public void setFrom(String from) { + this.from = from; + } + + public String getPolicyName() { + return policyName; + } + + public void setPolicyName(String policyName) { + this.policyName = policyName; + } + + public String getPolicyVersion() { + return policyVersion; + } + + public void setPolicyVersion(String policyVersion) { + this.policyVersion = policyVersion; + } + + public String getPayload() { + return payload; + } + + public void setPayload(String payload) { + this.payload = payload; + } +} diff --git a/controlloop/common/model-impl/events/src/test/java/org/onap/policy/controlloop/ControlLoopResponseTest.java b/controlloop/common/model-impl/events/src/test/java/org/onap/policy/controlloop/ControlLoopResponseTest.java new file mode 100644 index 000000000..3bab0aef4 --- /dev/null +++ b/controlloop/common/model-impl/events/src/test/java/org/onap/policy/controlloop/ControlLoopResponseTest.java @@ -0,0 +1,65 @@ +/*- + * ============LICENSE_START======================================================= + * controlloop + * ================================================================================ + * Copyright (C) 2019 Wipro Limited 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.policy.controlloop; + +import static org.junit.Assert.assertEquals; + +import java.util.UUID; +import org.junit.Test; + +public class ControlLoopResponseTest { + + @Test + public void test() { + ControlLoopResponse rsp = new ControlLoopResponse(); + + assertEquals("1.0.0", rsp.getVersion()); + + rsp = new ControlLoopResponse(null); + assertEquals("1.0.0", rsp.getVersion()); + + rsp.setClosedLoopControlName("name"); + assertEquals("name", rsp.getClosedLoopControlName()); + + rsp.setFrom("from"); + assertEquals("from", rsp.getFrom()); + + rsp.setPayload("payload"); + assertEquals("payload", rsp.getPayload()); + + rsp.setPolicyName("policyname"); + assertEquals("policyname", rsp.getPolicyName()); + + rsp.setPolicyVersion("1"); + assertEquals("1", rsp.getPolicyVersion()); + + UUID id = UUID.randomUUID(); + rsp.setRequestId(id); + assertEquals(id, rsp.getRequestId()); + + rsp.setTarget("target"); + assertEquals("target", rsp.getTarget()); + + rsp.setVersion("foo"); + assertEquals("foo", rsp.getVersion()); + + } +} diff --git a/controlloop/common/model-impl/sdnr/src/main/resources/definitions.yaml b/controlloop/common/model-impl/sdnr/src/main/resources/definitions.yaml index c128ab483..19c91e50d 100644 --- a/controlloop/common/model-impl/sdnr/src/main/resources/definitions.yaml +++ b/controlloop/common/model-impl/sdnr/src/main/resources/definitions.yaml @@ -55,6 +55,7 @@ Request: - LiveUpgrade - Migrate - ModifyConfig + - ModifyConfigANR - Query - Rebuild - Reconfigure -- cgit 1.2.3-korg