OneM2M_Templates.ttcn 103 KB
Newer Older
1 2 3 4 5 6 7
/**
 *  Copyright Notification
 *  No part of this document may be reproduced, in an electronic retrieval system or otherwise, except as authorized by written permission.
 *  The copyright and the foregoing restriction extend to reproduction in all media.
 *  © 2016, oneM2M Partners Type 1 (ARIB, ATIS, CCSA, ETSI, TIA, TSDSI, TTA, TTC).
 *  All rights reserved.
 *  
8
 *  @author     oneM2M
9
 *  @version    $URL: https://forge.etsi.org/svn/oneM2M/trunk/ttcn/LibOneM2M/OneM2M_Templates.ttcn $
10
 *              $Id: OneM2M_Templates.ttcn 274 2017-05-17 09:44:46Z reinaortega $
11 12 13 14 15 16 17 18 19 20 21
 *  @desc       Module containing templates for oneM2M
 *
 */
module OneM2M_Templates {

	import from XSD all;
	import from OneM2M_Types all;
	import from OneM2M_TestSystem all;
	import from OneM2M_TypesAndValues all;
	//import from OneM2M_AdditionalTypes all;
	import from OneM2M_Pixits all;
22
	//import from OneM2M_Functions all;
23

24
		
25 26 27 28 29 30
	/**
	 * @desc Get a converted to string random number 
	 * @param p_lower Lower limit 
	 * @param p_upper Upper limit
	 * @return Random number converted to string
	 * @verdict 
31
	 */
32 33 34 35 36
	function f_rnd(in integer p_lower, in integer p_upper) return charstring {
		
		return int2str(float2int(rnd() * int2float(p_upper - p_lower + 1)) + p_lower);	
	}

37 38

	/* Templates */
39
	
40
	group Primitives {
41 42 43 44
    	/** 
    	 * @desc Base template for request sending operations
    	 * @param p_requestPrimitive
    	 */
45
    	template (value) MsgOut m_request(in template (value) RequestPrimitive p_requestPrimitive, in template (omit) AttributeAux_list p_forcedFields := omit) := {
46
    		primitive := { requestPrimitive := p_requestPrimitive},
47
    		host := PX_SUT_ADDRESS,
48 49 50
    		xmlNamespace := PX_XML_NAMESPACE,
    		protocolBinding := PX_PROTOCOL_BINDING,
    		serialization := PX_SERIALIZATION, 
51
    		forcedFields := p_forcedFields
52
    	};
53 54 55 56 57
    	
		/** 
		 * @desc Base template for response sending operations
		 * @param p_responsePrimitive
		 */
58
		template (value) MsgOut m_response(in template (value) ResponsePrimitive p_responsePrimitive, in template (omit) AttributeAux_list p_forcedFields := omit) := {
59
			primitive := { responsePrimitive := p_responsePrimitive},
60
			host := PX_SUT_ADDRESS,
61 62 63
			xmlNamespace := PX_XML_NAMESPACE,
			protocolBinding := PX_PROTOCOL_BINDING,
			serialization := PX_SERIALIZATION, 
64
			forcedFields := p_forcedFields
65
		};
66 67 68 69 70 71 72 73 74 75 76 77 78 79
		
		/** 
		 * @desc Base template for response sending operations
		 * @param p_responsePrimitive
		 */
		template (value) MsgOut m_httpResponse(in template (value) ResponsePrimitive p_responsePrimitive, in template (omit) AttributeAux_list p_forcedFields := omit) := {
			primitive := { responsePrimitive := p_responsePrimitive},
			host := PX_SUT_ADDRESS,
			xmlNamespace := PX_XML_NAMESPACE,
			protocolBinding := "HTTP",
			serialization := PX_SERIALIZATION, 
			forcedFields := p_forcedFields
		};
		
80 81 82 83 84 85 86 87 88 89 90 91 92
    	//Added by @Naum
    	template MsgIn mw_request(in template (present) RequestPrimitive p_requestPrimitive) := {
    		primitive := { requestPrimitive := p_requestPrimitive}
    	};
    	
		/** 
		 * @desc Base template for response receiving operations
		 * @param p_responsePrimitive
		 */
		template MsgIn mw_response(in template (present) ResponsePrimitive p_responsePrimitive) := {
			primitive := { responsePrimitive := p_responsePrimitive}
		};
    	
93
	}//end of group primitives
94 95 96 97 98 99 100 101 102 103
	
