Adding nemo engine.
[nemo.git] / nemo-impl / src / main / java / org / opendaylight / nemo / user / vnspacemanager / instancecheck / FlowInstanceCheck.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.Flow;\r
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.users.User;\r
14 \r
15 import java.util.List;\r
16 \r
17 /**\r
18  * Created by z00293636 on 2015/9/10.\r
19  */\r
20 public class FlowInstanceCheck {\r
21     private TenantManage tenantManage;\r
22 \r
23     public FlowInstanceCheck(TenantManage tenantManage)\r
24     {\r
25         this.tenantManage = tenantManage;\r
26     }\r
27 \r
28     public String checkFlowInstance(UserId userId, Flow flow)\r
29     {\r
30         String errorInfo = null;\r
31 \r
32         tenantManage.fetchVNSpace(userId);\r
33 \r
34 \r
35         User user = tenantManage.getUser();\r
36         if (user != null)\r
37         {\r
38             if (user.getObjects() != null)\r
39             {\r
40                 if (user.getObjects().getFlow() != null)\r
41                 {\r
42                     List<Flow> flowList = tenantManage.getUser().getObjects().getFlow();\r
43                     for (Flow flow1 : flowList)\r
44                     {\r
45                         if (flow1.getFlowId() == flow.getFlowId())\r
46                         {\r
47                             if (flow1.getFlowName() != flow.getFlowName())\r
48                             {\r
49                                 errorInfo = "The flow name should not be changed.";\r
50                                 break;\r
51                             }\r
52                         }\r
53                     }\r
54                 }\r
55             }\r
56         }\r
57         return errorInfo;\r
58     }\r
59 }\r