diff options
author | 2018-01-12 15:23:34 -0500 | |
---|---|---|
committer | 2018-01-17 16:15:52 -0500 | |
commit | ac97522c6eca08a4dd9c4b2486e07b89fb5d9d99 (patch) | |
tree | 547d97d7d1c38a21f64a2beba57db25c639a6ead /appc-provider/appc-provider-bundle/src/main/java/org | |
parent | eb27ca3e1b3e067e4798a115cb0f30b98f55fea0 (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/java/org')
-rw-r--r-- | appc-provider/appc-provider-bundle/src/main/java/org/onap/appc/provider/lcm/service/ResumeTrafficService.java | 56 |
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); } |