	group RequestPrimitives { 
		
		group Retrieve {
	
        	/**
			 * @desc 
			 */
        	template (value) RequestPrimitive m_retrieveCseBase := {
        		operation := int2,
oneM2MTester Develop Team's avatar
oneM2MTester Develop Team committed
104
        		to_ := PX_URI_CSE,//c_uri_cse,//@Martin
105
        		from_ := "admin:admin",
106 107
        		requestIdentifier := "m_retrieveCseBase" & f_rnd(1, 1000000),
        		resourceType := omit,
108
				primitiveContent := omit,
109
				roleIDs := omit, 
110 111 112 113 114 115 116 117 118 119 120
				originatingTimestamp := omit,
				requestExpirationTimestamp := omit,
				resultExpirationTimestamp := omit,
				operationExecutionTime := omit,
				responseType := omit,
				resultPersistence := omit,
				resultContent := omit,
				eventCategory := omit,
				deliveryAggregation := omit,
				groupRequestIdentifier := omit,
				filterCriteria := omit,
121 122 123
        		discoveryResultType := omit,
				tokens := omit,
				tokenIDs := omit,
124
				localTokenIDs := omit,
125
				tokenRequestIndicator := omit
126
        	};
127

128 129 130 131
			/**
			 * @desc Base RETRIEVE request primitive
			 * @param p_targetResourceAddress Target resource address
			 * @param p_originator Originator (from)
132
			 */
133
			template (value) RequestPrimitive m_retrieveResource(XSD.ID p_targetResourceAddress, in XSD.ID p_originator) := {
134
				operation := int2,
135
				to_ := p_targetResourceAddress,
136
				from_ := p_originator,
137 138
				requestIdentifier := "m_retrieveResource" & f_rnd(1, 1000000),
				resourceType := omit,
139
				primitiveContent := omit,
140
				roleIDs := omit, 
141 142 143 144 145 146 147 148 149 150 151
				originatingTimestamp := omit,
				requestExpirationTimestamp := omit,
				resultExpirationTimestamp := omit,
				operationExecutionTime := omit,
				responseType := omit,
				resultPersistence := omit,
				resultContent := omit,
				eventCategory := omit,
				deliveryAggregation := omit,
				groupRequestIdentifier := omit,
				filterCriteria := omit,
152 153 154
				discoveryResultType := omit,
				tokens := omit,
				tokenIDs := omit,
155
				localTokenIDs := omit,
156
				tokenRequestIndicator := omit
157 158
			};
        	
159 160 161 162 163
			/**
			 * @desc RETRIEVE request primitive for a single attribute in To field ("targetResourceAddress#AttributeName")
			 * @param p_targetResourceAddress Target resource address (including "#AttributeName")
			 * @param p_originator Originator (from)
			 */
164
        	template (value) RequestPrimitive m_retrieveResourceAttributeToOption(XSD.ID p_targetResourceAddress, in XSD.ID p_originator) := {
165
        		operation := int2,
166
        		to_ := p_targetResourceAddress,
167
        		from_ := p_originator,
168 169
        		requestIdentifier := "m_retrieveResourceAttributeOptionTo" & f_rnd(1, 1000000),
        		resourceType := omit,
170
				primitiveContent := omit, 
171
				roleIDs := omit,
172 173 174 175 176 177 178 179 180 181 182
				originatingTimestamp := omit,
				requestExpirationTimestamp := omit,
				resultExpirationTimestamp := omit,
				operationExecutionTime := omit,
				responseType := omit,
				resultPersistence := omit,
				resultContent := omit,
				eventCategory := omit,
				deliveryAggregation := omit,
				groupRequestIdentifier := omit,
				filterCriteria := omit,
183 184 185
				discoveryResultType := omit,
				tokens := omit,
				tokenIDs := omit,
186
				localTokenIDs := omit,
187
				tokenRequestIndicator := omit
188 189
        	};
        	
190 191 192 193 194
			/**
			 * @desc RETRIEVE request primtive containing the target attributes in the primitiveContent field
			 * @param p_targetResourceAddress Target resource address 
			 * @param p_attributeList Target attribute list
			 * @param p_originator Originator (from)
195
			 */
196
			template (value) RequestPrimitive m_retrieveResourceAttributeContentOption(XSD.ID p_targetResourceAddress, in template (value) AttributeList_1 p_attributeList, in XSD.ID p_originator) := {
197
				operation := int2,
198
				to_ := p_targetResourceAddress,
199
				from_ := p_originator,
200 201
				requestIdentifier := "m_retrieveResourceAttributeContentOption" & f_rnd(1, 1000000),
				resourceType := omit,
202 203
				primitiveContent := {
					any_1 := {{AttributeList := p_attributeList}}
204
				},
205
				roleIDs := omit,
206 207 208 209 210 211 212 213 214 215 216
				originatingTimestamp := omit,
				requestExpirationTimestamp := omit,
				resultExpirationTimestamp := omit,
				operationExecutionTime := omit,
				responseType := omit,
				resultPersistence := omit,
				resultContent := omit,
				eventCategory := omit,
				deliveryAggregation := omit,
				groupRequestIdentifier := omit,
				filterCriteria := omit,
217 218 219
				discoveryResultType := omit,
				tokens := omit,
				tokenIDs := omit,
220
				localTokenIDs := omit,
221
				tokenRequestIndicator := omit
222 223 224 225
			};
    	}//end group Retrieve

    	group Update {
226 227
    		
    		template (value) RequestPrimitive m_update := {
228 229
				operation := int3,
				to_ := "NotInitialized",
230 231
				from_ := "NotInitialized",
				requestIdentifier := "m_update" & f_rnd(1, 1000000),
232
				resourceType := omit,
233
				primitiveContent:= omit,
234
				roleIDs := omit, 
235 236 237 238 239 240 241 242 243 244 245
				originatingTimestamp := omit,
				requestExpirationTimestamp := omit,
				resultExpirationTimestamp := omit,
				operationExecutionTime := omit,
				responseType := omit,
				resultPersistence := omit,
				resultContent := omit,
				eventCategory := omit,
				deliveryAggregation := omit,
				groupRequestIdentifier := omit,
				filterCriteria := omit,
246 247 248
				discoveryResultType := omit,
				tokens := omit,
				tokenIDs := omit,
249
				localTokenIDs := omit,
250
				tokenRequestIndicator := omit
251
			};
252
        	
253 254 255 256 257 258 259 260 261 262 263
			/**
			 * @desc Base UPDATE request primitive for Ae resource
			 */
			template (value) RequestPrimitive m_updateAeBase modifies m_update:= {
				from_ := PX_AE_ID_STEM,
				requestIdentifier := "m_updateAe" & f_rnd(1, 1000000),
				primitiveContent:= {
							any_1 := {{AE_optional := m_contentUpdateAe}}
				}
			};
        	
264 265 266 267 268 269 270 271 272 273
			/**
			 * @desc Base UPDATE request primitive for Container resource
			 */
			template (value) RequestPrimitive m_updateContainerBase modifies m_update:= {
				from_ := PX_AE_ID_STEM,
				requestIdentifier := "m_updateContainer" & f_rnd(1, 1000000),
				primitiveContent:= {
							any_1 := {{Container_optional := m_contentUpdateContainer}}
				}
			};
274
			
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
275 276 277 278 279 280 281 282 283 284 285 286
			//@ACV
			/**
			 * @desc Base UPDATE request primitive for ContentInstance resource
			 */
			template (value) RequestPrimitive m_updateContentInstanceBase modifies m_update:= {
				from_ := PX_AE_ID_STEM,
				requestIdentifier := "m_updateContentInstance" & f_rnd(1, 1000000),
				primitiveContent:= {
							any_1 := {{ContentInstance_optional := m_contentUpdateContentInstance}}
				}
			};
			
287 288 289
			/**
			 * @desc Base UPDATE request primitive for AccessControlPolicy resource
			 */        				
290
			template (value) RequestPrimitive m_updateAcpBase modifies m_update := {
291
				from_ := PX_AE_ID_STEM,
292
				requestIdentifier := "m_updateAcp" & f_rnd(1, 1000000),
293
				primitiveContent:= {
294
							any_1 := {{AccessControlPolicy_optional := m_contentUpdateAcp}}
295
				}
296 297
			};
			
298 299 300 301 302 303 304 305
			template (value) RequestPrimitive m_updateAcpPrivileges(in template(omit) SetOfAcrs p_privileges := omit, in template(omit) SetOfAcrs p_selfPrivileges := omit) modifies m_update := {
				from_ := PX_AE_ID_STEM,
				requestIdentifier := "m_updateAcp" & f_rnd(1, 1000000),
				primitiveContent:= {
							any_1 := {{AccessControlPolicy_optional := m_contentUpdateAcpPrivileges(p_privileges, p_selfPrivileges)}}
				}
			};
			
306 307 308
			/**
			 * @desc Base UPDATE request primitive for Group resource
			 */
309
			template (value) RequestPrimitive m_updateGroupBase modifies m_update := {
310
				from_ := PX_AE_ID_STEM,
311
				requestIdentifier := "m_updateGroup" & f_rnd(1, 1000000),
312
				primitiveContent:= {
313
							any_1 := {{Group_optional := m_contentUpdateGroup}}
314
				}
315 316
			};
			
317 318 319
			/**
			 * @desc Base UPDATE request primitive for Schedule resource
			 */
320
			template (value) RequestPrimitive m_updateScheduleBase modifies m_update := {
321
				from_ := PX_AE_ID_STEM,
322
				requestIdentifier := "m_updateSchedule" & f_rnd(1, 1000000),
323
				primitiveContent:= {
324
							any_1 := {{Schedule_optional := m_contentUpdateSchedule}}
325
				}
326 327
			};
			
328 329 330
			/**
			 * @desc Base UPDATE request primitive for PollingChannel resource
			 */
331
			template (value) RequestPrimitive m_updatePollingChannelBase modifies m_update := {
332
				from_ := PX_AE_ID_STEM,
333
				requestIdentifier := "m_updatePollingChannel" & f_rnd(1, 1000000),
334
				primitiveContent:= {
335
							any_1 := {{PollingChannel_optional := m_contentUpdatePollingChannel}}
336
				}
337 338
			};
			
339 340 341
			/**
			 * @desc Base UPDATE request primitive for Subscription resource
			 */
342
			template (value) RequestPrimitive m_updateSubscriptionBase modifies m_update := {
343
				from_ := PX_AE_ID_STEM,
344
				requestIdentifier := "m_updateSubscription" & f_rnd(1, 1000000),
345
				primitiveContent:= {
346
							any_1 := {{Subscription_optional := m_contentUpdateSubscription}}
347
				}
348
			};
349 350
			
			//@Martin
351
        	template (value) RequestPrimitive m_updateLocationPolicy(XSD.ID p_locResourceAddress, in template (omit) AcpType p_accessControlPolicyIds, in template (omit) XSD.Duration p_locationUpdatePeriod) modifies m_update := {
oneM2MTester Develop Team's avatar
oneM2MTester Develop Team committed
352
        	  	to_ 				:= p_locResourceAddress,
353 354 355
        	  	from_				:= PX_AE_ID_STEM, //AE originator id e.g.
        	  	requestIdentifier	:= "m_updateLocationPolicy",
        	  	primitiveContent	:= {        	    
356
        	    			any_1 := {{ LocationPolicy_optional := m_contentUpdateLocationPolicy(p_accessControlPolicyIds, p_locationUpdatePeriod) }}
357 358
        		}
			  };
359
        	
360 361 362
    	}//end group Update
    	
    	group Create {
363 364 365 366 367

			template (value) RequestPrimitive m_create := {
				operation := int1,
				to_ := "NotInitialized",
				from_ := "NotInitialized",
368
				requestIdentifier := testcasename() & "-m_create" & f_rnd(1, 1000000),
369 370
				resourceType := omit,
				primitiveContent := omit,
371
				roleIDs := omit,
372 373 374 375 376 377 378 379 380 381 382 383 384 385
				originatingTimestamp := omit,
				requestExpirationTimestamp := omit,
				resultExpirationTimestamp := omit,
				operationExecutionTime := omit,
				responseType := omit,
				resultPersistence := omit,
				resultContent := omit,
				eventCategory := omit,
				deliveryAggregation := omit,
				groupRequestIdentifier := omit,
				filterCriteria := omit,
				discoveryResultType := omit,
				tokens := omit,
				tokenIDs := omit,
386
				localTokenIDs := omit,
387
				tokenRequestIndicator := omit
388 389

			};
390
        	
391 392 393 394 395
			/**
			 * @desc Base Reception template for create operation
			 */
			template RequestPrimitive mw_create(template XSD.ID p_from := *, template XSD.ID p_to := ?) := {
				operation := int1,
396
				to_ := p_to,
397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421
				from_ := p_from,
				requestIdentifier := ?,
				resourceType := ?,
				primitiveContent := {
					any_1 := ?	
				},
				roleIDs := *,
				originatingTimestamp := *,
				requestExpirationTimestamp := *,
				resultExpirationTimestamp := *,
				operationExecutionTime := *,
				responseType := *,
				resultPersistence := *,
				resultContent := *,
				eventCategory := *,
				deliveryAggregation := *,
				groupRequestIdentifier := *,
				filterCriteria := *,
				discoveryResultType := *,
				tokens := *,
				tokenIDs := *,
				localTokenIDs := *,
				tokenRequestIndicator := *
			}
			
422 423
			
			/**
424 425 426 427 428 429
			 * @desc Base CREATE request primitive for AEAnnc resource
			 * @param p_accessControlPolicyIds
			 * @param p_to
			 * @param p_from
			 * @param p_appId
			 * @param p_stemId
430
			 */
431
			template (value) RequestPrimitive m_createAEAnnc(template (omit) AcpType p_accessControlPolicyIds := omit, template (omit) XSD.ID p_to := omit, template (omit) XSD.ID p_from := omit, XSD.ID p_appId, XSD.ID p_stemId := "") modifies m_create:= {
432 433 434 435 436
				to_ := p_to,
				from_ := p_from,//PX_AE_ID_STEM,//TODO We should use omit, "s", or "c"
				requestIdentifier := testcasename() & "-m_createAEAnnc" & f_rnd(1, 1000000),
				resourceType := int10002,
				primitiveContent := {
437
					any_1 := {{AEAnnc_optional := m_contentCreateAEAnnc({"Credential-ID:None"}, p_accessControlPolicyIds, p_appId, valueof(p_to) & "/" & p_stemId)}}	
438
				}
439 440
			};
			
441
			/**
442
			 * @desc Reception template for CREATE AEAnnc
443
			 */
444
			template RequestPrimitive mw_createAEAnnc(template (omit) XSD.ID p_from := omit, template (omit) XSD.ID p_to := omit, template (omit) AcpType p_accessControlPolicyIds := omit) modifies mw_create := {
445 446
				resourceType := int10002,
				primitiveContent := {
447 448
					any_1 := {{AEAnnc_optional := mw_contentCreateAEAnnc({"Credential-ID:None"}, p_accessControlPolicyIds)}}	
				}
449
			};
450 451

			//Added by @Naum
452
			template (value) RequestPrimitive m_createAe(XSD.ID p_appId, template (omit) AcpType p_accessControlPolicyIds := omit,template (omit) XSD.ID p_from := omit, template (omit) ResourceName p_resourceName :=  c_aeAuxName, in template (omit) PoaList p_poaList := omit) modifies m_create := {
453
				from_ := p_from,//PX_AE_ID_STEM,//TODO We should use omit, "s", or "c"
454
				requestIdentifier := testcasename() & "-m_createAe" & f_rnd(1, 1000000),
455 456
				resourceType := int2,
				primitiveContent := {
457
					any_1 := {{AE_optional := m_contentCreateAe(p_accessControlPolicyIds,p_resourceName, p_appId, p_poaList)}}	
458
				}
459
			};
460
        	
461 462 463 464 465 466 467 468 469 470
			/**
			 * @desc Reception template for AE registration
			 */
			template RequestPrimitive mw_createAe(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
				resourceType := int2,
				primitiveContent := {
					any_1 := {{AE_optional := ?}}	
				}
			};  
			        	
471
        	template (value) RequestPrimitive m_createAeAux(template (omit) AcpType p_accessControlPolicyIds := omit, in template (omit) PoaList p_poaList) modifies m_create := {
472
        		from_ := PX_AE_ID_STEM,//TODO We should use omit, "s", or "c"//@Martin
473
        		requestIdentifier := testcasename() & "-m_createAe" & f_rnd(1, 1000000),
474
        		resourceType := int2,
475
        		primitiveContent := {
476
        			any_1 := {{AE_optional := m_contentCreateAe(p_accessControlPolicyIds, c_aeAuxName, -, p_poaList)}}	
477 478
        		}
			};
479
        	
480 481 482
			/**
			 * @desc Base CREATE request primitive for AccessControlPolicy resource
			 */
483
			template (value) RequestPrimitive m_createAcpBase modifies m_create := {
484
				requestIdentifier := testcasename() & "-m_createAcp" & f_rnd(1, 1000000),
485
				resourceType := int1,
486
				primitiveContent := {
487
					any_1 := {{AccessControlPolicy_optional := m_contentCreateAcp ()}}
488
				}
489 490
			};
				
491
        	template (value) RequestPrimitive m_createAcp(XSD.ID p_parentResourceAddress, in template (omit)  XSD.String p_name := c_defaultAccessControlPolicyResourceName, in template (value) ListOfURIs p_acor := PX_ACOR, in template (value) AccessControlOperations p_allowedOperations := int63) modifies m_create := {
492
        		to_ := p_parentResourceAddress,
493
        		from_ := PX_AE_ID_STEM,
494
        		requestIdentifier := testcasename() & "-m_createAcp" & f_rnd(1, 1000000),
495
        		resourceType := int1,
496
        		primitiveContent := {
497
					any_1 := {{AccessControlPolicy_optional := m_contentCreateAcp (p_name, p_acor, p_allowedOperations)}}
498
        		}
499 500
        	};
        	
501 502 503 504 505 506 507 508 509 510 511 512
			/**
			 * @desc Reception template for CREATE AcpAnnc
			 */
			template RequestPrimitive mw_createAccessControlPolicyAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
				to_ := p_to,
				from_ := p_from,
				resourceType := int10002,
				primitiveContent := {
					any_1 := {{AccessControlPolicyAnnc_optional := mw_contentCreateAcpAnnc(-)}}	
				}
			};
        	
513 514 515 516
       	
			/**
			 * @desc Base CREATE request primitive for AccessControlPolicy resource (AUX)
			 */
517
        	template (value) RequestPrimitive m_createAcpAux(in template (value) XSD.String p_acpName := c_acpAuxName, in template (value) ListOfURIs p_acor := PX_ACOR, in template (value) AccessControlOperations p_allowedOperations := int63 ) modifies m_create := {
518
        		from_ := PX_SUPER_USER,
519
        		requestIdentifier := testcasename() & "-m_createAcpAux" & f_rnd(1, 1000000),
520
        		resourceType := int1,
521
        		primitiveContent := {
522
        			any_1 := {{AccessControlPolicy_optional := m_contentCreateAcp (p_acpName, p_acor, p_allowedOperations)}}	
523
        		}
524 525
        	};
        	
526
			//Added by @Naum
527
			template (value) RequestPrimitive m_createCSEBase (in ServiceSubscribedAppRule p_serviceSubscribedAppRule) modifies m_create := {
528
				from_ := PX_AE_ID_STEM,
529
				requestIdentifier := testcasename() & "-m_createCSE" & f_rnd(1, 1000000),
530
				resourceType := int1,//FIXME Is this the value for CSEBase? In any case, this template is not used at all
531 532
				primitiveContent := {
					any_1 := {{CSEBase_optional := m_contentCreateCSEBase (p_serviceSubscribedAppRule)}}
533
				}
534 535
			};
        	
536 537 538 539
       	
			/**
			 * @desc Base CREATE request primitive for Container resource
			 */
540
			template (value) RequestPrimitive m_createContainerBase modifies m_create := {
541
				requestIdentifier := testcasename() & "-m_createContainer" & f_rnd(1, 1000000),
542
				resourceType := int3,
543 544
				primitiveContent := {
					
545
					any_1 := {{Container_optional := m_contentCreateContainer}}
546
				}
547
			};
548 549 550 551 552 553 554 555 556
			
			/**
			 * @desc CREATE request primitive for Container resource wiht no resourceName provided
			 */
			template (value) RequestPrimitive m_createContainer_noResourceName modifies m_createContainerBase := {
				primitiveContent := {
					any_1 := {{Container_optional := m_contentCreateContainer(omit)}}
				}
			};
557
	
558
    		template (value) RequestPrimitive m_createContainer(XSD.ID p_parentResourceAddress, in template (omit) XSD.String p_resourceName := c_defaultContainerResourceName) modifies m_create := {
559
    			to_ := p_parentResourceAddress,
560
    			from_ := PX_AE_ID_STEM,
561
    			requestIdentifier := testcasename() & "-m_createContainer" & f_rnd(1, 1000000),
562
    			resourceType := int3,
563
    			primitiveContent := {
564
    				any_1 := {{Container_optional := m_contentCreateContainer(p_resourceName)}}
565
    			}
566 567
    		};
        	
568 569 570 571 572 573 574 575 576 577
			/**
			 * @desc Reception template for CREATE Container
			 */
			template RequestPrimitive mw_createContainer(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
				resourceType := int3,
				primitiveContent := {
					any_1 := {{Container_optional := ?}}	
				}
			};  
			
578
			/**
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
579
			 * @desc Base Reception template for CREATE ContainerAnnc
580
			 */
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
581
			template RequestPrimitive mw_createContainerAnncBase(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
582 583
				resourceType := int10003,
				primitiveContent := {
Miguel Angel Reina Ortega's avatar
Miguel Angel Reina Ortega committed
584
					any_1 := {{ContainerAnnc_optional := mw_contentCreateContainerAnncBase}}	
585
				}
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
586
			};
587
			
588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607
			/**
			 * @desc Reception template for CREATE FlexContainer
			 */
			template RequestPrimitive mw_createFlexContainer(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
				resourceType := int28, 
				primitiveContent := {
					any_1 := {{FlexContainer_optional := ?}}	
				}
			};  
			
			/**
			 * @desc Reception template for CREATE GenericInterworkingOperationInstance
			 */
			template RequestPrimitive mw_createGenericIwkOpInstance(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
				resourceType := int28,  // FIXME: not found in TS004
				primitiveContent := {
					any_1 := {{GenericInterworkingOperationInstance_optional := ?}}	
				}
			}; 
        	
608 609 610 611 612
			/**
			 * @desc Base CREATE request primitive for Content Instance resource
			 */
			template (value) RequestPrimitive m_createContentInstanceBase modifies m_create := {
				requestIdentifier := testcasename() & "-m_createContentInstance" & f_rnd(1, 1000000),
613
				resourceType := int4,
614 615 616 617 618
				primitiveContent := {
			
					any_1 := {{ContentInstance_optional := m_contentCreateContentInstance}}
				}
			};
619 620 621 622 623 624 625 626 627 628
				
			/**
			 * @desc CREATE request primitive for Content Instance resource with no resourceName provided
			 */
			template (value) RequestPrimitive m_createContentInstance_noResourceName modifies m_createContentInstanceBase := {
				primitiveContent := {
			
					any_1 := {{ContentInstance_optional := m_contentCreateContentInstance(omit)}}
				}
			};
629
    		
630
    		template (value) RequestPrimitive m_createContentInstance(XSD.ID p_parentResourceAddress, XSD.String p_primitiveContent) modifies m_create := {
631
    			to_ := p_parentResourceAddress,
632
    			from_ := "admin:admin",
633
    			requestIdentifier := testcasename() & "-m_createContentInstance" & f_rnd(1, 1000000),
634
    			resourceType := int4,
635
    			primitiveContent := {
636
    				any_1 := {{ContentInstance_optional := m_contentCreateContentInstance(p_primitiveContent)}}	
637
    			}
638 639
    		};
    		
640 641 642 643 644 645 646 647 648
			/**
			 * @desc Reception template for CREATE ContentInstanceAnnc
			 */
			template RequestPrimitive mw_createContentInstanceAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
				resourceType := int10014,
				primitiveContent := {
					any_1 := {{ContentInstanceAnnc_optional := ?}}	
				}
			};  
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
649 650 651 652 653 654 655
			
