X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=nemo-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fnemo%2Fuser%2Fvnspacemanager%2Flanguagestyle%2Fupdateintentlang%2FUpdateConnectionLang.java;h=ab1d74df66299b2d654216b0c48612802296fe2a;hb=3c74e82231d7492a3504e99f81aea61fa2aacddd;hp=91609f4ee4fc3942ddbc33a0d545f6f1976942c7;hpb=109daaaff8ccfc4afec866cbf4bfb85170647451;p=nemo.git diff --git a/nemo-impl/src/main/java/org/opendaylight/nemo/user/vnspacemanager/languagestyle/updateintentlang/UpdateConnectionLang.java b/nemo-impl/src/main/java/org/opendaylight/nemo/user/vnspacemanager/languagestyle/updateintentlang/UpdateConnectionLang.java index 91609f4..ab1d74d 100644 --- a/nemo-impl/src/main/java/org/opendaylight/nemo/user/vnspacemanager/languagestyle/updateintentlang/UpdateConnectionLang.java +++ b/nemo-impl/src/main/java/org/opendaylight/nemo/user/vnspacemanager/languagestyle/updateintentlang/UpdateConnectionLang.java @@ -7,6 +7,7 @@ */ package org.opendaylight.nemo.user.vnspacemanager.languagestyle.updateintentlang; +import org.opendaylight.controller.md.sal.binding.api.DataBroker; import org.opendaylight.nemo.user.tenantmanager.TenantManage; import org.opendaylight.nemo.user.vnspacemanager.languagestyle.NEMOConstants; import org.opendaylight.nemo.user.vnspacemanager.structurestyle.updateintent.UpdateConnection; @@ -14,13 +15,9 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.com import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.user.intent.objects.Connection; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.user.intent.objects.ConnectionBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.user.intent.objects.ConnectionKey; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.user.intent.objects.Node; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.users.User; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.connection.instance.*; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.property.instance.PropertyValuesBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.property.instance.property.values.*; -import org.opendaylight.controller.md.sal.binding.api.DataBroker; - import java.util.*; @@ -80,65 +77,46 @@ public class UpdateConnectionLang { private String createConnection(UserId userId, String connectionname, String connectiontype, List endnodes, LinkedHashMap> propertyList){ String errorInfo = null; - tenantManage.fetchVNSpace(userId); - User user = tenantManage.getUser(); - List connectionList = new ArrayList(); - List nodeList = new ArrayList(); - Boolean ConnExist = false; - - if (user.getObjects()!=null){ - if (user.getObjects().getNode()!=null){ - nodeList = user.getObjects().getNode(); - } - if (user.getObjects().getConnection()!=null){ - connectionList = user.getObjects().getConnection(); - } - } ConnectionBuilder connectionBuilder = new ConnectionBuilder(); - if (!connectionList.isEmpty()){ - for (Connection connection1:connectionList) { - if (connection1.getConnectionName().getValue().equals(connectionname)){ - ConnExist = true; - connectionBuilder.setKey(connection1.getKey()); - connectionBuilder.setConnectionId(connection1.getConnectionId()); - } + Connection connection1 = null; + if (tenantManage.getObjectId(userId,connectionname)!=null){ + ConnectionId connectionId = new ConnectionId(tenantManage.getObjectId(userId,connectionname)); + if (tenantManage.getConnection(userId).containsKey(connectionId)){ + connection1 = tenantManage.getConnection(userId).get(connectionId); + } + else if (tenantManage.getConnectionDataStore(userId).containsKey(connectionId)){ + connection1 = tenantManage.getConnectionDataStore(userId).get(connectionId); } } - if (!ConnExist){ + + if (connection1==null){ ConnectionId connectionId = new ConnectionId(UUID.randomUUID().toString()); - connectionBuilder.setKey(new ConnectionKey(connectionId)); - connectionBuilder.setConnectionId(connectionId); + connectionBuilder.setKey(new ConnectionKey(connectionId)) + .setConnectionId(connectionId); + } + else { + connectionBuilder.setKey(connection1.getKey()) + .setConnectionId(connection1.getConnectionId()); } - connectionBuilder.setConnectionName(new ConnectionName(connectionname)); - connectionBuilder.setConnectionType(new ConnectionType(connectiontype)); + connectionBuilder.setConnectionName(new ConnectionName(connectionname)) + .setConnectionType(new ConnectionType(connectiontype)); - if (!endnodes.isEmpty() && errorInfo==null){ + if (!endnodes.isEmpty()){ List endNodeList = new ArrayList(); - - if (nodeList.isEmpty()){ - errorInfo = "The EndNode is not exist in the user vn space."; - return errorInfo; - } - else{ - int order = 0; - for (String endnode : endnodes){ - Boolean endnodeexist = false; - for (Node node : nodeList) { - if (node.getNodeName().getValue().equals(endnode)){ - endnodeexist = true; - EndNodeBuilder endNodeBuilder = new EndNodeBuilder(); - endNodeBuilder.setKey(new EndNodeKey(node.getNodeId())); - endNodeBuilder.setNodeId(node.getNodeId()); - endNodeBuilder.setOrder((long) order); - endNodeList.add(endNodeBuilder.build()); - } - } - if (!endnodeexist) { - errorInfo = "The EndNode is not exist in the user vn space."; - return errorInfo; - } - order ++; + for (String nodeName : endnodes){ + if (tenantManage.getObjectId(userId,nodeName)!=null){ + Long order = 0L; + NodeId nodeId = new NodeId(tenantManage.getObjectId(userId,nodeName)); + EndNodeBuilder endNodeBuilder = new EndNodeBuilder(); + endNodeBuilder.setKey(new EndNodeKey(nodeId)) + .setNodeId(nodeId) + .setOrder(order); + order++; + endNodeList.add(endNodeBuilder.build()); + } + else { + return "The end node " + nodeName + " is not exist."; } } connectionBuilder.setEndNode(endNodeList);