*/\r
package org.opendaylight.nemo.user.vnspacemanager.languagestyle.updateintentlang;\r
\r
+import org.opendaylight.controller.md.sal.binding.api.DataBroker;\r
import org.opendaylight.nemo.user.tenantmanager.TenantManage;\r
import org.opendaylight.nemo.user.vnspacemanager.languagestyle.NEMOConstants;\r
import org.opendaylight.nemo.user.vnspacemanager.structurestyle.updateintent.UpdateConnection;\r
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.user.intent.objects.Connection;\r
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.user.intent.objects.ConnectionBuilder;\r
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.user.intent.objects.ConnectionKey;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.user.intent.objects.Node;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.users.User;\r
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.connection.instance.*;\r
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.property.instance.PropertyValuesBuilder;\r
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.property.instance.property.values.*;\r
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;\r
-\r
\r
import java.util.*;\r
\r
\r
private String createConnection(UserId userId, String connectionname, String connectiontype, List<String> endnodes, LinkedHashMap<String, LinkedHashMap<String,String>> propertyList){\r
String errorInfo = null;\r
- tenantManage.fetchVNSpace(userId);\r
- User user = tenantManage.getUser();\r
- List<Connection> connectionList = new ArrayList<Connection>();\r
- List<Node> nodeList = new ArrayList<Node>();\r
- Boolean ConnExist = false;\r
-\r
- if (user.getObjects()!=null){\r
- if (user.getObjects().getNode()!=null){\r
- nodeList = user.getObjects().getNode();\r
- }\r
- if (user.getObjects().getConnection()!=null){\r
- connectionList = user.getObjects().getConnection();\r
- }\r
- }\r
ConnectionBuilder connectionBuilder = new ConnectionBuilder();\r
- if (!connectionList.isEmpty()){\r
- for (Connection connection1:connectionList) {\r
- if (connection1.getConnectionName().getValue().equals(connectionname)){\r
- ConnExist = true;\r
- connectionBuilder.setKey(connection1.getKey());\r
- connectionBuilder.setConnectionId(connection1.getConnectionId());\r
- }\r
+ Connection connection1 = null;\r
+ if (tenantManage.getObjectId(userId,connectionname)!=null){\r
+ ConnectionId connectionId = new ConnectionId(tenantManage.getObjectId(userId,connectionname));\r
+ if (tenantManage.getConnection(userId).containsKey(connectionId)){\r
+ connection1 = tenantManage.getConnection(userId).get(connectionId);\r
+ }\r
+ else if (tenantManage.getConnectionDataStore(userId).containsKey(connectionId)){\r
+ connection1 = tenantManage.getConnectionDataStore(userId).get(connectionId);\r
}\r
}\r
- if (!ConnExist){\r
+\r
+ if (connection1==null){\r
ConnectionId connectionId = new ConnectionId(UUID.randomUUID().toString());\r
- connectionBuilder.setKey(new ConnectionKey(connectionId));\r
- connectionBuilder.setConnectionId(connectionId);\r
+ connectionBuilder.setKey(new ConnectionKey(connectionId))\r
+ .setConnectionId(connectionId);\r
+ }\r
+ else {\r
+ connectionBuilder.setKey(connection1.getKey())\r
+ .setConnectionId(connection1.getConnectionId());\r
}\r
\r
- connectionBuilder.setConnectionName(new ConnectionName(connectionname));\r
- connectionBuilder.setConnectionType(new ConnectionType(connectiontype));\r
+ connectionBuilder.setConnectionName(new ConnectionName(connectionname))\r
+ .setConnectionType(new ConnectionType(connectiontype));\r
\r
- if (!endnodes.isEmpty() && errorInfo==null){\r
+ if (!endnodes.isEmpty()){\r
List<EndNode> endNodeList = new ArrayList<EndNode>();\r
-\r
- if (nodeList.isEmpty()){\r
- errorInfo = "The EndNode is not exist in the user vn space.";\r
- return errorInfo;\r
- }\r
- else{\r
- int order = 0;\r
- for (String endnode : endnodes){\r
- Boolean endnodeexist = false;\r
- for (Node node : nodeList) {\r
- if (node.getNodeName().getValue().equals(endnode)){\r
- endnodeexist = true;\r
- EndNodeBuilder endNodeBuilder = new EndNodeBuilder();\r
- endNodeBuilder.setKey(new EndNodeKey(node.getNodeId()));\r
- endNodeBuilder.setNodeId(node.getNodeId());\r
- endNodeBuilder.setOrder((long) order);\r
- endNodeList.add(endNodeBuilder.build());\r
- }\r
- }\r
- if (!endnodeexist) {\r
- errorInfo = "The EndNode is not exist in the user vn space.";\r
- return errorInfo;\r
- }\r
- order ++;\r
+ for (String nodeName : endnodes){\r
+ if (tenantManage.getObjectId(userId,nodeName)!=null){\r
+ Long order = 0L;\r
+ NodeId nodeId = new NodeId(tenantManage.getObjectId(userId,nodeName));\r
+ EndNodeBuilder endNodeBuilder = new EndNodeBuilder();\r
+ endNodeBuilder.setKey(new EndNodeKey(nodeId))\r
+ .setNodeId(nodeId)\r
+ .setOrder(order);\r
+ order++;\r
+ endNodeList.add(endNodeBuilder.build());\r
+ }\r
+ else {\r
+ return "The end node " + nodeName + " is not exist.";\r
}\r
}\r
connectionBuilder.setEndNode(endNodeList);\r