			/**
			 * @desc Base Reception template for CREATE ContentInstanceAnnc
			 */
			template RequestPrimitive mw_createContentInstanceAnncBase(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
				resourceType := int10014,
				primitiveContent := {
Miguel Angel Reina Ortega's avatar
Miguel Angel Reina Ortega committed
656
					any_1 := {{ContentInstanceAnnc_optional := mw_contentCreateContentInstanceAnncBase}}	
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
657 658
				}
			};  
659
        	    		
660 661 662 663
       	
			/**
			 * @desc Base CREATE request primitive for Group resource
			 */
664
			template (value) RequestPrimitive m_createGroupBase modifies m_create := {
665
				requestIdentifier := testcasename() & "-m_createGroup" & f_rnd(1, 1000000),
666 667
				resourceType := int9,
				primitiveContent := {
668
					any_1 := {{Group_optional := m_contentCreateGroup (1, {"NotInitialized"}, omit, omit)}}	//TODO: p_resourceId
669 670
				}
			};
671
        	
672
        	template (value) RequestPrimitive m_createGroup(in template (value) XSD.NonNegativeInteger p_maxNrOfMembers,
673
															in template (value) ListOfURIs p_memberIds := {"NotInitialized"},
674
															in template (omit) AcpType p_accessControlPolicyIds,
675 676 677 678
															in template (omit) MemberType p_memberType := omit,
															in template (omit) ConsistencyStrategy p_consistencyStrategy := omit,
															in template (omit) ListOfURIs p_membersAccessControlPolicyIDs := omit,
															in template (omit) XSD.String p_name := "MyGroup") modifies m_create := {
679
        		requestIdentifier := testcasename() & "-m_createGroup" & f_rnd(1, 1000000),
680
        		resourceType := int9,
681
        		primitiveContent := {
682
        			any_1 := {{Group_optional := m_contentCreateGroup (p_maxNrOfMembers, p_memberIds, p_accessControlPolicyIds, p_memberType, p_consistencyStrategy, p_membersAccessControlPolicyIDs, p_name)}}	//TODO: p_resourceId
683
        		}
684 685
        	};
        	
686 687 688 689 690 691 692 693 694
			/**
			 * @desc Reception template for CREATE GroupAnnc
			 */
			template RequestPrimitive mw_createGroupAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
				resourceType := int10009,
				primitiveContent := {
					any_1 := {{GroupAnnc_optional := ?}}	
				}
			};  
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
695 696 697 698 699 700 701
			
			/**
			 * @desc Base Reception template for CREATE GroupAnnc
			 */
			template RequestPrimitive mw_createGroupAnncBase(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
				resourceType := int10009,
				primitiveContent := {
Miguel Angel Reina Ortega's avatar
Miguel Angel Reina Ortega committed
702
					any_1 := {{GroupAnnc_optional := mw_contentCreateGroupAnncBase}}	
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
703 704
				}
			};
