OneM2M_Templates.ttcn 126 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 350 2017-08-11 13:44:16Z 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
225
226
227
228
229
230
231
232
233
				}
			};
			
			/**
			  * @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 := {
234
235
236
237
238
239
240
241
242
243
244
245
246
247
					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 := {},
248
					filterUsage := p_filterUsage,
249
250
251
252
253
254
255
					limit := omit,
					semanticsFilter_list := {},
					filterOperation := omit,
					contentFilterSyntax := omit,
					contentFilterQuery := omit,
					level := omit,
					offset := omit
256
257
258
259
260
261
262
263
264
265
266
267
268
				},
				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 := {
269
270
271
272
273
274
275
276
277
278
279
280
281
282
						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 := {},
283
						filterUsage := omit,
284
285
286
287
288
289
290
						limit := omit,
						semanticsFilter_list := {},
						filterOperation := omit,
						contentFilterSyntax := omit,
						contentFilterQuery := omit,
						level := omit,
						offset := omit
291
292
293
					}
				};
			
294
295
296
    	}//end group Retrieve

    	group Update {
297
298
    		
    		template (value) RequestPrimitive m_update := {
299
300
				operation := int3,
				to_ := "NotInitialized",
301
302
				from_ := "NotInitialized",
				requestIdentifier := "m_update" & f_rnd(1, 1000000),
303
				resourceType := omit,
304
				primitiveContent:= omit,
305
				roleIDs := omit, 
306
307
308
309
310
311
312
313
314
315
316
				originatingTimestamp := omit,
				requestExpirationTimestamp := omit,
				resultExpirationTimestamp := omit,
				operationExecutionTime := omit,
				responseType := omit,
				resultPersistence := omit,
				resultContent := omit,
				eventCategory := omit,
				deliveryAggregation := omit,
				groupRequestIdentifier := omit,
				filterCriteria := omit,
317
318
319
				discoveryResultType := omit,
				tokens := omit,
				tokenIDs := omit,
320
				localTokenIDs := omit,
321
				tokenRequestIndicator := omit
322
			};
323
        	
324
325
326
327
328
			/**
			 * @desc Base UPDATE request primitive for Ae resource
			 */
			template (value) RequestPrimitive m_updateAeBase modifies m_update:= {
				requestIdentifier := "m_updateAe" & f_rnd(1, 1000000),
329
				primitiveContent:= {aE := m_contentUpdateAe}
330
331
			};
        	
332
333
334
335
336
			/**
			 * @desc Base UPDATE request primitive for Container resource
			 */
			template (value) RequestPrimitive m_updateContainerBase modifies m_update:= {
				requestIdentifier := "m_updateContainer" & f_rnd(1, 1000000),
337
				primitiveContent:= {container := m_contentUpdateContainer}
338
			};
339
			
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
340
341
342
343
344
			/**
			 * @desc Base UPDATE request primitive for ContentInstance resource
			 */
			template (value) RequestPrimitive m_updateContentInstanceBase modifies m_update:= {
				requestIdentifier := "m_updateContentInstance" & f_rnd(1, 1000000),
345
				primitiveContent:= {contentInstance := m_contentUpdateContentInstance}
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
346
347
			};
			
348
349
350
			/**
			 * @desc Base UPDATE request primitive for AccessControlPolicy resource
			 */        				
351
			template (value) RequestPrimitive m_updateAcpBase modifies m_update := {
352
				requestIdentifier := "m_updateAcp" & f_rnd(1, 1000000),
353
				primitiveContent:= {accessControlPolicy := m_contentUpdateAcp}
354
355
			};
			
356
357
			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),
358
				primitiveContent:= {accessControlPolicy := m_contentUpdateAcpPrivileges(p_privileges, p_selfPrivileges)}
359
360
			};
			
361
362
363
			/**
			 * @desc Base UPDATE request primitive for Group resource
			 */
364
			template (value) RequestPrimitive m_updateGroupBase modifies m_update := {
365
				requestIdentifier := "m_updateGroup" & f_rnd(1, 1000000),
366
				primitiveContent:= {group_ := m_contentUpdateGroup}
367
368
			};
			
369
370
371
372
373
			/**
			 * @desc Base UPDATE request primitive for CSEBase resource
			 */
			template (value) RequestPrimitive m_updateCSEBaseBase modifies m_update := {
				requestIdentifier := "m_updateGroup" & f_rnd(1, 1000000),
374
				primitiveContent:= {cSEBase := m_contentUpdateCSEBase}
375
376
			};
			
