Removed unused code from GuardPolicyDelegate and GuardPolicyDeleteDelegate
[clamp.git] / src / main / java / org / onap / clamp / clds / client / GuardPolicyDeleteDelegate.java
index 9e8e1b8..ae962a0 100644 (file)
@@ -5,6 +5,8 @@
  * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights
  *                             reserved.
  * ================================================================================
+ * Modifications Copyright (c) 2019 Samsung
+ * ================================================================================
  * 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
@@ -28,11 +30,13 @@ import com.att.eelf.configuration.EELFManager;
 
 import org.apache.camel.Exchange;
 import org.apache.camel.Handler;
+import org.onap.clamp.clds.client.req.policy.GuardPolicyAttributesConstructor;
 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.onap.clamp.clds.model.properties.PolicyItem;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
@@ -43,31 +47,35 @@ import org.springframework.stereotype.Component;
 public class GuardPolicyDeleteDelegate {
 
     protected static final EELFLogger logger = EELFManager.getInstance()
-        .getLogger(GuardPolicyDeleteDelegate.class);
+            .getLogger(GuardPolicyDeleteDelegate.class);
     protected static final EELFLogger metricsLogger = EELFManager.getInstance().getMetricsLogger();
+    private final PolicyClient policyClient;
+
     @Autowired
-    private PolicyClient policyClient;
+    public GuardPolicyDeleteDelegate(PolicyClient policyClient) {
+        this.policyClient = policyClient;
+    }
 
     /**
      * Perform activity. Delete Operational Policy via policy api.
      *
-     * @param camelExchange
-     *            The Camel Exchange object containing the properties
+     * @param camelExchange The Camel Exchange object containing the properties
      */
     @Handler
     public void execute(Exchange camelExchange) {
         ModelProperties prop = ModelProperties.create(camelExchange);
         Policy policy = prop.getType(Policy.class);
-        prop.setCurrentModelElementId(policy.getId());
+
         String eventAction = (String) camelExchange.getProperty("eventAction");
-        String responseMessage = "";
         if (!eventAction.equalsIgnoreCase(CldsEvent.ACTION_CREATE) && policy.isFound()) {
-            for (PolicyChain policyChain : policy.getPolicyChains()) {
-                prop.setPolicyUniqueId(policyChain.getPolicyId());
-                responseMessage = policyClient.deleteBrms(prop);
-            }
-            if (responseMessage != null) {
-                camelExchange.setProperty("operationalPolicyDeleteResponseMessage", responseMessage.getBytes());
+            for (PolicyChain policyChain : prop.getType(Policy.class).getPolicyChains()) {
+                for (PolicyItem policyItem : GuardPolicyAttributesConstructor
+                        .getAllPolicyGuardsFromPolicyChain(policyChain)) {
+                    prop.setCurrentModelElementId(policy.getId());
+                    prop.setPolicyUniqueId(policyChain.getPolicyId());
+                    prop.setGuardUniqueId(policyItem.getId());
+                    policyClient.deleteGuard(prop);
+                }
             }
         }
     }