705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737
        	
			/**
			 * @desc Base CREATE request primitive for MgmtObj resource
			 */
			template (value) RequestPrimitive m_createMgmtObjBase modifies m_create := {
				requestIdentifier := testcasename() & "-m_createMgmtObj" & f_rnd(1, 1000000),
				resourceType := int13,
				primitiveContent := {
					any_1 := {{MgmtObj_optional := m_contentCreateMgmtObj (-,-)}}	
				}
			};
        	
			/**
			 * @desc CREATE request primitive for MgmtObj resource
			 */
			template (value) RequestPrimitive m_createMgmtObj modifies m_create := {
				requestIdentifier := testcasename() & "-m_createMgmtObj" & f_rnd(1, 1000000),
				resourceType := int13,
				primitiveContent := {
					any_1 := {{MgmtObj_optional := m_contentCreateMgmtObj (-, -)}}	
				}
			};
        	
			/**
			 * @desc Reception template for CREATE MgmtObjAnnc
			 */
			template RequestPrimitive mw_createMgmtObjAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
				resourceType := int10013,
				primitiveContent := {
					any_1 := {{MgmtObjAnnc_optional := ?}}	
				}
			};  
			
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
738 739 740 741 742 743
			/**
			 * @desc Base Reception template for CREATE MgmtObjAnnc
			 */
			template RequestPrimitive mw_createMgmtObjAnncBase(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
				resourceType := int10013,
				primitiveContent := {
Miguel Angel Reina Ortega's avatar
Miguel Angel Reina Ortega committed
744
					any_1 := {{MgmtObjAnnc_optional := mw_contentCreateMgmtObjAnncBase}}	
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
745 746 747
				}
			};  
			
