OneM2M_Templates.ttcn 98.7 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
			};
    	}//end group Retrieve

    	group Update {
194 195
    		
    		template (value) RequestPrimitive m_update := {
196 197
				operation := int3,
				to_ := "NotInitialized",
198 199
				from_ := "NotInitialized",
				requestIdentifier := "m_update" & f_rnd(1, 1000000),
200
				resourceType := omit,
201
				primitiveContent:= omit,
202
				roleIDs := omit, 
203 204 205 206 207 208 209 210 211 212 213
				originatingTimestamp := omit,
				requestExpirationTimestamp := omit,
				resultExpirationTimestamp := omit,
				operationExecutionTime := omit,
				responseType := omit,
				resultPersistence := omit,
				resultContent := omit,
				eventCategory := omit,
				deliveryAggregation := omit,
				groupRequestIdentifier := omit,
				filterCriteria := omit,
214 215 216
				discoveryResultType := omit,
				tokens := omit,
				tokenIDs := omit,
217
				localTokenIDs := omit,
218
				tokenRequestIndicator := omit
219
			};
220
        	
221 222 223 224 225
			/**
			 * @desc Base UPDATE request primitive for Ae resource
			 */
			template (value) RequestPrimitive m_updateAeBase modifies m_update:= {
				requestIdentifier := "m_updateAe" & f_rnd(1, 1000000),
226
				primitiveContent:= {aE_optional := m_contentUpdateAe}
227 228
			};
        	
229 230 231 232 233
			/**
			 * @desc Base UPDATE request primitive for Container resource
			 */
			template (value) RequestPrimitive m_updateContainerBase modifies m_update:= {
				requestIdentifier := "m_updateContainer" & f_rnd(1, 1000000),
234
				primitiveContent:= {container_optional := m_contentUpdateContainer}
235
			};
236
			
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
237 238 239 240 241
			/**
			 * @desc Base UPDATE request primitive for ContentInstance resource
			 */
			template (value) RequestPrimitive m_updateContentInstanceBase modifies m_update:= {
				requestIdentifier := "m_updateContentInstance" & f_rnd(1, 1000000),
242
				primitiveContent:= {contentInstance_optional := m_contentUpdateContentInstance}
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
243 244
			};
			
245 246 247
			/**
			 * @desc Base UPDATE request primitive for AccessControlPolicy resource
			 */        				
248
			template (value) RequestPrimitive m_updateAcpBase modifies m_update := {
249
				requestIdentifier := "m_updateAcp" & f_rnd(1, 1000000),
250
				primitiveContent:= {accessControlPolicy_optional := m_contentUpdateAcp}
251 252
			};
			
253 254
			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),
255
				primitiveContent:= {accessControlPolicy_optional := m_contentUpdateAcpPrivileges(p_privileges, p_selfPrivileges)}
256 257
			};
			
258 259 260
			/**
			 * @desc Base UPDATE request primitive for Group resource
			 */
261
			template (value) RequestPrimitive m_updateGroupBase modifies m_update := {
262
				requestIdentifier := "m_updateGroup" & f_rnd(1, 1000000),
263
				primitiveContent:= {group_optional := m_contentUpdateGroup}
264 265
			};
			
266 267 268
			/**
			 * @desc Base UPDATE request primitive for Schedule resource
			 */
269
			template (value) RequestPrimitive m_updateScheduleBase modifies m_update := {
270
				requestIdentifier := "m_updateSchedule" & f_rnd(1, 1000000),
271
				primitiveContent:= {schedule_optional := m_contentUpdateSchedule}
272 273
			};
			
274 275 276
			/**
			 * @desc Base UPDATE request primitive for PollingChannel resource
			 */
277
			template (value) RequestPrimitive m_updatePollingChannelBase modifies m_update := {
278
				requestIdentifier := "m_updatePollingChannel" & f_rnd(1, 1000000),
279
				primitiveContent:= {pollingChannel_optional := m_contentUpdatePollingChannel}
280 281
			};
			
282 283 284
			/**
			 * @desc Base UPDATE request primitive for Subscription resource
			 */
