Added one test file and Modified one test file
[nemo.git] / nemo-impl / src / test / java / org / opendaylight / nemo / user / vnspacemanager / structurestyle / updateintent / UpdateTemplateInstanceTest.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.structurestyle.updateintent;\r
9 \r
10 import junit.framework.TestCase;\r
11 import org.junit.Assert;\r
12 import org.junit.Before;\r
13 import org.junit.Test;\r
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.operation.rev151010.action.instance.ParameterValues;\r
15 import static org.junit.Assert.*;\r
16 \r
17 import static org.junit.Assert.*;\r
18 import org.opendaylight.controller.md.sal.binding.api.DataBroker;\r
19 import org.opendaylight.nemo.user.tenantmanager.TenantManage;\r
20 import org.opendaylight.nemo.user.vnspacemanager.languagestyle.NEMOConstants;\r
21 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.generic.physical.network.rev151010.physical.network.physical.hosts.PhysicalHost;\r
22 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.common.rev151010.*;\r
23 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.engine.common.rev151010.PhysicalHostId;\r
24 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.engine.common.rev151010.PhysicalHostName;\r
25 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.user.intent.objects.*;\r
26 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.user.intent.operations.OperationBuilder;\r
27 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.user.intent.operations.OperationKey;\r
28 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.user.intent.template.definitions.TemplateDefinition;\r
29 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.user.intent.template.instances.TemplateInstance;\r
30 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.users.User;\r
31 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.connection.instance.*;\r
32 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.flow.instance.MatchItem;\r
33 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.flow.instance.MatchItemBuilder;\r
34 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.flow.instance.MatchItemKey;\r
35 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.match.item.instance.MatchItemValueBuilder;\r
36 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.node.instance.Property;\r
37 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.node.instance.SubNode;\r
38 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.node.instance.SubNodeBuilder;\r
39 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.node.instance.SubNodeKey;\r
40 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.property.instance.PropertyValuesBuilder;\r
41 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.property.instance.property.values.*;\r
42 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.operation.rev151010.action.instance.ParameterValuesBuilder;\r
43 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.operation.rev151010.condition.instance.ConditionSegment;\r
44 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.operation.rev151010.condition.instance.ConditionSegmentBuilder;\r
45 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.operation.rev151010.condition.instance.ConditionSegmentKey;\r
46 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.operation.rev151010.condition.instance.condition.segment.ConditionParameterTargetValueBuilder;\r
47 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.operation.rev151010.operation.instance.Action;\r
48 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.operation.rev151010.operation.instance.ActionBuilder;\r
49 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.operation.rev151010.operation.instance.ActionKey;\r
50 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.definition.grouping.TemplateParameter;\r
51 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.definition.grouping._abstract.intents.AbstractObjects;\r
52 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.definition.grouping._abstract.intents._abstract.objects.AbstractConnection;\r
53 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.definition.grouping._abstract.intents._abstract.objects.AbstractFlow;\r
54 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.definition.grouping._abstract.intents._abstract.objects.AbstractNode;\r
55 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.definition.grouping._abstract.intents._abstract.operations.AbstractOperation;\r
56 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.IntValue;\r
57 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.definition.grouping.AbstractIntents;\r
58 //import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.definition.grouping.AbstractObjects;\r
59 //import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.definition.grouping.AbstractNode;\r
60 \r
61 import java.lang.String;\r
62 import java.lang.reflect.Field;\r
63 import java.lang.reflect.Method;\r
64 import java.util.*;\r
65 import java.util.ArrayList;\r
66 import java.util.HashMap;\r
67 import java.util.LinkedList;\r
68 \r
69 import static org.mockito.Mockito.*;\r
70 /**\r
71  * Created by zhangmeng on 2015/12/30.\r
72  */\r
73 public class UpdateTemplateInstanceTest extends TestCase {\r
74     private DataBroker dataBroker;\r
75     private TenantManage tenantManage;\r
76     private UpdateTemplateInstance updateTemplateInstance;\r
77     private Class<UpdateTemplateInstance> class1;\r
78     private Method method;\r
79     private Field field;\r
80     private TemplateInstance templateInstance;\r
81     private UserId userId;\r
82     //private TemplateDefinition templateDefinition;\r
83 \r
84 \r
85     @Before\r
86     public void setUp() throws Exception {\r
87         dataBroker = mock(DataBroker.class);\r
88         tenantManage = mock(TenantManage.class);\r
89         class1 = UpdateTemplateInstance.class;\r
90         updateTemplateInstance = new UpdateTemplateInstance(dataBroker,tenantManage);\r
91         templateInstance = mock(TemplateInstance.class);\r
92         userId = mock(UserId.class);\r
93         //templateDefinition = mock(TemplateDefinition.class);\r
94     }\r
95 \r
96     @Test\r
97     public void testCheckTemplateInstance1() throws Exception {\r
98         //test if1\r
99         TemplateName templateName = new TemplateName("tename");\r
100         TemplateDefinition templateDefinition = mock(TemplateDefinition.class);\r
101         Map<TemplateName, TemplateDefinition> templateMap = new HashMap<TemplateName, TemplateDefinition>();\r
102         templateMap.put(templateName,templateDefinition);\r
103         when(tenantManage.getTempalteDefinition(userId)).thenReturn(templateMap);\r
104         when(templateInstance.getTemplateName()).thenReturn(templateName);\r
105         when(tenantManage.getTempalteDefinition(userId)).thenReturn(templateMap);\r
106         when(templateInstance.getTemplateName()).thenReturn(templateName);\r
107         //when(templateMap.containsKey(templateName)).thenReturn(true);\r
108 \r
109         //test (definition!=null)\r
110         List<TemplateParameter> templateParameters = new ArrayList<TemplateParameter>();\r
111         TemplateParameter templateParameter = mock(TemplateParameter.class);\r
112         templateParameters.add(templateParameter);\r
113         when(templateDefinition.getTemplateParameter()).thenReturn(templateParameters);\r
114         ParameterName parameterName = new ParameterName("ParameterName");\r
115         when(templateParameter.getParameterName()).thenReturn(parameterName);\r
116         when(templateParameter.getParameterValueType()).thenReturn(TemplateParameter.ParameterValueType.Range);\r
117 \r
118 \r
119 \r
120         List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.TemplateParameter> instanceParameters = new ArrayList<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.TemplateParameter>();\r
121         org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.TemplateParameter templateParameter2 = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.TemplateParameter.class);\r
122         instanceParameters.add(templateParameter2);\r
123         when(templateInstance.getTemplateParameter()).thenReturn(instanceParameters);\r
124         when(templateParameter2.getParameterName()).thenReturn(parameterName);\r
125         org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.ParameterValues parameterValues = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.ParameterValues.class);\r
126         when(templateParameter2.getParameterValues()).thenReturn(parameterValues);\r
127         when(parameterValues.getIntValue()).thenReturn(null);\r
128         when(parameterValues.getStringValue()).thenReturn(null);\r
129         when(parameterValues.getRangeValue()).thenReturn(null);\r
130         //when(parameterValues.getRangeValue()).thenReturn(mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.RangeValue.class));\r
131         when(templateParameter2.getParameterName()).thenReturn(parameterName);\r
132         when(templateParameter2.getParameterValues()).thenReturn(parameterValues);\r
133         TemplateInstanceName templateInstanceName = mock(TemplateInstanceName.class);\r
134         when(templateInstance.getTemplateInstanceName()).thenReturn(templateInstanceName);\r
135 \r
136         Assert.assertTrue(updateTemplateInstance.checkTemplateInstance(userId, templateInstance) == "The value type should be string");\r
137         //System.out.println("###########  Result1 : "+updateTemplateInstance.checkTemplateInstance(userId, templateInstance)+"   #################");\r
138         //Assert.assertTrue(updateTemplateInstance.checkTemplateInstance(userId, templateInstance) == null);\r
139 \r
140 \r
141 \r
142 \r
143     }\r
144 \r
145     public void testCheckTemplateInstance2() throws Exception {\r
146         TemplateName templateName = new TemplateName("tename");\r
147         TemplateDefinition templateDefinition = mock(TemplateDefinition.class);\r
148         Map<TemplateName, TemplateDefinition> templateMap = new HashMap<TemplateName, TemplateDefinition>();\r
149         templateMap.put(templateName,templateDefinition);\r
150         when(tenantManage.getTempalteDefinition(userId)).thenReturn(null);\r
151         when(tenantManage.getDefinitionDataStore(userId)).thenReturn(templateMap);\r
152         when(templateInstance.getTemplateName()).thenReturn(templateName);\r
153         when(tenantManage.getDefinitionDataStore(userId)).thenReturn(templateMap);\r
154         when(templateInstance.getTemplateName()).thenReturn(templateName);\r
155 \r
156         List<TemplateParameter> templateParameters = new ArrayList<TemplateParameter>();\r
157         TemplateParameter templateParameter = mock(TemplateParameter.class);\r
158         templateParameters.add(templateParameter);\r
159         when(templateDefinition.getTemplateParameter()).thenReturn(templateParameters);\r
160         ParameterName parameterName = new ParameterName("ParameterName");\r
161         when(templateParameter.getParameterName()).thenReturn(parameterName);\r
162         when(templateParameter.getParameterValueType()).thenReturn(TemplateParameter.ParameterValueType.Int);\r
163 \r
164         List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.TemplateParameter> instanceParameters = new ArrayList<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.TemplateParameter>();\r
165         org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.TemplateParameter templateParameter2 = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.TemplateParameter.class);\r
166         instanceParameters.add(templateParameter2);\r
167         when(templateInstance.getTemplateParameter()).thenReturn(instanceParameters);\r
168         when(templateParameter2.getParameterName()).thenReturn(parameterName);\r
169         org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.ParameterValues parameterValues = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.ParameterValues.class);\r
170         when(templateParameter2.getParameterValues()).thenReturn(parameterValues);\r
171         List<IntValue> intValues = new ArrayList<IntValue>();\r
172         when(parameterValues.getIntValue()).thenReturn(intValues);\r
173         Assert.assertTrue(updateTemplateInstance.checkTemplateInstance(userId, templateInstance) == "The value type should be string");\r
174         //System.out.println("###########  Result2 : "+updateTemplateInstance.checkTemplateInstance(userId, templateInstance)+"   #################");\r
175 \r
176     }\r
177 \r
178     public void testCheckTemplateInstance3() throws Exception {\r
179         TemplateName templateName = new TemplateName("tename");\r
180         TemplateDefinition templateDefinition = mock(TemplateDefinition.class);\r
181         Map<TemplateName, TemplateDefinition> templateMap = new HashMap<TemplateName, TemplateDefinition>();\r
182         templateMap.put(templateName,templateDefinition);\r
183         when(tenantManage.getTempalteDefinition(userId)).thenReturn(null);\r
184         when(tenantManage.getDefinitionDataStore(userId)).thenReturn(null);\r
185         Map<UserId, User> usersMap = new HashMap<UserId, User>();\r
186         UserId userId2 = mock(UserId.class);\r
187         User user = mock(User.class);\r
188         usersMap.put(userId2,user);\r
189         when(tenantManage.getUsers()).thenReturn(usersMap);\r
190         when(user.getUserRole()).thenReturn(new  org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.common.rev151010.UserRoleName(NEMOConstants.admin));\r
191         when(user.getUserId()).thenReturn(userId2);\r
192         when(tenantManage.getDefinitionDataStore(userId2)).thenReturn(templateMap);\r
193         when(user.getUserId()).thenReturn(userId2);\r
194         when(templateInstance.getTemplateName()).thenReturn(templateName);\r
195         when(tenantManage.getDefinitionDataStore(userId2)).thenReturn(templateMap);\r
196         when(user.getUserId()).thenReturn(userId2);\r
197         when(templateInstance.getTemplateName()).thenReturn(templateName);\r
198         when(tenantManage.getDefinitionDataStore(userId2)).thenReturn(templateMap);\r
199 \r
200         List<TemplateParameter> templateParameters = new ArrayList<TemplateParameter>();\r
201         TemplateParameter templateParameter = mock(TemplateParameter.class);\r
202         templateParameters.add(templateParameter);\r
203         when(templateDefinition.getTemplateParameter()).thenReturn(templateParameters);\r
204         ParameterName parameterName = new ParameterName("ParameterName");\r
205         when(templateParameter.getParameterName()).thenReturn(parameterName);\r
206         when(templateParameter.getParameterValueType()).thenReturn(TemplateParameter.ParameterValueType.String);\r
207 \r
208         List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.TemplateParameter> instanceParameters = new ArrayList<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.TemplateParameter>();\r
209         org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.TemplateParameter templateParameter2 = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.TemplateParameter.class);\r
210         instanceParameters.add(templateParameter2);\r
211         when(templateInstance.getTemplateParameter()).thenReturn(instanceParameters);\r
212         when(templateParameter2.getParameterName()).thenReturn(parameterName);\r
213         org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.ParameterValues parameterValues = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.ParameterValues.class);\r
214         when(templateParameter2.getParameterValues()).thenReturn(parameterValues);\r
215         when(parameterValues.getIntValue()).thenReturn(null);\r
216         when(parameterValues.getStringValue()).thenReturn(null);\r
217         when(parameterValues.getRangeValue()).thenReturn(null);\r
218         Assert.assertTrue(updateTemplateInstance.checkTemplateInstance(userId, templateInstance) == "The value type should be string");\r
219         //System.out.println("###########  Result3 : "+updateTemplateInstance.checkTemplateInstance(userId, templateInstance)+"   #################");\r
220     }\r
221 \r
222     public void testCheckTemplateInstance4() throws Exception {\r
223         TemplateName templateName = new TemplateName("tename");\r
224         TemplateDefinition templateDefinition = mock(TemplateDefinition.class);\r
225         Map<TemplateName, TemplateDefinition> templateMap = new HashMap<TemplateName, TemplateDefinition>();\r
226         templateMap.put(templateName,templateDefinition);\r
227         when(tenantManage.getTempalteDefinition(userId)).thenReturn(null);\r
228         when(tenantManage.getDefinitionDataStore(userId)).thenReturn(templateMap);\r
229         when(templateInstance.getTemplateName()).thenReturn(templateName);\r
230         when(tenantManage.getDefinitionDataStore(userId)).thenReturn(templateMap);\r
231         when(templateInstance.getTemplateName()).thenReturn(templateName);\r
232 \r
233         List<TemplateParameter> templateParameters = new ArrayList<TemplateParameter>();\r
234         TemplateParameter templateParameter = mock(TemplateParameter.class);\r
235         templateParameters.add(templateParameter);\r
236         when(templateDefinition.getTemplateParameter()).thenReturn(templateParameters);\r
237         ParameterName parameterName = new ParameterName("ParameterName");\r
238         when(templateParameter.getParameterName()).thenReturn(parameterName);\r
239         when(templateParameter.getParameterValueType()).thenReturn(TemplateParameter.ParameterValueType.Int);\r
240 \r
241         List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.TemplateParameter> instanceParameters = new ArrayList<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.TemplateParameter>();\r
242         org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.TemplateParameter templateParameter2 = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.TemplateParameter.class);\r
243         instanceParameters.add(templateParameter2);\r
244         when(templateInstance.getTemplateParameter()).thenReturn(instanceParameters);\r
245         when(templateParameter2.getParameterName()).thenReturn(new ParameterName("ParameterName2"));\r
246         when(templateParameter2.getParameterName()).thenReturn(new ParameterName("ParameterName2"));\r
247         //Assert.assertTrue(updateTemplateInstance.checkTemplateInstance(userId, templateInstance) == "The parameter ParameterName2 is not defined.");\r
248         System.out.println("###########  Result4 : "+updateTemplateInstance.checkTemplateInstance(userId, templateInstance)+"   #################");\r
249 \r
250     }\r
251 \r
252     public void testCheckTemplateInstance5() throws Exception {\r
253         TemplateName templateName = new TemplateName("tename");\r
254         TemplateDefinition templateDefinition = mock(TemplateDefinition.class);\r
255         Map<TemplateName, TemplateDefinition> templateMap = new HashMap<TemplateName, TemplateDefinition>();\r
256         templateMap.put(templateName,templateDefinition);\r
257         when(tenantManage.getTempalteDefinition(userId)).thenReturn(null);\r
258         when(tenantManage.getDefinitionDataStore(userId)).thenReturn(null);\r
259         Map<UserId, User> usersMap = new HashMap<UserId, User>();\r
260         UserId userId2 = mock(UserId.class);\r
261         User user = mock(User.class);\r
262         usersMap.put(userId2,user);\r
263         when(tenantManage.getUsers()).thenReturn(usersMap);\r
264 \r
265         when(user.getUserRole()).thenReturn(new  org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.common.rev151010.UserRoleName("asd"));\r
266         when(templateInstance.getTemplateName()).thenReturn(templateName);\r
267         //Assert.assertTrue(updateTemplateInstance.checkTemplateInstance(userId, templateInstance) == "The template tename is not exist.");\r
268         System.out.println("###########  Result5 : "+updateTemplateInstance.checkTemplateInstance(userId, templateInstance)+"   #################");\r
269 \r
270     }\r
271 \r
272 \r
273 \r
274     @Test\r
275     public void testGetTempalteDefinition() throws Exception {\r
276         method = class1.getDeclaredMethod("getTempalteDefinition",new Class[]{\r
277                 TemplateName.class\r
278         });\r
279         method.setAccessible(true);\r
280 \r
281         UserId userId = mock(UserId.class);\r
282         User user = mock(User.class);\r
283         TemplateName templateName = new TemplateName("tename");\r
284         TemplateDefinition templateDefinition = mock(TemplateDefinition.class);\r
285         Map<UserId, User> usersMap = new HashMap<UserId, User>();\r
286         Map<TemplateName, TemplateDefinition> templateMap = new HashMap<TemplateName, TemplateDefinition>();\r
287 \r
288 \r
289         usersMap.put(userId,user);\r
290         templateMap.put(templateName,templateDefinition);\r
291 \r
292         when(tenantManage.getUsers()).thenReturn(usersMap);\r
293         when(user.getUserRole()).thenReturn(new UserRoleName("admin"));\r
294         when(user.getUserId()).thenReturn(userId);\r
295         when(tenantManage.getTempalteDefinition(userId)).thenReturn(templateMap);\r
296         Assert.assertTrue(method.invoke(updateTemplateInstance, templateName) != null);\r
297     }\r
298 \r
299     @Test\r
300     public void testgetcreateInstance() throws Exception {\r
301         method = class1.getDeclaredMethod("createInstance",new Class[]{\r
302                 UserId.class,\r
303                 TemplateDefinition.class,\r
304                 HashMap.class,\r
305                 String.class\r
306         });\r
307         method.setAccessible(true);\r
308         UserId userid = mock(UserId.class);\r
309         TemplateDefinition definition = mock(TemplateDefinition.class);\r
310         Map<ParameterName, org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.ParameterValues> instaceParameterMap = new HashMap<ParameterName, org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.ParameterValues>();\r
311         ParameterName parameterName = new ParameterName("ParameterName");\r
312         org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.ParameterValues parameterValues = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.ParameterValues.class);\r
313         instaceParameterMap.put(parameterName,parameterValues);\r
314         String instanceName = new String("instance");\r
315 \r
316         //test\r
317         List<TemplateParameter> teplateParameters = new ArrayList<TemplateParameter>();\r
318         TemplateParameter parameter = mock(TemplateParameter.class);\r
319         teplateParameters.add(parameter);\r
320         when(definition.getTemplateParameter()).thenReturn(teplateParameters);\r
321         AbstractIntents abstractIntents = mock(AbstractIntents.class);\r
322         AbstractObjects abstractObjects = mock(AbstractObjects.class);\r
323         when(definition.getAbstractIntents()).thenReturn(abstractIntents);\r
324         when(abstractIntents.getAbstractObjects()).thenReturn(abstractObjects);\r
325         when(definition.getAbstractIntents()).thenReturn(abstractIntents);\r
326         when(abstractIntents.getAbstractObjects()).thenReturn(abstractObjects);\r
327         List<AbstractNode> abstractNodes = new ArrayList<AbstractNode>();\r
328         AbstractNode abstractNode = mock(AbstractNode.class);\r
329         abstractNodes.add(abstractNode);\r
330         when(abstractObjects.getAbstractNode()).thenReturn(abstractNodes);\r
331         when(abstractObjects.getAbstractNode()).thenReturn(abstractNodes);\r
332         when(abstractNode.getNodeType()).thenReturn(new NodeType("host"));\r
333         Map<PhysicalHostName, PhysicalHost> physicalHostMap = new HashMap<PhysicalHostName, PhysicalHost>();\r
334         PhysicalHostName physicalHostName = new PhysicalHostName("hostname");\r
335         PhysicalHost physicalHost = mock(PhysicalHost.class);\r
336         physicalHostMap.put(physicalHostName,physicalHost);\r
337         field = class1.getDeclaredField("getDefinitions");\r
338         field.setAccessible(true);\r
339         GetDefinitions getDefinitions = mock(GetDefinitions.class);\r
340         field.set(updateTemplateInstance,getDefinitions);\r
341         when(getDefinitions.getPhysicalHost()).thenReturn(physicalHostMap);\r
342         when(abstractNode.getNodeName()).thenReturn(new NodeName("hostname"));\r
343         PhysicalHostId physicalHostId = new PhysicalHostId("11111111-1111-1111-1111-111111111111");\r
344         when(abstractNode.getNodeName()).thenReturn(new NodeName("hostname"));\r
345         when(physicalHost.getHostId()).thenReturn(physicalHostId);\r
346         when(abstractNode.getNodeName()).thenReturn(new NodeName("ParameterName"));\r
347         when(abstractNode.getNodeName()).thenReturn(new NodeName("ParameterName"));\r
348         List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.StringValue> stringValues = new ArrayList<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.StringValue>();\r
349         org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.StringValue stringValue = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.StringValue.class);\r
350         stringValues.add(stringValue);\r
351         when(parameterValues.getStringValue()).thenReturn(stringValues);\r
352         when(stringValue.getValue()).thenReturn("test");\r
353         when(abstractNode.getNodeType()).thenReturn(new NodeType("ParameterName"));\r
354         when(abstractNode.getNodeType()).thenReturn(new NodeType("ParameterName"));\r
355         when(parameterValues.getStringValue()).thenReturn(stringValues);\r
356         when(stringValue.getValue()).thenReturn("test");\r
357 \r
358         // if (abstractNode.getSubNode()!=null)\r
359         List<SubNode> subNodeList = new LinkedList<SubNode>();\r
360         SubNode subNode = mock(SubNode.class);\r
361         subNodeList.add(subNode);\r
362         when(abstractNode.getSubNode()).thenReturn(subNodeList);\r
363 \r
364         field = class1.getDeclaredField("abstractInstanceIdMap");\r
365         field.setAccessible(true);\r
366         Map<String,String> abstractInstanceIdMap = new HashMap<String,String>();\r
367         String s1 = "11111111-1111-1111-1111-111111111111";\r
368         String s2 = "11111111-1111-1111-1111-111111111111";\r
369         abstractInstanceIdMap.put(s1,s2);\r
370         field.set(updateTemplateInstance,abstractInstanceIdMap);\r
371         when(subNode.getNodeId()).thenReturn(new NodeId("11111111-1111-1111-1111-111111111111"));\r
372         when(subNode.getNodeId()).thenReturn(new NodeId("11111111-1111-1111-1111-111111111111"));\r
373         when(subNode.getNodeId()).thenReturn(new NodeId("11111111-1111-1111-1111-111111111111"));\r
374 \r
375         when(abstractNode.getNodeId()).thenReturn(new NodeId("11111111-1111-1111-1111-111111111111"));\r
376         when(abstractNode.getNodeName()).thenReturn(new NodeName("hostname"));\r
377         when(abstractNode.getNodeId()).thenReturn(new NodeId("11111111-1111-1111-1111-111111111111"));\r
378 \r
379         //if (abstractNode.getProperty()!=null)\r
380         List<Property> propertyList = new LinkedList<Property>();\r
381         Property property = mock(Property.class);\r
382         propertyList.add(property);\r
383         //when(abstractNode.getProperty()).thenReturn(propertyList);\r
384         when(abstractNode.getProperty()).thenReturn(null);\r
385         when(property.getPropertyName()).thenReturn(new PropertyName(NEMOConstants.sub_nodes));\r
386         org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.property.instance.PropertyValues propertyValues = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.property.instance.PropertyValues.class);\r
387         List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.property.instance.property.values.StringValue> stringValues2 = new ArrayList<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.property.instance.property.values.StringValue>();\r
388         //List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.property.instance.property.values.IntValue> intValues = new ArrayList<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.property.instance.property.values.IntValue>();\r
389         org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.property.instance.property.values.StringValue stringValue2 = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.property.instance.property.values.StringValue.class);\r
390         //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.property.instance.property.values.IntValue intValue = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.property.instance.property.values.IntValue.class);\r
391         RangeValue rangeValue = mock(RangeValue.class);\r
392         stringValues2.add(stringValue2);\r
393         //intValues.add(intValue);\r
394         when(property.getPropertyValues()).thenReturn(propertyValues);\r
395         when(propertyValues.getStringValue()).thenReturn(stringValues2);\r
396         when(property.getPropertyValues()).thenReturn(propertyValues);\r
397         when(propertyValues.getIntValue()).thenReturn(null);\r
398         when(property.getPropertyValues()).thenReturn(propertyValues);\r
399         when(propertyValues.getRangeValue()).thenReturn(null);\r
400 \r
401         List<StringValue> subnodes = new ArrayList<StringValue>();\r
402         StringValue subnode = mock(StringValue.class);\r
403         subnodes.add(subnode);\r
404         org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.property.instance.PropertyValues propertyValues2 = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.property.instance.PropertyValues.class);\r
405         when(property.getPropertyValues()).thenReturn(propertyValues2);\r
406         when(propertyValues2.getStringValue()).thenReturn(subnodes);\r
407         when(subnode.getValue()).thenReturn("ParameterName");\r
408         List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.StringValue> stringValues3 = new ArrayList<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.StringValue>();\r
409         org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.StringValue stringValue3 = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.StringValue.class);\r
410         stringValues3.add(stringValue3);\r
411         when(subnode.getValue()).thenReturn("ParameterName");\r
412         when(parameterValues.getStringValue()).thenReturn(stringValues3);\r
413         String s3 = "test";\r
414         when(stringValue3.getValue()).thenReturn(s3);\r
415         when(tenantManage.getObjectId(userid,s3)).thenReturn("test");\r
416         when(stringValue3.getValue()).thenReturn(s3);\r
417         when(tenantManage.getObjectId(userid,s3)).thenReturn("test");\r
418 \r
419 \r
420         //if (objects.getAbstractConnection()!=null)\r
421         List<AbstractConnection> abstractConnections = new ArrayList<AbstractConnection>();\r
422         AbstractConnection abstractConnection = mock(AbstractConnection.class);\r
423         abstractConnections.add(abstractConnection);\r
424         when(abstractObjects.getAbstractConnection()).thenReturn(abstractConnections);\r
425         when(abstractObjects.getAbstractConnection()).thenReturn(abstractConnections);\r
426         when(abstractConnection.getConnectionName()).thenReturn(new ConnectionName("connname"));\r
427         when(abstractConnection.getConnectionType()).thenReturn(new ConnectionType("conntype"));\r
428         when(abstractConnection.getConnectionId()).thenReturn(new ConnectionId("11111111-1111-1111-1111-111111111111"));\r
429         when(abstractConnection.getConnectionName()).thenReturn(new ConnectionName("connname"));\r
430         when(abstractConnection.getConnectionId()).thenReturn(new ConnectionId("11111111-1111-1111-1111-111111111111"));\r
431         List<EndNode> endNodeList = new LinkedList<EndNode>();\r
432         EndNode endNode = mock(EndNode.class);\r
433         endNodeList.add(endNode);\r
434         when(abstractConnection.getEndNode()).thenReturn(endNodeList);\r
435         when(abstractConnection.getEndNode()).thenReturn(endNodeList);\r
436         abstractInstanceIdMap.clear();\r
437         abstractInstanceIdMap.put(s1,s2);\r
438         when(endNode.getNodeId()).thenReturn(new NodeId("11111111-1111-1111-1111-111111111111"));\r
439         when(endNode.getNodeId()).thenReturn(new NodeId("11111111-1111-1111-1111-111111111111"));\r
440         when(endNode.getNodeId()).thenReturn(new NodeId("11111111-1111-1111-1111-111111111111"));\r
441         List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.connection.instance.Property> propertyList2 = new LinkedList<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.connection.instance.Property>();\r
442         org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.connection.instance.Property property2 = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.connection.instance.Property.class);\r
443         propertyList2.add(property2);\r
444         when(abstractConnection.getProperty()).thenReturn(propertyList2);\r
445         when(abstractConnection.getProperty()).thenReturn(propertyList2);\r
446 \r
447         //test createConnProperty() time1\r
448         when(property2.getPropertyName()).thenReturn(new PropertyName("createConnProperty"));\r
449         when(property2.getPropertyName()).thenReturn(new PropertyName("createConnProperty"));\r
450 \r
451         List<StringValue> stringValuesConn = new LinkedList<StringValue>();\r
452         StringValue stringValueConn = mock(StringValue.class);\r
453         stringValuesConn.add(stringValueConn);\r
454         List<IntValue> intValuesConn = new LinkedList<IntValue>();\r
455         IntValue intValueConn = mock(IntValue.class);\r
456         intValuesConn.add(intValueConn);\r
457         RangeValue rangeValueConn = mock(RangeValue.class);\r
458         org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.property.instance.PropertyValues propertyValuesConn = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.property.instance.PropertyValues.class);\r
459         when(property2.getPropertyValues()).thenReturn(propertyValuesConn);\r
460         when(propertyValuesConn.getStringValue()).thenReturn(stringValuesConn);\r
461         when(stringValueConn.getValue()).thenReturn("ParameterName");\r
462         when(stringValueConn.getValue()).thenReturn("ParameterName");\r
463         List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.StringValue> stringValues4 = new ArrayList<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.StringValue>();\r
464         org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.StringValue stringValue4 = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.StringValue.class);\r
465         stringValues4.add(stringValue4);\r
466         when(parameterValues.getStringValue()).thenReturn(stringValues4);\r
467         when(parameterValues.getStringValue()).thenReturn(stringValues4);\r
468         when(stringValue4.getValue()).thenReturn("stringValue4");\r
469         when(stringValue4.getValue()).thenReturn("stringValue4");\r
470         when(parameterValues.getIntValue()).thenReturn(intValuesConn);\r
471         when(parameterValues.getIntValue()).thenReturn(intValuesConn);\r
472         when(intValueConn.getValue()).thenReturn(1L);\r
473         when(intValueConn.getValue()).thenReturn(1L);\r
474         org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.RangeValue rangeValue2 = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.RangeValue.class);\r
475         when(parameterValues.getRangeValue()).thenReturn(rangeValue2);\r
476         when(parameterValues.getRangeValue()).thenReturn(rangeValue2);\r
477         when(rangeValueConn.getMax()).thenReturn(2L);\r
478         when(rangeValueConn.getMin()).thenReturn(1L);\r
479 \r
480         List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.property.instance.property.values.IntValue> intValues2 = new ArrayList<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.property.instance.property.values.IntValue>();\r
481         when(property2.getPropertyValues()).thenReturn(propertyValuesConn);\r
482         when(propertyValuesConn.getIntValue()).thenReturn(intValues2);\r
483         when(property2.getPropertyValues()).thenReturn(propertyValuesConn);\r
484         when(propertyValuesConn.getIntValue()).thenReturn(intValues2);\r
485 \r
486         when(property2.getPropertyValues()).thenReturn(propertyValuesConn);\r
487         when(propertyValuesConn.getRangeValue()).thenReturn(rangeValueConn);\r
488         when(property2.getPropertyValues()).thenReturn(propertyValuesConn);\r
489         when(propertyValuesConn.getRangeValue()).thenReturn(rangeValueConn);\r
490 \r
491         //test createConnProperty() time2\r
492         when(property2.getPropertyName()).thenReturn(new PropertyName("createConnProperty"));\r
493         when(property2.getPropertyName()).thenReturn(new PropertyName("createConnProperty"));\r
494 \r
495         when(property2.getPropertyValues()).thenReturn(propertyValuesConn);\r
496         when(propertyValuesConn.getStringValue()).thenReturn(stringValuesConn);\r
497         when(stringValueConn.getValue()).thenReturn("ParameterName");\r
498         when(stringValueConn.getValue()).thenReturn("ParameterName");\r
499         when(parameterValues.getStringValue()).thenReturn(stringValues4);\r
500         when(parameterValues.getStringValue()).thenReturn(stringValues4);\r
501         when(stringValue4.getValue()).thenReturn("stringValue4");\r
502         when(stringValue4.getValue()).thenReturn("stringValue4");\r
503         when(parameterValues.getIntValue()).thenReturn(intValuesConn);\r
504         when(parameterValues.getIntValue()).thenReturn(intValuesConn);\r
505         when(intValueConn.getValue()).thenReturn(1L);\r
506         when(intValueConn.getValue()).thenReturn(1L);\r
507         when(parameterValues.getRangeValue()).thenReturn(rangeValue2);\r
508         when(parameterValues.getRangeValue()).thenReturn(rangeValue2);\r
509         when(rangeValueConn.getMax()).thenReturn(2L);\r
510         when(rangeValueConn.getMin()).thenReturn(1L);\r
511         when(property2.getPropertyValues()).thenReturn(propertyValuesConn);\r
512         when(propertyValuesConn.getIntValue()).thenReturn(intValues2);\r
513         when(property2.getPropertyValues()).thenReturn(propertyValuesConn);\r
514         when(propertyValuesConn.getIntValue()).thenReturn(intValues2);\r
515         when(property2.getPropertyValues()).thenReturn(propertyValuesConn);\r
516         when(propertyValuesConn.getRangeValue()).thenReturn(rangeValueConn);\r
517         when(property2.getPropertyValues()).thenReturn(propertyValuesConn);\r
518         when(propertyValuesConn.getRangeValue()).thenReturn(rangeValueConn);\r
519 \r
520         // if (objects.getAbstractFlow()!=null)\r
521         List<AbstractFlow> abstractFlows = new ArrayList<AbstractFlow>();\r
522         AbstractFlow abstractFlow = mock(AbstractFlow.class);\r
523         abstractFlows.add(abstractFlow);\r
524         when(abstractObjects.getAbstractFlow()).thenReturn(abstractFlows);\r
525         when(abstractObjects.getAbstractFlow()).thenReturn(abstractFlows);\r
526         when(abstractFlow.getFlowName()).thenReturn(new FlowName("FlowName"));\r
527         //abstractInstanceIdMap.clear();\r
528         when(abstractFlow.getFlowId()).thenReturn(new FlowId("11111111-1111-1111-1111-111111111111"));\r
529         List<MatchItem> matchItems = new LinkedList<MatchItem>();\r
530         MatchItem matchItem = mock(MatchItem.class);\r
531         matchItems.add(matchItem);\r
532         when(abstractFlow.getMatchItem()).thenReturn(matchItems);\r
533         when(abstractFlow.getMatchItem()).thenReturn(matchItems);\r
534         //test createMatchItem\r
535         when(matchItem.getMatchItemName()).thenReturn(new MatchItemName("MatchItemName"));\r
536         when(matchItem.getMatchItemName()).thenReturn(new MatchItemName("MatchItemName"));\r
537         org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.match.item.instance.MatchItemValue matchItemValue = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.match.item.instance.MatchItemValue.class);\r
538         when(matchItem.getMatchItemValue()).thenReturn(matchItemValue); //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\r
539         when(matchItemValue.getStringValue()).thenReturn("ParameterName");\r
540         when(matchItem.getMatchItemValue()).thenReturn(matchItemValue);\r
541         when(matchItemValue.getStringValue()).thenReturn("ParameterName");\r
542         when(matchItem.getMatchItemValue()).thenReturn(matchItemValue);\r
543         when(matchItemValue.getStringValue()).thenReturn("ParameterName");\r
544         List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.StringValue> stringValuesMatch = new LinkedList<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.StringValue>();\r
545         org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.StringValue stringValueMatch = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.StringValue.class);\r
546         stringValuesMatch.add(stringValueMatch);\r
547         List<IntValue> intValuesMatch = new LinkedList<IntValue>();\r
548         IntValue intValueMatch = mock(IntValue.class);\r
549         intValuesMatch.add(intValueMatch);\r
550         org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.RangeValue rangeValueMatch = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.RangeValue.class);\r
551         when(parameterValues.getStringValue()).thenReturn(stringValuesMatch);\r
552         when(parameterValues.getStringValue()).thenReturn(stringValuesMatch);\r
553         when(stringValueMatch.getValue()).thenReturn("value");\r
554         when(parameterValues.getIntValue()).thenReturn(intValuesMatch);\r
555         when(parameterValues.getIntValue()).thenReturn(intValuesMatch);\r
556         when(intValueMatch.getValue()).thenReturn(2L);\r
557         when(parameterValues.getRangeValue()).thenReturn(rangeValueMatch);\r
558         when(parameterValues.getRangeValue()).thenReturn(rangeValueMatch);\r
559         when(rangeValueMatch.getMax()).thenReturn(2L);\r
560         when(rangeValueMatch.getMin()).thenReturn(1L);\r
561         when(matchItem.getMatchItemValue()).thenReturn(matchItemValue);\r
562         when(matchItemValue.getIntValue()).thenReturn(1L);\r
563         when(matchItem.getMatchItemValue()).thenReturn(matchItemValue);\r
564         when(matchItemValue.getIntValue()).thenReturn(2L);\r
565         org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.match.item.instance.match.item.value.RangeValue rangeValue3 = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.object.rev151010.match.item.instance.match.item.value.RangeValue.class);\r
566         when(matchItem.getMatchItemValue()).thenReturn(matchItemValue);\r
567         when(matchItemValue.getRangeValue()).thenReturn(rangeValue3);\r
568         when(matchItem.getMatchItemValue()).thenReturn(matchItemValue);\r
569         when(matchItemValue.getRangeValue()).thenReturn(rangeValue3);\r
570 \r
571 \r
572         //if (definition.getAbstractIntents().getAbstractOperations()!=null)\r
573         org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.definition.grouping._abstract.intents.AbstractOperations abstractOperations = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.definition.grouping._abstract.intents.AbstractOperations.class);\r
574         List<AbstractOperation> abstractOperationList = new ArrayList<AbstractOperation>();\r
575         AbstractOperation abstractOperation = mock(AbstractOperation.class);\r
576         abstractOperationList.add(abstractOperation);\r
577         when(definition.getAbstractIntents()).thenReturn(abstractIntents);\r
578         when(abstractIntents.getAbstractOperations()).thenReturn(abstractOperations);\r
579         when(definition.getAbstractIntents()).thenReturn(abstractIntents);\r
580         when(abstractIntents.getAbstractOperations()).thenReturn(abstractOperations);\r
581         when(abstractOperations.getAbstractOperation()).thenReturn(abstractOperationList);\r
582         instaceParameterMap.clear();\r
583         parameterName = new ParameterName("OperationName"+"."+NEMOConstants.Priority);\r
584         instaceParameterMap.put(parameterName,parameterValues);\r
585         when(abstractOperation.getOperationName()).thenReturn(new OperationName("OperationName"));\r
586         when(abstractOperation.getOperationName()).thenReturn(new OperationName("OperationName"));\r
587         List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.IntValue> intValuesOp = new ArrayList<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.IntValue>();\r
588         org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.IntValue intValueOp = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.IntValue.class);;\r
589         intValuesOp.add(intValueOp);\r
590         when(parameterValues.getIntValue()).thenReturn(intValuesOp);\r
591         when(parameterValues.getStringValue()).thenReturn(null);\r
592         when(parameterValues.getRangeValue()).thenReturn(null);\r
593         when(parameterValues.getIntValue()).thenReturn(intValuesOp);\r
594         when(intValueOp.getValue()).thenReturn(1L);\r
595 \r
596         //when(abstractOperation.getTargetObject()).thenReturn(new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.common.rev151010.ObjectId("11111111-1111-1111-1111-111111111111"));\r
597 \r
598 \r
599         parameterName = new ParameterName(NEMOConstants.Target+"."+"OperationName");\r
600         org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.ParameterValues parameterValues2 = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.ParameterValues.class);\r
601         instaceParameterMap.put(parameterName,parameterValues2);\r
602         when(abstractOperation.getOperationName()).thenReturn(new OperationName("OperationName"));\r
603         List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.StringValue> stringValuesOp = new ArrayList<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.StringValue>();\r
604         org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.StringValue stringValueOp = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.StringValue.class);;\r
605         stringValuesOp.add(stringValueOp);\r
606         Map<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.ParameterValues, String> nameIdMap = new HashMap<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.ParameterValues, String>();\r
607         String s4 = NEMOConstants.Target+"."+"OperationName";\r
608         String s5 = "11111111-1111-1111-1111-111111111111";\r
609         nameIdMap.put(parameterValues2,s5);\r
610         field = class1.getDeclaredField("nameIdMap");\r
611         field.setAccessible(true);\r
612         field.set(updateTemplateInstance,nameIdMap);\r
613         when(parameterValues2.getIntValue()).thenReturn(null);\r
614         when(parameterValues2.getStringValue()).thenReturn(stringValuesOp);\r
615         when(parameterValues2.getRangeValue()).thenReturn(null);\r
616 \r
617 \r
618         //if (abstractOperation.getConditionSegment()!=null)\r
619         List<ConditionSegment> conditionSegments = new LinkedList<ConditionSegment>();\r
620         ConditionSegment conditionSegment = mock(ConditionSegment.class);\r
621         conditionSegments.add(conditionSegment);\r
622         when(abstractOperation.getConditionSegment()).thenReturn(conditionSegments);\r
623 \r
624         //test createCondition\r
625         //instaceParameterMap.clear();\r
626         ParameterName parameterNamecondition = new ParameterName("ParameterName");\r
627         org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.ParameterValues parameterValuesCodition = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.ParameterValues.class);\r
628         instaceParameterMap.put(parameterNamecondition,parameterValuesCodition);\r
629         org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.operation.rev151010.condition.instance.condition.segment.ConditionParameterTargetValue  conditionParameterTargetValue = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.operation.rev151010.condition.instance.condition.segment.ConditionParameterTargetValue.class);\r
630         when(conditionSegment.getConditionParameterTargetValue()).thenReturn(conditionParameterTargetValue);\r
631         when(conditionParameterTargetValue.getStringValue()).thenReturn("ParameterName");\r
632         when(conditionSegment.getConditionParameterTargetValue()).thenReturn(conditionParameterTargetValue);\r
633         when(conditionParameterTargetValue.getStringValue()).thenReturn("ParameterName");\r
634         List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.StringValue> stringValuesCod = new LinkedList<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.StringValue>();\r
635         List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.IntValue> intValuesCod = new LinkedList<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.IntValue>();\r
636         org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.StringValue stringValueCod = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.StringValue.class);\r
637         org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.IntValue intValueCod = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.IntValue.class);\r
638         stringValuesCod.add(stringValueCod);\r
639         intValuesCod.add(intValueCod);\r
640         org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.RangeValue rangeValueCod = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.RangeValue.class);\r
641         when(parameterValuesCodition.getStringValue()).thenReturn(stringValuesCod);\r
642         when(parameterValuesCodition.getStringValue()).thenReturn(stringValuesCod);\r
643         when(stringValueCod.getValue()).thenReturn("stringValueCod");\r
644         when(parameterValuesCodition.getIntValue()).thenReturn(intValuesCod);\r
645         when(parameterValuesCodition.getIntValue()).thenReturn(intValuesCod);\r
646         when(intValueCod.getValue()).thenReturn(1L);\r
647         when(parameterValuesCodition.getRangeValue()).thenReturn(rangeValueCod);\r
648         when(parameterValuesCodition.getRangeValue()).thenReturn(rangeValueCod);\r
649         when(conditionSegment.getConditionParameterTargetValue()).thenReturn(conditionParameterTargetValue);\r
650         when(conditionParameterTargetValue.getIntValue()).thenReturn(1L);\r
651         when(conditionSegment.getConditionParameterTargetValue()).thenReturn(conditionParameterTargetValue);\r
652         when(conditionParameterTargetValue.getIntValue()).thenReturn(1L);\r
653         when(conditionSegment.getConditionParameterTargetValue()).thenReturn(conditionParameterTargetValue);\r
654         when(conditionParameterTargetValue.getRangeValue()).thenReturn(mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.operation.rev151010.condition.instance.condition.segment.condition.parameter.target.value.RangeValue.class));\r
655         when(conditionSegment.getConditionParameterTargetValue()).thenReturn(conditionParameterTargetValue);\r
656         when(conditionParameterTargetValue.getRangeValue()).thenReturn(mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.operation.rev151010.condition.instance.condition.segment.condition.parameter.target.value.RangeValue.class));\r
657 \r
658         //if (abstractOperation.getAction()==null)\r
659        /* List<Action> actions = new LinkedList<Action>();\r
660         Action action = mock(Action.class);\r
661         actions.add(action);*/\r
662         when(abstractOperation.getAction()).thenReturn(null);\r
663 \r
664         method.invoke(updateTemplateInstance, userid, definition, instaceParameterMap, instanceName);\r
665         System.out.println("###########  Result XXXX "+method.invoke(updateTemplateInstance,userid,definition,instaceParameterMap,instanceName)+" ####");\r
666        // Assert.assertTrue(method.invoke(userid,definition,instaceParameterMap,instanceName) != null);\r
667 \r
668     }\r
669 \r
670 \r
671     @Test\r
672     public void testcreateAction() throws Exception {\r
673         method = class1.getDeclaredMethod("createAction",new Class[]{\r
674                 Action.class,\r
675                 HashMap.class,\r
676         });\r
677         method.setAccessible(true);\r
678         Action action = mock(Action.class);\r
679         HashMap<ParameterName, org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.ParameterValues> instaceParameterMap = new HashMap<ParameterName, org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.ParameterValues>();\r
680         ParameterName parameterNameAc = new ParameterName("ParameterName");\r
681         org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.ParameterValues parameterValuesAc = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.ParameterValues.class);\r
682         instaceParameterMap.put(parameterNameAc,parameterValuesAc);\r
683 \r
684         //test createAction\r
685         when(action.getActionName()).thenReturn(new ActionName("action"));\r
686         when(action.getActionName()).thenReturn(new ActionName("action"));\r
687 \r
688         org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.operation.rev151010.action.instance.ParameterValues parameterValuesAction = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.operation.rev151010.action.instance.ParameterValues.class);\r
689         when(action.getParameterValues()).thenReturn(parameterValuesAction);\r
690 \r
691         List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.operation.rev151010.action.instance.parameter.values.StringValue> stringValuesAc1 = new LinkedList<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.operation.rev151010.action.instance.parameter.values.StringValue>();\r
692         org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.operation.rev151010.action.instance.parameter.values.StringValue stringValueAc1 = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.operation.rev151010.action.instance.parameter.values.StringValue.class);\r
693         List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.operation.rev151010.action.instance.parameter.values.IntValue> intValuesAc1 = new LinkedList<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.operation.rev151010.action.instance.parameter.values.IntValue>();\r
694         org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.operation.rev151010.action.instance.parameter.values.IntValue intValueAc1 = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.operation.rev151010.action.instance.parameter.values.IntValue.class);\r
695         org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.operation.rev151010.action.instance.parameter.values.RangeValue rangeValueAc1 = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.operation.rev151010.action.instance.parameter.values.RangeValue.class);\r
696         stringValuesAc1.add(stringValueAc1);\r
697         intValuesAc1.add(intValueAc1);\r
698         when(action.getParameterValues()).thenReturn(parameterValuesAction);\r
699         when(parameterValuesAction.getStringValue()).thenReturn(stringValuesAc1);\r
700          when(action.getParameterValues()).thenReturn(parameterValuesAction);\r
701         when(parameterValuesAction.getStringValue()).thenReturn(stringValuesAc1);\r
702         when(stringValueAc1.getValue()).thenReturn("ParameterName");\r
703         when(stringValueAc1.getValue()).thenReturn("ParameterName");\r
704         List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.StringValue> stringValuesAc2 = new LinkedList<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.StringValue>();\r
705         List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.IntValue> intValuesAc2 = new LinkedList<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.IntValue>();\r
706         org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.StringValue stringValueAc2 = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.StringValue.class);\r
707         org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.IntValue intValueAc2 = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.IntValue.class);\r
708         stringValuesAc2.add(stringValueAc2);\r
709         intValuesAc2.add(intValueAc2);\r
710         org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.RangeValue rangeValueAc2 = mock(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.template.rev151201.template.instance.grouping.template.parameter.parameter.values.RangeValue.class);\r
711         when(parameterValuesAc.getStringValue()).thenReturn(stringValuesAc2);\r
712         when(parameterValuesAc.getStringValue()).thenReturn(stringValuesAc2);\r
713 \r
714 \r
715         Map<String, String> nameIdMap = new HashMap<String, String>();\r
716         String s1 = "s1";\r
717         String s2 = "11111111-1111-1111-1111-111111111111";\r
718         nameIdMap.put(s1,s2);\r
719         field = class1.getDeclaredField("nameIdMap");\r
720         field.setAccessible(true);\r
721         field.set(updateTemplateInstance,nameIdMap);\r
722 \r
723         field = class1.getDeclaredField("abstractInstanceIdMap");\r
724         field.setAccessible(true);\r
725         Map<String,String> abstractInstanceIdMap = new HashMap<String,String>();\r
726         String s3 = "11111111-1111-1111-1111-111111111111";\r
727         String s4 = "11111111-1111-1111-1111-111111111111";\r
728         abstractInstanceIdMap.put(s3,s4);\r
729         field.set(updateTemplateInstance,abstractInstanceIdMap);\r
730 \r
731         when(stringValueAc2.getValue()).thenReturn("s1");\r
732         when(stringValueAc2.getValue()).thenReturn("s1");\r
733 \r
734         when(parameterValuesAc.getIntValue()).thenReturn(intValuesAc2);\r
735         when(parameterValuesAc.getIntValue()).thenReturn(intValuesAc2);\r
736         when(intValueAc2.getValue()).thenReturn(1L);\r
737         when(intValueAc2.getValue()).thenReturn(1L);\r
738 \r
739         when(parameterValuesAc.getRangeValue()).thenReturn(rangeValueAc2);\r
740         when(parameterValuesAc.getRangeValue()).thenReturn(rangeValueAc2);\r
741         when(rangeValueAc2.getMax()).thenReturn(2L);\r
742         when(rangeValueAc2.getMin()).thenReturn(1L);\r
743 \r
744         when(action.getParameterValues()).thenReturn(parameterValuesAction);\r
745         when(parameterValuesAction.getIntValue()).thenReturn(intValuesAc1);\r
746         when(action.getParameterValues()).thenReturn(parameterValuesAction);\r
747         when(parameterValuesAction.getIntValue()).thenReturn(intValuesAc1);\r
748 \r
749         when(action.getParameterValues()).thenReturn(parameterValuesAction);\r
750         when(parameterValuesAction.getRangeValue()).thenReturn(rangeValueAc1);\r
751         when(action.getParameterValues()).thenReturn(parameterValuesAction);\r
752         when(parameterValuesAction.getRangeValue()).thenReturn(rangeValueAc1);\r
753         when(rangeValueAc1.getMax()).thenReturn(2L);\r
754         when(rangeValueAc1.getMin()).thenReturn(1L);\r
755 \r
756 \r
757 \r
758         method.invoke(updateTemplateInstance, action,instaceParameterMap);\r
759         //System.out.println("###########  Result XXXXXXXX "+method.invoke(updateTemplateInstance, action,instaceParameterMap)+" ####");\r
760     }\r
761 }