748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778
			/**
			 * @desc Base CREATE request primitive for Node resource
			 */
			template (value) RequestPrimitive m_createNodeBase modifies m_create := {
				requestIdentifier := testcasename() & "-m_createNode" & f_rnd(1, 1000000),
				resourceType := int14,
				primitiveContent := {
					any_1 := {{Node_optional := m_contentCreateNode(-, -, -) }}	
				}
			};
        	
			/**
			 * @desc CREATE request primitive for Node resource
			 */
			template (value) RequestPrimitive m_createNode modifies m_create := {
				requestIdentifier := testcasename() & "-m_createNode" & f_rnd(1, 1000000),
				resourceType := int14,
				primitiveContent := {
					any_1 := {{Node_optional := m_contentCreateNode(-,-,-) }}
				}
			};
        	
			/**
			 * @desc Reception template for CREATE NodeAnnc
			 */
			template RequestPrimitive mw_createNodeAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
				resourceType := int10014,
				primitiveContent := {
					any_1 := {{NodeAnnc_optional := ?}}	
				}
			};  
779 780 781 782
       	
			/**
			 * @desc Base CREATE request primitive for PollingChannel resource
			 */
783
			template (value) RequestPrimitive m_createPollingChannelBase modifies m_create := {
784
				requestIdentifier := testcasename() & "-m_createPollingChannel" & f_rnd(1, 1000000),
785 786
				resourceType := int15,
				primitiveContent := {
787
					any_1 := {{PollingChannel_optional := m_contentCreatePollingChannel (-)}}	
788 789
				}
			};
