OneM2M_Templates.ttcn 101 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 $
Miguel Angel Reina Ortega's avatar
Miguel Angel Reina Ortega committed
10
 *              $Id: OneM2M_Templates.ttcn 254 2017-05-02 15:55:08Z 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
    	//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}
		};
    	
79
	}//end of group primitives
80 81 82 83 84 85 86 87 88 89
	
	group RequestPrimitives { 
		
		group Retrieve {
	
        	/**
			 * @desc 
			 */
        	template (value) RequestPrimitive m_retrieveCseBase := {
        		operation := int2,
oneM2MTester Develop Team's avatar
oneM2MTester Develop Team committed
90
        		to_ := PX_URI_CSE,//c_uri_cse,//@Martin
91
        		from_ := "admin:admin",
92 93
        		requestIdentifier := "m_retrieveCseBase" & f_rnd(1, 1000000),
        		resourceType := omit,
94
				primitiveContent := omit,
95
				roleIDs := omit, 
96 97 98 99 100 101 102 103 104 105 106
				originatingTimestamp := omit,
				requestExpirationTimestamp := omit,
				resultExpirationTimestamp := omit,
				operationExecutionTime := omit,
				responseType := omit,
				resultPersistence := omit,
				resultContent := omit,
				eventCategory := omit,
				deliveryAggregation := omit,
				groupRequestIdentifier := omit,
				filterCriteria := omit,
107 108 109
        		discoveryResultType := omit,
				tokens := omit,
				tokenIDs := omit,
110
				localTokenIDs := omit,
111
				tokenRequestIndicator := omit
112
        	};
113

114 115 116 117
			/**
			 * @desc Base RETRIEVE request primitive
			 * @param p_targetResourceAddress Target resource address
			 * @param p_originator Originator (from)
118
			 */
119
			template (value) RequestPrimitive m_retrieveResource(XSD.ID p_targetResourceAddress, in XSD.ID p_originator) := {
120
				operation := int2,
121
				to_ := p_targetResourceAddress,
122
				from_ := p_originator,
123 124
				requestIdentifier := "m_retrieveResource" & f_rnd(1, 1000000),
				resourceType := omit,
125
				primitiveContent := omit,
126
				roleIDs := omit, 
127 128 129 130 131 132 133 134 135 136 137
				originatingTimestamp := omit,
				requestExpirationTimestamp := omit,
				resultExpirationTimestamp := omit,
				operationExecutionTime := omit,
				responseType := omit,
				resultPersistence := omit,
				resultContent := omit,
				eventCategory := omit,
				deliveryAggregation := omit,
				groupRequestIdentifier := omit,
				filterCriteria := omit,
138 139 140
				discoveryResultType := omit,
				tokens := omit,
				tokenIDs := omit,
141
				localTokenIDs := omit,
142
				tokenRequestIndicator := omit
143 144
			};
        	
145 146 147 148 149
			/**
			 * @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)
			 */
150
        	template (value) RequestPrimitive m_retrieveResourceAttributeToOption(XSD.ID p_targetResourceAddress, in XSD.ID p_originator) := {
151
        		operation := int2,
152
        		to_ := p_targetResourceAddress,
153
        		from_ := p_originator,
154 155
        		requestIdentifier := "m_retrieveResourceAttributeOptionTo" & f_rnd(1, 1000000),
        		resourceType := omit,
156
				primitiveContent := omit, 
157
				roleIDs := omit,
158 159 160 161 162 163 164 165 166 167 168
				originatingTimestamp := omit,
				requestExpirationTimestamp := omit,
				resultExpirationTimestamp := omit,
				operationExecutionTime := omit,
				responseType := omit,
				resultPersistence := omit,
				resultContent := omit,
				eventCategory := omit,
				deliveryAggregation := omit,
				groupRequestIdentifier := omit,
				filterCriteria := omit,
169 170 171
				discoveryResultType := omit,
				tokens := omit,
				tokenIDs := omit,
172
				localTokenIDs := omit,
173
				tokenRequestIndicator := omit
174 175
        	};
        	
176 177 178 179 180
			/**
			 * @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)
181
			 */
182
			template (value) RequestPrimitive m_retrieveResourceAttributeContentOption(XSD.ID p_targetResourceAddress, in template (value) AttributeList_1 p_attributeList, in XSD.ID p_originator) := {
183
				operation := int2,
184
				to_ := p_targetResourceAddress,
185
				from_ := p_originator,
186 187
				requestIdentifier := "m_retrieveResourceAttributeContentOption" & f_rnd(1, 1000000),
				resourceType := omit,
188 189
				primitiveContent := {
					any_1 := {{AttributeList := p_attributeList}}
190
				},
191
				roleIDs := omit,
192 193 194 195 196 197 198 199 200 201 202
				originatingTimestamp := omit,
				requestExpirationTimestamp := omit,
				resultExpirationTimestamp := omit,
				operationExecutionTime := omit,
				responseType := omit,
				resultPersistence := omit,
				resultContent := omit,
				eventCategory := omit,
				deliveryAggregation := omit,
				groupRequestIdentifier := omit,
				filterCriteria := omit,
203 204 205
				discoveryResultType := omit,
				tokens := omit,
				tokenIDs := omit,
206
				localTokenIDs := omit,
207
				tokenRequestIndicator := omit
208 209 210 211
			};
    	}//end group Retrieve

    	group Update {
212 213
    		
    		template (value) RequestPrimitive m_update := {
214 215
				operation := int3,
				to_ := "NotInitialized",
216 217
				from_ := "NotInitialized",
				requestIdentifier := "m_update" & f_rnd(1, 1000000),
218
				resourceType := omit,
219
				primitiveContent:= omit,
220
				roleIDs := omit, 
221 222 223 224 225 226 227 228 229 230 231
				originatingTimestamp := omit,
				requestExpirationTimestamp := omit,
				resultExpirationTimestamp := omit,
				operationExecutionTime := omit,
				responseType := omit,
				resultPersistence := omit,
				resultContent := omit,
				eventCategory := omit,
				deliveryAggregation := omit,
				groupRequestIdentifier := omit,
				filterCriteria := omit,
232 233 234
				discoveryResultType := omit,
				tokens := omit,
				tokenIDs := omit,
235
				localTokenIDs := omit,
236
				tokenRequestIndicator := omit
237
			};
238
        	
239 240 241 242 243 244 245 246 247 248 249
			/**
			 * @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}}
				}
			};
        	
250 251 252 253 254 255 256 257 258 259
			/**
			 * @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}}
				}
			};
260
			
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
261 262 263 264 265 266 267 268 269 270 271 272
			//@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}}
				}
			};
			
273 274 275
			/**
			 * @desc Base UPDATE request primitive for AccessControlPolicy resource
			 */        				
276
			template (value) RequestPrimitive m_updateAcpBase modifies m_update := {
277
				from_ := PX_AE_ID_STEM,
278
				requestIdentifier := "m_updateAcp" & f_rnd(1, 1000000),
279
				primitiveContent:= {
280
							any_1 := {{AccessControlPolicy_optional := m_contentUpdateAcp}}
281
				}
282 283
			};
			
284 285 286 287 288 289 290 291
			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)}}
				}
			};
			
