OneM2M_Templates.ttcn 102 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 269 2017-05-17 03:36:25Z 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
    		template (value) RequestPrimitive m_createContainer(XSD.ID p_parentResourceAddress, in template (omit) XSD.String p_resourceName := c_defaultContainerResourceName) modifies m_create := {
550
    			to_ := p_parentResourceAddress,
551
    			from_ := PX_AE_ID_STEM,
552
    			requestIdentifier := testcasename() & "-m_createContainer" & f_rnd(1, 1000000),
553
    			resourceType := int3,
554
    			primitiveContent := {
555
    				any_1 := {{Container_optional := m_contentCreateContainer(p_resourceName)}}
556
    			}
557 558
    		};
        	
559 560 561 562 563 564 565 566 567 568
			/**
			 * @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 := ?}}	
				}
			};  
			
569
			/**
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
570
			 * @desc Base Reception template for CREATE ContainerAnnc
571
			 */
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
572
			template RequestPrimitive mw_createContainerAnncBase(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
573 574
				resourceType := int10003,
				primitiveContent := {
Miguel Angel Reina Ortega's avatar
Miguel Angel Reina Ortega committed
575
					any_1 := {{ContainerAnnc_optional := mw_contentCreateContainerAnncBase}}	
576
				}
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
577
			};
578
			
579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598
			/**
			 * @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 := ?}}	
				}
			}; 
        	
599 600 601 602 603
			/**
			 * @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),
604
				resourceType := int4,
605 606 607 608 609 610
				primitiveContent := {
			
					any_1 := {{ContentInstance_optional := m_contentCreateContentInstance}}
				}
			};
    		
611
    		template (value) RequestPrimitive m_createContentInstance(XSD.ID p_parentResourceAddress, XSD.String p_primitiveContent) modifies m_create := {
612
    			to_ := p_parentResourceAddress,
613
    			from_ := "admin:admin",
614
    			requestIdentifier := testcasename() & "-m_createContentInstance" & f_rnd(1, 1000000),
615
    			resourceType := int4,
616
    			primitiveContent := {
617
    				any_1 := {{ContentInstance_optional := m_contentCreateContentInstance(p_primitiveContent)}}	
618
    			}
619 620
    		};
    		
621 622 623 624 625 626 627 628 629
			/**
			 * @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
630 631 632 633 634 635 636
			
			/**
			 * @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
637
					any_1 := {{ContentInstanceAnnc_optional := mw_contentCreateContentInstanceAnncBase}}	
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
638 639
				}
			};  
640
        	    		
641 642 643 644
       	
			/**
			 * @desc Base CREATE request primitive for Group resource
			 */
645
			template (value) RequestPrimitive m_createGroupBase modifies m_create := {
646
				requestIdentifier := testcasename() & "-m_createGroup" & f_rnd(1, 1000000),
647 648
				resourceType := int9,
				primitiveContent := {
649
					any_1 := {{Group_optional := m_contentCreateGroup (1, {"NotInitialized"}, omit, omit)}}	//TODO: p_resourceId
650 651
				}
			};
652
        	