790
        	
791
        	template (value) RequestPrimitive m_createPollingChannel(XSD.ID p_parentResourceAddress, in template (value)XSD.ID p_originatorId) modifies m_create := {
792
        		to_ := p_parentResourceAddress,
793
        		from_ := p_originatorId,
794
        		requestIdentifier := testcasename() & "-m_createPollingChannel" & f_rnd(1, 1000000),
795
        		resourceType := int15,
796
        		primitiveContent := {
797
        			any_1 := {{PollingChannel_optional := m_contentCreatePollingChannel ()}}	
798
        		}
799 800
        	};
        	
801 802 803
			/**
			 * @desc Base CREATE request primitive for Schedule resource
			 */
804
        	template (value) RequestPrimitive m_createScheduleBase modifies m_create := {
805
        		requestIdentifier := testcasename() & "-m_createSchedule" & f_rnd(1, 1000000),
806
        		resourceType := int18,
807
        		primitiveContent := {
808
        			any_1 := {{Schedule_optional := m_contentCreateSchedule ({{"0 0 0,1,2 1 1 * *"}})}}	
809
        		}
810 811
        	};
        	
812
        	template (value) RequestPrimitive m_createSchedule(XSD.ID p_parentResourceAddress, in template (omit)  XSD.String p_name, in template (value) ScheduleEntries p_scheduleElement ) modifies m_create := {
813
        		to_ := p_parentResourceAddress,
814
        		from_ := PX_AE_ID_STEM,
815
        		requestIdentifier := testcasename() & "-m_createSchedule" & f_rnd(1, 1000000),
816
        		resourceType := int18,
817
        		primitiveContent := {
818
        			any_1 := {{Schedule_optional := m_contentCreateSchedule (p_scheduleElement, p_name)}}	
819
        		}
820 821
        	};
        	