292 293 294
			/**
			 * @desc Base UPDATE request primitive for Group resource
			 */
295
			template (value) RequestPrimitive m_updateGroupBase modifies m_update := {
296
				from_ := PX_AE_ID_STEM,
297
				requestIdentifier := "m_updateGroup" & f_rnd(1, 1000000),
298
				primitiveContent:= {
299
							any_1 := {{Group_optional := m_contentUpdateGroup}}
300
				}
301 302
			};
			
303 304 305
			/**
			 * @desc Base UPDATE request primitive for Schedule resource
			 */
306
			template (value) RequestPrimitive m_updateScheduleBase modifies m_update := {
307
				from_ := PX_AE_ID_STEM,
308
				requestIdentifier := "m_updateSchedule" & f_rnd(1, 1000000),
309
				primitiveContent:= {
310
							any_1 := {{Schedule_optional := m_contentUpdateSchedule}}
311
				}
312 313
			};
			
314 315 316
			/**
			 * @desc Base UPDATE request primitive for PollingChannel resource
			 */
317
			template (value) RequestPrimitive m_updatePollingChannelBase modifies m_update := {
318
				from_ := PX_AE_ID_STEM,
319
				requestIdentifier := "m_updatePollingChannel" & f_rnd(1, 1000000),
320
				primitiveContent:= {
321
							any_1 := {{PollingChannel_optional := m_contentUpdatePollingChannel}}
322
				}
323 324
			};
			
