OneM2M_Templates.ttcn 128 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://oldforge.etsi.org/svn/oneM2M/trunk/ttcn/LibOneM2M/OneM2M_Templates.ttcn $
10
 *              $Id: OneM2M_Templates.ttcn 356 2017-08-21 12:25:14Z reinaortega $
11 12 13 14 15 16 17 18 19 20
 *  @desc       Module containing templates for oneM2M
 *
 */
module OneM2M_Templates {

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

23
		
24 25 26 27 28 29
	/**
	 * @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 
30
	 */
31 32 33 34 35
	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);	
	}

36 37

	/* Templates */
38
	
39
	group Primitives {
40 41 42 43
    	/** 
    	 * @desc Base template for request sending operations
    	 * @param p_requestPrimitive
    	 */
44
    	template (value) MsgOut m_request(in template (value) RequestPrimitive p_requestPrimitive, in template (omit) AttributeAux_list p_forcedFields := omit) := {
45
    		primitive := { requestPrimitive := p_requestPrimitive},
46
    		host := PX_SUT_ADDRESS,
47 48 49
    		xmlNamespace := PX_XML_NAMESPACE,
    		protocolBinding := PX_PROTOCOL_BINDING,
    		serialization := PX_SERIALIZATION, 
50
    		forcedFields := p_forcedFields
51
    	};
52 53 54 55 56
    	
		/** 
		 * @desc Base template for response sending operations
		 * @param p_responsePrimitive
		 */
57
		template (value) MsgOut m_response(in template (value) ResponsePrimitive p_responsePrimitive, in template (omit) AttributeAux_list p_forcedFields := omit) := {
58
			primitive := { responsePrimitive := p_responsePrimitive},
59
			host := PX_SUT_ADDRESS,
60 61 62
			xmlNamespace := PX_XML_NAMESPACE,
			protocolBinding := PX_PROTOCOL_BINDING,
			serialization := PX_SERIALIZATION, 
63
			forcedFields := p_forcedFields
64
		};
65 66 67 68 69 70 71 72 73 74 75 76 77 78
		
		/** 
		 * @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
		};
		
79 80 81 82 83 84 85 86 87 88 89 90
    	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}
		};
    	
91
	}//end of group primitives
92 93 94 95
	
	group RequestPrimitives { 
		
		group Retrieve {
96

97 98 99 100
			/**
			 * @desc Base RETRIEVE request primitive
			 * @param p_targetResourceAddress Target resource address
			 * @param p_originator Originator (from)
101
			 */
102
			template (value) RequestPrimitive m_retrieveResource(XSD.ID p_targetResourceAddress, in XSD.ID p_originator) := {
103
				operation := int2,
104
				to_ := p_targetResourceAddress,
105
				from_ := p_originator,
106 107
				requestIdentifier := "m_retrieveResource" & 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 132
			/**
			 * @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)
			 */
133
        	template (value) RequestPrimitive m_retrieveResourceAttributeToOption(XSD.ID p_targetResourceAddress, in XSD.ID p_originator) := {
134
        		operation := int2,
135
        		to_ := p_targetResourceAddress,
136
        		from_ := p_originator,
137 138
        		requestIdentifier := "m_retrieveResourceAttributeOptionTo" & 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 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)
164
			 */
165
			template (value) RequestPrimitive m_retrieveResourceAttributeContentOption(XSD.ID p_targetResourceAddress, in template (value) AttributeList_1 p_attributeList, in XSD.ID p_originator) := {
166
				operation := int2,
167
				to_ := p_targetResourceAddress,
168
				from_ := p_originator,
169 170
				requestIdentifier := "m_retrieveResourceAttributeContentOption" & f_rnd(1, 1000000),
				resourceType := omit,
171
				primitiveContent := {attributeList := p_attributeList},
172
				roleIDs := omit,
173 174 175 176 177 178 179 180 181 182 183
				originatingTimestamp := omit,
				requestExpirationTimestamp := omit,
				resultExpirationTimestamp := omit,
				operationExecutionTime := omit,
				responseType := omit,
				resultPersistence := omit,
				resultContent := omit,
				eventCategory := omit,
				deliveryAggregation := omit,
				groupRequestIdentifier := omit,
				filterCriteria := omit,
184 185 186
				discoveryResultType := omit,
				tokens := omit,
				tokenIDs := omit,
187
				localTokenIDs := omit,
188
				tokenRequestIndicator := omit
189
			};
190 191 192 193 194 195 196 197 198 199
			
			/**
			  * @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 := {
200 201 202 203 204 205 206 207 208 209 210 211 212 213
					createdBefore := omit,
					createdAfter := omit,
					modifiedSince := omit,
					unmodifiedSince := omit,
					stateTagSmaller := omit,
					stateTagBigger := omit,
					expireBefore := omit,
					expireAfter := omit,
					labels := omit,
					resourceType := omit,
					sizeAbove := omit,
					sizeBelow := omit,
					contentType_list := {},
					attribute_list := {},
214
					filterUsage := p_filterUsage,
215 216 217 218 219 220 221
					limit := omit,
					semanticsFilter_list := {},
					filterOperation := omit,
					contentFilterSyntax := omit,
					contentFilterQuery := omit,
					level := omit,
					offset := omit
222 223 224
				}
			};
			
Pramod Kulkarni's avatar
Pramod Kulkarni committed
225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249
			/**
			  * @desc RETRIEVE request primtive containing the Filter Criteria in the filterCriteria field
			  * @param p_targetResourceAddress Target resource address 
			  * @param p_originator Originator (from)
			  * @param p_filterUsage FilterUsage
			  * @param p_labels Labels
			 */
			template (value) RequestPrimitive m_retrieveResourceFilterUsageOptionLabel(XSD.ID p_targetResourceAddress, in XSD.ID p_originator, in template (value) FilterUsage p_filterUsage, in Labels p_labels) modifies m_retrieveResource := {
				requestIdentifier := "m_retrieveResourceFilterUsageOptionLabel" & f_rnd(1, 1000000),
				filterCriteria := {
					createdBefore := omit,
					createdAfter := omit,
					modifiedSince := omit,
					unmodifiedSince := omit,
					stateTagSmaller := omit,
					stateTagBigger := omit,
					expireBefore := omit,
					expireAfter := omit,
					labels := p_labels,
					resourceType := omit,
					sizeAbove := omit,
					sizeBelow := omit,
					contentType_list := {},
					attribute_list := {},
					filterUsage := p_filterUsage, 
250 251 252 253 254 255 256
					limit := omit,
					semanticsFilter_list := {},
					filterOperation := omit,
					contentFilterSyntax := omit,
					contentFilterQuery := omit,
					level := omit,
					offset := omit
Pramod Kulkarni's avatar
Pramod Kulkarni committed
257 258
				}
			};
259 260 261 262 263 264 265 266 267
			/**
			  * @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 := {
268 269 270 271 272 273 274 275 276 277 278 279 280 281
					createdBefore := omit,
					createdAfter := omit,
					modifiedSince := omit,
					unmodifiedSince := omit,
					stateTagSmaller := omit,
					stateTagBigger := omit,
					expireBefore := omit,
					expireAfter := omit,
					labels := omit,
					resourceType := omit,
					sizeAbove := omit,
					sizeBelow := omit,
					contentType_list := {},
					attribute_list := {},
282
					filterUsage := p_filterUsage,
283 284 285 286 287 288 289
					limit := omit,
					semanticsFilter_list := {},
					filterOperation := omit,
					contentFilterSyntax := omit,
					contentFilterQuery := omit,
					level := omit,
					offset := omit
290 291 292 293 294 295 296 297 298 299 300 301 302
				},
				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 := {
303 304 305 306 307 308 309 310 311 312 313 314 315 316
						createdBefore := omit,
						createdAfter := omit,
						modifiedSince := omit,
						unmodifiedSince := omit,
						stateTagSmaller := omit,
						stateTagBigger := omit,
						expireBefore := omit,
						expireAfter := omit,
						labels := omit,
						resourceType := omit,
						sizeAbove := omit,
						sizeBelow := omit,
						contentType_list := {},
						attribute_list := {},
317
						filterUsage := omit,
318 319 320 321 322 323 324
						limit := omit,
						semanticsFilter_list := {},
						filterOperation := omit,
						contentFilterSyntax := omit,
						contentFilterQuery := omit,
						level := omit,
						offset := omit
325 326 327
					}
				};
			
328 329 330
    	}//end group Retrieve

    	group Update {
331 332
    		
    		template (value) RequestPrimitive m_update := {
333 334
				operation := int3,
				to_ := "NotInitialized",
335 336
				from_ := "NotInitialized",
				requestIdentifier := "m_update" & f_rnd(1, 1000000),
337
				resourceType := omit,
338
				primitiveContent:= omit,
339
				roleIDs := omit, 
340 341 342 343 344 345 346 347 348 349 350
				originatingTimestamp := omit,
				requestExpirationTimestamp := omit,
				resultExpirationTimestamp := omit,
				operationExecutionTime := omit,
				responseType := omit,
				resultPersistence := omit,
				resultContent := omit,
				eventCategory := omit,
				deliveryAggregation := omit,
				groupRequestIdentifier := omit,
				filterCriteria := omit,
351 352 353
				discoveryResultType := omit,
				tokens := omit,
				tokenIDs := omit,
354
				localTokenIDs := omit,
355
				tokenRequestIndicator := omit
356
			};
357
        	
358 359 360 361 362
			/**
			 * @desc Base UPDATE request primitive for Ae resource
			 */
			template (value) RequestPrimitive m_updateAeBase modifies m_update:= {
				requestIdentifier := "m_updateAe" & f_rnd(1, 1000000),
363
				primitiveContent:= {aE := m_contentUpdateAe}
364 365
			};
        	
366 367 368 369 370
			/**
			 * @desc Base UPDATE request primitive for Container resource
			 */
			template (value) RequestPrimitive m_updateContainerBase modifies m_update:= {
				requestIdentifier := "m_updateContainer" & f_rnd(1, 1000000),
371
				primitiveContent:= {container := m_contentUpdateContainer}
372
			};
373
			
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
374 375 376 377 378
			/**
			 * @desc Base UPDATE request primitive for ContentInstance resource
			 */
			template (value) RequestPrimitive m_updateContentInstanceBase modifies m_update:= {
				requestIdentifier := "m_updateContentInstance" & f_rnd(1, 1000000),
379
				primitiveContent:= {contentInstance := m_contentUpdateContentInstance}
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
380 381
			};
			
382 383 384
			/**
			 * @desc Base UPDATE request primitive for AccessControlPolicy resource
			 */        				
385
			template (value) RequestPrimitive m_updateAcpBase modifies m_update := {
386
				requestIdentifier := "m_updateAcp" & f_rnd(1, 1000000),
387
				primitiveContent:= {accessControlPolicy := m_contentUpdateAcp}
388 389
			};
			
390 391
			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),
392
				primitiveContent:= {accessControlPolicy := m_contentUpdateAcpPrivileges(p_privileges, p_selfPrivileges)}
393 394
			};
			
