OneM2M_Templates.ttcn 108 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 297 2017-06-02 14:21:45Z 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
    	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}
		};
    	
92
	}//end of group primitives
93 94 95 96
	
	group RequestPrimitives { 
		
		group Retrieve {
97

98 99 100 101
			/**
			 * @desc Base RETRIEVE request primitive
			 * @param p_targetResourceAddress Target resource address
			 * @param p_originator Originator (from)
102
			 */
103
			template (value) RequestPrimitive m_retrieveResource(XSD.ID p_targetResourceAddress, in XSD.ID p_originator) := {
104
				operation := int2,
105
				to_ := p_targetResourceAddress,
106
				from_ := p_originator,
107 108
				requestIdentifier := "m_retrieveResource" & f_rnd(1, 1000000),
				resourceType := omit,
109
				primitiveContent := omit,
110
				roleIDs := omit, 
111 112 113 114 115 116 117 118 119 120 121
				originatingTimestamp := omit,
				requestExpirationTimestamp := omit,
				resultExpirationTimestamp := omit,
				operationExecutionTime := omit,
				responseType := omit,
				resultPersistence := omit,
				resultContent := omit,
				eventCategory := omit,
				deliveryAggregation := omit,
				groupRequestIdentifier := omit,
				filterCriteria := omit,
122 123 124
				discoveryResultType := omit,
				tokens := omit,
				tokenIDs := omit,
125
				localTokenIDs := omit,
126
				tokenRequestIndicator := omit
127 128
			};
        	
129 130 131 132 133
			/**
			 * @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)
			 */
134
        	template (value) RequestPrimitive m_retrieveResourceAttributeToOption(XSD.ID p_targetResourceAddress, in XSD.ID p_originator) := {
135
        		operation := int2,
136
        		to_ := p_targetResourceAddress,
137
        		from_ := p_originator,
138 139
        		requestIdentifier := "m_retrieveResourceAttributeOptionTo" & f_rnd(1, 1000000),
        		resourceType := omit,
140
				primitiveContent := omit, 
141
				roleIDs := omit,
142 143 144 145 146 147 148 149 150 151 152
				originatingTimestamp := omit,
				requestExpirationTimestamp := omit,
				resultExpirationTimestamp := omit,
				operationExecutionTime := omit,
				responseType := omit,
				resultPersistence := omit,
				resultContent := omit,
				eventCategory := omit,
				deliveryAggregation := omit,
				groupRequestIdentifier := omit,
				filterCriteria := omit,
153 154 155
				discoveryResultType := omit,
				tokens := omit,
				tokenIDs := omit,
156
				localTokenIDs := omit,
157
				tokenRequestIndicator := omit
158 159
        	};
        	
160 161 162 163 164
			/**
			 * @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)
165
			 */
166
			template (value) RequestPrimitive m_retrieveResourceAttributeContentOption(XSD.ID p_targetResourceAddress, in template (value) AttributeList_1 p_attributeList, in XSD.ID p_originator) := {
167
				operation := int2,
168
				to_ := p_targetResourceAddress,
169
				from_ := p_originator,
170 171
				requestIdentifier := "m_retrieveResourceAttributeContentOption" & f_rnd(1, 1000000),
				resourceType := omit,
172
				primitiveContent := {attributeList := p_attributeList},
173
				roleIDs := omit,
174 175 176 177 178 179 180 181 182 183 184
				originatingTimestamp := omit,
				requestExpirationTimestamp := omit,
				resultExpirationTimestamp := omit,
				operationExecutionTime := omit,
				responseType := omit,
				resultPersistence := omit,
				resultContent := omit,
				eventCategory := omit,
				deliveryAggregation := omit,
				groupRequestIdentifier := omit,
				filterCriteria := omit,
185 186 187
				discoveryResultType := omit,
				tokens := omit,
				tokenIDs := omit,
188
				localTokenIDs := omit,
189
				tokenRequestIndicator := omit
190
			};
191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240
			
			/**
			  * @desc RETRIEVE request primtive containing the Filter Criteria in the filterCriteria field
			  * @param p_targetResourceAddress Target resource address 
			  * @param p_filterCriteria FilterCriteria
			  * @param p_originator Originator (from)
		     */
			template (value) RequestPrimitive m_retrieveResourceFilterUsageOption(XSD.ID p_targetResourceAddress, in XSD.ID p_originator, in template (value) FilterUsage p_filterUsage) modifies m_retrieveResource := {
				requestIdentifier := "m_retrieveResourceFilterUsageOption" & f_rnd(1, 1000000),
				filterCriteria := {
					contentType_list := {}, 
					attribute_list := {}, 
					filterUsage := p_filterUsage,
					semanticsFilter_list := {}
				}
			};
			
			/**
			  * @desc RETRIEVE request primtive containing the Discovery Type in the discoveryResultType field and Filter Criteria in the filterCriteria field
			  * @param p_targetResourceAddress Target resource address 
			  * @param p_filterCriteria FilterCriteria
			  * @param p_originator Originator (from)
			 */
			template (value) RequestPrimitive m_retrieveResourceDiscResTypeFilterUsageOption(XSD.ID p_targetResourceAddress, in XSD.ID p_originator, in template (value) DiscResType p_discResType, in template (value) FilterUsage p_filterUsage) modifies m_retrieveResource := {
				requestIdentifier := "m_retrieveResourceFilterUsageOption" & f_rnd(1, 1000000),
				filterCriteria := {
					contentType_list := {}, 
					attribute_list := {}, 
					filterUsage := p_filterUsage,
					semanticsFilter_list := {}
				},
				discoveryResultType := p_discResType
			};
			
			/**
				  * @desc RETRIEVE request primtive containing the Discovery Type in the discoveryResultType field and Filter Criteria in the filterCriteria field
				  * @param p_targetResourceAddress Target resource address 
				  * @param p_filterCriteria FilterCriteria
				  * @param p_originator Originator (from)
				 */
				template (value) RequestPrimitive m_retrieveResourceInvalidFormatOption(XSD.ID p_targetResourceAddress, in XSD.ID p_originator) modifies m_retrieveResource := {
					requestIdentifier := "m_retrieveResourceFilterUsageOption" & f_rnd(1, 1000000),
					filterCriteria := {
						contentType_list := {}, 
						attribute_list := {}, 
						filterUsage := omit,
						semanticsFilter_list := {}
					}
				};
			
241 242 243
    	}//end group Retrieve

    	group Update {
244 245
    		
    		template (value) RequestPrimitive m_update := {
246 247
				operation := int3,
				to_ := "NotInitialized",
248 249
				from_ := "NotInitialized",
				requestIdentifier := "m_update" & f_rnd(1, 1000000),
250
				resourceType := omit,
251
				primitiveContent:= omit,
252
				roleIDs := omit, 
253 254 255 256 257 258 259 260 261 262 263
				originatingTimestamp := omit,
				requestExpirationTimestamp := omit,
				resultExpirationTimestamp := omit,
				operationExecutionTime := omit,
				responseType := omit,
				resultPersistence := omit,
				resultContent := omit,
				eventCategory := omit,
				deliveryAggregation := omit,
				groupRequestIdentifier := omit,
				filterCriteria := omit,
264 265 266
				discoveryResultType := omit,
				tokens := omit,
				tokenIDs := omit,
267
				localTokenIDs := omit,
268
				tokenRequestIndicator := omit
269
			};
270
        	
271 272 273 274 275
			/**
			 * @desc Base UPDATE request primitive for Ae resource
			 */
			template (value) RequestPrimitive m_updateAeBase modifies m_update:= {
				requestIdentifier := "m_updateAe" & f_rnd(1, 1000000),
276
				primitiveContent:= {aE_optional := m_contentUpdateAe}
277 278
			};
        	
279 280 281 282 283
			/**
			 * @desc Base UPDATE request primitive for Container resource
			 */
			template (value) RequestPrimitive m_updateContainerBase modifies m_update:= {
				requestIdentifier := "m_updateContainer" & f_rnd(1, 1000000),
284
				primitiveContent:= {container_optional := m_contentUpdateContainer}
285
			};
286
			
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
287 288 289 290 291
			/**
			 * @desc Base UPDATE request primitive for ContentInstance resource
			 */
			template (value) RequestPrimitive m_updateContentInstanceBase modifies m_update:= {
				requestIdentifier := "m_updateContentInstance" & f_rnd(1, 1000000),
292
				primitiveContent:= {contentInstance_optional := m_contentUpdateContentInstance}
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
293 294
			};
			
295 296 297
			/**
			 * @desc Base UPDATE request primitive for AccessControlPolicy resource
			 */        				
298
			template (value) RequestPrimitive m_updateAcpBase modifies m_update := {
299
				requestIdentifier := "m_updateAcp" & f_rnd(1, 1000000),
300
				primitiveContent:= {accessControlPolicy_optional := m_contentUpdateAcp}
301 302
			};
			
303 304
			template (value) RequestPrimitive m_updateAcpPrivileges(in template(omit) SetOfAcrs p_privileges := omit, in template(omit) SetOfAcrs p_selfPrivileges := omit) modifies m_update := {
				requestIdentifier := "m_updateAcp" & f_rnd(1, 1000000),
305
				primitiveContent:= {accessControlPolicy_optional := m_contentUpdateAcpPrivileges(p_privileges, p_selfPrivileges)}
306 307
			};
			
308 309 310
			/**
			 * @desc Base UPDATE request primitive for Group resource
			 */
311
			template (value) RequestPrimitive m_updateGroupBase modifies m_update := {
312
				requestIdentifier := "m_updateGroup" & f_rnd(1, 1000000),
313
				primitiveContent:= {group_optional := m_contentUpdateGroup}
314 315
			};
			
316 317 318
			/**
			 * @desc Base UPDATE request primitive for Schedule resource
			 */
319
			template (value) RequestPrimitive m_updateScheduleBase modifies m_update := {
320
				requestIdentifier := "m_updateSchedule" & f_rnd(1, 1000000),
321
				primitiveContent:= {schedule_optional := m_contentUpdateSchedule}
322 323
			};
			
324 325 326
			/**
			 * @desc Base UPDATE request primitive for PollingChannel resource
			 */
327
			template (value) RequestPrimitive m_updatePollingChannelBase modifies m_update := {
328
				requestIdentifier := "m_updatePollingChannel" & f_rnd(1, 1000000),
329
				primitiveContent:= {pollingChannel_optional := m_contentUpdatePollingChannel}
330 331
			};
			
332 333 334
			/**
			 * @desc Base UPDATE request primitive for Subscription resource
			 */
335
			template (value) RequestPrimitive m_updateSubscriptionBase modifies m_update := {
336
				requestIdentifier := "m_updateSubscription" & f_rnd(1, 1000000),
337
				primitiveContent:= {subscription_optional := m_contentUpdateSubscription}
338
			};
339
			
340
			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
341
        	  	to_ 				:= p_locResourceAddress,
342
        	  	requestIdentifier	:= "m_updateLocationPolicy",
343
        	  	primitiveContent	:= {locationPolicy_optional := m_contentUpdateLocationPolicy(p_accessControlPolicyIds, p_locationUpdatePeriod)}
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
				from_ := p_from,
				requestIdentifier := ?,
				resourceType := ?,
386
				primitiveContent := ?,
387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405
				roleIDs := *,
				originatingTimestamp := *,
				requestExpirationTimestamp := *,
				resultExpirationTimestamp := *,
				operationExecutionTime := *,
				responseType := *,
				resultPersistence := *,
				resultContent := *,
				eventCategory := *,
				deliveryAggregation := *,
				groupRequestIdentifier := *,
				filterCriteria := *,
				discoveryResultType := *,
				tokens := *,
				tokenIDs := *,
				localTokenIDs := *,
				tokenRequestIndicator := *
			}
			
406 407
			
			/**
408 409 410 411 412 413
			 * @desc Base CREATE request primitive for AEAnnc resource
			 * @param p_accessControlPolicyIds
			 * @param p_to
			 * @param p_from
			 * @param p_appId
			 * @param p_stemId
414
			 */
415
			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:= {
416 417 418 419
				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,
420
				primitiveContent := {aEAnnc_optional := m_contentCreateAEAnnc({"Credential-ID:None"}, p_accessControlPolicyIds, p_appId, valueof(p_to) & "/" & p_stemId)}
421 422
			};
			
423
			/**
424
			 * @desc Reception template for CREATE AEAnnc
425
			 */
426
			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 := {
427
				resourceType := int10002,
428
				primitiveContent := {aEAnnc_optional := mw_contentCreateAEAnnc({"Credential-ID:None"}, p_accessControlPolicyIds)}
429
			};
430

431
			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 := {
432
				from_ := p_from,//PX_AE_ID_STEM,//TODO We should use omit, "s", or "c"
433
				requestIdentifier := testcasename() & "-m_createAe" & f_rnd(1, 1000000),
434
				resourceType := int2,
435
				primitiveContent := {aE_optional := m_contentCreateAe(p_accessControlPolicyIds,p_resourceName, p_appId, p_poaList)}
436
			};
437
        	
438 439 440 441 442
			/**
			 * @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,
443
				primitiveContent := {aE_optional := ?}
444 445
			};  
			        	
446
        	template (value) RequestPrimitive m_createAeAux(template (omit) AcpType p_accessControlPolicyIds := omit, in template (omit) PoaList p_poaList) modifies m_create := {
447
        		from_ := PX_AE1_ID_STEM,//TODO We should use omit, "s", or "c"
448
        		requestIdentifier := testcasename() & "-m_createAe" & f_rnd(1, 1000000),
449
        		resourceType := int2,
450
        		primitiveContent := {aE_optional := m_contentCreateAe(p_accessControlPolicyIds, c_aeAuxName, -, p_poaList)}
451
			};
452
        	
453 454 455
			/**
			 * @desc Base CREATE request primitive for AccessControlPolicy resource
			 */
456
			template (value) RequestPrimitive m_createAcpBase modifies m_create := {
457
				requestIdentifier := testcasename() & "-m_createAcp" & f_rnd(1, 1000000),
458
				resourceType := int1,
459
				primitiveContent := {accessControlPolicy_optional := m_contentCreateAcp ()}
460 461
			};
				
462
        	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 := {
463
        		to_ := p_parentResourceAddress,
464
        		from_ := PX_SUPER_USER,
465
        		requestIdentifier := testcasename() & "-m_createAcp" & f_rnd(1, 1000000),
466
        		resourceType := int1,
467
        		primitiveContent := {accessControlPolicy_optional := m_contentCreateAcp (p_name, p_acor, p_allowedOperations)}
468 469
        	};
        	
470 471 472 473 474 475 476
			/**
			 * @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,
477
				primitiveContent := {accessControlPolicyAnnc_optional := mw_contentCreateAcpAnnc(-)}
478 479
			};
        	
480 481 482 483
       	
			/**
			 * @desc Base CREATE request primitive for AccessControlPolicy resource (AUX)
			 */
484
        	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 := {
485
        		from_ := PX_SUPER_USER,
486
        		requestIdentifier := testcasename() & "-m_createAcpAux" & f_rnd(1, 1000000),
487
        		resourceType := int1,
488
        		primitiveContent := {accessControlPolicy_optional := m_contentCreateAcp (p_acpName, p_acor, p_allowedOperations)}
489 490
        	};
        	
491
			template (value) RequestPrimitive m_createCSEBase (in ServiceSubscribedAppRule p_serviceSubscribedAppRule) modifies m_create := {
492
				from_ := PX_SUPER_USER,
493
				requestIdentifier := testcasename() & "-m_createCSE" & f_rnd(1, 1000000),
494
				resourceType := int1,//FIXME Is this the value for CSEBase? In any case, this template is not used at all
495
				primitiveContent := {cSEBase_optional := m_contentCreateCSEBase (p_serviceSubscribedAppRule)}
496 497
			};
        	
498 499 500 501
       	
			/**
			 * @desc Base CREATE request primitive for Container resource
			 */
502
			template (value) RequestPrimitive m_createContainerBase modifies m_create := {
503
				requestIdentifier := testcasename() & "-m_createContainer" & f_rnd(1, 1000000),
504
				resourceType := int3,
505
				primitiveContent := {container_optional := m_contentCreateContainer}
506
			};
507 508 509 510 511
			
			/**
			 * @desc CREATE request primitive for Container resource wiht no resourceName provided
			 */
			template (value) RequestPrimitive m_createContainer_noResourceName modifies m_createContainerBase := {
512
				primitiveContent := {container_optional := m_contentCreateContainer(omit)}
513
			};
514
	
515
    		template (value) RequestPrimitive m_createContainer(XSD.ID p_parentResourceAddress, in template (omit) XSD.String p_resourceName := c_defaultContainerResourceName) modifies m_create := {
516
    			to_ := p_parentResourceAddress,
517
    			requestIdentifier := testcasename() & "-m_createContainer" & f_rnd(1, 1000000),
518
    			resourceType := int3,
519
    			primitiveContent := {container_optional := m_contentCreateContainer(p_resourceName)}
520 521
    		};
        	
522 523 524 525 526
			/**
			 * @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,
527
				primitiveContent := {container_optional := ?}
528 529
			};  
			
530
			/**
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
531
			 * @desc Base Reception template for CREATE ContainerAnnc
532
			 */
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
533
			template RequestPrimitive mw_createContainerAnncBase(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
534
				resourceType := int10003,
535
				primitiveContent := {containerAnnc_optional := mw_contentCreateContainerAnncBase}
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
536
			};
537
			
538 539 540 541 542
			/**
			 * @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, 
543
				primitiveContent := {flexContainer_optional := ?}
544 545 546 547 548 549 550
			};  
			
			/**
			 * @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
551
				primitiveContent := {genericInterworkingOperationInstance_optional := ?}
552 553
			}; 
        	
554 555 556 557 558
			/**
			 * @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),
559
				resourceType := int4,
560
				primitiveContent := {contentInstance_optional := m_contentCreateContentInstance}
561
			};
562 563 564 565 566
				
			/**
			 * @desc CREATE request primitive for Content Instance resource with no resourceName provided
			 */
			template (value) RequestPrimitive m_createContentInstance_noResourceName modifies m_createContentInstanceBase := {
567
				primitiveContent := {contentInstance_optional := m_contentCreateContentInstance(omit)}
568
			};
569
    		
570
    		template (value) RequestPrimitive m_createContentInstance(XSD.ID p_parentResourceAddress, XSD.String p_primitiveContent) modifies m_create := {
571
    			to_ := p_parentResourceAddress,
572
    			from_ := "admin:admin",
573
    			requestIdentifier := testcasename() & "-m_createContentInstance" & f_rnd(1, 1000000),
574
    			resourceType := int4,
575
    			primitiveContent := {contentInstance_optional := m_contentCreateContentInstance(p_primitiveContent)}
576 577
    		};
    		
578 579 580 581 582
			/**
			 * @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,
583
				primitiveContent := {contentInstanceAnnc_optional := ?}
584
			};  
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
585 586 587 588 589 590
			
			/**
			 * @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,
591
				primitiveContent := {contentInstanceAnnc_optional := mw_contentCreateContentInstanceAnncBase}
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
592
			};  
593
        	    		
594 595 596 597
       	
			/**
			 * @desc Base CREATE request primitive for Group resource
			 */
598
			template (value) RequestPrimitive m_createGroupBase modifies m_create := {
599
				requestIdentifier := testcasename() & "-m_createGroup" & f_rnd(1, 1000000),
600
				resourceType := int9,
601
				primitiveContent := {group_optional := m_contentCreateGroup (1, {"NotInitialized"}, omit, omit)}	//TODO: p_resourceId
602
			};
603
        	
604
        	template (value) RequestPrimitive m_createGroup(in template (value) XSD.NonNegativeInteger p_maxNrOfMembers,
605
															in template (value) ListOfURIs p_memberIds := {"NotInitialized"},
606
															in template (omit) AcpType p_accessControlPolicyIds,
607 608 609 610
															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 := {
611
        		requestIdentifier := testcasename() & "-m_createGroup" & f_rnd(1, 1000000),
612
        		resourceType := int9,
613
        		primitiveContent := {group_optional := m_contentCreateGroup (p_maxNrOfMembers, p_memberIds, p_accessControlPolicyIds, p_memberType, p_consistencyStrategy, p_membersAccessControlPolicyIDs, p_name)}	//TODO: p_resourceId
614 615
        	};
        	
616 617 618 619 620
			/**
			 * @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,
621
				primitiveContent := {groupAnnc_optional := ?}
622
			};  
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
623 624 625 626 627 628
			
			/**
			 * @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,
629
				primitiveContent := {groupAnnc_optional := mw_contentCreateGroupAnncBase}
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
630
			};
631
        	
632 633 634 635 636 637 638 639 640
        	/**
			 * @desc Base CREATE request primitive for MgmtCmd resource
			 */
			template (value) RequestPrimitive m_createMgmtCmdBase modifies m_create := {
				requestIdentifier := testcasename() & "-m_createMgmtCmd" & f_rnd(1, 1000000),
				resourceType := int12,
				primitiveContent := {mgmtResource_optional := m_contentCreateMgmtCmd (-,-)}
			};
			
641 642 643 644 645 646
			/**
			 * @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,
647
				primitiveContent := {mgmtResource_optional := m_contentCreateMgmtObj (-,-)}
648 649 650 651 652 653 654 655
			};
        	
			/**
			 * @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,
656
				primitiveContent := {mgmtResource_optional := m_contentCreateMgmtObj (-, -)}
657 658 659 660 661 662 663
			};
        	
			/**
			 * @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,
664
				primitiveContent := {announcedMgmtResource_optional := ?}
665 666
			};  
			
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
667 668 669 670 671
			/**
			 * @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,
672
				primitiveContent := {announcedMgmtResource_optional := mw_contentCreateMgmtObjAnncBase}
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
673 674
			};  
			
675 676 677 678 679 680
			/**
			 * @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,
681
				primitiveContent := {node_optional := m_contentCreateNode(-, -, -) }
682 683 684 685 686 687 688 689
			};
        	
			/**
			 * @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,
690
				primitiveContent := {node_optional := m_contentCreateNode(-,-,-) }
691 692 693 694 695 696 697
			};
        	
			/**
			 * @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,
698
				primitiveContent := {nodeAnnc_optional := ?}
699
			};  
700 701 702 703
       	
			/**
			 * @desc Base CREATE request primitive for PollingChannel resource
			 */
704
			template (value) RequestPrimitive m_createPollingChannelBase modifies m_create := {
705
				requestIdentifier := testcasename() & "-m_createPollingChannel" & f_rnd(1, 1000000),
706
				resourceType := int15,
707
				primitiveContent := {pollingChannel_optional := m_contentCreatePollingChannel (-)}
708
			};
709
        	
710
        	template (value) RequestPrimitive m_createPollingChannel(XSD.ID p_parentResourceAddress, in template (value)XSD.ID p_originatorId) modifies m_create := {
711
        		to_ := p_parentResourceAddress,
712
        		from_ := p_originatorId,
713
        		requestIdentifier := testcasename() & "-m_createPollingChannel" & f_rnd(1, 1000000),
714
        		resourceType := int15,
715
        		primitiveContent := {pollingChannel_optional := m_contentCreatePollingChannel ()}
716 717
        	};
        	
718 719 720
			/**
			 * @desc Base CREATE request primitive for Schedule resource
			 */
721
        	template (value) RequestPrimitive m_createScheduleBase modifies m_create := {
722
        		requestIdentifier := testcasename() & "-m_createSchedule" & f_rnd(1, 1000000),
723
        		resourceType := int18,
724
        		primitiveContent := {schedule_optional := m_contentCreateSchedule ({{"0 0 0,1,2 1 1 * *"}})}
725 726
        	};
        	
727
        	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 := {
728
        		to_ := p_parentResourceAddress,
729
        		requestIdentifier := testcasename() & "-m_createSchedule" & f_rnd(1, 1000000),
730
        		resourceType := int18,
731
        		primitiveContent := {schedule_optional := m_contentCreateSchedule (p_scheduleElement, p_name)}
732 733
        	};
        	
734 735 736 737 738
			/**
			 * @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,
739
				primitiveContent := {scheduleAnnc_optional := ?}
740
			};  
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
741 742 743 744 745 746
			
			/**
			 * @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,
747
				primitiveContent := {scheduleAnnc_optional := mw_contentCreateScheduleAnncBase}
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
748
			};  
749
        	
750
			template (value) RequestPrimitive m_createServiceSubscribedAppRule (in ListOfM2MID p_applicableCredIDs, in ListOfM2MID p_allowedAppIDs, in ListOfM2MID p_allowedAEs) modifies m_create := {
751
				requestIdentifier := testcasename() & "-m_createServiceSubscribedAppRule" & f_rnd(1, 1000000),
752
				resourceType := int19,//FIXME Is this the correct value?
753
				primitiveContent := {serviceSubscribedAppRule_optional := m_contentCreateServiceSubscribedAppRule (p_applicableCredIDs, p_allowedAppIDs, p_allowedAEs)}
754
			};
755
        	
756 757 758 759 760 761 762 763
			/**
			 * @desc Base CREATE request primitive for ServiceSubscribedAppRule Resource
			 */
			template (value) RequestPrimitive m_createServiceSubscribedAppRuleBase modifies m_create := {
				requestIdentifier := testcasename() & "-m_createServiceSubscribedAppRuleBase" & f_rnd(1, 1000000),
				resourceType := int19,
				primitiveContent := {serviceSubscribedAppRule_optional := m_contentCreateServiceSubscribedAppRuleBase}
			};
764 765 766 767
       	
			/**
			 * @desc Base CREATE request primitive for Subscription resource
			 */
768
			template (value) RequestPrimitive m_createSubscriptionBase modifies m_create := {
769
				requestIdentifier := testcasename() & "-m_createSubscription" & f_rnd(1, 1000000),
770
				resourceType := int23,
771
				primitiveContent := {subscription_optional := m_contentCreateSubscription ({"NotInitialized"})}
772 773
			};
        	
774
        	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 := {
775
        		to_ := p_parentResourceAddress,
776
        		requestIdentifier := testcasename() & "-m_createSubscription" & f_rnd(1, 1000000),
777
        		resourceType := int23,
778
        		primitiveContent := {subscription_optional := m_contentCreateSubscription (p_notificationURI, p_name)}
779
        	};
780
        	
781 782 783 784 785 786 787 788 789
			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 := {
790
				primitiveContent := {subscription_optional := m_contentCreateSubscriptionAdvanced (p_notificationURI, p_name, p_eventNotificationCriteria, p_expirationCounter, p_batchNotify, p_latestNotify, p_subscriberURI, p_notificationContentType)}
791 792
			};
        	
793 794 795 796 797 798 799 800 801
        	/**
			 * @desc Base CREATE request primitive for Location Policy resource
			 */
			template (value) RequestPrimitive m_createLocationPolicyBase modifies m_create := {
				requestIdentifier := testcasename() & "-m_createLocationPolicy" & f_rnd(1, 1000000),
				resourceType := int10,
				primitiveContent := {locationPolicy_optional := m_contentCreateLocationPolicyBase}
			};
        	
802 803
        	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 := {
        		
804
        	  	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
805
        	  	resourceType		:= int10,
806
        	  	primitiveContent	:= {locationPolicy_optional := m_contentCreateLocationPolicy(p_locationSource, p_accessControlPolicyIds, p_locationUpdatePeriod, p_locationTargetID, p_locationServerAddress) },
807
			  	resultContent := int1//default
808
        	};
809 810 811 812 813 814
        	
			/**
			 * @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,
815
				primitiveContent := {locationPolicyAnnc_optional := ?}
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
816 817 818 819 820 821 822
			}; 
			
			/**
			 * @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,
823
				primitiveContent := {locationPolicyAnnc_optional := mw_contentCreateLocationPolicyAnncBase}
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
824 825
			}; 
			
826
        	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 := {
827
        	  requestIdentifier	:= testcasename() & "-m_createNotification" & f_rnd(1, 1000000),
828
        	  primitiveContent	:= {notification := m_contentCreateNotification(p_resourcePresentation, p_notifEventType, p_subscriptionReference, p_notifForwardingURI)},
829 830 831
        	  resultContent		:= int1 //default
        	  
        	};
832
        	
833 834 835 836 837
			/**
			 * @desc Reception template for SemanticDescriptor creation
			 */
			template RequestPrimitive mw_createSemanticDescriptor(template XSD.ID p_from := *, template XSD.ID p_to := ?, template SemanticDescriptor_optional p_semanticDescriptor := mw_contentCreateSemanticDescriptor) modifies mw_create := {
				resourceType := int24,
838
				primitiveContent := {semanticDescriptor_optional := p_semanticDescriptor}
839 840
			};
			
841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861