\r
private DataBroker dataBroker;\r
private TenantManage tenantManage;\r
- private final SettableFuture<List<ConnectionDefinition>> connectionDefinitionListFuture = SettableFuture.create();\r
+ private GetDefinitions getDefinitions;\r
private static final Logger LOG = LoggerFactory.getLogger(UpdateConnection.class);\r
\r
public UpdateConnection(DataBroker dataBroker, TenantManage tenantManage){\r
this.dataBroker = dataBroker;\r
this.tenantManage = tenantManage;\r
+ getDefinitions = new GetDefinitions(dataBroker);\r
}\r
\r
public String ConnectionHandling(UserId userId, Connection connection){\r
\r
private String checkDefinition(Connection connection){\r
String errorInfo = null;\r
- fetchConnectionDefinitionList();\r
- Map<ConnectionType, ConnectionDefinition> connectionDefinitionMap = getConnectionDefinition();\r
+ Map<ConnectionType, ConnectionDefinition> connectionDefinitionMap = getDefinitions.getConnectionDefinition();\r
if (connectionDefinitionMap.isEmpty()){\r
return "This type of connection has not been defined.";\r
}\r
}\r
return errorInfo;\r
}\r
-\r
- private void fetchConnectionDefinitionList(){\r
- InstanceIdentifier<ConnectionDefinitions> connectiondefinitionId = InstanceIdentifier.builder(ConnectionDefinitions.class).build();\r
- ListenableFuture<Optional<ConnectionDefinitions>> connectiondefinitionFuture = dataBroker.newReadOnlyTransaction().read(LogicalDatastoreType.CONFIGURATION, connectiondefinitionId);\r
- Futures.addCallback(connectiondefinitionFuture, new FutureCallback<Optional<ConnectionDefinitions>>() {\r
- @Override\r
- public void onSuccess(Optional<ConnectionDefinitions> result) {\r
- setConnectionDefinitionListFuture(result.get().getConnectionDefinition());\r
-\r
- }\r
-\r
- @Override\r
- public void onFailure(Throwable t) {\r
- LOG.error("Can not read connection definition information.", t);\r
- }\r
- });\r
- return;\r
- }\r
-\r
- private void setConnectionDefinitionListFuture(List<ConnectionDefinition> connectionDefinitionList){\r
- this.connectionDefinitionListFuture.set(connectionDefinitionList);\r
- }\r
-\r
- private List<ConnectionDefinition> getConnectionDefinitionList(){\r
- try{\r
- return connectionDefinitionListFuture.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<ConnectionType, ConnectionDefinition> getConnectionDefinition(){\r
- List<ConnectionDefinition> connectionDefinitionList = getConnectionDefinitionList();\r
- Map<ConnectionType, ConnectionDefinition> connectionDefinitionMap = new HashMap<ConnectionType, ConnectionDefinition>();\r
- if (connectionDefinitionList!=null){\r
- for (ConnectionDefinition connectionDefinition : connectionDefinitionList){\r
- connectionDefinitionMap.put(connectionDefinition.getConnectionType(),connectionDefinition);\r
- }\r
- }\r
- return connectionDefinitionMap;\r
- }\r
}\r