395 396 397
			/**
			 * @desc Base UPDATE request primitive for Group resource
			 */
398
			template (value) RequestPrimitive m_updateGroupBase modifies m_update := {
399
				requestIdentifier := "m_updateGroup" & f_rnd(1, 1000000),
400
				primitiveContent:= {group_ := m_contentUpdateGroup}
401 402
			};
			
403 404 405 406 407
			/**
			 * @desc Base UPDATE request primitive for CSEBase resource
			 */
			template (value) RequestPrimitive m_updateCSEBaseBase modifies m_update := {
				requestIdentifier := "m_updateGroup" & f_rnd(1, 1000000),
408
				primitiveContent:= {cSEBase := m_contentUpdateCSEBase}
409 410
			};
			
411 412 413
			/**
			 * @desc Base UPDATE request primitive for Schedule resource
			 */
414
			template (value) RequestPrimitive m_updateScheduleBase modifies m_update := {
415
				requestIdentifier := "m_updateSchedule" & f_rnd(1, 1000000),
416
				primitiveContent:= {schedule := m_contentUpdateSchedule}
417 418
			};
			
419 420 421
			/**
			 * @desc Base UPDATE request primitive for PollingChannel resource
			 */
422
			template (value) RequestPrimitive m_updatePollingChannelBase modifies m_update := {
423
				requestIdentifier := "m_updatePollingChannel" & f_rnd(1, 1000000),
424
				primitiveContent:= {pollingChannel := m_contentUpdatePollingChannel}
425 426
			};
			
