Include impacted changes for APPC-346,APPC-348
[appc.git] / appc-dispatcher / appc-request-handler / appc-request-handler-core / src / main / java / org / onap / appc / validationpolicy / executors / ActionInProgressRuleExecutor.java
  * ============LICENSE_END=========================================================
  */
 
-package org.onap.appc.workingstatemanager.impl;
+package org.onap.appc.validationpolicy.executors;
 
-import java.sql.Connection;
+import org.onap.appc.domainmodel.lcm.VNFOperation;
+import org.onap.appc.validationpolicy.objects.RuleResult;
+import org.onap.appc.validationpolicy.rules.Rule;
 
-import org.onap.appc.dao.util.JdbcConnectionFactory;
-import org.onap.appc.workingstatemanager.WorkingStateManager;
+import java.util.List;
+import java.util.Map;
 
-public abstract class JdbcWorkingStateManager implements WorkingStateManager {
+public class ActionInProgressRuleExecutor implements RuleExecutor {
 
-    private JdbcConnectionFactory connectionFactory;
+    Map<String,Rule> rules;
 
-    public void setConnectionFactory(JdbcConnectionFactory connectionFactory) {
-        this.connectionFactory = connectionFactory;
+    public ActionInProgressRuleExecutor(Map<String,Rule> rules) {
+        this.rules = rules;
     }
 
-    protected Connection openDbConnection() {
-        return connectionFactory.openDbConnection();
+    public RuleResult executeRule(String action, List<VNFOperation> inProgressActionList){
+        Rule rule = rules.get(action);
+        if(rule == null){
+            rule = rules.get("Default");
+        }
+        return rule.executeRule(action,inProgressActionList);
     }
 
-    protected void closeDbConnection(Connection connection) {
-        connectionFactory.closeDbConnection(connection);
-    }
 }