285
			template (value) RequestPrimitive m_updateSubscriptionBase modifies m_update := {
286
				requestIdentifier := "m_updateSubscription" & f_rnd(1, 1000000),
287
				primitiveContent:= {subscription_optional := m_contentUpdateSubscription}
288
			};
289
			
290
			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
291
        	  	to_ 				:= p_locResourceAddress,
292
        	  	requestIdentifier	:= "m_updateLocationPolicy",
293
        	  	primitiveContent	:= {locationPolicy_optional := m_contentUpdateLocationPolicy(p_accessControlPolicyIds, p_locationUpdatePeriod)}
294
			  };
295
        	
296 297 298
    	}//end group Update
    	
    	group Create {
299 300 301 302 303

			template (value) RequestPrimitive m_create := {
				operation := int1,
				to_ := "NotInitialized",
				from_ := "NotInitialized",
304
				requestIdentifier := testcasename() & "-m_create" & f_rnd(1, 1000000),
305 306
				resourceType := omit,
				primitiveContent := omit,
307
				roleIDs := omit,
308 309 310 311 312 313 314 315 316 317 318 319 320 321
				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,
322
				localTokenIDs := omit,
323
				tokenRequestIndicator := omit
324 325

			};
326
        	
327 328 329 330 331
			/**
			 * @desc Base Reception template for create operation
			 */
			template RequestPrimitive mw_create(template XSD.ID p_from := *, template XSD.ID p_to := ?) := {
				operation := int1,
332
				to_ := p_to,
333 334 335
				from_ := p_from,
				requestIdentifier := ?,
				resourceType := ?,
336
				primitiveContent := ?,
337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355
				roleIDs := *,
				originatingTimestamp := *,
				requestExpirationTimestamp := *,
				resultExpirationTimestamp := *,
				operationExecutionTime := *,
				responseType := *,
				resultPersistence := *,
				resultContent := *,
				eventCategory := *,
				deliveryAggregation := *,
				groupRequestIdentifier := *,
				filterCriteria := *,
				discoveryResultType := *,
				tokens := *,
				tokenIDs := *,
				localTokenIDs := *,
				tokenRequestIndicator := *
			}
			
356 357
			
			/**
358 359 360 361 362 363
			 * @desc Base CREATE request primitive for AEAnnc resource
			 * @param p_accessControlPolicyIds
			 * @param p_to
			 * @param p_from
			 * @param p_appId
			 * @param p_stemId
364
			 */
365
			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:= {
366 367 368 369
				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,
370
				primitiveContent := {aEAnnc_optional := m_contentCreateAEAnnc({"Credential-ID:None"}, p_accessControlPolicyIds, p_appId, valueof(p_to) & "/" & p_stemId)}
371 372
			};
			
373
			/**
374
			 * @desc Reception template for CREATE AEAnnc
375
			 */
376
			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 := {
377
				resourceType := int10002,
378
				primitiveContent := {aEAnnc_optional := mw_contentCreateAEAnnc({"Credential-ID:None"}, p_accessControlPolicyIds)}
379
			};
380

381
			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 := {
382
				from_ := p_from,//PX_AE_ID_STEM,//TODO We should use omit, "s", or "c"
383
				requestIdentifier := testcasename() & "-m_createAe" & f_rnd(1, 1000000),
384
				resourceType := int2,
385
				primitiveContent := {aE_optional := m_contentCreateAe(p_accessControlPolicyIds,p_resourceName, p_appId, p_poaList)}
386
			};
387
        	
388 389 390 391 392
			/**
			 * @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,
393
				primitiveContent := {aE_optional := ?}
394 395
			};  
			        	
396
        	template (value) RequestPrimitive m_createAeAux(template (omit) AcpType p_accessControlPolicyIds := omit, in template (omit) PoaList p_poaList) modifies m_create := {
397
        		from_ := PX_AE1_ID_STEM,//TODO We should use omit, "s", or "c"
398
        		requestIdentifier := testcasename() & "-m_createAe" & f_rnd(1, 1000000),
399
        		resourceType := int2,
400
        		primitiveContent := {aE_optional := m_contentCreateAe(p_accessControlPolicyIds, c_aeAuxName, -, p_poaList)}
401
			};
402
        	
403 404 405
			/**
			 * @desc Base CREATE request primitive for AccessControlPolicy resource
			 */
406
			template (value) RequestPrimitive m_createAcpBase modifies m_create := {
407
				requestIdentifier := testcasename() & "-m_createAcp" & f_rnd(1, 1000000),
408
				resourceType := int1,
409
				primitiveContent := {accessControlPolicy_optional := m_contentCreateAcp ()}
410 411
			};
				
412
        	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 := {
413
        		to_ := p_parentResourceAddress,
414
        		from_ := PX_SUPER_USER,
415
        		requestIdentifier := testcasename() & "-m_createAcp" & f_rnd(1, 1000000),
416
        		resourceType := int1,
417
        		primitiveContent := {accessControlPolicy_optional := m_contentCreateAcp (p_name, p_acor, p_allowedOperations)}
418 419
        	};
        	
420 421 422 423 424 425 426
			/**
			 * @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,
427
				primitiveContent := {accessControlPolicyAnnc_optional := mw_contentCreateAcpAnnc(-)}
428 429
			};
        	
430 431 432 433
       	
			/**
			 * @desc Base CREATE request primitive for AccessControlPolicy resource (AUX)
			 */
434
        	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 := {
435
        		from_ := PX_SUPER_USER,
436
        		requestIdentifier := testcasename() & "-m_createAcpAux" & f_rnd(1, 1000000),
437
        		resourceType := int1,
438
        		primitiveContent := {accessControlPolicy_optional := m_contentCreateAcp (p_acpName, p_acor, p_allowedOperations)}
439 440
        	};
        	
441
			template (value) RequestPrimitive m_createCSEBase (in ServiceSubscribedAppRule p_serviceSubscribedAppRule) modifies m_create := {
442
				from_ := PX_SUPER_USER,
443
				requestIdentifier := testcasename() & "-m_createCSE" & f_rnd(1, 1000000),
444
				resourceType := int1,//FIXME Is this the value for CSEBase? In any case, this template is not used at all
445
				primitiveContent := {cSEBase_optional := m_contentCreateCSEBase (p_serviceSubscribedAppRule)}
446 447
			};
        	
448 449 450 451
       	
			/**
			 * @desc Base CREATE request primitive for Container resource
			 */
452
			template (value) RequestPrimitive m_createContainerBase modifies m_create := {
453
				requestIdentifier := testcasename() & "-m_createContainer" & f_rnd(1, 1000000),
454
				resourceType := int3,
455
				primitiveContent := {container_optional := m_contentCreateContainer}
456
			};
457 458 459 460 461
			
			/**
			 * @desc CREATE request primitive for Container resource wiht no resourceName provided
			 */
			template (value) RequestPrimitive m_createContainer_noResourceName modifies m_createContainerBase := {
462
				primitiveContent := {container_optional := m_contentCreateContainer(omit)}
463
			};
464
	
465
    		template (value) RequestPrimitive m_createContainer(XSD.ID p_parentResourceAddress, in template (omit) XSD.String p_resourceName := c_defaultContainerResourceName) modifies m_create := {
466
    			to_ := p_parentResourceAddress,
467
    			requestIdentifier := testcasename() & "-m_createContainer" & f_rnd(1, 1000000),
468
    			resourceType := int3,
469
    			primitiveContent := {container_optional := m_contentCreateContainer(p_resourceName)}
470 471
    		};
        	
472 473 474 475 476
			/**
			 * @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,
477
				primitiveContent := {container_optional := ?}
478 479
			};  
			
480
			/**
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
481
			 * @desc Base Reception template for CREATE ContainerAnnc
482
			 */
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
483
			template RequestPrimitive mw_createContainerAnncBase(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
484
				resourceType := int10003,
485
				primitiveContent := {containerAnnc_optional := mw_contentCreateContainerAnncBase}
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
486
			};
487
			
488 489 490 491 492
			/**
			 * @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, 
493
				primitiveContent := {flexContainer_optional := ?}
494 495 496 497 498 499 500
			};  
			
			/**
			 * @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
501
				primitiveContent := {genericInterworkingOperationInstance_optional := ?}
502 503
			}; 
        	
504 505 506 507 508
			/**
			 * @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),
509
				resourceType := int4,
510
				primitiveContent := {contentInstance_optional := m_contentCreateContentInstance}
511
			};
512 513 514 515 516
				
			/**
			 * @desc CREATE request primitive for Content Instance resource with no resourceName provided
			 */
			template (value) RequestPrimitive m_createContentInstance_noResourceName modifies m_createContentInstanceBase := {
517
				primitiveContent := {contentInstance_optional := m_contentCreateContentInstance(omit)}
518
			};
519
    		
520
    		template (value) RequestPrimitive m_createContentInstance(XSD.ID p_parentResourceAddress, XSD.String p_primitiveContent) modifies m_create := {
521
    			to_ := p_parentResourceAddress,
522
    			from_ := "admin:admin",
523
    			requestIdentifier := testcasename() & "-m_createContentInstance" & f_rnd(1, 1000000),
524
    			resourceType := int4,
525
    			primitiveContent := {contentInstance_optional := m_contentCreateContentInstance(p_primitiveContent)}
526 527
    		};
    		
528 529 530 531 532
			/**
			 * @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,
533
				primitiveContent := {contentInstanceAnnc_optional := ?}
534
			};  
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
535 536 537 538 539 540
			
			/**
			 * @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,
541
				primitiveContent := {contentInstanceAnnc_optional := mw_contentCreateContentInstanceAnncBase}
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
542
			};  
543
        	    		
544 545 546 547
       	
			/**
			 * @desc Base CREATE request primitive for Group resource
			 */
548
			template (value) RequestPrimitive m_createGroupBase modifies m_create := {
549
				requestIdentifier := testcasename() & "-m_createGroup" & f_rnd(1, 1000000),
550
				resourceType := int9,
551
				primitiveContent := {group_optional := m_contentCreateGroup (1, {"NotInitialized"}, omit, omit)}	//TODO: p_resourceId
552
			};
553
        	
554
        	template (value) RequestPrimitive m_createGroup(in template (value) XSD.NonNegativeInteger p_maxNrOfMembers,
555
															in template (value) ListOfURIs p_memberIds := {"NotInitialized"},
556
															in template (omit) AcpType p_accessControlPolicyIds,
557 558 559 560
															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 := {
561
        		requestIdentifier := testcasename() & "-m_createGroup" & f_rnd(1, 1000000),
562
        		resourceType := int9,
563
        		primitiveContent := {group_optional := m_contentCreateGroup (p_maxNrOfMembers, p_memberIds, p_accessControlPolicyIds, p_memberType, p_consistencyStrategy, p_membersAccessControlPolicyIDs, p_name)}	//TODO: p_resourceId
564 565
        	};
        	
566 567 568 569 570
			/**
			 * @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,
571
				primitiveContent := {groupAnnc_optional := ?}
572
			};  
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
573 574 575 576 577 578
			
			/**
			 * @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,
579
				primitiveContent := {groupAnnc_optional := mw_contentCreateGroupAnncBase}
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
580
			};
581 582 583 584 585 586 587
        	
			/**
			 * @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,
588
				primitiveContent := {mgmtResource_optional := m_contentCreateMgmtObj (-,-)}
589 590 591 592 593 594 595 596
			};
        	
			/**
			 * @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,
597
				primitiveContent := {mgmtResource_optional := m_contentCreateMgmtObj (-, -)}
598 599 600 601 602 603 604
			};
        	
			/**
			 * @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,
605
				primitiveContent := {announcedMgmtResource_optional := ?}
606 607
			};  
			
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
608 609 610 611 612
			/**
			 * @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,
613
				primitiveContent := {announcedMgmtResource_optional := mw_contentCreateMgmtObjAnncBase}
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
614 615
			};  
			
616 617 618 619 620 621
			/**
			 * @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,
622
				primitiveContent := {node_optional := m_contentCreateNode(-, -, -) }
623 624 625 626 627 628 629 630
			};
        	
			/**
			 * @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,
631
				primitiveContent := {node_optional := m_contentCreateNode(-,-,-) }
632 633 634 635 636 637 638
			};
        	
			/**
			 * @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,
639
				primitiveContent := {nodeAnnc_optional := ?}
640
			};  
641 642 643 644
       	
			/**
			 * @desc Base CREATE request primitive for PollingChannel resource
			 */
645
			template (value) RequestPrimitive m_createPollingChannelBase modifies m_create := {
646
				requestIdentifier := testcasename() & "-m_createPollingChannel" & f_rnd(1, 1000000),
647
				resourceType := int15,
648
				primitiveContent := {pollingChannel_optional := m_contentCreatePollingChannel (-)}
649
			};
650
        	
651
        	template (value) RequestPrimitive m_createPollingChannel(XSD.ID p_parentResourceAddress, in template (value)XSD.ID p_originatorId) modifies m_create := {
652
        		to_ := p_parentResourceAddress,
653
        		from_ := p_originatorId,
654
        		requestIdentifier := testcasename() & "-m_createPollingChannel" & f_rnd(1, 1000000),
655
        		resourceType := int15,
656
        		primitiveContent := {pollingChannel_optional := m_contentCreatePollingChannel ()}
657 658
        	};
        	
659 660 661
			/**
			 * @desc Base CREATE request primitive for Schedule resource
			 */
662
        	template (value) RequestPrimitive m_createScheduleBase modifies m_create := {
663
        		requestIdentifier := testcasename() & "-m_createSchedule" & f_rnd(1, 1000000),
664
        		resourceType := int18,
665
        		primitiveContent := {schedule_optional := m_contentCreateSchedule ({{"0 0 0,1,2 1 1 * *"}})}
666 667
        	};
        	
668
        	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 := {
669
        		to_ := p_parentResourceAddress,
670
        		requestIdentifier := testcasename() & "-m_createSchedule" & f_rnd(1, 1000000),
671
        		resourceType := int18,
672
        		primitiveContent := {schedule_optional := m_contentCreateSchedule (p_scheduleElement, p_name)}
673 674
        	};
        	
675 676 677 678 679
			/**
			 * @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,
680
				primitiveContent := {scheduleAnnc_optional := ?}
681
			};  
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
682 683 684 685 686 687
			
			/**
			 * @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,
688
				primitiveContent := {scheduleAnnc_optional := mw_contentCreateScheduleAnncBase}
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
689
			};  
690
        	
691
			template (value) RequestPrimitive m_createServiceSubscribedAppRule (in ListOfM2MID p_applicableCredIDs, in ListOfM2MID p_allowedAppIDs, in ListOfM2MID p_allowedAEs) modifies m_create := {
692
				requestIdentifier := testcasename() & "-m_createServiceSubscribedAppRule" & f_rnd(1, 1000000),
693
				resourceType := int19,//FIXME Is this the correct value?
694
				primitiveContent := {serviceSubscribedAppRule_optional := m_contentCreateServiceSubscribedAppRule (p_applicableCredIDs, p_allowedAppIDs, p_allowedAEs)}
695
			};
696
        	
697 698 699 700
       	
			/**
			 * @desc Base CREATE request primitive for Subscription resource
			 */
701
			template (value) RequestPrimitive m_createSubscriptionBase modifies m_create := {
702
				requestIdentifier := testcasename() & "-m_createSubscription" & f_rnd(1, 1000000),
703
				resourceType := int23,
704
				primitiveContent := {subscription_optional := m_contentCreateSubscription ({"NotInitialized"})}
705 706
			};
        	
707
        	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 := {
708
        		to_ := p_parentResourceAddress,
709
        		requestIdentifier := testcasename() & "-m_createSubscription" & f_rnd(1, 1000000),
710
        		resourceType := int23,
711
        		primitiveContent := {subscription_optional := m_contentCreateSubscription (p_notificationURI, p_name)}
712
        	};
713
        	
714 715 716 717 718 719 720 721 722
			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 := {
723
				primitiveContent := {subscription_optional := m_contentCreateSubscriptionAdvanced (p_notificationURI, p_name, p_eventNotificationCriteria, p_expirationCounter, p_batchNotify, p_latestNotify, p_subscriberURI, p_notificationContentType)}
724 725
			};
        	
726 727
        	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 := {
        		
728
        	  	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
729
        	  	resourceType		:= int10,
730
        	  	primitiveContent	:= {locationPolicy_optional := m_contentCreateLocationPolicy(p_locationSource, p_accessControlPolicyIds, p_locationUpdatePeriod, p_locationTargetID, p_locationServerAddress) },
731
			  	resultContent := int1//default
732
        	};
733 734 735 736 737 738
        	
			/**
			 * @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,
739
				primitiveContent := {locationPolicyAnnc_optional := ?}
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
740 741 742 743 744 745 746
			}; 
			
			/**
			 * @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,
747
				primitiveContent := {locationPolicyAnnc_optional := mw_contentCreateLocationPolicyAnncBase}
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
748 749
			}; 
			
750
        	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 := {
751
        	  requestIdentifier	:= testcasename() & "-m_createNotification" & f_rnd(1, 1000000),
752
        	  primitiveContent	:= {notification := m_contentCreateNotification(p_resourcePresentation, p_notifEventType, p_subscriptionReference, p_notifForwardingURI)},
753 754 755
        	  resultContent		:= int1 //default
        	  
        	};
756
        	
757 758 759 760 761
			/**
			 * @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,
762
				primitiveContent := {semanticDescriptor_optional := p_semanticDescriptor}
763 764
			};
			
765 766 767 768
    	}//end group Create
    	
    	group Delete {
    	
769
        	template (value) RequestPrimitive m_deleteRequest(XSD.ID p_resourceAddress, in XSD.ID p_originator := PX_SUPER_USER) := {
770
        		operation := int4,
771
        		to_ := p_resourceAddress,
772
        		from_ := p_originator,
773
        		requestIdentifier := testcasename() & "-m_deleteResource" & f_rnd(1, 1000000),
774
        		resourceType := omit,
775
        		primitiveContent := omit, 
776
				roleIDs := omit, 
777 778 779 780 781 782 783 784 785 786 787
				originatingTimestamp := omit,
				requestExpirationTimestamp := omit,
				resultExpirationTimestamp := omit,
				operationExecutionTime := omit,
				responseType := omit,
				resultPersistence := omit,
				resultContent := omit,
				eventCategory := omit,
				deliveryAggregation := omit,
				groupRequestIdentifier := omit,
				filterCriteria := omit,
788 789 790
				discoveryResultType := omit,
				tokens := omit,
				tokenIDs := omit,
791
				localTokenIDs := omit, 
792
				tokenRequestIndicator := omit
793 794 795 796

        	};
        	
    	}//end group Delete
797 798 799 800 801 802 803 804 805 806 807 808
    	
    	group Notify {
    		
			/**
			 * @desc Base NOTIFY request primitive
			 */
			template RequestPrimitive mw_notifyBase := {
				operation := int5,
				to_ := ?,
				from_ := *,
				requestIdentifier := ?,
				resourceType := *,
809
				primitiveContent := {notification := mw_contentNotificationBase},
810
				roleIDs := *,
811 812 813 814 815 816 817 818 819 820 821 822 823 824
				originatingTimestamp := *,
				requestExpirationTimestamp := *,
				resultExpirationTimestamp := *,
				operationExecutionTime := *,
				responseType := *,
				resultPersistence := *,
				resultContent := *,
				eventCategory := *,
				deliveryAggregation := *,
				groupRequestIdentifier := *,
				filterCriteria := *,
				discoveryResultType := *,
				tokens := *,
				tokenIDs := *,
<