427 428 429
			/**
			 * @desc Base UPDATE request primitive for Subscription resource
			 */
430
			template (value) RequestPrimitive m_updateSubscriptionBase modifies m_update := {
431
				requestIdentifier := "m_updateSubscription" & f_rnd(1, 1000000),
432
				primitiveContent:= {subscription := m_contentUpdateSubscription}
433
			};
434
			
435
			template (value) RequestPrimitive m_updateLocationPolicy(XSD.ID p_locResourceAddress, in template (omit) AcpType p_accessControlPolicyIds, in template (value) XSD.Duration p_locationUpdatePeriod) modifies m_update := {
oneM2MTester Develop Team's avatar
oneM2MTester Develop Team committed
436
        	  	to_ 				:= p_locResourceAddress,
437
        	  	requestIdentifier	:= "m_updateLocationPolicy",
438
        	  	primitiveContent	:= {locationPolicy := m_contentUpdateLocationPolicy(p_accessControlPolicyIds, p_locationUpdatePeriod)}
439
			  };
440
        	
441 442 443 444 445 446 447 448 449 450 451 452
        	template (value) RequestPrimitive m_updateNodeBase modifies m_update := {
				requestIdentifier := "m_updateNode" & f_rnd(1, 1000000),
				primitiveContent:= {node := m_contentUpdateNode}
        	}
        	
        	template (value) RequestPrimitive m_updateRemoteCSEBase modifies m_update := {
        	   requestIdentifier := "m_updateRemoteCSEBase" & f_rnd(1, 1000000),
        	   primitiveContent := {remoteCSE := m_contentUpdateRemoteCSE}
        	}
        	
        	template (value) RequestPrimitive m_updateAE modifies m_update := {
				requestIdentifier := "m_updateAE" & f_rnd(1, 1000000),
453
				primitiveContent := {aE := m_contentUpdateAe}
454
        	}
