Fix Sdc Controller
[clamp.git] / src / main / java / org / onap / clamp / clds / client / CldsEventDelegate.java
index b1243dc..ce2169f 100644 (file)
@@ -28,8 +28,11 @@ import com.att.eelf.configuration.EELFManager;
 
 import org.apache.camel.Exchange;
 import org.apache.camel.Handler;
+import org.onap.clamp.clds.config.ClampProperties;
 import org.onap.clamp.clds.dao.CldsDao;
 import org.onap.clamp.clds.model.CldsEvent;
+import org.onap.clamp.clds.model.CldsModel;
+import org.onap.clamp.clds.model.properties.ModelProperties;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
@@ -43,6 +46,8 @@ public class CldsEventDelegate {
     protected static final EELFLogger metricsLogger = EELFManager.getInstance().getMetricsLogger();
     @Autowired
     private CldsDao cldsDao;
+    @Autowired
+    private ClampProperties refProp;
 
     /**
      * Insert event using process variables.
@@ -65,5 +70,15 @@ public class CldsEventDelegate {
             // won't really have userid here...
             CldsEvent.insEvent(cldsDao, controlName, userid, actionCd, actionStateCd, camelExchange.getExchangeId());
         }
+        generateAutoPolicyId(camelExchange);
+    }
+
+    private void generateAutoPolicyId(Exchange camelExchange) {
+        ModelProperties prop = ModelProperties.create(camelExchange);
+        ;
+        CldsModel cldsModel = CldsModel.retrieve(cldsDao, (String) camelExchange.getProperty("modelName"), false);
+        cldsModel.setPropText(cldsModel.getPropText().replaceAll("AUTO_GENERATED_POLICY_ID_AT_SUBMIT",
+                prop.getPolicyNameForDcaeDeploy(refProp)));
+        cldsModel.save(cldsDao, (String) camelExchange.getProperty("userid"));
     }
 }