653
        	template (value) RequestPrimitive m_createGroup(in template (value) XSD.NonNegativeInteger p_maxNrOfMembers,
654
															in template (value) ListOfURIs p_memberIds := {"NotInitialized"},
655
															in template (omit) AcpType p_accessControlPolicyIds,
656 657 658 659
															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 := {
660
        		requestIdentifier := testcasename() & "-m_createGroup" & f_rnd(1, 1000000),
661
        		resourceType := int9,
662
        		primitiveContent := {
663
        			any_1 := {{Group_optional := m_contentCreateGroup (p_maxNrOfMembers, p_memberIds, p_accessControlPolicyIds, p_memberType, p_consistencyStrategy, p_membersAccessControlPolicyIDs, p_name)}}	//TODO: p_resourceId
664
        		}
665 666
        	};
        	
667 668 669 670 671 672 673 674 675
			/**
			 * @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
676 677 678 679 680 681 682
			
			/**
			 * @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
683
					any_1 := {{GroupAnnc_optional := mw_contentCreateGroupAnncBase}}	
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
684 685
				}
			};
686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718
        	
			/**
			 * @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
719 720 721 722 723 724
			/**
			 * @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
725
					any_1 := {{MgmtObjAnnc_optional := mw_contentCreateMgmtObjAnncBase}}	
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
726 727 728
				}
			};  
			
729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759
			/**
			 * @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 := ?}}	
				}
			};  
760 761 762 763
       	
			/**
			 * @desc Base CREATE request primitive for PollingChannel resource
			 */
764
			template (value) RequestPrimitive m_createPollingChannelBase modifies m_create := {
765
				requestIdentifier := testcasename() & "-m_createPollingChannel" & f_rnd(1, 1000000),
766 767
				resourceType := int15,
				primitiveContent := {
768
					any_1 := {{PollingChannel_optional := m_contentCreatePollingChannel (-)}}	
769 770
				}
			};
771
        	
772
        	template (value) RequestPrimitive m_createPollingChannel(XSD.ID p_parentResourceAddress, in template (value)XSD.ID p_originatorId) modifies m_create := {
773
        		to_ := p_parentResourceAddress,
774
        		from_ := p_originatorId,
775
        		requestIdentifier := testcasename() & "-m_createPollingChannel" & f_rnd(1, 1000000),
776
        		resourceType := int15,
777
        		primitiveContent := {
778
        			any_1 := {{PollingChannel_optional := m_contentCreatePollingChannel ()}}	
779
        		}
780 781
        	};
        	
782 783 784
			/**
			 * @desc Base CREATE request primitive for Schedule resource
			 */
785
        	template (value) RequestPrimitive m_createScheduleBase modifies m_create := {
786
        		requestIdentifier := testcasename() & "-m_createSchedule" & f_rnd(1, 1000000),
787
        		resourceType := int18,
788
        		primitiveContent := {
789
        			any_1 := {{Schedule_optional := m_contentCreateSchedule ({{"0 0 0,1,2 1 1 * *"}})}}	
790
        		}
791 792
        	};
        	
793
        	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 := {
794
        		to_ := p_parentResourceAddress,
795
        		from_ := PX_AE_ID_STEM,
796
        		requestIdentifier := testcasename() & "-m_createSchedule" & f_rnd(1, 1000000),
797
        		resourceType := int18,
798
        		primitiveContent := {
799
        			any_1 := {{Schedule_optional := m_contentCreateSchedule (p_scheduleElement, p_name)}}	
800
        		}
801 802
        	};
        	
803 804 805 806 807 808 809 810 811
			/**
			 * @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
812 813 814 815 816 817 818
			
			/**
			 * @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
819
					any_1 := {{ScheduleAnnc_optional := mw_contentCreateScheduleAnncBase}}	
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
820 821
				}
			};  
822
        	
823
			template (value) RequestPrimitive m_createServiceSubscribedAppRule (in ListOfM2MID p_applicableCredIDs, in ListOfM2MID p_allowedAppIDs, in ListOfM2MID p_allowedAEs) modifies m_create := {
824
				from_ := PX_AE_ID_STEM,
825
				requestIdentifier := testcasename() & "-m_createServiceSubscribedAppRule" & f_rnd(1, 1000000),
826
				resourceType := int19,//FIXME Is this the correct value?
827
				primitiveContent := {
828
					any_1 := {{ServiceSubscribedAppRule_optional := m_contentCreateServiceSubscribedAppRule (p_applicableCredIDs, p_allowedAppIDs, p_allowedAEs)}}
829
				}
830
			};
831
        	
832 833 834 835
       	
			/**
			 * @desc Base CREATE request primitive for Subscription resource
			 */
836
			template (value) RequestPrimitive m_createSubscriptionBase modifies m_create := {
837
				requestIdentifier := testcasename() & "-m_createSubscription" & f_rnd(1, 1000000),
838
				resourceType := int23,
839
				primitiveContent := {
840
					any_1 := {{Subscription_optional := m_contentCreateSubscription ({"NotInitialized"})}}	
841
				}
842 843
			};
        	
844
        	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 := {
845
        		to_ := p_parentResourceAddress,
846
        		from_ := PX_AE_ID_STEM,
847
        		requestIdentifier := testcasename() & "-m_createSubscription" & f_rnd(1, 1000000),
848
        		resourceType := int23,
849
        		primitiveContent := {
850
					any_1 := {{Subscription_optional := m_contentCreateSubscription (p_notificationURI, p_name)}}	
851
        		}
852
        	};
853
        	
854 855 856 857 858 859 860 861 862 863 864 865 866 867
			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)}}	
				}
			};
        	
868
        	//@Martin
869 870
        	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 := {
        		
871
        	  	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
872 873
        	  	resourceType		:= int10,
        	  	primitiveContent	:= {        	    
874
        	    			any_1 := {{ LocationPolicy_optional := m_contentCreateLocationPolicy(p_locationSource, p_accessControlPolicyIds, p_locationUpdatePeriod, p_locationTargetID, p_locationServerAddress) }}
875 876
        	  	},
			  	resultContent := int1//default
877
        	};
878 879 880 881 882 883 884 885 886
        	
			/**
			 * @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
887 888 889 890 891 892 893 894
			}; 
			
			/**
			 * @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
895
					any_1 := {{LocationPolicyAnnc_optional := mw_contentCreateLocationPolicyAnncBase}}	
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
896 897 898
				}
			}; 
			
899
        	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 := {