Modify nemo rpc input and related implementation.
[nemo.git] / nemo-impl / src / main / java / org / opendaylight / nemo / user / vnspacemanager / structurestyle / updateintent / UpdateOperation.java
index 664ee65b85a57123abce846bac4a5d406a7a8901..fa6f4ac1bf6624306043dbd058ab260d3f387d2d 100644 (file)
@@ -61,14 +61,14 @@ public class UpdateOperation {
 \r
     private DataBroker dataBroker;\r
     private TenantManage tenantManage;\r
-    private final SettableFuture<List<ActionDefinition>> actionDefinitionListFuture =  SettableFuture.create();\r
-    private final SettableFuture<List<ConditionParameterDefinition>> conditionParameterDefinitionListFuture = SettableFuture.create();\r
+    private GetDefinitions getDefinitions;\r
     private ValueCheck valueCheck;\r
     private static final Logger LOG = LoggerFactory.getLogger(UpdateOperation.class);\r
 \r
     public UpdateOperation(DataBroker dataBroker, TenantManage tenantManage){\r
         this.dataBroker = dataBroker;\r
         this.tenantManage = tenantManage;\r
+        getDefinitions = new GetDefinitions(dataBroker);\r
         valueCheck = new ValueCheck();\r
     }\r
 \r
@@ -182,8 +182,6 @@ public class UpdateOperation {
     }\r
 \r
     private String checkDefinition(Operation operation){\r
-        fetchActionDefinitions();\r
-        fetchConditionParaDefinitions();\r
         String errorInfo = null;\r
 \r
         if (operation.getAction() != null )\r
@@ -199,9 +197,7 @@ public class UpdateOperation {
 \r
     private String checkAction(Operation operation){\r
         String errorInfo = null;\r
-\r
-        fetchActionDefinitions();\r
-        Map<ActionName, ActionDefinition> actionDefinitionMap = getActionDefinition();\r
+        Map<ActionName, ActionDefinition> actionDefinitionMap = getDefinitions.getActionDefinition();\r
         if (operation.getAction()!=null){\r
             if (actionDefinitionMap.isEmpty()){\r
                 return "The action type has not been defined.";\r
@@ -239,8 +235,7 @@ public class UpdateOperation {
 \r
     private String checkCondition(Operation operation){\r
         String errorInfo = null;\r
-        fetchConditionParaDefinitions();\r
-        Map<ParameterName, ConditionParameterDefinition> conditionParameterDefinitionMap = getParameterMatchPattern();\r
+        Map<ParameterName, ConditionParameterDefinition> conditionParameterDefinitionMap = getDefinitions.getConditionParameterDefinition();\r
         if (operation.getConditionSegment()!=null){\r
             if (conditionParameterDefinitionMap.isEmpty()){\r
                 return "This condition has not been defined in data store.";\r
@@ -321,86 +316,4 @@ public class UpdateOperation {
         }\r
         return errorInfo;\r
     }\r
-\r
-    private void fetchActionDefinitions(){\r
-        InstanceIdentifier<ActionDefinitions> actiondefinitionId = InstanceIdentifier.builder(ActionDefinitions.class).build();\r
-        ListenableFuture<Optional<ActionDefinitions>> actiondefinitionFuture = dataBroker.newReadOnlyTransaction().read(LogicalDatastoreType.CONFIGURATION, actiondefinitionId);\r
-        Futures.addCallback(actiondefinitionFuture, new FutureCallback<Optional<ActionDefinitions>>() {\r
-            @Override\r
-            public void onSuccess(Optional<ActionDefinitions> result) {\r
-                setActionDefinitionListFuture( result.get().getActionDefinition());\r
-            }\r
-\r
-            @Override\r
-            public void onFailure(Throwable t) {\r
-                LOG.error("Can not read action definition information.", t);\r
-            }\r
-        });\r
-        return ;\r
-    }\r
-\r
-    private void fetchConditionParaDefinitions(){\r
-        InstanceIdentifier<ConditionParameterDefinitions> conditionparadefinitionId = InstanceIdentifier.builder(ConditionParameterDefinitions.class).build();\r
-        ListenableFuture<Optional<ConditionParameterDefinitions>> conditionparadefinitionFuture = dataBroker.newReadOnlyTransaction().read(LogicalDatastoreType.CONFIGURATION, conditionparadefinitionId);\r
-        Futures.addCallback(conditionparadefinitionFuture, new FutureCallback<Optional<ConditionParameterDefinitions>>() {\r
-            @Override\r
-            public void onSuccess(Optional<ConditionParameterDefinitions> result) {\r
-               setConditionParameterDefinitionListFuture(result.get().getConditionParameterDefinition());\r
-            }\r
-\r
-            @Override\r
-            public void onFailure(Throwable t) {\r
-                LOG.error("Can not read condition parameter definition information.", t);\r
-            }\r
-        });\r
-        return ;\r
-    }\r
-\r
-    private void setConditionParameterDefinitionListFuture(List<ConditionParameterDefinition> conditionParameterDefinitions){\r
-        this.conditionParameterDefinitionListFuture.set(conditionParameterDefinitions);\r
-    }\r
-\r
-    private void setActionDefinitionListFuture(List<ActionDefinition> actionDefinitions){\r
-        this.actionDefinitionListFuture.set(actionDefinitions);\r
-    }\r
-\r
-    private List<ConditionParameterDefinition> getConditionParameterDefinitionList(){\r
-        try{\r
-            return conditionParameterDefinitionListFuture.get(1, TimeUnit.SECONDS);\r
-        }catch (InterruptedException | ExecutionException | TimeoutException e) {\r
-            LOG.error("Cannot read role information.", e);\r
-            return null;\r
-        }\r
-    }\r
-\r
-    private List<ActionDefinition> getActionDefinitionList(){\r
-        try{\r
-            return actionDefinitionListFuture.get(1, TimeUnit.SECONDS);\r
-        }catch (InterruptedException | ExecutionException | TimeoutException e) {\r
-            LOG.error("Cannot read role information.", e);\r
-            return null;\r
-        }\r
-    }\r
-\r
-    private Map<ParameterName, ConditionParameterDefinition> getParameterMatchPattern(){\r
-        List<ConditionParameterDefinition> conditionParameterDefinitions = getConditionParameterDefinitionList();\r
-        Map<ParameterName, ConditionParameterDefinition> conditionParameterDefinitionMap = new HashMap<ParameterName, ConditionParameterDefinition>();\r
-        if (conditionParameterDefinitions!=null){\r
-            for (ConditionParameterDefinition conditionParameterDefinition : conditionParameterDefinitions){\r
-                conditionParameterDefinitionMap.put(conditionParameterDefinition.getParameterName(),conditionParameterDefinition);\r
-            }\r
-        }\r
-        return conditionParameterDefinitionMap;\r
-    }\r
-\r
-    private Map<ActionName, ActionDefinition> getActionDefinition(){\r
-        List<ActionDefinition> actionDefinitions = getActionDefinitionList();\r
-        Map<ActionName,ActionDefinition> actionDefinitionMap = new HashMap<ActionName, ActionDefinition>();\r
-        if (actionDefinitionMap!=null){\r
-            for (ActionDefinition actionDefinition : actionDefinitions){\r
-                actionDefinitionMap.put(actionDefinition.getActionName(),actionDefinition);\r
-            }\r
-        }\r
-        return actionDefinitionMap;\r
-    }\r
 }\r