377
378
379
			/**
			 * @desc Base UPDATE request primitive for Schedule resource
			 */
380
			template (value) RequestPrimitive m_updateScheduleBase modifies m_update := {
381
				requestIdentifier := "m_updateSchedule" & f_rnd(1, 1000000),
382
				primitiveContent:= {schedule := m_contentUpdateSchedule}
383
384
			};
			
385
386
387
			/**
			 * @desc Base UPDATE request primitive for PollingChannel resource
			 */
388
			template (value) RequestPrimitive m_updatePollingChannelBase modifies m_update := {
389
				requestIdentifier := "m_updatePollingChannel" & f_rnd(1, 1000000),
390
				primitiveContent:= {pollingChannel := m_contentUpdatePollingChannel}
391
392
			};
			
393
394
395
			/**
			 * @desc Base UPDATE request primitive for Subscription resource
			 */
396
			template (value) RequestPrimitive m_updateSubscriptionBase modifies m_update := {
397
				requestIdentifier := "m_updateSubscription" & f_rnd(1, 1000000),
398
				primitiveContent:= {subscription := m_contentUpdateSubscription}
399
			};
400
			
401
			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
402
        	  	to_ 				:= p_locResourceAddress,
403
        	  	requestIdentifier	:= "m_updateLocationPolicy",
404
        	  	primitiveContent	:= {locationPolicy := m_contentUpdateLocationPolicy(p_accessControlPolicyIds, p_locationUpdatePeriod)}
405
			  };
406
        	
407
408
409
410
411
412
413
414
415
416
417
418
        	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),
419
				primitiveContent := {aE := m_contentUpdateAe}
420
        	}
421
422
423
424
425
426
        	
        	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}
			};