822 823 824 825 826 827 828 829 830
			/**
			 * @desc Reception template for CREATE ScheduleAnnc
			 */
			template RequestPrimitive mw_createScheduleAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
				resourceType := int10018,
				primitiveContent := {
					any_1 := {{ScheduleAnnc_optional := ?}}	
				}
			};  
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
831 832 833 834 835 836 837
			
			/**
			 * @desc Base Reception template for CREATE ScheduleAnnc
			 */
			template RequestPrimitive mw_createScheduleAnncBase(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
				resourceType := int10018,
				primitiveContent := {
Miguel Angel Reina Ortega's avatar
Miguel Angel Reina Ortega committed
838
					any_1 := {{ScheduleAnnc_optional := mw_contentCreateScheduleAnncBase}}	
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
839 840
				}
			};  
841
        	
842
			template (value) RequestPrimitive m_createServiceSubscribedAppRule (in ListOfM2MID p_applicableCredIDs, in ListOfM2MID p_allowedAppIDs, in ListOfM2MID p_allowedAEs) modifies m_create := {
843
				from_ := PX_AE_ID_STEM,
844
				requestIdentifier := testcasename() & "-m_createServiceSubscribedAppRule" & f_rnd(1, 1000000),
845
				resourceType := int19,//FIXME Is this the correct value?
846
				primitiveContent := {
847
					any_1 := {{ServiceSubscribedAppRule_optional := m_contentCreateServiceSubscribedAppRule (p_applicableCredIDs, p_allowedAppIDs, p_allowedAEs)}}
848
				}
849
			};
