X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fonap%2Fclamp%2Fclds%2Fclient%2FOperationalPolicyDeleteDelegate.java;h=adec94f322a35d1d245d67125c8f06f86187ec95;hb=a1ec959e3f5f8639117a5134ffbfb59f7b542f80;hp=816b2142adbba3543d193ee8e44df8a88808d274;hpb=5e9feb2a8e360b82dc2b6e4145e0fd847d2924ce;p=clamp.git diff --git a/src/main/java/org/onap/clamp/clds/client/OperationalPolicyDeleteDelegate.java b/src/main/java/org/onap/clamp/clds/client/OperationalPolicyDeleteDelegate.java index 816b2142..adec94f3 100644 --- a/src/main/java/org/onap/clamp/clds/client/OperationalPolicyDeleteDelegate.java +++ b/src/main/java/org/onap/clamp/clds/client/OperationalPolicyDeleteDelegate.java @@ -2,60 +2,70 @@ * ============LICENSE_START======================================================= * ONAP CLAMP * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights + * Copyright (C) 2017-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. + * 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 + * + * 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============================================ * =================================================================== - * ECOMP is a trademark and service mark of AT&T Intellectual Property. + * */ package org.onap.clamp.clds.client; -import org.onap.clamp.clds.model.prop.ModelProperties; -import org.onap.clamp.clds.model.prop.Policy; -import org.camunda.bpm.engine.delegate.DelegateExecution; -import org.camunda.bpm.engine.delegate.JavaDelegate; -import org.springframework.beans.factory.annotation.Autowired; - -import java.util.logging.Logger; +import com.att.eelf.configuration.EELFLogger; +import com.att.eelf.configuration.EELFManager; +import org.apache.camel.Exchange; +import org.apache.camel.Handler; +import org.onap.clamp.clds.client.req.policy.PolicyClient; +import org.onap.clamp.clds.model.CldsEvent; +import org.onap.clamp.clds.model.properties.ModelProperties; +import org.onap.clamp.clds.model.properties.Policy; +import org.onap.clamp.clds.model.properties.PolicyChain; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; /** * Delete Operational Policy via policy api. */ -public class OperationalPolicyDeleteDelegate implements JavaDelegate { - // currently uses the java.util.logging.Logger like the Camunda engine - private static final Logger logger = Logger.getLogger(OperationalPolicyDeleteDelegate.class.getName()); +@Component +public class OperationalPolicyDeleteDelegate { + protected static final EELFLogger logger = EELFManager.getInstance() + .getLogger(OperationalPolicyDeleteDelegate.class); + protected static final EELFLogger metricsLogger = EELFManager.getInstance().getMetricsLogger(); @Autowired private PolicyClient policyClient; /** - * Perform activity. Delete Operational Policy via policy api. + * Perform activity. Delete Operational Policy via policy api. * - * @param execution + * @param camelExchange + * The Camel Exchange object containing the properties */ - public void execute(DelegateExecution execution) throws Exception { - ModelProperties prop = ModelProperties.create(execution); - Policy policy = prop.getPolicy(); + @Handler + public void execute(Exchange camelExchange) { + ModelProperties prop = ModelProperties.create(camelExchange); + Policy policy = prop.getType(Policy.class); prop.setCurrentModelElementId(policy.getId()); - - String responseMessage = policyClient.deleteBrms(prop); - if (responseMessage != null) { - execution.setVariable("operationalPolicyDeleteResponseMessage", responseMessage.getBytes()); + String eventAction = (String) camelExchange.getProperty("eventAction"); + if (policy.getPolicyChains() != null && !policy.getPolicyChains().isEmpty() + && !eventAction.equalsIgnoreCase(CldsEvent.ACTION_CREATE) && policy.isFound()) { + for (PolicyChain policyChain : policy.getPolicyChains()) { + prop.setPolicyUniqueId(policyChain.getPolicyId()); + logger.info("Policy Delete response: " + policyClient.deleteBrms(prop)); + } } } - }