427
428
429
    	}//end group Update
    	
    	group Create {
430
431
432
433
434

			template (value) RequestPrimitive m_create := {
				operation := int1,
				to_ := "NotInitialized",
				from_ := "NotInitialized",
435
				requestIdentifier := testcasename() & "-m_create" & f_rnd(1, 1000000),
436
437
				resourceType := omit,
				primitiveContent := omit,
438
				roleIDs := omit,
439
440
441
442
443
444
445
446
447
448
449
450
451
452
				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,
453
				localTokenIDs := omit,
454
				tokenRequestIndicator := omit
455
456

			};
457
        	
458
459
460
461
462
			/**
			 * @desc Base Reception template for create operation
			 */
			template RequestPrimitive mw_create(template XSD.ID p_from := *, template XSD.ID p_to := ?) := {
				operation := int1,
463
				to_ := p_to,
464
465
466
				from_ := p_from,
				requestIdentifier := ?,
				resourceType := ?,
467
				primitiveContent := ?,
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
				roleIDs := *,
				originatingTimestamp := *,
				requestExpirationTimestamp := *,
				resultExpirationTimestamp := *,
				operationExecutionTime := *,
				responseType := *,
				resultPersistence := *,
				resultContent := *,
				eventCategory := *,
				deliveryAggregation := *,
				groupRequestIdentifier := *,
				filterCriteria := *,
				discoveryResultType := *,
				tokens := *,
				tokenIDs := *,
				localTokenIDs := *,
				tokenRequestIndicator := *
			}
			
487
488
			
			/**
489
490
491
492
493
494
			 * @desc Base CREATE request primitive for AEAnnc resource
			 * @param p_accessControlPolicyIds
			 * @param p_to
			 * @param p_from
			 * @param p_appId
			 * @param p_stemId
495
			 */
496
			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:= {
497
498
499
500
				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,
501
				primitiveContent := {aEAnnc := m_contentCreateAEAnnc({"Credential-ID:None"}, p_accessControlPolicyIds, p_appId, valueof(p_to) & "/" & p_stemId)}
502
503
			};
			
504
			/**
505
			 * @desc Reception template for CREATE AEAnnc
506
			 */
507
			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 := {
508
				resourceType := int10002,
509
				primitiveContent := {aEAnnc := mw_contentCreateAEAnnc({"Credential-ID:None"}, p_accessControlPolicyIds)}
510
			};
511

512
			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 := {
513
				from_ := p_from,//PX_AE_ID_STEM,//TODO We should use omit, "s", or "c"
514
				requestIdentifier := testcasename() & "-m_createAe" & f_rnd(1, 1000000),
515
				resourceType := int2,
516
				primitiveContent := {aE := m_contentCreateAe(p_accessControlPolicyIds,p_resourceName, p_appId, p_poaList)}
517
			};
518
        	
519
520
521
522
523
			/**
			 * @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,
524
				primitiveContent := {aE := ?}
525
526
			};  
			        	
527
        	template (value) RequestPrimitive m_createAeAux(template (omit) AcpType p_accessControlPolicyIds := omit, in template (omit) PoaList p_poaList) modifies m_create := {
528
        		from_ := PX_AE1_ID_STEM,//TODO We should use omit, "s", or "c"
529
        		requestIdentifier := testcasename() & "-m_createAe" & f_rnd(1, 1000000),
530
        		resourceType := int2,
531
        		primitiveContent := {aE := m_contentCreateAe(p_accessControlPolicyIds, c_aeAuxName, -, p_poaList)}
532
			};
533
        	
534
535
536
			/**
			 * @desc Base CREATE request primitive for AccessControlPolicy resource
			 */
537
			template (value) RequestPrimitive m_createAcpBase modifies m_create := {
538
				requestIdentifier := testcasename() & "-m_createAcp" & f_rnd(1, 1000000),
539
				resourceType := int1,
540
				primitiveContent := {accessControlPolicy := m_contentCreateAcp ()}
541
542
			};
				
543
        	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 := {
544
        		to_ := p_parentResourceAddress,
545
        		from_ := PX_SUPER_USER,
546
        		requestIdentifier := testcasename() & "-m_createAcp" & f_rnd(1, 1000000),
547
        		resourceType := int1,
548
        		primitiveContent := {accessControlPolicy := m_contentCreateAcp (p_name, p_acor, p_allowedOperations)}
549
550
        	};
        	
551
552
553
554
555
556
557
			/**
			 * @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,
558
				primitiveContent := {accessControlPolicyAnnc := mw_contentCreateAcpAnnc(-)}
559
560
			};
        	
561
562
563
564
       	
			/**
			 * @desc Base CREATE request primitive for AccessControlPolicy resource (AUX)
			 */
565
        	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 := {
566
        		from_ := PX_SUPER_USER,
567
        		requestIdentifier := testcasename() & "-m_createAcpAux" & f_rnd(1, 1000000),
568
        		resourceType := int1,
569
        		primitiveContent := {accessControlPolicy := m_contentCreateAcp (p_acpName, p_acor, p_allowedOperations)}
570
571
        	};
        	
572
			/*template (value) RequestPrimitive m_createCSEBase (in ServiceSubscribedAppRule p_serviceSubscribedAppRule) modifies m_create := {
573
				from_ := PX_SUPER_USER,
574
				requestIdentifier := testcasename() & "-m_createCSE" & f_rnd(1, 1000000),
575
				resourceType := int1,//FIXME Is this the value for CSEBase? In any case, this template is not used at all
576
				primitiveContent := {cSEBase := m_contentCreateCSEBase (p_serviceSubscribedAppRule)}
577
578
579
580
581
582
583
584
			};*/
			
			/**
			 * @desc Base CREATE request primitive for CSEBase resource
			 */
			template (value) RequestPrimitive m_createCSEBaseBase modifies m_create := {
				requestIdentifier := testcasename() & "-m_createContainer" & f_rnd(1, 1000000),
				resourceType := int5,
585
				primitiveContent := {cSEBase := m_contentCreateCSEBase}
586
587
			};
        	
588
589
590
591
       	
			/**
			 * @desc Base CREATE request primitive for Container resource
			 */
592
			template (value) RequestPrimitive m_createContainerBase modifies m_create := {
593
				requestIdentifier := testcasename() & "-m_createContainer" & f_rnd(1, 1000000),
594
				resourceType := int3,
595
				primitiveContent := {container := m_contentCreateContainer}
596
			};
597
			
598
599
600
601
602
603
			/**
			 * @desc Base CREATE request primitive for remoteCSE resource
			 */
			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_CSE_ID) modifies m_create := {
				requestIdentifier := testcasename() & "-m_createRemoteCSE" & f_rnd(1, 1000000),
				resourceType := int16,
604
				primitiveContent := {remoteCSE := m_contentCreateRemoteCSE(p_resourceName, p_accessControlPolicyIds,p_cSEBase, p_cSE_ID)}
605
606
			};
			