850
        	
851 852 853 854
       	
			/**
			 * @desc Base CREATE request primitive for Subscription resource
			 */
855
			template (value) RequestPrimitive m_createSubscriptionBase modifies m_create := {
856
				requestIdentifier := testcasename() & "-m_createSubscription" & f_rnd(1, 1000000),
857
				resourceType := int23,
858
				primitiveContent := {
859
					any_1 := {{Subscription_optional := m_contentCreateSubscription ({"NotInitialized"})}}	
860
				}
861 862
			};
        	
863
        	template (value) RequestPrimitive m_createSubscription(XSD.ID p_parentResourceAddress, in template (omit)  XSD.String p_name, in template (value) ListOfURIs p_notificationURI := {"NotInitialized"}) modifies m_create := {
864
        		to_ := p_parentResourceAddress,
865
        		from_ := PX_AE_ID_STEM,
866
        		requestIdentifier := testcasename() & "-m_createSubscription" & f_rnd(1, 1000000),
867
        		resourceType := int23,
868
        		primitiveContent := {
869
					any_1 := {{Subscription_optional := m_contentCreateSubscription (p_notificationURI, p_name)}}	
870
        		}
871
        	};
872
        	
873 874 875 876 877 878 879 880 881 882 883 884 885 886
			template (value) RequestPrimitive m_createSubscriptionAdvanced(	XSD.ID p_parentResourceAddress, 
																		   in template (omit)  XSD.String p_name := omit,
																		   in template (value) ListOfURIs p_notificationURI,
																		   in template (omit) EventNotificationCriteria p_eventNotificationCriteria := omit,
																		   in template (omit) XSD.PositiveInteger p_expirationCounter := omit,
																		   in template (omit) BatchNotify p_batchNotify := omit,
																		   in template (omit) XSD.Boolean p_latestNotify := omit,
																		   in template (omit) XSD.AnyURI p_subscriberURI := omit,
																		   in template (omit) NotificationContentType p_notificationContentType := int1) modifies m_createSubscription := {
				primitiveContent := {
					any_1 := {{Subscription_optional := m_contentCreateSubscriptionAdvanced (p_notificationURI, p_name, p_eventNotificationCriteria, p_expirationCounter, p_batchNotify, p_latestNotify, p_subscriberURI, p_notificationContentType)}}	
				}
			};
        	
887
        	//@Martin
888 889
        	template (value) RequestPrimitive m_createLocationPolicy(in template (value) LocationSource p_locationSource, in template (omit) AcpType p_accessControlPolicyIds, in template (omit) XSD.Duration p_locationUpdatePeriod, in template (omit) NodeID p_locationTargetID, in template (omit) XSD.AnyURI p_locationServerAddress) modifies m_create := {
        		
890
        	  	requestIdentifier	:= testcasename() & "-m_createLocationPolicy" & f_rnd(1, 1000000), //the requestIdentifier is supposed to be set similar as "C190XX7T/001"  by prepending the AE-ID-Stem and slash(‘/’) in front of it
891 892
        	  	resourceType		:= int10,
        	  	primitiveContent	:= {        	    
893
        	    			any_1 := {{ LocationPolicy_optional := m_contentCreateLocationPolicy(p_locationSource, p_accessControlPolicyIds, p_locationUpdatePeriod, p_locationTargetID, p_locationServerAddress) }}
894 895
        	  	},
			  	resultContent := int1//default
896
        	};
897 898 899 900 901 902 903 904 905
        	
			/**
			 * @desc Reception template for CREATE LocationPolicyAnnc
			 */
			template RequestPrimitive mw_createLocationPolicyAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
				resourceType := int10010,
				primitiveContent := {
					any_1 := {{LocationPolicyAnnc_optional := ?}}	
				}