\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
}\r
\r
private String checkDefinition(Operation operation){\r
- fetchActionDefinitions();\r
- fetchConditionParaDefinitions();\r
String errorInfo = null;\r
\r
if (operation.getAction() != null )\r
\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
\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
}\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