607
608
609
610
			/**
			 * @desc CREATE request primitive for Container resource wiht no resourceName provided
			 */
			template (value) RequestPrimitive m_createContainer_noResourceName modifies m_createContainerBase := {
611
				primitiveContent := {container := m_contentCreateContainer(omit)}
612
			};
613
	
614
    		template (value) RequestPrimitive m_createContainer(XSD.ID p_parentResourceAddress, in template (omit) XSD.String p_resourceName := c_defaultContainerResourceName) modifies m_create := {
615
    			to_ := p_parentResourceAddress,
616
    			requestIdentifier := testcasename() & "-m_createContainer" & f_rnd(1, 1000000),
617
    			resourceType := int3,
618
    			primitiveContent := {container := m_contentCreateContainer(p_resourceName)}
619
620
    		};
        	
621
622
623
624
625
			/**
			 * @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,
626
				primitiveContent := {container := ?}
627
628
			};  
			
629
			/**
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
630
			 * @desc Base Reception template for CREATE ContainerAnnc
631
			 */
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
632
			template RequestPrimitive mw_createContainerAnncBase(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
633
				resourceType := int10003,
634
				primitiveContent := {containerAnnc := mw_contentCreateContainerAnncBase}
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
635
			};
636
			
637
638
639
640
641
			/**
			 * @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, 
642
				primitiveContent := {flexContainer := ?}
643
644
645
646
647
648
649
			};  
			
			/**
			 * @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
650
				primitiveContent := {genericInterworkingOperationInstance := ?}
651
652
			}; 
        	
653
654
655
656
657
			/**
			 * @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),
658
				resourceType := int4,
659
				primitiveContent := {contentInstance := m_contentCreateContentInstance}
660
			};
661
662
663
664
665
				
			/**
			 * @desc CREATE request primitive for Content Instance resource with no resourceName provided
			 */
			template (value) RequestPrimitive m_createContentInstance_noResourceName modifies m_createContentInstanceBase := {
666
				primitiveContent := {contentInstance := m_contentCreateContentInstance(omit)}
667
			};
668
    		
669
    		template (value) RequestPrimitive m_createContentInstance(XSD.ID p_parentResourceAddress, XSD.String p_primitiveContent) modifies m_create := {
670
    			to_ := p_parentResourceAddress,
671
    			from_ := "admin:admin",
672
    			requestIdentifier := testcasename() & "-m_createContentInstance" & f_rnd(1, 1000000),
673
    			resourceType := int4,
674
    			primitiveContent := {contentInstance := m_contentCreateContentInstance(-, p_primitiveContent)}
675
676
    		};
    		
677
678
679
680
681
			/**
			 * @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,
682
				primitiveContent := {contentInstanceAnnc := ?}
683
			};  
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
684
685
686
687
688
689
			
			/**
			 * @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,
690
				primitiveContent := {contentInstanceAnnc := mw_contentCreateContentInstanceAnncBase}
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
691
			};  
692
693
694
695
696
697
698
699
700
			
			/**
			 * @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()}
			};*/
701
        	    		
702
703
704
705
       	
			/**
			 * @desc Base CREATE request primitive for Group resource
			 */
706
			template (value) RequestPrimitive m_createGroupBase modifies m_create := {
707
				requestIdentifier := testcasename() & "-m_createGroup" & f_rnd(1, 1000000),
708
				resourceType := int9,
709
				primitiveContent := {group_ := m_contentCreateGroup (1, {"NotInitialized"}, omit, omit)}	//TODO: p_resourceId
710
			};
711
        	