325 326 327
			/**
			 * @desc Base UPDATE request primitive for Subscription resource
			 */
328
			template (value) RequestPrimitive m_updateSubscriptionBase modifies m_update := {
329
				from_ := PX_AE_ID_STEM,
330
				requestIdentifier := "m_updateSubscription" & f_rnd(1, 1000000),
331
				primitiveContent:= {
332
							any_1 := {{Subscription_optional := m_contentUpdateSubscription}}
333
				}
334
			};
335 336
			
			//@Martin
337
        	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
338
        	  	to_ 				:= p_locResourceAddress,
339 340 341
        	  	from_				:= PX_AE_ID_STEM, //AE originator id e.g.
        	  	requestIdentifier	:= "m_updateLocationPolicy",
        	  	primitiveContent	:= {        	    
342
        	    			any_1 := {{ LocationPolicy_optional := m_contentUpdateLocationPolicy(p_accessControlPolicyIds, p_locationUpdatePeriod) }}
343 344
        		}
			  };
345
        	
346 347 348
    	}//end group Update
    	
    	group Create {
349 350 351 352 353

			template (value) RequestPrimitive m_create := {
				operation := int1,
				to_ := "NotInitialized",
				from_ := "NotInitialized",
354
				requestIdentifier := testcasename() & "-m_create" & f_rnd(1, 1000000),
355 356
				resourceType := omit,
				primitiveContent := omit,
357
				roleIDs := omit,
358 359 360 361 362 363 364 365 366 367 368 369 370 371
				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,
372
				localTokenIDs := omit,
373
				tokenRequestIndicator := omit
374 375

			};
376
        	
377 378 379 380 381
			/**
			 * @desc Base Reception template for create operation
			 */
			template RequestPrimitive mw_create(template XSD.ID p_from := *, template XSD.ID p_to := ?) := {
				operation := int1,
382
				to_ := p_to,
383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407
				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 := *
			}
			
408 409
			
			/**
410 411 412 413 414 415
			 * @desc Base CREATE request primitive for AEAnnc resource
			 * @param p_accessControlPolicyIds
			 * @param p_to
			 * @param p_from
			 * @param p_appId
			 * @param p_stemId
416
			 */
417
			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:= {
418 419 420 421 422
				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 := {
423
					any_1 := {{AEAnnc_optional := m_contentCreateAEAnnc({"Credential-ID:None"}, p_accessControlPolicyIds, p_appId, valueof(p_to) & "/" & p_stemId)}}	
424
				}
425 426
			};
			
427
			/**
428
			 * @desc Reception template for CREATE AEAnnc
429
			 */
430
			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 := {
431 432
				resourceType := int10002,
				primitiveContent := {
433 434
					any_1 := {{AEAnnc_optional := mw_contentCreateAEAnnc({"Credential-ID:None"}, p_accessControlPolicyIds)}}	
				}
435
			};
436 437

			//Added by @Naum
438
			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 := {
439
				from_ := p_from,//PX_AE_ID_STEM,//TODO We should use omit, "s", or "c"
440
				requestIdentifier := testcasename() & "-m_createAe" & f_rnd(1, 1000000),
441 442
				resourceType := int2,
				primitiveContent := {
443
					any_1 := {{AE_optional := m_contentCreateAe(p_accessControlPolicyIds,p_resourceName, p_appId, p_poaList)}}	
444
				}
445
			};
446
        	
447 448 449 450 451 452 453 454 455 456
			/**
			 * @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 := ?}}	
				}
			};  
			        	
457
        	template (value) RequestPrimitive m_createAeAux(template (omit) AcpType p_accessControlPolicyIds := omit, in template (omit) PoaList p_poaList) modifies m_create := {
458
        		from_ := PX_AE_ID_STEM,//TODO We should use omit, "s", or "c"//@Martin
459
        		requestIdentifier := testcasename() & "-m_createAe" & f_rnd(1, 1000000),
460
        		resourceType := int2,
461
        		primitiveContent := {
462
        			any_1 := {{AE_optional := m_contentCreateAe(p_accessControlPolicyIds, c_aeAuxName, -, p_poaList)}}	
463 464
        		}
			};
465
        	
466 467 468
			/**
			 * @desc Base CREATE request primitive for AccessControlPolicy resource
			 */
469
			template (value) RequestPrimitive m_createAcpBase modifies m_create := {
470
				requestIdentifier := testcasename() & "-m_createAcp" & f_rnd(1, 1000000),
471
				resourceType := int1,
472
				primitiveContent := {
473
					any_1 := {{AccessControlPolicy_optional := m_contentCreateAcp ()}}
474
				}
475 476
			};
				
477
        	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 := {
478
        		to_ := p_parentResourceAddress,
479
        		from_ := PX_AE_ID_STEM,
480
        		requestIdentifier := testcasename() & "-m_createAcp" & f_rnd(1, 1000000),
481
        		resourceType := int1,
482
        		primitiveContent := {
483
					any_1 := {{AccessControlPolicy_optional := m_contentCreateAcp (p_name, p_acor, p_allowedOperations)}}
484
        		}
485 486
        	};
        	
487 488 489 490 491 492 493 494 495 496 497 498
			/**
			 * @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(-)}}	
				}
			};
        	
499 500 501 502
       	
			/**
			 * @desc Base CREATE request primitive for AccessControlPolicy resource (AUX)
			 */
503
        	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 := {
504
        		from_ := PX_SUPER_USER,
505
        		requestIdentifier := testcasename() & "-m_createAcpAux" & f_rnd(1, 1000000),
506
        		resourceType := int1,
507
        		primitiveContent := {
508
        			any_1 := {{AccessControlPolicy_optional := m_contentCreateAcp (p_acpName, p_acor, p_allowedOperations)}}	
509
        		}
510 511
        	};
        	
512
			//Added by @Naum
513
			template (value) RequestPrimitive m_createCSEBase (in ServiceSubscribedAppRule p_serviceSubscribedAppRule) modifies m_create := {
514
				from_ := PX_AE_ID_STEM,
515
				requestIdentifier := testcasename() & "-m_createCSE" & f_rnd(1, 1000000),
516
				resourceType := int1,//FIXME Is this the value for CSEBase? In any case, this template is not used at all
517 518
				primitiveContent := {
					any_1 := {{CSEBase_optional := m_contentCreateCSEBase (p_serviceSubscribedAppRule)}}
519
				}
520 521
			};
        	
522 523 524 525
       	
			/**
			 * @desc Base CREATE request primitive for Container resource
			 */
526
			template (value) RequestPrimitive m_createContainerBase modifies m_create := {
527
				requestIdentifier := testcasename() & "-m_createContainer" & f_rnd(1, 1000000),
528
				resourceType := int3,
529 530
				primitiveContent := {
					
531
					any_1 := {{Container_optional := m_contentCreateContainer}}
532
				}
533 534
			};
	
535
    		template (value) RequestPrimitive m_createContainer(XSD.ID p_parentResourceAddress, in template (omit) XSD.String p_resourceName := c_defaultContainerResourceName) modifies m_create := {
536
    			to_ := p_parentResourceAddress,
537
    			from_ := PX_AE_ID_STEM,
538
    			requestIdentifier := testcasename() & "-m_createContainer" & f_rnd(1, 1000000),
539
    			resourceType := int3,
540
    			primitiveContent := {
541
    				any_1 := {{Container_optional := m_contentCreateContainer(p_resourceName)}}
542
    			}
543 544
    		};
        	
545 546 547 548 549 550 551 552 553 554
			/**
			 * @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 := ?}}	
				}
			};  
			
555
			/**
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
556
			 * @desc Base Reception template for CREATE ContainerAnnc
557
			 */
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
558
			template RequestPrimitive mw_createContainerAnncBase(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
559 560
				resourceType := int10003,
				primitiveContent := {
Miguel Angel Reina Ortega's avatar
Miguel Angel Reina Ortega committed
561
					any_1 := {{ContainerAnnc_optional := mw_contentCreateContainerAnncBase}}	
562
				}
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
563
			};
564
			
565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584
			/**
			 * @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 := ?}}	
				}
			}; 
        	
585 586 587 588 589
			/**
			 * @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),
590
				resourceType := int4,
591 592 593 594 595 596
				primitiveContent := {
			
					any_1 := {{ContentInstance_optional := m_contentCreateContentInstance}}
				}
			};
    		
597
    		template (value) RequestPrimitive m_createContentInstance(XSD.ID p_parentResourceAddress, XSD.String p_primitiveContent) modifies m_create := {
598
    			to_ := p_parentResourceAddress,
599
    			from_ := "admin:admin",
600
    			requestIdentifier := testcasename() & "-m_createContentInstance" & f_rnd(1, 1000000),
601
    			resourceType := int4,
602
    			primitiveContent := {
603
    				any_1 := {{ContentInstance_optional := m_contentCreateContentInstance(p_primitiveContent)}}	
604
    			}
605 606
    		};
    		
607 608 609 610 611 612 613 614 615
			/**
			 * @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
616 617 618 619 620 621 622
			
			/**
			 * @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
623
					any_1 := {{ContentInstanceAnnc_optional := mw_contentCreateContentInstanceAnncBase}}	
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
624 625
				}
			};  
626
        	    		
627 628 629 630
       	
			/**
			 * @desc Base CREATE request primitive for Group resource
			 */
631
			template (value) RequestPrimitive m_createGroupBase modifies m_create := {
632
				requestIdentifier := testcasename() & "-m_createGroup" & f_rnd(1, 1000000),
633 634
				resourceType := int9,
				primitiveContent := {
635
					any_1 := {{Group_optional := m_contentCreateGroup (1, {"NotInitialized"}, omit, omit)}}	//TODO: p_resourceId
636 637
				}
			};
638
        	
639
        	template (value) RequestPrimitive m_createGroup(in template (value) XSD.NonNegativeInteger p_maxNrOfMembers,
640
															in template (value) ListOfURIs p_memberIds := {"NotInitialized"},
641
															in template (omit) AcpType p_accessControlPolicyIds,
642 643 644 645
															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 := {
646
        		requestIdentifier := testcasename() & "-m_createGroup" & f_rnd(1, 1000000),
647
        		resourceType := int9,
648
        		primitiveContent := {
649
        			any_1 := {{Group_optional := m_contentCreateGroup (p_maxNrOfMembers, p_memberIds, p_accessControlPolicyIds, p_memberType, p_consistencyStrategy, p_membersAccessControlPolicyIDs, p_name)}}	//TODO: p_resourceId
650
        		}
651 652
        	};
        	
653 654 655 656 657 658 659 660 661
			/**
			 * @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
662 663 664 665 666 667 668
			
			/**
			 * @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
669
					any_1 := {{GroupAnnc_optional := mw_contentCreateGroupAnncBase}}	
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
670 671
				}
			};
672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704
        	
			/**
			 * @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
705 706 707 708 709 710
			/**
			 * @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
711
					any_1 := {{MgmtObjAnnc_optional := mw_contentCreateMgmtObjAnncBase}}	
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
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 738 739 740 741 742 743 744 745
			/**
			 * @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 := ?}}	
				}
			};  
746 747 748 749
       	
			/**
			 * @desc Base CREATE request primitive for PollingChannel resource
			 */
750
			template (value) RequestPrimitive m_createPollingChannelBase modifies m_create := {
751
				requestIdentifier := testcasename() & "-m_createPollingChannel" & f_rnd(1, 1000000),
752 753
				resourceType := int15,
				primitiveContent := {
754
					any_1 := {{PollingChannel_optional := m_contentCreatePollingChannel (-)}}	
755 756
				}
			};
757
        	
758
        	template (value) RequestPrimitive m_createPollingChannel(XSD.ID p_parentResourceAddress, in template (value)XSD.ID p_originatorId) modifies m_create := {
759
        		to_ := p_parentResourceAddress,
760
        		from_ := p_originatorId,
761
        		requestIdentifier := testcasename() & "-m_createPollingChannel" & f_rnd(1, 1000000),
762
        		resourceType := int15,
763
        		primitiveContent := {
764
        			any_1 := {{PollingChannel_optional := m_contentCreatePollingChannel ()}}	
765
        		}
766 767
        	};
        	
768 769 770
			/**
			 * @desc Base CREATE request primitive for Schedule resource
			 */
771
        	template (value) RequestPrimitive m_createScheduleBase modifies m_create := {
772
        		requestIdentifier := testcasename() & "-m_createSchedule" & f_rnd(1, 1000000),
773
        		resourceType := int18,
774
        		primitiveContent := {
775
        			any_1 := {{Schedule_optional := m_contentCreateSchedule ({{"0,0,0 1 2,1,1,*"}})}}	
776
        		}
777 778
        	};
        	
779
        	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 := {
780
        		to_ := p_parentResourceAddress,
781
        		from_ := PX_AE_ID_STEM,
782
        		requestIdentifier := testcasename() & "-m_createSchedule" & f_rnd(1, 1000000),
783
        		resourceType := int18,
784
        		primitiveContent := {
785
        			any_1 := {{Schedule_optional := m_contentCreateSchedule (p_scheduleElement, p_name)}}	
786
        		}
787 788
        	};
        	
789 790 791 792 793 794 795 796 797
			/**
			 * @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
798 799 800 801 802 803 804
			
			/**
			 * @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
805
					any_1 := {{ScheduleAnnc_optional := mw_contentCreateScheduleAnncBase}}	
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
806 807
				}
			};  
808
        	
809
			template (value) RequestPrimitive m_createServiceSubscribedAppRule (in ListOfM2MID p_applicableCredIDs, in ListOfM2MID p_allowedAppIDs, in ListOfM2MID p_allowedAEs) modifies m_create := {
810
				from_ := PX_AE_ID_STEM,
811
				requestIdentifier := testcasename() & "-m_createServiceSubscribedAppRule" & f_rnd(1, 1000000),
812
				resourceType := int19,//FIXME Is this the correct value?
813
				primitiveContent := {
814
					any_1 := {{ServiceSubscribedAppRule_optional := m_contentCreateServiceSubscribedAppRule (p_applicableCredIDs, p_allowedAppIDs, p_allowedAEs)}}
815
				}
816
			};
817
        	
818 819 820 821
       	
			/**
			 * @desc Base CREATE request primitive for Subscription resource
			 */
822
			template (value) RequestPrimitive m_createSubscriptionBase modifies m_create := {
823
				requestIdentifier := testcasename() & "-m_createSubscription" & f_rnd(1, 1000000),
824
				resourceType := int23,
825
				primitiveContent := {
826
					any_1 := {{Subscription_optional := m_contentCreateSubscription ({"NotInitialized"})}}	
827
				}
828 829
			};
        	
830
        	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 := {
831
        		to_ := p_parentResourceAddress,
832
        		from_ := PX_AE_ID_STEM,
833
        		requestIdentifier := testcasename() & "-m_createSubscription" & f_rnd(1, 1000000),
834
        		resourceType := int23,
835
        		primitiveContent := {
836
					any_1 := {{Subscription_optional := m_contentCreateSubscription (p_notificationURI, p_name)}}	
837
        		}
838
        	};
839
        	
840 841 842 843 844 845 846 847 848 849 850 851 852 853
			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)}}	
				}
			};
        	
