OneM2M_Templates.ttcn 100 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 295 2017-06-01 08:20:58Z 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 173
				primitiveContent := {
					any_1 := {{AttributeList := p_attributeList}}
174
				},
175
				roleIDs := omit,
176 177 178 179 180 181 182 183 184 185 186
				originatingTimestamp := omit,
				requestExpirationTimestamp := omit,
				resultExpirationTimestamp := omit,
				operationExecutionTime := omit,
				responseType := omit,
				resultPersistence := omit,
				resultContent := omit,
				eventCategory := omit,
				deliveryAggregation := omit,
				groupRequestIdentifier := omit,
				filterCriteria := omit,
187 188 189
				discoveryResultType := omit,
				tokens := omit,
				tokenIDs := omit,
190
				localTokenIDs := omit,
191
				tokenRequestIndicator := omit
192 193 194 195
			};
    	}//end group Retrieve

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

			template (value) RequestPrimitive m_create := {
				operation := int1,
				to_ := "NotInitialized",
				from_ := "NotInitialized",
326
				requestIdentifier := testcasename() & "-m_create" & f_rnd(1, 1000000),
327 328
				resourceType := omit,
				primitiveContent := omit,
329
				roleIDs := omit,
330 331 332 333 334 335 336 337 338 339 340 341 342 343
				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,
344
				localTokenIDs := omit,
345
				tokenRequestIndicator := omit
346 347

			};
348
        	
349 350 351 352 353
			/**
			 * @desc Base Reception template for create operation
			 */
			template RequestPrimitive mw_create(template XSD.ID p_from := *, template XSD.ID p_to := ?) := {
				operation := int1,
354
				to_ := p_to,
355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379
				from_ := p_from,
				requestIdentifier := ?,
				resourceType := ?,
				primitiveContent := {
					any_1 := ?	
				},
				roleIDs := *,
				originatingTimestamp := *,
				requestExpirationTimestamp := *,
				resultExpirationTimestamp := *,
				operationExecutionTime := *,
				responseType := *,
				resultPersistence := *,
				resultContent := *,
				eventCategory := *,
				deliveryAggregation := *,
				groupRequestIdentifier := *,
				filterCriteria := *,
				discoveryResultType := *,
				tokens := *,
				tokenIDs := *,
				localTokenIDs := *,
				tokenRequestIndicator := *
			}
			
380 381
			
			/**
382 383 384 385 386 387
			 * @desc Base CREATE request primitive for AEAnnc resource
			 * @param p_accessControlPolicyIds
			 * @param p_to
			 * @param p_from
			 * @param p_appId
			 * @param p_stemId
388
			 */
389
			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:= {
390 391 392 393 394
				to_ := p_to,
				from_ := p_from,//PX_AE_ID_STEM,//TODO We should use omit, "s", or "c"
				requestIdentifier := testcasename() & "-m_createAEAnnc" & f_rnd(1, 1000000),
				resourceType := int10002,
				primitiveContent := {
395
					any_1 := {{AEAnnc_optional := m_contentCreateAEAnnc({"Credential-ID:None"}, p_accessControlPolicyIds, p_appId, valueof(p_to) & "/" & p_stemId)}}	
396
				}
397 398
			};
			
399
			/**
400
			 * @desc Reception template for CREATE AEAnnc
401
			 */
402
			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 := {
403 404
				resourceType := int10002,
				primitiveContent := {
405 406
					any_1 := {{AEAnnc_optional := mw_contentCreateAEAnnc({"Credential-ID:None"}, p_accessControlPolicyIds)}}	
				}
407
			};
408

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