712
        	template (value) RequestPrimitive m_createGroup(in template (value) XSD.NonNegativeInteger p_maxNrOfMembers,
713
															in template (value) ListOfURIs p_memberIds := {"NotInitialized"},
714
															in template (omit) AcpType p_accessControlPolicyIds,
715
716
717
718
															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 := {
719
        		requestIdentifier := testcasename() & "-m_createGroup" & f_rnd(1, 1000000),
720
        		resourceType := int9,
721
        		primitiveContent := {group_ := m_contentCreateGroup (p_maxNrOfMembers, p_memberIds, p_accessControlPolicyIds, p_memberType, p_consistencyStrategy, p_membersAccessControlPolicyIDs, p_name)}	//TODO: p_resourceId
722
723
        	};
        	
724
725
726
727
728
			/**
			 * @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,
729
				primitiveContent := {groupAnnc := ?}
730
			};  
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
731
732
733
734
735
736
			
			/**
			 * @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,
737
				primitiveContent := {groupAnnc := mw_contentCreateGroupAnncBase}
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
738
			};
739
        	
740
			/**
741
742
743
744
745
			 * @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,
746
				primitiveContent := {mgmtResource := m_contentCreateMgmtCmd (-,-)}
747
748
			};
			
749
750
751
752
753
754
			/**
			 * @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,
755
				primitiveContent := {mgmtResource := m_contentCreateMgmtObj (-,-)}
756
757
758
759
760
761
762
763
			};
        	
			/**
			 * @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,
764
				primitiveContent := {mgmtResource := m_contentCreateMgmtObj (-, -)}
765
766
767
768
769
770
771
			};
        	
			/**
			 * @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,
772
				primitiveContent := {announcedMgmtResource := ?}
773
774
			};  
			
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
775
776
777
778
779
			/**
			 * @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,
780
				primitiveContent := {announcedMgmtResource := mw_contentCreateMgmtObjAnncBase}
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
781
782
			};  
			
783
784
785
786
787
788
			/**
			 * @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,
789
				primitiveContent := {node := m_contentCreateNode(-, -, -) }
790
791
792
793
794
795
796
797
			};
        	
			/**
			 * @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,
798
				primitiveContent := {node := m_contentCreateNode(-,-,-) }
799
800
801
802
803
804
805
			};
        	
			/**
			 * @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,
806
				primitiveContent := {nodeAnnc := ?}
807
			};  
808
809
810
811
       	
			/**
			 * @desc Base CREATE request primitive for PollingChannel resource
			 */
812
			template (value) RequestPrimitive m_createPollingChannelBase modifies m_create := {
813
				requestIdentifier := testcasename() & "-m_createPollingChannel" & f_rnd(1, 1000000),
814
				resourceType := int15,
815
				primitiveContent := {pollingChannel := m_contentCreatePollingChannel (-)}
816
			};
817
        	
818
        	template (value) RequestPrimitive m_createPollingChannel(XSD.ID p_parentResourceAddress, in template (value)XSD.ID p_originatorId) modifies m_create := {
819
        		to_ := p_parentResourceAddress,
820
        		from_ := p_originatorId,
821
        		requestIdentifier := testcasename() & "-m_createPollingChannel" & f_rnd(1, 1000000),
822
        		resourceType := int15,
823
        		primitiveContent := {pollingChannel := m_contentCreatePollingChannel ()}
824
825
        	};
        	
826
827
828
			/**
			 * @desc Base CREATE request primitive for Schedule resource
			 */
829
        	template (value) RequestPrimitive m_createScheduleBase modifies m_create := {
830
        		requestIdentifier := testcasename() & "-m_createSchedule" & f_rnd(1, 1000000),
831
        		resourceType := int18,
832
        		primitiveContent := {schedule := m_contentCreateSchedule ({{"0 0 0,1,2 1 1 * *"}})}
833
834
        	};
        	
835
        	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 := {
836
        		to_ := p_parentResourceAddress,
837
        		requestIdentifier := testcasename() & "-m_createSchedule" & f_rnd(1, 1000000),
838
        		resourceType := int18,
839
        		primitiveContent := {schedule := m_contentCreateSchedule (p_scheduleElement, p_name)}
840
841
        	};
        	
842
843
844
845
846
			/**
			 * @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,
847
				primitiveContent := {scheduleAnnc := ?}
848
			};  
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
849
850
851
852
853
854
			
			/**
			 * @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,
855
				primitiveContent := {scheduleAnnc := mw_contentCreateScheduleAnncBase}
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
856
			};  
857
        	
858
			template (value) RequestPrimitive m_createServiceSubscribedAppRule (in ListOfM2MID p_applicableCredIDs, in ListOfM2MID p_allowedAppIDs, in ListOfM2MID p_allowedAEs) modifies m_create := {
859
				requestIdentifier := testcasename() & "-m_createServiceSubscribedAppRule" & f_rnd(1, 1000000),
860
				resourceType := int19,//FIXME Is this the correct value?
861
				primitiveContent := {serviceSubscribedAppRule := m_contentCreateServiceSubscribedAppRule (p_applicableCredIDs, p_allowedAppIDs, p_allowedAEs)}
862
			};
863
        	
864
865
866
867
868
869
			/**
			 * @desc Base CREATE request primitive for ServiceSubscribedAppRule Resource
			 */
			template (value) RequestPrimitive m_createServiceSubscribedAppRuleBase modifies m_create := {
				requestIdentifier := testcasename() & "-m_createServiceSubscribedAppRuleBase" & f_rnd(1, 1000000),
				resourceType := int19,
870
				primitiveContent := {serviceSubscribedAppRule := m_contentCreateServiceSubscribedAppRuleBase}
871
			};
872
873
874
875
       	
			/**
			 * @desc Base CREATE request primitive for Subscription resource
			 */
876
			template (value) RequestPrimitive m_createSubscriptionBase modifies m_create := {
877
				requestIdentifier := testcasename() & "-m_createSubscription" & f_rnd(1, 1000000),
878
				resourceType := int23,
879
				primitiveContent := {subscription := m_contentCreateSubscription ({"NotInitialized"})}
880
881
			};
        	
882
        	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 := {
883
        		to_ := p_parentResourceAddress,
884
        		requestIdentifier := testcasename() & "-m_createSubscription" & f_rnd(1, 1000000),
885
        		resourceType := int23,
886
        		primitiveContent := {subscription := m_contentCreateSubscription (p_notificationURI, p_name)}
887
        	};
888
        	
889
890
891
892
893
894
895
896
897
			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 := {
898
				primitiveContent := {subscription := m_contentCreateSubscriptionAdvanced (p_notificationURI, p_name, p_eventNotificationCriteria, p_expirationCounter, p_batchNotify, p_latestNotify, p_subscriberURI, p_notificationContentType)}
899
900
			};
        	
901
902
903
904
905
906
        	/**
			 * @desc Base CREATE request primitive for Location Policy resource
			 */
			template (value) RequestPrimitive m_createLocationPolicyBase modifies m_create := {
				requestIdentifier := testcasename() & "-m_createLocationPolicy" & f_rnd(1, 1000000),
				resourceType := int10,
907
				primitiveContent := {locationPolicy := m_contentCreateLocationPolicyBase}
908
909
			};
        	
910
        	template (value) RequestPrimitive m_createLocationPolicy(in template (value) LocationSource p_locationSource, in template (omit) AcpType p_accessControlPolicyIds, in template (omit) ListOfDuration p_locationUpdatePeriod, in template (omit) NodeID p_locationTargetID, in template (omit) XSD.AnyURI p_locationServerAddress) modifies m_create := {
911
        		
912
        	  	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
913
        	  	resourceType		:= int10,
914
        	  	primitiveContent	:= {locationPolicy := m_contentCreateLocationPolicy(p_locationSource, p_accessControlPolicyIds, p_locationUpdatePeriod, p_locationTargetID, p_locationServerAddress) },
915
			  	resultContent := int1//default
916
        	};
917
918
919
920
921
922
        	
			/**
			 * @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,
923
				primitiveContent := {locationPolicyAnnc := ?}
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
924
925
926
927
928
929
930
			}; 
			
			/**
			 * @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,
931
				primitiveContent := {locationPolicyAnnc := mw_contentCreateLocationPolicyAnncBase}
Antonio Castillo Verdugo's avatar
Antonio Castillo Verdugo committed
932
933
			}; 
			
934
        	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 := {
935
        	  requestIdentifier	:= testcasename() & "-m_createNotification" & f_rnd(1, 1000000),
936
        	  primitiveContent	:= {notification := m_contentCreateNotification(p_resourcePresentation, p_notifEventType, p_subscriptionReference, p_notifForwardingURI)},
937
938
939
        	  resultContent		:= int1 //default
        	  
        	};
940
        	
941
942
943
			/**
			 * @desc Reception template for SemanticDescriptor creation
			 */
944
			template RequestPrimitive mw_createSemanticDescriptor(template XSD.ID p_from := *, template XSD.ID p_to := ?, template (present) SemanticDescriptor_optional p_semanticDescriptor := mw_contentCreateSemanticDescriptor) modifies mw_create := {
945
				resourceType := int24,
946
				primitiveContent := {semanticDescriptor := p_semanticDescriptor}
947
948
			};
			
949
950
951
952
953
954
			/**
			 * @desc Base CREATE request primitive for Stats Config resource
			 */
			template (value) RequestPrimitive m_createStatsConfigBase modifies m_create := {
				requestIdentifier := testcasename() & "-m_createStatsConfig" & f_rnd(1, 1000000),
				resourceType := int22,
955
				primitiveContent := {statsConfig := m_contentCreateStatsConfigBase}