summaryrefslogtreecommitdiffstats
path: root/appc-provider/appc-provider-bundle/src/main
diff options
context:
space:
mode:
authorvidhyasree <sn141y@att.com>2018-01-12 15:23:34 -0500
committerPatrick Brady <pb071s@att.com>2018-01-17 16:15:52 -0500
commitac97522c6eca08a4dd9c4b2486e07b89fb5d9d99 (patch)
tree547d97d7d1c38a21f64a2beba57db25c639a6ead /appc-provider/appc-provider-bundle/src/main
parenteb27ca3e1b3e067e4798a115cb0f30b98f55fea0 (diff)
Fix for resumetraffic to allow traffic
ResumeTraffic action is added to LCM actions prior. In this ticket payload structure is added to resumetraffic in yang file. In ResumeTrafficService.java and ResumeTrafficServiceTest.java added payload parameters. Issue-ID: APPC-346 Signed-off-by: vidhyasree <sn141y@att.com> Change-Id: I9a3ca163bbd520e599416d03edc921a6cafb3059
Diffstat (limited to 'appc-provider/appc-provider-bundle/src/main')
-rw-r--r--appc-provider/appc-provider-bundle/src/main/java/org/onap/appc/provider/lcm/service/ResumeTrafficService.java56
1 files changed, 38 insertions, 18 deletions
diff --git a/appc-provider/appc-provider-bundle/src/main/java/org/onap/appc/provider/lcm/service/ResumeTrafficService.java b/appc-provider/appc-provider-bundle/src/main/java/org/onap/appc/provider/lcm/service/ResumeTrafficService.java
index 53d038141..57081c1c3 100644
--- a/appc-provider/appc-provider-bundle/src/main/java/org/onap/appc/provider/lcm/service/ResumeTrafficService.java
+++ b/appc-provider/appc-provider-bundle/src/main/java/org/onap/appc/provider/lcm/service/ResumeTrafficService.java
@@ -9,15 +9,15 @@
* 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.
- *
+ *
* ECOMP is a trademark and service mark of AT&T Intellectual Property.
* ============LICENSE_END=========================================================
*/
@@ -29,13 +29,14 @@ import org.opendaylight.yang.gen.v1.org.onap.appc.lcm.rev160108.ResumeTrafficInp
import org.opendaylight.yang.gen.v1.org.onap.appc.lcm.rev160108.ResumeTrafficOutput;
import org.opendaylight.yang.gen.v1.org.onap.appc.lcm.rev160108.ResumeTrafficOutputBuilder;
import org.opendaylight.yang.gen.v1.org.onap.appc.lcm.rev160108.action.identifiers.ActionIdentifiers;
+import org.opendaylight.yang.gen.v1.org.onap.appc.lcm.rev160108.Payload;
import org.opendaylight.yang.gen.v1.org.onap.appc.lcm.rev160108.common.header.CommonHeader;
import org.onap.appc.requesthandler.objects.RequestHandlerInput;
import org.onap.appc.executor.objects.LCMCommandStatus;
import org.onap.appc.util.JsonUtil;
-
import java.io.IOException;
import java.util.Map;
+
/**
* Provide LCM command service for Resume VNF traffic
*/
@@ -51,16 +52,18 @@ public class ResumeTrafficService extends AbstractBaseService {
/**
* Process the Resume request
+ *
* @param input of ResumeTrafficInput from the REST API input
* @return ResumeTrafficOutputBuilder which has the process results
*/
public ResumeTrafficOutputBuilder process(ResumeTrafficInput input) {
- CommonHeader commonHeader = input.getCommonHeader();
+ CommonHeader commonHeader = input.getCommonHeader();
ActionIdentifiers actionIdentifiers = input.getActionIdentifiers();
+ Payload payload = input.getPayload();
- validate(commonHeader, input.getAction(), actionIdentifiers);
+ validate(commonHeader, input.getAction(), actionIdentifiers, payload);
if (status == null) {
- proceedAction(input);
+ proceedAction(commonHeader, actionIdentifiers, payload);
}
ResumeTrafficOutputBuilder outputBuilder = new ResumeTrafficOutputBuilder();
@@ -75,23 +78,40 @@ public class ResumeTrafficService extends AbstractBaseService {
*
* @param input of ResumeTrafficInput from the REST API input
*/
- void validate(CommonHeader commonHeader,
- Action action,
- ActionIdentifiers actionIdentifiers) {
- status = validateVnfId(commonHeader, action, actionIdentifiers);
- if (status != null) {
- return;
- }
- }
+ void validate(CommonHeader commonHeader, Action action, ActionIdentifiers actionIdentifiers, Payload payload) {
+ status = validateVnfId(commonHeader, action, actionIdentifiers);
+ if (status != null) {
+ return;
+ }
+ // validate payload
+ String keyName = "payload";
+ if (payload == null) {
+ status = buildStatusForParamName(LCMCommandStatus.MISSING_MANDATORY_PARAMETER, keyName);
+ return;
+ }
+ String payloadString = payload.getValue();
+ status = validateMustHaveParamValue(payloadString == null ? payloadString : payloadString.trim(), "payload");
+ if (status != null) {
+ return;
+ }
+ try {
+ Map<String, String> payloadMap = JsonUtil.convertJsonStringToFlatMap(payloadString);
+ validateMustHaveParamValue(payloadMap.get(keyName), keyName);
+ } catch (IOException e) {
+ logger.error(String.format("ResumeTrafficService (%s) got IOException when converting payload", rpcName),
+ e);
+ status = buildStatusForErrorMsg(LCMCommandStatus.UNEXPECTED_ERROR, e.getMessage());
+ }
+ }
/**
* Proceed to action for the Resume VNF traffic.
*
* @param input of ResumeTrafficInput from the REST API input
*/
- void proceedAction(ResumeTrafficInput input) {
- RequestHandlerInput requestHandlerInput = getRequestHandlerInput(
- input.getCommonHeader(), input.getActionIdentifiers(), null, this.getClass().getName());
+ void proceedAction(CommonHeader commonHeader, ActionIdentifiers actionIdentifiers, Payload payload) {
+ RequestHandlerInput requestHandlerInput =
+ getRequestHandlerInput(commonHeader, actionIdentifiers, payload, this.getClass().getName());
if (requestHandlerInput != null) {
executeAction(requestHandlerInput);
}