2 * Copyright (c) 2015 Huawei, Inc. and others. All rights reserved.
\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
8 package org.opendaylight.nemo.user.vnspacemanager.structurestyle.updateintent;
\r
10 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
\r
11 import org.opendaylight.nemo.user.tenantmanager.AAA;
\r
12 import org.opendaylight.nemo.user.tenantmanager.TenantManage;
\r
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.StructureStyleNemoUpdateInput;
\r
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.user.intent.Results;
\r
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.user.intent.objects.Connection;
\r
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.user.intent.objects.Flow;
\r
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.user.intent.objects.Node;
\r
18 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.user.intent.operations.Operation;
\r
19 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.user.intent.template.definitions.TemplateDefinition;
\r
20 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.user.intent.template.instances.TemplateInstance;
\r
22 import java.util.List;
\r
25 * Created by z00293636 on 2015/8/31.
\r
27 public class UpdateIntent {
\r
28 private UpdateNode updateNode;
\r
29 private UpdateConnection updateConnection;
\r
30 private UpdateFlow updateFlow;
\r
31 private UpdateOperation updateOperation;
\r
32 private UpdateResult updateResult;
\r
33 private UpdateTemplateDefinition updateTemplateDefinition;
\r
34 private UpdateTemplateInstance updateTemplateInstance;
\r
36 public UpdateIntent(DataBroker dataBroker, TenantManage tenantManage){
\r
37 updateNode = new UpdateNode(dataBroker,tenantManage);
\r
38 updateConnection = new UpdateConnection(dataBroker,tenantManage);
\r
39 updateFlow = new UpdateFlow(dataBroker,tenantManage);
\r
40 updateOperation = new UpdateOperation(dataBroker,tenantManage);
\r
41 updateResult = new UpdateResult(dataBroker,tenantManage);
\r
42 updateTemplateDefinition = new UpdateTemplateDefinition(dataBroker,tenantManage);
\r
43 updateTemplateInstance = new UpdateTemplateInstance(dataBroker,tenantManage);
\r
46 public String updateIntent(AAA aaa,StructureStyleNemoUpdateInput structureStyleNemoUpdateInput){
\r
47 String erroInfo = null;
\r
49 erroInfo = aaa.checkUser(structureStyleNemoUpdateInput.getUserId());
\r
51 if (erroInfo != null){
\r
55 if(structureStyleNemoUpdateInput.getObjects() != null){
\r
56 if (structureStyleNemoUpdateInput.getObjects().getNode() != null && erroInfo == null){
\r
57 List<Node> nodeList= structureStyleNemoUpdateInput.getObjects().getNode();
\r
58 for (Node node : nodeList ){
\r
59 erroInfo = updateNode.NodeHandling(structureStyleNemoUpdateInput.getUserId(), node);
\r
60 if (erroInfo != null){
\r
65 if (structureStyleNemoUpdateInput.getObjects().getConnection() != null && erroInfo == null){
\r
66 List<Connection> connectionList = structureStyleNemoUpdateInput.getObjects().getConnection();
\r
67 for (Connection connection : connectionList){
\r
68 erroInfo = updateConnection.ConnectionHandling(structureStyleNemoUpdateInput.getUserId(), connection);
\r
69 if (erroInfo != null){
\r
75 if (structureStyleNemoUpdateInput.getObjects().getFlow() != null && erroInfo == null){
\r
76 List<Flow> flowList = structureStyleNemoUpdateInput.getObjects().getFlow();
\r
77 for (Flow flow : flowList){
\r
78 erroInfo = updateFlow.FlowHandling(structureStyleNemoUpdateInput.getUserId(),flow);
\r
79 if (erroInfo != null) {
\r
86 if (structureStyleNemoUpdateInput.getOperations() != null){
\r
87 if (structureStyleNemoUpdateInput.getOperations().getOperation() != null && erroInfo == null){
\r
88 List<Operation> operationList =structureStyleNemoUpdateInput.getOperations().getOperation();
\r
89 for (Operation operation : operationList){
\r
90 erroInfo = updateOperation.OperationHandling(structureStyleNemoUpdateInput.getUserId(), operation);
\r
91 if (erroInfo !=null){
\r
98 if (structureStyleNemoUpdateInput.getResults() != null){
\r
99 if ( structureStyleNemoUpdateInput.getResults() != null && erroInfo == null){
\r
100 Results results = structureStyleNemoUpdateInput.getResults();
\r
101 erroInfo = updateResult.ResultHandling(structureStyleNemoUpdateInput.getUserId(), results);
\r
102 if (erroInfo != null){
\r
109 if (structureStyleNemoUpdateInput.getTemplateDefinitions()!=null){
\r
110 if (structureStyleNemoUpdateInput.getTemplateDefinitions().getTemplateDefinition()!=null && erroInfo == null){
\r
111 List<TemplateDefinition> templateDefinitionList = structureStyleNemoUpdateInput.getTemplateDefinitions().getTemplateDefinition();
\r
112 for (TemplateDefinition templateDefinition : templateDefinitionList ){
\r
113 erroInfo = updateTemplateDefinition.checkTemplateDefinition(structureStyleNemoUpdateInput.getUserId(),templateDefinition);
\r
114 if (erroInfo!=null){
\r
121 if (structureStyleNemoUpdateInput.getTemplateInstances()!=null){
\r
122 if (structureStyleNemoUpdateInput.getTemplateInstances().getTemplateInstance()!=null && erroInfo ==null){
\r
123 List<TemplateInstance> templateInstanceList = structureStyleNemoUpdateInput.getTemplateInstances().getTemplateInstance();
\r
124 for (TemplateInstance templateInstance : templateInstanceList){
\r
125 erroInfo = updateTemplateInstance.checkTemplateInstance(structureStyleNemoUpdateInput.getUserId(),templateInstance);
\r
126 if (erroInfo!=null){
\r