854
        	//@Martin
855 856
        	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 := {
        		
857
        	  	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
858 859
        	  	resourceType		:= int10,
        	  	primitiveContent	:= {        	    
860
        	    			any_1 := {{ LocationPolicy_optional := m_contentCreateLocationPolicy(p_locationSource, p_accessControlPolicyIds, p_locationUpdatePeriod, p_locationTargetID, p_locationServerAddress) }}
861 862
        	  	},
			  	resultContent := int1//default
863
        	};
864 865 866 867 868 869 870 871 872
        	
			/**
			 * @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 := ?}}	
				}
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
873 874 875 876 877 878 879 880
			}; 
			
			/**
			 * @desc Base Reception template for CREATE LocationPolicyAnnc
			 */
			template RequestPrimitive mw_createLocationPolicyAnncBase(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
				resourceType := int10010,
				primitiveContent := {
Miguel Angel Reina Ortega's avatar
Miguel Angel Reina Ortega committed
881
					any_1 := {{LocationPolicyAnnc_optional := mw_contentCreateLocationPolicyAnncBase}}	
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
882 883 884
				}
			}; 
			
885
        	template (value) RequestPrimitive m_createNotification(in template (value) Representation p_resourcePresentation, in template (omit)NotificationEventType p_notifEventType, in template (omit) XSD.AnyURI p_subscriptionReference, in template (omit) XSD.AnyURI p_notifForwardingURI) modifies m_create := {
886
        	  requestIdentifier	:= testcasename() & "-m_createNotification" & f_rnd(1, 1000000),
887
        	  primitiveContent	:= {	
888
        	    			any_1 :=	{{ Notification := m_contentCreateNotification(p_resourcePresentation, p_notifEventType, p_subscriptionReference, p_notifForwardingURI)}}        	    
889 890 891 892
        	  },
        	  resultContent		:= int1 //default
        	  
        	};