455 456 457 458 459 460
        	
        	template (value) RequestPrimitive m_updateAEAnnc(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_update:= {
				requestIdentifier := testcasename() & "-m_updateAEAnnc" & f_rnd(1, 1000000),
				resourceType := int10002,
				primitiveContent := {aEAnnc := m_contentUpdateAEAnnc}
			};
461 462 463
    	}//end group Update
    	
    	group Create {
464 465 466 467 468

			template (value) RequestPrimitive m_create := {
				operation := int1,
				to_ := "NotInitialized",
				from_ := "NotInitialized",
469
				requestIdentifier := testcasename() & "-m_create" & f_rnd(1, 1000000),
470 471
				resourceType := omit,
				primitiveContent := omit,
472
				roleIDs := omit,
473 474 475 476 477 478 479 480 481 482 483 484 485 486
				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,
487
				localTokenIDs := omit,
488
				tokenRequestIndicator := omit
489 490

			};
491
        	
492 493 494 495 496
			/**
			 * @desc Base Reception template for create operation
			 */
			template RequestPrimitive mw_create(template XSD.ID p_from := *, template XSD.ID p_to := ?) := {
				operation := int1,
497
				to_ := p_to,
498 499 500
				from_ := p_from,
				requestIdentifier := ?,
				resourceType := ?,
501
				primitiveContent := ?,
502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520
				roleIDs := *,
				originatingTimestamp := *,
				requestExpirationTimestamp := *,
				resultExpirationTimestamp := *,
				operationExecutionTime := *,
				responseType := *,
				resultPersistence := *,
				resultContent := *,
				eventCategory := *,
				deliveryAggregation := *,
				groupRequestIdentifier := *,
				filterCriteria := *,
				discoveryResultType := *,
				tokens := *,
				tokenIDs := *,
				localTokenIDs := *,
				tokenRequestIndicator := *
			}
			
521 522
			
			/**
523 524 525 526 527 528
			 * @desc Base CREATE request primitive for AEAnnc resource
			 * @param p_accessControlPolicyIds
			 * @param p_to
			 * @param p_from
			 * @param p_appId
			 * @param p_stemId
529
			 */
530
			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:= {
531 532 533 534
				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,
535
				primitiveContent := {aEAnnc := m_contentCreateAEAnnc({"Credential-ID:None"}, p_accessControlPolicyIds, p_appId, valueof(p_to) & "/" & p_stemId)}
536 537
			};
			
538
			/**
539
			 * @desc Reception template for CREATE AEAnnc
540
			 */
541
			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 := {
542
				resourceType := int10002,
543
				primitiveContent := {aEAnnc := mw_contentCreateAEAnnc({"Credential-ID:None"}, p_accessControlPolicyIds)}
544
			};
545

546
			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 := {
547
				from_ := p_from,//PX_AE_ID_STEM,//TODO We should use omit, "s", or "c"
548
				requestIdentifier := testcasename() & "-m_createAe" & f_rnd(1, 1000000),
549
				resourceType := int2,
550
				primitiveContent := {aE := m_contentCreateAe(p_accessControlPolicyIds,p_resourceName, p_appId, p_poaList)}
551
			};
552
        	
553 554 555 556 557
			/**
			 * @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,
558
				primitiveContent := {aE := ?}
559 560
			};  
			        	
561
        	template (value) RequestPrimitive m_createAeAux(template (omit) AcpType p_accessControlPolicyIds := omit, in template (omit) PoaList p_poaList) modifies m_create := {
562
        		from_ := PX_AE1_ID_STEM,//TODO We should use omit, "s", or "c"
563
        		requestIdentifier := testcasename() & "-m_createAe" & f_rnd(1, 1000000),
564
        		resourceType := int2,
565
        		primitiveContent := {aE := m_contentCreateAe(p_accessControlPolicyIds, c_aeAuxName, -, p_poaList)}
566
			};
567
        	
568 569 570
			/**
			 * @desc Base CREATE request primitive for AccessControlPolicy resource
			 */
571
			template (value) RequestPrimitive m_createAcpBase modifies m_create := {
572
				requestIdentifier := testcasename() & "-m_createAcp" & f_rnd(1, 1000000),
573
				resourceType := int1,
574
				primitiveContent := {accessControlPolicy := m_contentCreateAcp ()}
575 576
			};
				
577
        	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 := {
578
        		to_ := p_parentResourceAddress,
579
        		requestIdentifier := testcasename() & "-m_createAcp" & f_rnd(1, 1000000),
580
        		resourceType := int1,
581
        		primitiveContent := {accessControlPolicy := m_contentCreateAcp (p_name, p_acor, p_allowedOperations)}
582 583
        	};
        	
584 585 586 587 588 589 590
			/**
			 * @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,
591
				primitiveContent := {accessControlPolicyAnnc := mw_contentCreateAcpAnnc(-)}
592 593
			};
        	
594 595 596 597
       	
			/**
			 * @desc Base CREATE request primitive for AccessControlPolicy resource (AUX)
			 */
598
        	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 := {
599
        		requestIdentifier := testcasename() & "-m_createAcpAux" & f_rnd(1, 1000000),
600
        		resourceType := int1,
601
        		primitiveContent := {accessControlPolicy := m_contentCreateAcp (p_acpName, p_acor, p_allowedOperations)}
602 603
        	};
        	
604
			/*template (value) RequestPrimitive m_createCSEBase (in ServiceSubscribedAppRule p_serviceSubscribedAppRule) modifies m_create := {
605
				from_ := PX_SUPER_USER,
606
				requestIdentifier := testcasename() & "-m_createCSE" & f_rnd(1, 1000000),
607
				resourceType := int1,//FIXME Is this the value for CSEBase? In any case, this template is not used at all
608
				primitiveContent := {cSEBase := m_contentCreateCSEBase (p_serviceSubscribedAppRule)}
609 610 611 612 613 614
			};*/
			
			/**
			 * @desc Base CREATE request primitive for CSEBase resource
			 */
			template (value) RequestPrimitive m_createCSEBaseBase modifies m_create := {
615
				requestIdentifier := testcasename() & "-m_createCSEBase" & f_rnd(1, 1000000),
616
				resourceType := int5,
617
				primitiveContent := {cSEBase := m_contentCreateCSEBase}
618 619
			};
        	
620 621 622 623
       	
			/**
			 * @desc Base CREATE request primitive for Container resource
			 */
624
			template (value) RequestPrimitive m_createContainerBase modifies m_create := {
625
				requestIdentifier := testcasename() & "-m_createContainer" & f_rnd(1, 1000000),
626
				resourceType := int3,
627
				primitiveContent := {container := m_contentCreateContainer}
628
			};
629
			
630 631 632
			/**
			 * @desc Base CREATE request primitive for remoteCSE resource
			 */
633
			template (value) RequestPrimitive m_createRemoteCSEBase(template (omit) AcpType p_accessControlPolicyIds := omit, template (omit) ResourceName p_resourceName :=  c_defaultRemoteCSEResourceName, in template (omit) XSD.AnyURI p_cSEBase := PX_CSE1_ID, in template (omit) XSD.ID p_cSE_ID := PX_CSE1_ID) modifies m_create := {
634 635
				requestIdentifier := testcasename() & "-m_createRemoteCSE" & f_rnd(1, 1000000),
				resourceType := int16,
636
				primitiveContent := {remoteCSE := m_contentCreateRemoteCSE(p_resourceName, p_accessControlPolicyIds,p_cSEBase, p_cSE_ID)}
637 638
			};
			
639 640 641 642
			/**
			 * @desc CREATE request primitive for Container resource wiht no resourceName provided
			 */
			template (value) RequestPrimitive m_createContainer_noResourceName modifies m_createContainerBase := {
643
				primitiveContent := {container := m_contentCreateContainer(omit)}
644
			};
645
	
646
    		template (value) RequestPrimitive m_createContainer(XSD.ID p_parentResourceAddress, in template (omit) XSD.String p_resourceName := c_defaultContainerResourceName) modifies m_create := {
647
    			to_ := p_parentResourceAddress,
648
    			requestIdentifier := testcasename() & "-m_createContainer" & f_rnd(1, 1000000),
649
    			resourceType := int3,
650
    			primitiveContent := {container := m_contentCreateContainer(p_resourceName)}
651 652
    		};
        	
653 654 655 656 657
			/**
			 * @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,
658
				primitiveContent := {container := ?}
659 660
			};  
			
661
			/**
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
662
			 * @desc Base Reception template for CREATE ContainerAnnc
663
			 */
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
664
			template RequestPrimitive mw_createContainerAnncBase(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
665
				resourceType := int10003,
666
				primitiveContent := {containerAnnc := mw_contentCreateContainerAnncBase}
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
667
			};
668
			
669 670 671 672 673
			/**
			 * @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, 
674
				primitiveContent := {flexContainer := ?}
675 676 677 678 679 680 681
			};  
			
			/**
			 * @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
682
				primitiveContent := {genericInterworkingOperationInstance := ?}
683 684
			}; 
        	
685 686 687 688 689
			/**
			 * @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),
690
				resourceType := int4,
691
				primitiveContent := {contentInstance := m_contentCreateContentInstance}
692
			};
693 694 695 696 697
				
			/**
			 * @desc CREATE request primitive for Content Instance resource with no resourceName provided
			 */
			template (value) RequestPrimitive m_createContentInstance_noResourceName modifies m_createContentInstanceBase := {
698
				primitiveContent := {contentInstance := m_contentCreateContentInstance(omit)}
699
			};
700
    		
701
    		template (value) RequestPrimitive m_createContentInstance(XSD.ID p_parentResourceAddress, XSD.String p_primitiveContent) modifies m_create := {
702
    			to_ := p_parentResourceAddress,
703
    			from_ := "admin:admin",
704
    			requestIdentifier := testcasename() & "-m_createContentInstance" & f_rnd(1, 1000000),
705
    			resourceType := int4,
706
    			primitiveContent := {contentInstance := m_contentCreateContentInstance(-, p_primitiveContent)}
707 708
    		};
    		
709 710 711 712 713
			/**
			 * @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,
714
				primitiveContent := {contentInstanceAnnc := ?}
715
			};  
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
716 717 718 719 720 721
			
			/**
			 * @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,
722
				primitiveContent := {contentInstanceAnnc := mw_contentCreateContentInstanceAnncBase}
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
723
			};  
724 725 726 727 728 729 730 731 732
			
			/**
			 * @desc Base CREATE request primitive for Delivery resource
			 */
			/*template (value) RequestPrimitive m_createDeliveryBase modifies m_create := {
				requestIdentifier := testcasename() & "-m_createDelivery" & f_rnd(1, 1000000),
				resourceType := int6,
				primitiveContent := {delivery := m_contentCreateDelivery()}
			};*/
733
        	    		
734 735 736 737
       	
			/**
			 * @desc Base CREATE request primitive for Group resource
			 */
738
			template (value) RequestPrimitive m_createGroupBase modifies m_create := {
739
				requestIdentifier := testcasename() & "-m_createGroup" & f_rnd(1, 1000000),
740
				resourceType := int9,
741
				primitiveContent := {group_ := m_contentCreateGroup (1, {"NotInitialized"}, omit, omit)}	//TODO: p_resourceId
742
			};
743
        	
744
        	template (value) RequestPrimitive m_createGroup(in template (value) XSD.NonNegativeInteger p_maxNrOfMembers,
745
															in template (value) ListOfURIs p_memberIds := {"NotInitialized"},
746
															in template (omit) AcpType p_accessControlPolicyIds,
747 748 749 750
															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 := {
751
        		requestIdentifier := testcasename() & "-m_createGroup" & f_rnd(1, 1000000),
752
        		resourceType := int9,
753
        		primitiveContent := {group_ := m_contentCreateGroup (p_maxNrOfMembers, p_memberIds, p_accessControlPolicyIds, p_memberType, p_consistencyStrategy, p_membersAccessControlPolicyIDs, p_name)}	//TODO: p_resourceId
754 755
        	};
        	
756 757 758 759 760
			/**
			 * @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,
761
				primitiveContent := {groupAnnc := ?}
762
			};  
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
763 764 765 766 767 768
			
			/**
			 * @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,
769
				primitiveContent := {groupAnnc := mw_contentCreateGroupAnncBase}
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
770
			};
771
        	
772
			/**
773 774 775 776 777
			 * @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,
778
				primitiveContent := {mgmtResource := m_contentCreateMgmtCmd (-,-)}
779 780
			};
			
781 782 783 784 785 786
			/**
			 * @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,
787
				primitiveContent := {mgmtResource := m_contentCreateMgmtObj (-,-)}
788 789 790 791 792 793 794 795
			};
        	
			/**
			 * @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,
796
				primitiveContent := {mgmtResource := m_contentCreateMgmtObj (-, -)}
797 798 799 800 801 802 803
			};
        	
			/**
			 * @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,
804
				primitiveContent := {announcedMgmtResource := ?}
805 806
			};  
			
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
807 808 809 810 811
			/**
			 * @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,
812
				primitiveContent := {announcedMgmtResource := mw_contentCreateMgmtObjAnncBase}
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
813 814
			};  
			
815 816 817 818 819 820
			/**
			 * @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,
821
				primitiveContent := {node := m_contentCreateNode(-, -, -) }
822 823 824 825 826 827 828 829
			};
        	
			/**
			 * @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,
830
				primitiveContent := {node := m_contentCreateNode(-,-,-) }
831 832 833 834 835 836 837
			};
        	
			/**
			 * @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,
838
				primitiveContent := {nodeAnnc := ?}
839
			};  
840 841 842 843
       	
			/**
			 * @desc Base CREATE request primitive for PollingChannel resource
			 */
844
			template (value) RequestPrimitive m_createPollingChannelBase modifies m_create := {
845
				requestIdentifier := testcasename() & "-m_createPollingChannel" & f_rnd(1, 1000000),
846
				resourceType := int15,
847
				primitiveContent := {pollingChannel := m_contentCreatePollingChannel (-)}
848
			};
849
        	
850
        	template (value) RequestPrimitive m_createPollingChannel(XSD.ID p_parentResourceAddress, in template (value)XSD.ID p_originatorId) modifies m_create := {
851
        		to_ := p_parentResourceAddress,
852
        		from_ := p_originatorId,
853
        		requestIdentifier := testcasename() & "-m_createPollingChannel" & f_rnd(1, 1000000),
854
        		resourceType := int15,
855
        		primitiveContent := {pollingChannel := m_contentCreatePollingChannel ()}
856 857
        	};
        	
858 859 860
			/**
			 * @desc Base CREATE request primitive for Schedule resource
			 */
861
        	template (value) RequestPrimitive m_createScheduleBase modifies m_create := {
862
        		requestIdentifier := testcasename() & "-m_createSchedule" & f_rnd(1, 1000000),
863
        		resourceType := int18,
864
        		primitiveContent := {schedule := m_contentCreateSchedule ({{"0 0 0,1,2 1 1 * *"}})}
865 866
        	};
        	
867
        	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 := {
868
        		to_ := p_parentResourceAddress,
869
        		requestIdentifier := testcasename() & "-m_createSchedule" & f_rnd(1, 1000000),
870
        		resourceType := int18,
871
        		primitiveContent := {schedule := m_contentCreateSchedule (p_scheduleElement, p_name)}
872 873
        	};
        	
874 875 876 877 878
			/**
			 * @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,
879
				primitiveContent := {scheduleAnnc := ?}
880
			};  
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
881 882 883 884 885 886
			
			/**
			 * @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,
887
				primitiveContent := {scheduleAnnc := mw_contentCreateScheduleAnncBase}
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
888
			};  
889
        	
890
			template (value) RequestPrimitive m_createServiceSubscribedAppRule (in ListOfM2MID p_applicableCredIDs, in ListOfM2MID p_allowedAppIDs, in ListOfM2MID p_allowedAEs) modifies m_create := {