Modify nemo rpc input and related implementation.
[nemo.git] / nemo-impl / src / main / java / org / opendaylight / nemo / user / vnspacemanager / structurestyle / updateintent / UpdateConnection.java
index f70f2fe8ca0e45525833ef4f0b8689f4d7d1c54b..df43c74d5e7463a33b80c9ac25701d94dad269b1 100644 (file)
@@ -52,12 +52,13 @@ public class UpdateConnection {
 \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
@@ -161,8 +162,7 @@ public class UpdateConnection {
 \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
@@ -266,46 +266,4 @@ public class UpdateConnection {
         }\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