Adding nemo engine.
[nemo.git] / nemo-impl / src / main / java / org / opendaylight / nemo / user / vnspacemanager / instancecheck / NodeInstanceCheck.java
1 /*\r
2  * Copyright (c) 2015 Huawei, Inc. and others. All rights reserved.\r
3  *\r
4  * This program and the accompanying materials are made available under the\r
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
6  * and is available at http://www.eclipse.org/legal/epl-v10.html\r
7  */\r
8 package org.opendaylight.nemo.user.vnspacemanager.instancecheck;\r
9 \r
10 import org.opendaylight.nemo.user.tenantmanager.TenantManage;\r
11 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.common.rev151010.UserId;\r
12 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.user.intent.Objects;\r
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.user.intent.objects.Node;\r
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.users.User;\r
15 \r
16 import java.util.List;\r
17 \r
18 /**\r
19  * Created by z00293636 on 2015/9/10.\r
20  */\r
21 public class NodeInstanceCheck {\r
22 \r
23     private TenantManage tenantManage;\r
24 \r
25     public NodeInstanceCheck(TenantManage tenantManage)\r
26     {\r
27         this.tenantManage = tenantManage;\r
28     }\r
29 \r
30     public String checkNodeInstance(UserId userId, Node node)\r
31     {\r
32         String errorInfo = null;\r
33         tenantManage.fetchVNSpace(userId);\r
34         User user = tenantManage.getUser();\r
35         if (user != null)\r
36         {\r
37             Objects objects = user.getObjects();\r
38             if (objects != null)\r
39             {\r
40                 if (objects.getNode() != null)\r
41                 {\r
42                     List<Node> nodeList = objects.getNode();\r
43 \r
44                     for (Node node1 : nodeList)\r
45                     {\r
46                         if (node1.getNodeId().equals(node.getNodeId()))\r
47                         {\r
48                             if ( !node1.getNodeName().equals(node.getNodeName()))\r
49                             {\r
50                                 errorInfo = "The node name should not be changed.";\r
51                                 break;\r
52                             }\r
53                             if  (!node1.getNodeType().equals(node.getNodeType()))\r
54                             {\r
55                                 errorInfo = "The node type should not be changed.";\r
56                                 break;\r
57                             }\r
58                         }\r
59                     }\r
60                 }\r
61             }\r
62         }\r
63         return errorInfo;\r
64     }\r
65 }\r