/** * 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. * * @author ETSI * @version $URL: https://forge.etsi.org/svn/oneM2M/trunk/ttcn/LibOneM2M/OneM2M_Templates.ttcn $ * $Id: OneM2M_Templates.ttcn 121 2016-09-27 08:36:54Z reinaortega $ * @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; //import from OneM2M_Functions all; /** * @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 */ 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); } /* Templates */ group primitives { /** * @desc Base template for request sending operations * @param p_requestPrimitive */ template (value) MsgOut m_request(in template (value) RequestPrimitive p_requestPrimitive, in template (omit) AttributeList_1 p_nullFields := omit ) := { primitive := { requestPrimitive := p_requestPrimitive}, host := PX_HOST_ADDRESS, xmlNamespace := PX_XML_NAMESPACE, protocolBinding := PX_PROTOCOL_BINDING, serialization := PX_SERIALIZATION, nullFields := p_nullFields }; /** * @desc Base template for response sending operations * @param p_responsePrimitive */ template (value) MsgOut m_response(in template (value) ResponsePrimitive p_responsePrimitive, in template (omit) AttributeList_1 p_nullFields := omit ) := { primitive := { responsePrimitive := p_responsePrimitive}, host := PX_HOST_ADDRESS, xmlNamespace := PX_XML_NAMESPACE, protocolBinding := PX_PROTOCOL_BINDING, serialization := PX_SERIALIZATION, nullFields := p_nullFields }; //Added by @Naum 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} }; }//end of group primitives group RequestPrimitives { group Retrieve { /** * @desc */ template (value) RequestPrimitive m_retrieveCseBase := { operation := int2, to_ := PX_URI_CSE,//c_uri_cse,//@Martin from_ := "admin:admin", requestIdentifier := "m_retrieveCseBase" & f_rnd(1, 1000000), resourceType := omit, primitiveContent := omit, roleIDs := {"1234abcd@role-issuer.com"}, // TODO Find a correct value 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, localTokenIDs := {"Fixme"},//TODO Find a correct value tokenReqIndicator := omit }; /** * @desc Base RETRIEVE request primitive * @param p_targetResourceAddress Target resource address * @param p_originator Originator (from) */ template (value) RequestPrimitive m_retrieveResource(XSD.ID p_targetResourceAddress, in XSD.ID p_originator := PX_AE_ID_STEM) := { operation := int2, to_ := f_addPrefix(p_targetResourceAddress), from_ := p_originator, requestIdentifier := "m_retrieveResource" & f_rnd(1, 1000000), resourceType := omit, primitiveContent := omit, roleIDs := {"1234abcd@role-issuer.com"},//TODO Find a correct value 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, localTokenIDs := {"Fixme"},//TODO Find a correct value, tokenReqIndicator := omit }; /** * @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) */ template (value) RequestPrimitive m_retrieveResourceAttributeToOption(XSD.ID p_targetResourceAddress, in XSD.ID p_originator := PX_AE_ID_STEM) := { operation := int2, to_ := f_addPrefix(p_targetResourceAddress), from_ := p_originator, requestIdentifier := "m_retrieveResourceAttributeOptionTo" & f_rnd(1, 1000000), resourceType := omit, primitiveContent := omit, roleIDs := {"1234abcd@role-issuer.com"},//TODO Find a correct value 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, localTokenIDs := {"Fixme"},//TODO Find a correct value, tokenReqIndicator := omit }; /** * @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) */ template (value) RequestPrimitive m_retrieveResourceAttributeContentOption(XSD.ID p_targetResourceAddress, in template (value) AttributeList_1 p_attributeList, in XSD.ID p_originator := PX_AE_ID_STEM ) := { operation := int2, to_ := f_addPrefix(p_targetResourceAddress), from_ := p_originator, requestIdentifier := "m_retrieveResourceAttributeContentOption" & f_rnd(1, 1000000), resourceType := omit, primitiveContent := { any_1 := {{AttributeList := p_attributeList}} }, roleIDs := {"1234abcd@role-issuer.com"},//TODO Find a correct value 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, localTokenIDs := {"Fixme"},//TODO Find a correct value, tokenReqIndicator := omit }; }//end group Retrieve group Update { template (value) RequestPrimitive m_update := { operation := int3, to_ := "NotInitialized", from_ := "NotInitialized", requestIdentifier := "m_update" & f_rnd(1, 1000000), resourceType := omit, primitiveContent:= omit, roleIDs := {"1234abcd@role-issuer.com"},//TODO Find a correct value 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, localTokenIDs := {"Fixme"},//TODO Find a correct value, tokenReqIndicator := omit }; /** * @desc Base UPDATE request primitive for Container resource */ template (value) RequestPrimitive m_updateContainerBase modifies m_update:= { from_ := PX_AE_ID_STEM, requestIdentifier := "m_updateContainer" & f_rnd(1, 1000000), primitiveContent:= { any_1 := {{Container_optional := m_contentUpdateContainer}} } }; /** * @desc Base UPDATE request primitive for AccessControlPolicy resource */ template (value) RequestPrimitive m_updateAcpBase modifies m_update := { from_ := PX_AE_ID_STEM, requestIdentifier := "m_updateAcp" & f_rnd(1, 1000000), primitiveContent:= { any_1 := {{AccessControlPolicy_optional := m_contentUpdateAcp}} } }; /** * @desc Base UPDATE request primitive for Group resource */ template (value) RequestPrimitive m_updateGroupBase modifies m_update := { from_ := PX_AE_ID_STEM, requestIdentifier := "m_updateGroup" & f_rnd(1, 1000000), primitiveContent:= { any_1 := {{Group_optional := m_contentUpdateGroup}} } }; /** * @desc Base UPDATE request primitive for Schedule resource */ template (value) RequestPrimitive m_updateScheduleBase modifies m_update := { from_ := PX_AE_ID_STEM, requestIdentifier := "m_updateSchedule" & f_rnd(1, 1000000), primitiveContent:= { any_1 := {{Schedule_optional := m_contentUpdateSchedule}} } }; /** * @desc Base UPDATE request primitive for PollingChannel resource */ template (value) RequestPrimitive m_updatePollingChannelBase modifies m_update := { from_ := PX_AE_ID_STEM, requestIdentifier := "m_updatePollingChannel" & f_rnd(1, 1000000), primitiveContent:= { any_1 := {{PollingChannel_optional := m_contentUpdatePollingChannel}} } }; /** * @desc Base UPDATE request primitive for Subscription resource */ template (value) RequestPrimitive m_updateSubscriptionBase modifies m_update := { from_ := PX_AE_ID_STEM, requestIdentifier := "m_updateSubscription" & f_rnd(1, 1000000), primitiveContent:= { any_1 := {{Subscription_optional := m_contentUpdateSubscription}} } }; //@Martin template (value) RequestPrimitive m_updateLocationPolicy(XSD.ID p_locResourceAddress, in template (omit) AcpType p_accessControlPolicyIDs, in template (omit) XSD.Duration locationUpdatePeriod) modifies m_update := { to_ := p_locResourceAddress, from_ := PX_AE_ID_STEM, //AE originator id e.g. requestIdentifier := "m_updateLocationPolicy", primitiveContent := { any_1 := {{ LocationPolicy_optional := m_contentUpdateLocationPolicy(p_accessControlPolicyIDs, locationUpdatePeriod) }} } }; }//end group Update group Create { template (value) RequestPrimitive m_create := { operation := int1, to_ := "NotInitialized", from_ := "NotInitialized", requestIdentifier := "m_create" & f_rnd(1, 1000000), resourceType := omit, primitiveContent := omit, roleIDs := {"1234abcd@role-issuer.com"},//TODO Find a correct value 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, localTokenIDs := {"Fixme"},//TODO Find a correct value, tokenReqIndicator := omit }; /** * @desc Base CREATE request primitive for AE resource (AUX) */ //Added by @Naum template RequestPrimitive mw_createAEannc(template (omit) AcpType p_accessControlPolicyIDs := omit,template (omit) XSD.ID p_from := omit, XSD.ID p_appId) := { operation := int1, to_ := ?, from_ := p_from,//PX_AE_ID_STEM,//TODO We should use omit, "s", or "c" requestIdentifier := ?, resourceType := int10002, primitiveContent := { any_1 := {{AEAnnc_optional := mw_contentCreateAEannc(c_aeAuxName, p_accessControlPolicyIDs, p_appId)}} }, roleIDs := {"1234abcd@role-issuer.com"},//TODO Find a correct value originatingTimestamp := *, requestExpirationTimestamp := *, resultExpirationTimestamp := *, operationExecutionTime := *, responseType := *, resultPersistence := *, resultContent := *, eventCategory := *, deliveryAggregation := *, groupRequestIdentifier := *, filterCriteria := *, discoveryResultType := *, tokens := *, tokenIDs := *, localTokenIDs := ?, tokenReqIndicator := * }; //Added by @Naum template (value) RequestPrimitive m_createAe(XSD.ID p_appId, template (omit) AcpType p_accessControlPolicyIDs := omit,template (omit) XSD.ID p_from := omit) modifies m_create := { from_ := p_from,//PX_AE_ID_STEM,//TODO We should use omit, "s", or "c" requestIdentifier := "m_createAe" & f_rnd(1, 1000000), resourceType := int2, primitiveContent := { any_1 := {{AE_optional := m_contentCreateAe(p_accessControlPolicyIDs, c_aeAuxName, p_appId)}} } }; template (value) RequestPrimitive m_createAeAux(template (omit) AcpType p_accessControlPolicyIDs := omit ) modifies m_create := { from_ := PX_AE_ID_STEM,//TODO We should use omit, "s", or "c"//@Martin requestIdentifier := "m_createAe" & f_rnd(1, 1000000), resourceType := int2, primitiveContent := { any_1 := {{AE_optional := m_contentCreateAe(p_accessControlPolicyIDs, c_aeAuxName)}} } }; /** * @desc Base CREATE request primitive for AccessControlPolicy resource */ template (value) RequestPrimitive m_createAcpBase modifies m_create := { requestIdentifier := "m_createAcp" & f_rnd(1, 1000000), resourceType := int1, primitiveContent := { any_1 := {{AccessControlPolicy_optional := m_contentCreateAcp ()}} } }; template (value) RequestPrimitive m_createAcp(XSD.ID p_parentResourceAddress, in template (omit) XSD.String p_name := c_defaultResourceName, in template (value) ListOfURIs p_acor := PX_ACOR, in template (value) AccessControlOperations p_allowedOperations := int63) modifies m_create := { to_ := f_addPrefix(p_parentResourceAddress), from_ := PX_AE_ID_STEM, requestIdentifier := "m_createAcp" & f_rnd(1, 1000000), resourceType := int1, primitiveContent := { any_1 := {{AccessControlPolicy_optional := m_contentCreateAcp (p_name, p_acor, p_allowedOperations)}} } }; /** * @desc Base CREATE request primitive for AccessControlPolicy resource (AUX) */ 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 := { from_ := PX_AE_ID_STEM, requestIdentifier := "m_createAcpAux" & f_rnd(1, 1000000), resourceType := int1, primitiveContent := { any_1 := {{AccessControlPolicy_optional := m_contentCreateAcp (p_acpName, p_acor, p_allowedOperations)}} } }; //Added by @Naum template (value) RequestPrimitive m_createCSEBase (in ServiceSubscribedAppRule p_serviceSubscribedAppRule) modifies m_create := { from_ := PX_AE_ID_STEM, requestIdentifier := "m_createCSE" & f_rnd(1, 1000000), resourceType := int1,//FIXME Is this the value for CSEBase? In any case, this template is not used at all primitiveContent := { any_1 := {{CSEBase_optional := m_contentCreateCSEBase (p_serviceSubscribedAppRule)}} } }; /** * @desc Base CREATE request primitive for Container resource */ template (value) RequestPrimitive m_createContainerBase modifies m_create := { requestIdentifier := "m_createContainer" & f_rnd(1, 1000000), resourceType := int3, primitiveContent := { any_1 := {{Container_optional := m_contentCreateContainer}} } }; template (value) RequestPrimitive m_createContainer(XSD.ID p_parentResourceAddress, in template (omit) XSD.String p_resourceName) modifies m_create := { to_ := f_addPrefix(p_parentResourceAddress), from_ := PX_AE_ID_STEM, requestIdentifier := "m_createContainer" & f_rnd(1, 1000000), resourceType := int3, primitiveContent := { any_1 := {{Container_optional := m_contentCreateContainer}} } }; template (value) RequestPrimitive m_createContentInstance(XSD.ID p_parentResourceAddress, XSD.String p_primitiveContent) modifies m_create := { to_ := f_addPrefix(p_parentResourceAddress), from_ := "admin:admin", requestIdentifier := "m_createContentInstance" & f_rnd(1, 1000000), resourceType := int4, primitiveContent := { any_1 := {{ContentInstance_optional := m_contentCreateContentInstance(p_primitiveContent)}} } }; /** * @desc Base CREATE request primitive for Group resource */ template (value) RequestPrimitive m_createGroupBase modifies m_create := { requestIdentifier := "m_createGroup" & f_rnd(1, 1000000), resourceType := int9, primitiveContent := { any_1 := {{Group_optional := m_contentCreateGroup (1, {"/" & PX_CSE_NAME & "/" & "NotInitialized"}, omit)}} //TODO: p_resourceId } }; template (value) RequestPrimitive m_createGroup(XSD.ID p_parentResourceAddress, in template (omit) XSD.String p_name, in template (omit) AcpType p_accessControlPolicyIDs, in template (value) XSD.AnyURI p_memberId ) modifies m_create := { to_ := f_addPrefix(p_parentResourceAddress), from_ := PX_AE_ID_STEM, requestIdentifier := "m_createGroup" & f_rnd(1, 1000000), resourceType := int9, primitiveContent := { any_1 := {{Group_optional := m_contentCreateGroup (1, {"/" & PX_CSE_NAME & "/" & valueof(p_memberId)}, p_accessControlPolicyIDs)}} //TODO: p_resourceId } }; /** * @desc Base CREATE request primitive for PollingChannel resource */ template (value) RequestPrimitive m_createPollingChannelBase modifies m_create := { requestIdentifier := "m_createPollingChannel" & f_rnd(1, 1000000), resourceType := int15, primitiveContent := { any_1 := {{PollingChannel_optional := m_contentCreatePollingChannel (omit)}} } }; template (value) RequestPrimitive m_createPollingChannel(XSD.ID p_parentResourceAddress, in template (value)XSD.ID p_originatorId, in template (omit) AcpType p_accessControlPolicyIDs ) modifies m_create := { to_ := f_addPrefix(p_parentResourceAddress), from_ := p_originatorId, requestIdentifier := "m_createPollingChannel" & f_rnd(1, 1000000), resourceType := int15, primitiveContent := { any_1 := {{PollingChannel_optional := m_contentCreatePollingChannel ()}} } }; /** * @desc Base CREATE request primitive for Schedule resource */ template (value) RequestPrimitive m_createScheduleBase modifies m_create := { requestIdentifier := "m_createSchedule" & f_rnd(1, 1000000), resourceType := int18, primitiveContent := { any_1 := {{Schedule_optional := m_contentCreateSchedule ({{"0,0,0 1 2,1,1,*"}})}} } }; 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 := { to_ := f_addPrefix(p_parentResourceAddress), from_ := PX_AE_ID_STEM, requestIdentifier := "m_createSchedule" & f_rnd(1, 1000000), resourceType := int18, primitiveContent := { any_1 := {{Schedule_optional := m_contentCreateSchedule (p_scheduleElement)}} } }; //Added by @Naum template (value) RequestPrimitive m_createServiceSubscribedAppRule (in ListOfM2MID p_applicableCredIDs, in ListOfM2MID p_allowedApp_IDs, in ListOfM2MID p_allowedAEs) modifies m_create := { from_ := PX_AE_ID_STEM, requestIdentifier := "m_createCSE" & f_rnd(1, 1000000), resourceType := int1,//FIXME Is this the correct value? primitiveContent := { any_1 := {{ServiceSubscribedAppRule_optional := m_contentCreateServiceSubscribedAppRule (p_applicableCredIDs, p_allowedApp_IDs, p_allowedAEs)}} } }; /** * @desc Base CREATE request primitive for Subscription resource */ template (value) RequestPrimitive m_createSubscriptionBase modifies m_create := { requestIdentifier := "m_createSubscription" & f_rnd(1, 1000000), resourceType := int23, primitiveContent := { any_1 := {{Subscription_optional := m_contentCreateSubscription ({"Not Initialized"})}} } }; template (value) RequestPrimitive m_createSubscription(XSD.ID p_parentResourceAddress, in template (omit) XSD.String p_name, in template (value) ListOfURIs p_notificationURI ) modifies m_create := { to_ := f_addPrefix(p_parentResourceAddress), from_ := PX_AE_ID_STEM, requestIdentifier := "m_createSubscription" & f_rnd(1, 1000000), resourceType := int23, primitiveContent := { any_1 := {{Subscription_optional := m_contentCreateSubscription (p_notificationURI)}} } }; //@Martin template (value) RequestPrimitive m_createLocationPolicy(in template (omit) AcpType p_accessControlPolicyIDs, in template (omit) XSD.Duration locationUpdatePeriod, in template (omit) NodeID locationTargetID, in template (omit) XSD.AnyURI locationServerAddress) modifies m_create := { requestIdentifier := "m_createLocationPolicy", //the requestIdentifier is supposed to be set similar as "C190XX7T/001" by prepending the AE-ID-Stem and slash(‘/’) in front of it resourceType := int10, primitiveContent := { any_1 := {{ LocationPolicy_optional := m_contentCreateLocationPolicy(p_accessControlPolicyIDs, locationUpdatePeriod, locationTargetID, locationServerAddress) }} }, resultContent := int1//default }; }//end group Create group Delete { template (value) RequestPrimitive m_deleteRequest(XSD.ID p_resourceAddress) := { operation := int4, to_ := f_addPrefix(p_resourceAddress), from_ := PX_AE_ID_STEM, requestIdentifier := "m_deleteAe" & f_rnd(1, 1000000), resourceType := omit, primitiveContent := omit, roleIDs := {"1234abcd@role-issuer.com"},//TODO Find a correct value 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, localTokenIDs := {"Fixme"},//TODO Find a correct value, tokenReqIndicator := omit }; template (value) RequestPrimitive m_delete(XSD.ID p_resourceAddress) := { operation := int4, to_ := p_resourceAddress, from_ := PX_AE_ID_STEM, requestIdentifier := "m_deleteAe" & f_rnd(1, 1000000), resourceType := omit, primitiveContent := omit, roleIDs := {"1234abcd@role-issuer.com"},//TODO Find a correct value 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, localTokenIDs := {"Fixme"},//TODO Find a correct value, tokenReqIndicator := omit }; }//end group Delete }//end group RequestPrimitives group ContentCreate { template (value) AEAnnc_optional mw_contentCreateAEannc (in template (omit) XSD.String p_name, in template (omit) AcpType p_accessControlPolicyIDs, XSD.ID p_appId := PX_APP_ID) := { resourceName := p_name,//O resourceType := omit,//NP resourceID := omit,//NP parentID := omit,//NP creationTime := omit,//NP lastModifiedTime := omit,//NP labels := omit,//O accessControlPolicyIDs := p_accessControlPolicyIDs,//O expirationTime := omit,//O dynamicAuthorizationConsultationIDs := omit, //TODO Check whether it is optional or mandatory for create operation link := omit,//O appName := omit,//O app_ID := p_appId,//M aE_ID := omit,//NP pointOfAccess := omit, //{"http://127.0.0.1:1400/monitor"},//O //{"http://192.168.1.92:18080/notifications/AE"}, // TODO: Check this => AE PoA ontologyRef := omit,//O nodeLink := omit,//NP requestReachability := true,//M contentSerialization := omit,//O e2eSecInfo := omit, //TODO Check whether it is optional or mandatory for create operation choice := omit//NP }; /** * @desc Base primitiveContent for CREATE operation for AE resource * @param p_name Resource name * @param p_accessControlPolicyIDs ACP IDs for the AE */ template (value) AE_optional m_contentCreateAe (in template (omit) AcpType p_accessControlPolicyIDs, in template (omit) XSD.String p_name := c_defaultResourceName, in template (omit) XSD.ID p_appId := PX_APP_ID) := { resourceName := p_name,//O resourceType := omit,//NP resourceID := omit,//NP parentID := omit,//NP creationTime := omit,//NP lastModifiedTime := omit,//NP labels := omit,//O accessControlPolicyIDs := p_accessControlPolicyIDs,//O expirationTime := omit,//O dynamicAuthorizationConsultationIDs := omit, //O announceTo := omit,//O announcedAttribute := omit,//O appName := omit,//O app_ID := p_appId,//M aE_ID := omit,//NP pointOfAccess := omit, //O {"http://127.0.0.1:1400/monitor"},//{"http://192.168.1.92:18080/notifications/AE"}, // TODO: Check this => AE PoA ontologyRef := omit,//O nodeLink := omit,//NP requestReachability := true,//M contentSerialization := omit,//O e2eSecInfo := omit, //O choice := omit//NP }; /** * @desc Base primitiveContent for CREATE operation for AccessControlPolicy resource * @param p_name Resource name * @param p_acor Allowed originators * @param p_allowedOperations Allowed operations */ template (value) AccessControlPolicy_optional m_contentCreateAcp (in template (omit) XSD.String p_name := c_defaultResourceName, in template (value) ListOfURIs p_acor := PX_ACOR, in template (value) AccessControlOperations p_allowedOperations := int63 ) := { resourceName := p_name,//O resourceType := omit,//NP resourceID := omit,//NP parentID := omit,//NP creationTime := omit,//NP lastModifiedTime := omit,//NP labels := omit,//O expirationTime := omit,//O announceTo := omit,//O announcedAttribute := omit,//O privileges := { accessControlRule_list := { { accessControlOriginators := p_acor,//{"*"},//{PX_AE_ID_STEM}, //{"admin:admin"}, accessControlOperations := p_allowedOperations, accessControlContexts_list := omit, accessControlAuthenticationFlag := omit } } },//M selfPrivileges := { accessControlRule_list := { { accessControlOriginators := p_acor, //{"*"},//{PX_AE_ID_STEM}, //{"admin:admin"}, accessControlOperations := int63, accessControlContexts_list := omit, accessControlAuthenticationFlag := omit } } },//M choice := omit //NP }; //added by @Naum template (value) CSEBase_optional m_contentCreateCSEBase (in ServiceSubscribedAppRule p_serviceSubscribedAppRule) := { resourceName := omit, resourceType := omit, resourceID := omit, parentID := omit, creationTime := omit, lastModifiedTime := omit, labels := omit, accessControlPolicyIDs := omit, cseType := omit, cSE_ID := omit, supportedResourceType := omit, pointOfAccess := omit, nodeLink := omit, e2eSecInfo := omit, choice := { choice_list := {{ serviceSubscribedAppRule := p_serviceSubscribedAppRule }} } } /** * @desc Base primitiveContent for CREATE operation for Group resource * @param p_maxNrOfMembers Max number of members * @param p_memberIds Member IDs * @param p_accessControlPolicyIDs ACP IDs for the Group * @param p_name Resource name */ template (value) Group_optional m_contentCreateGroup ( in template (value) XSD.NonNegativeInteger p_maxNrOfMembers, in template (value) ListOfURIs p_memberIds, in template (omit) AcpType p_accessControlPolicyIDs, in template (omit) XSD.String p_name := c_defaultResourceName) := { resourceName := p_name,//O resourceType := omit,//NP resourceID := omit,//NP parentID := omit,//NP creationTime := omit,//NP lastModifiedTime := omit,//NP labels := omit,//O accessControlPolicyIDs := p_accessControlPolicyIDs,//O expirationTime := omit,//O dynamicAuthorizationConsultationIDs := omit, //O announceTo := omit,//O announcedAttribute := omit,//O creator := omit,//O memberType := omit,//O currentNrOfMembers := omit,//NP maxNrOfMembers := p_maxNrOfMembers,//M memberIDs := p_memberIds,//M membersAccessControlPolicyIDs := omit,//O memberTypeValidated := omit,//NP consistencyStrategy := omit,//O groupName := omit,//O choice := omit//NP }; /** * @desc Base primitiveContent for CREATE operation for PollingChannel resource * @param p_accessControlPolicyIDs ACP IDs for the PollingChannel * @param p_name Resource name */ template (value) PollingChannel_optional m_contentCreatePollingChannel (in template (omit) XSD.String p_name := c_defaultResourceName) := { resourceName := p_name,//O resourceType := omit,//NP resourceID := omit,//NP parentID := omit,//NP creationTime := omit,//NP lastModifiedTime := omit,//NP labels := omit,//O expirationTime := omit//O }; /** * @desc Base primitiveContent for CREATE operation for Schedule resource * @param p_scheduleElement Schedule * @param p_name Resource name */ template (value) Schedule_optional m_contentCreateSchedule (in template (value) ScheduleEntries p_scheduleElement, in template (omit) XSD.String p_name := c_defaultResourceName) := { resourceName := p_name,//O resourceType := omit,//NP resourceID := omit,//NP parentID := omit,//NP creationTime := omit,//NP lastModifiedTime := omit,//NP labels := omit,//O expirationTime := omit,//O announceTo := omit,//O announcedAttribute := omit,//O scheduleElement := p_scheduleElement,//M choice := omit//NP }; template (value) ServiceSubscribedAppRule_optional m_contentCreateServiceSubscribedAppRule (in ListOfM2MID p_applicableCredIDs, in ListOfM2MID p_allowedApp_IDs, in ListOfM2MID p_allowedAEs) := { resourceName := omit,//TODO TS-0004 7.4.29.1 2 Missing attribute resourceType := omit,//NP resourceID := omit,//NP parentID := omit,//NP creationTime := omit,//NP lastModifiedTime := omit,//NP labels := omit,//O accessControlPolicyIDs := omit,//O expirationTime := omit,//O dynamicAuthorizationConsultationIDs := omit, //O applicableCredIDs := p_applicableCredIDs,//O allowedApp_IDs := p_allowedApp_IDs,//O allowedAEs := p_allowedAEs,//O choice := omit //O } /** * @desc Base primitiveContent for CREATE operation for Subscription resource * @param p_notificationURI Notification URI * @param p_name Resource name */ template (value) Subscription_optional m_contentCreateSubscription (in template (value) ListOfURIs p_notificationURI, in template (omit) XSD.String p_name := c_defaultResourceName) := { resourceName := c_defaultResourceName,//O resourceType := omit,//NP resourceID := omit,//NP parentID := omit,//NP creationTime := omit,//NP lastModifiedTime := omit,//NP labels := omit,//O accessControlPolicyIDs := omit,//O expirationTime := omit,//O dynamicAuthorizationConsultationIDs := omit, //O creator := omit,//O eventNotificationCriteria := omit,//O expirationCounter := omit,//O notificationURI := p_notificationURI,//M groupID := omit,//O notificationForwardingURI := omit,//O batchNotify := omit,//O rateLimit := omit,//O preSubscriptionNotify := omit,//O pendingNotification := omit,//O notificationStoragePriority := omit,//O latestNotify := omit,//O notificationContentType := omit, //O notificationEventCat := omit,//O subscriberURI := omit,//O choice := omit//NP }; /** * @desc Base primitiveContent for CREATE operation for ContentInstance resource * @param p_primitiveContent Content for the ContentInstance */ template (value) ContentInstance_optional m_contentCreateContentInstance(XSD.String p_primitiveContent) := { resourceName := c_defaultResourceName,//O resourceType := omit,//NP resourceID := omit,//NP parentID := omit,//NP creationTime := omit,//NP lastModifiedTime := omit,//NP labels := omit,//O expirationTime := omit,//O announceTo := omit,//O announcedAttribute := omit,//O stateTag := omit,//NP creator := omit,//O contentInfo := "a",//O contentSize := omit,//NP contentRef := omit, //O ontologyRef := omit,//O content := { embed_values := {p_primitiveContent}, attr := omit, elem_list := {} }, //M choice := omit //O }; /** * @desc Base primitiveContent for CREATE operation for Container resource * @param p_name Resource name */ template (value) Container_optional m_contentCreateContainer (in template (omit) XSD.String p_name := c_defaultResourceName):= { resourceName := p_name,//O resourceType := omit,//NP resourceID := omit,//NP parentID := omit,//NP creationTime := omit,//NP lastModifiedTime := omit,//NP labels := omit,//O accessControlPolicyIDs := omit,//O expirationTime := omit,//O dynamicAuthorizationConsultationIDs := omit, //O announceTo := omit,//O announcedAttribute := omit,//O stateTag := omit,//NP creator := omit,//O maxNrOfInstances := omit,//O maxByteSize := omit,//O maxInstanceAge := omit,//O currentNrOfInstances := omit,//NP currentByteSize := omit,//NP locationID := omit,//O ontologyRef := omit,//O disableRetrieval := omit, //O choice := omit//NP }; //@Martin template (value) LocationPolicy_optional m_contentCreateLocationPolicy (in template (omit) AcpType p_accessControlPolicyIDs, in template (value) XSD.Duration locationUpdatePeriod, in template (value) NodeID locationTargetID, in template (value) XSD.AnyURI locationServerAddress) := { resourceName := c_defaultResourceName, //O resourceType := omit, //NP resourceID := omit, //NP parentID := omit, //NP creationTime := omit, //NP lastModifiedTime := omit, //NP labels := LABELS,//O accessControlPolicyIDs := p_accessControlPolicyIDs, //O expirationTime := omit, //O dynamicAuthorizationConsultationIDs := omit, //O announceTo := omit, //O announcedAttribute := omit, //O locationSource := PX_LOCATION_SOURCE, //M locationUpdatePeriod := locationUpdatePeriod, //O locationTargetID := locationTargetID, //O locationServer := locationServerAddress,//O locationContainerID := omit, //NP locationContainerName := PX_LOCATION_CONTAINER_NAME,//O locationStatus := omit, //NP choice := omit //NP }; }//end group ContentCreate group ContentUpdate { /** * @desc Base primitiveContent for UPDATE operation for AE resource */ template (value) AE_optional m_contentUpdateAe := { resourceName := omit,//NP resourceType := omit,//NP resourceID := omit,//NP parentID := omit,//NP creationTime := omit,//NP lastModifiedTime := omit,//NP labels := omit,//O accessControlPolicyIDs := omit,//O expirationTime := omit,//O dynamicAuthorizationConsultationIDs := omit, //O announceTo := omit,//O announcedAttribute := omit,//O appName := omit,//O app_ID := omit,//NP aE_ID := omit,//NP pointOfAccess := omit,//O ontologyRef := omit,//O nodeLink := omit,//NP requestReachability := omit,//O contentSerialization := omit,//O e2eSecInfo := omit, //O choice := omit//NP }; /** * @desc Base primitiveContent for UPDATE operation for AccessControlPolicy resource */ template (value) AccessControlPolicy_optional m_contentUpdateAcp := { resourceName := omit,//NP resourceType := omit,//NP resourceID := omit,//NP parentID := omit,//NP creationTime := omit,//NP lastModifiedTime := omit,//NP labels := omit,//O expirationTime := omit,//O announceTo := omit,//O announcedAttribute := omit,//O privileges := omit,//O selfPrivileges := omit,//O choice := omit //NP }; /** * @desc Base primitiveContent for UPDATE operation for Group resource */ template (value) Group_optional m_contentUpdateGroup := { resourceName := omit,//NP resourceType := omit,//NP resourceID := omit,//NP parentID := omit,//NP creationTime := omit,//NP lastModifiedTime := omit,//NP labels := omit,//O accessControlPolicyIDs := omit,//O expirationTime := omit,//O dynamicAuthorizationConsultationIDs := omit, //O announceTo := omit,//O announcedAttribute := omit,//O creator := omit,//NP memberType := omit,//NP currentNrOfMembers := omit,//NP maxNrOfMembers := omit,//O memberIDs := omit,//O membersAccessControlPolicyIDs := omit,//O memberTypeValidated := omit,//NP consistencyStrategy := omit,//NP groupName := omit,//O choice := omit//NP }; /** * @desc Base primitiveContent for UPDATE operation for PollingChannel resource */ template (value) PollingChannel_optional m_contentUpdatePollingChannel := { resourceName := omit,//NP resourceType := omit,//NP resourceID := omit,//NP parentID := omit,//NP creationTime := omit,//NP lastModifiedTime := omit,//NP labels := omit,//O expirationTime := omit//O }; /** * @desc Base primitiveContent for UPDATE operation for Schedule resource */ template (value) Schedule_optional m_contentUpdateSchedule := { resourceName := omit,//NP resourceType := omit,//NP resourceID := omit,//NP parentID := omit,//NP creationTime := omit,//NP lastModifiedTime := omit,//NP labels := omit,//O expirationTime := omit,//O announceTo := omit,//O announcedAttribute := omit,//O scheduleElement := omit,//O choice := omit//NP }; /** * @desc Base primitiveContent for UPDATE operation for Subscription resource */ template (value) Subscription_optional m_contentUpdateSubscription := { resourceName := omit,//NP resourceType := omit,//NP resourceID := omit,//NP parentID := omit,//NP creationTime := omit,//NP lastModifiedTime := omit,//NP labels := omit,//O accessControlPolicyIDs := omit,//O expirationTime := omit,//O dynamicAuthorizationConsultationIDs := omit, //O creator := omit,//NP eventNotificationCriteria := omit,//O expirationCounter := omit,//O notificationURI := omit,//O groupID := omit,//O notificationForwardingURI := omit,//O batchNotify := omit,//O rateLimit := omit,//O preSubscriptionNotify := omit,//NP pendingNotification := omit,//O notificationStoragePriority := omit,//O latestNotify := omit,//O notificationContentType := omit,//O notificationEventCat := omit,//O subscriberURI := omit,//NP choice := omit//NP }; /** * @desc Base primitiveContent for UPDATE operation for Container resource */ template (value) Container_optional m_contentUpdateContainer := { resourceName := omit,//NP resourceType := omit,//NP resourceID := omit,//NP parentID := omit,//NP creationTime := omit,//NP lastModifiedTime := omit,//NP labels := omit,//O accessControlPolicyIDs := omit,//O expirationTime := omit,//O dynamicAuthorizationConsultationIDs := omit, //O announceTo := omit,//O announcedAttribute := omit,//O stateTag := omit,//NP creator := omit,//NP maxNrOfInstances := omit,//O maxByteSize := omit,//O maxInstanceAge := omit,//O currentNrOfInstances := omit,//NP currentByteSize := omit,//NP locationID := omit,//O ontologyRef := omit,//O disableRetrieval := omit, //NP choice := omit//NP }; //@Martin template (value) LocationPolicy_optional m_contentUpdateLocationPolicy (in template (omit) AcpType p_accessControlPolicyIDs, in template (value) XSD.Duration locationUpdatePeriod) := { resourceName := omit,//NP resourceType := omit,//NP resourceID := omit,//NP parentID := omit,//NP creationTime := omit,//NP lastModifiedTime := omit,//NP labels := LABELS,//O accessControlPolicyIDs := p_accessControlPolicyIDs,//O expirationTime := omit,//O dynamicAuthorizationConsultationIDs := omit, //O announceTo := omit,//O announcedAttribute := omit,//O locationSource := omit,//NP locationUpdatePeriod := locationUpdatePeriod, //O locationTargetID := omit, //NP locationServer := omit, //NP locationContainerID := omit, //NP locationContainerName := PX_LOCATION_CONTAINER_NAME, //O locationStatus := omit, //NP choice := omit //NP }; }//end group ContentUpdate group responseContent { template AE_optional mw_contentAeBase := { resourceName := ?,//M resourceType := ?,//M resourceID := ?,//M parentID := ?,//M creationTime := ?,//M lastModifiedTime := ?,//M labels := *,//O accessControlPolicyIDs := *,//O expirationTime := ?,//M dynamicAuthorizationConsultationIDs := *, //O announceTo := *,//O announcedAttribute := ?,//M appName := *,//O app_ID := ?,//M aE_ID := ?,//M pointOfAccess := *,//O ontologyRef := *,//O nodeLink := *,//O requestReachability := ?,//M contentSerialization := *,//O e2eSecInfo:= *, //O choice := *//O }; template AccessControlPolicy_optional mw_contentAcpBase := { resourceName := ?,//M resourceType := ?,//M resourceID := ?,//M parentID := ?,//M creationTime := ?,//M lastModifiedTime := ?,//M labels := *,//O expirationTime := ?,//M announceTo := *,//O announcedAttribute := *,//O privileges := ?,//M selfPrivileges := ?,//M choice := *//O }; template AccessControlPolicy_optional mw_contentAcp_allOmit modifies mw_contentAcpBase := { resourceName := omit,//M resourceType := omit,//M resourceID := omit,//M parentID := omit,//M creationTime := omit,//M lastModifiedTime := omit,//M labels := omit,//O expirationTime := omit,//M announceTo := omit,//O announcedAttribute := omit,//M privileges := omit,//M selfPrivileges := omit,//M choice := omit//O } template AccessControlPolicy_optional mw_contentAcp_rc1 modifies mw_contentAcpBase := { choice := omit //O } //TODO template XSD.AnyURI mw_contentAcp_rc2 := ?; template AccessControlPolicy_optional mw_contentAcp_rc3 modifies mw_contentAcpBase := { choice := omit //O } template AccessControlPolicy_optional mw_contentAcp_rc4 modifies mw_contentAcpBase := { choice := {subscription_list := ?} //O } template AccessControlPolicy_optional mw_contentAcp_rc5 modifies mw_contentAcpBase := { choice := {childResource_list := ?} //O } template AccessControlPolicy_optional mw_contentAcp_rc6 modifies mw_contentAcpBase := { resourceName := omit,//M resourceType := omit,//M resourceID := omit,//M parentID := omit,//M creationTime := omit,//M lastModifiedTime := omit,//M labels := omit,//O expirationTime := omit,//M announceTo := omit,//O announcedAttribute := omit,//M privileges := omit,//M selfPrivileges := omit,//M choice := {childResource_list := ?}//O } template AccessControlPolicy_optional mw_contentAcp_rc7 modifies mw_contentAcpBase := { } template Group_optional mw_contentGroupBase := { resourceName := ?,//M resourceType := ?,//M resourceID := ?,//M parentID := ?,//M creationTime := ?,//M lastModifiedTime := ?,//M labels := *,//O accessControlPolicyIDs := *,//O expirationTime := ?,//M dynamicAuthorizationConsultationIDs := *, //O announceTo := *,//O announcedAttribute := *,//O creator := *,//O memberType := ?,//M currentNrOfMembers := ?,//M maxNrOfMembers := ?,//M memberIDs := ?,//M membersAccessControlPolicyIDs := *,//O memberTypeValidated := *,//O consistencyStrategy := *,//O groupName := *,//O choice := *//O }; template Group_optional mw_contentGroup_allOmit modifies mw_contentGroupBase := { resourceName := omit,//M resourceType := omit,//M resourceID := omit,//M parentID := omit,//M creationTime := omit,//M lastModifiedTime := omit,//M labels := omit,//O accessControlPolicyIDs := omit,//O expirationTime := omit,//M dynamicAuthorizationConsultationIDs := omit,//O announceTo := omit,//O announcedAttribute := omit,//M creator := omit,//O memberType := omit,//M currentNrOfMembers := omit,//M maxNrOfMembers := omit,//M memberIDs := omit,//M membersAccessControlPolicyIDs := omit,//O memberTypeValidated := omit,//M consistencyStrategy := omit,//O groupName := omit,//O choice := omit//O } template Group_optional mw_contentGroup_rc1 modifies mw_contentGroupBase := { choice := omit //O } template XSD.AnyURI mw_contentGroup_rc2 := ?; template Group_optional mw_contentGroup_rc3 modifies mw_contentGroupBase := { choice := omit //O } template Group_optional mw_contentGroup_rc4 modifies mw_contentGroupBase := { choice := {choice_list := {{subscription := ?}}} //O } template Group_optional mw_contentGroup_rc5 modifies mw_contentGroupBase := { choice := {childResource_list := ?} //O } template Group_optional mw_contentGroup_rc6 modifies mw_contentGroupBase := { resourceName := omit,//M resourceType := omit,//M resourceID := omit,//M parentID := omit,//M creationTime := omit,//M lastModifiedTime := omit,//M labels := omit,//O accessControlPolicyIDs := omit,//O expirationTime := omit,//M dynamicAuthorizationConsultationIDs := omit,//O announceTo := omit,//O announcedAttribute := omit,//M creator := omit,//O memberType := omit,//M currentNrOfMembers := omit,//M maxNrOfMembers := omit,//M memberIDs := omit,//M membersAccessControlPolicyIDs := omit,//O memberTypeValidated := omit,//M consistencyStrategy := omit,//O groupName := omit,//O choice := {childResource_list := ?}//O } template Group_optional mw_contentGroup_rc7 modifies mw_contentGroupBase := { } template PollingChannel_optional mw_contentPollingChannelBase := { resourceName := ?,//M resourceType := ?,//M resourceID := ?,//M parentID := ?,//M creationTime := ?,//M lastModifiedTime := ?,//M labels := *,//O expirationTime := ?//M }; template PollingChannel_optional mw_contentPollingChannel_allOmit := { resourceName := omit,//M resourceType := omit,//M resourceID := omit,//M parentID := omit,//M creationTime := omit,//M lastModifiedTime := omit,//M labels := omit,//O expirationTime := omit//M }; template Schedule_optional mw_contentScheduleBase := { resourceName := ?,//M resourceType := ?,//M resourceID := ?,//M parentID := ?,//M creationTime := ?,//M lastModifiedTime := ?,//M labels := *,//O expirationTime := ?,//M announceTo := *,//O announcedAttribute := *,//O scheduleElement := ?,//M choice := *//O }; template Schedule_optional mw_contentSchedule_allOmit modifies mw_contentScheduleBase := { resourceName := omit,//M resourceType := omit,//M resourceID := omit,//M parentID := omit,//M creationTime := omit,//M lastModifiedTime := omit,//M labels := omit,//O expirationTime := omit,//M announceTo := omit,//O announcedAttribute := omit,//M scheduleElement := omit,//M choice := omit//O } template Schedule_optional mw_contentSchedule_rc1 modifies mw_contentScheduleBase := { choice := omit //O } template XSD.AnyURI mw_contentSchedule_rc2 := ?; template Schedule_optional mw_contentSchedule_rc3 modifies mw_contentScheduleBase := { choice := omit //O } template Schedule_optional mw_contentSchedule_rc4 modifies mw_contentScheduleBase := { choice := {choice_list := ?} //O } template Schedule_optional mw_contentSchedule_rc5 modifies mw_contentScheduleBase := { choice := {childResource_list := ?} //O } template Schedule_optional mw_contentSchedule_rc6 modifies mw_contentScheduleBase := { resourceName := omit,//M resourceType := omit,//M resourceID := omit,//M parentID := omit,//M creationTime := omit,//M lastModifiedTime := omit,//M labels := omit,//O expirationTime := omit,//M announceTo := omit,//O announcedAttribute := omit,//M scheduleElement := omit,//M choice := {childResource_list := ?}//O } template Schedule_optional mw_contentSchedule_rc7 modifies mw_contentScheduleBase := { } template Subscription_optional mw_contentSubscriptionBase := { resourceName := ?,//M resourceType := ?,//M resourceID := ?,//M parentID := ?,//M creationTime := ?,//M lastModifiedTime := ?,//M labels := *,//O accessControlPolicyIDs := *,//O expirationTime := ?,//M dynamicAuthorizationConsultationIDs := *, //O creator := *,//O eventNotificationCriteria := *,//O expirationCounter := *,//O notificationURI := ?,//M groupID := *,//O notificationForwardingURI := *,//O batchNotify := *,//O rateLimit := *,//O preSubscriptionNotify := *,//O pendingNotification := *,//O notificationStoragePriority := *,//O latestNotify := *,//O notificationContentType := *,//O notificationEventCat := *,//O subscriberURI := *,//O choice := *//O }; template Subscription_optional mw_contentSubscription_allOmit modifies mw_contentSubscriptionBase := { resourceName := omit,//M resourceType := omit,//M resourceID := omit,//M parentID := omit,//M creationTime := omit,//M lastModifiedTime := omit,//M labels := omit,//O accessControlPolicyIDs := omit,//O expirationTime := omit,//M dynamicAuthorizationConsultationIDs := omit, //O creator := omit,//O eventNotificationCriteria := omit,//O expirationCounter := omit,//O notificationURI := omit,//M groupID := omit,//O notificationForwardingURI := omit,//O batchNotify := omit,//O rateLimit := omit,//O preSubscriptionNotify := omit,//O pendingNotification := omit,//O notificationStoragePriority := omit,//O latestNotify := omit,//O notificationContentType := omit,//M notificationEventCat := omit,//O subscriberURI := omit,//O choice := omit//O } template Subscription_optional mw_contentSubscription_rc1 modifies mw_contentSubscriptionBase := { choice := omit //O } template XSD.AnyURI mw_contentSubscription_rc2 := ?; template Subscription_optional mw_contentSubscription_rc3 modifies mw_contentSubscriptionBase := { choice := omit //O } template Subscription_optional mw_contentSubscription_rc4 modifies mw_contentSubscriptionBase := { choice := { choice_list := {{schedule := ?}}} //O } template Subscription_optional mw_contentSubscription_rc5 modifies mw_contentSubscriptionBase := { choice := {childResource_list := ?} //O } template Subscription_optional mw_contentSubscription_rc6 modifies mw_contentSubscriptionBase := { resourceName := omit,//M resourceType := omit,//M resourceID := omit,//M parentID := omit,//M creationTime := omit,//M lastModifiedTime := omit,//M labels := omit,//O accessControlPolicyIDs := omit,//O expirationTime := omit,//M dynamicAuthorizationConsultationIDs := omit, //O creator := omit,//O eventNotificationCriteria := omit,//O expirationCounter := omit,//O notificationURI := omit,//M groupID := omit,//O notificationForwardingURI := omit,//O batchNotify := omit,//O rateLimit := omit,//O preSubscriptionNotify := omit,//O pendingNotification := omit,//O notificationStoragePriority := omit,//O latestNotify := omit,//O notificationContentType := omit,//M notificationEventCat := omit,//O subscriberURI := omit,//O choice := {childResource_list := ?}//O } template Subscription_optional mw_contentSubscription_rc7 modifies mw_contentSubscriptionBase := { } template ContentInstance_optional mw_contentContentInstanceBase := { resourceName := ?,//M resourceType := ?,//M resourceID := ?,//M parentID := ?,//M creationTime := ?,//M lastModifiedTime := ?,//M labels := *,//O expirationTime := ?,//M announceTo := *,//O announcedAttribute := *,//O stateTag := ?,//M creator := *,//O contentInfo := *,//O contentSize := ?,//M contentRef := *, //O ontologyRef := *,//O content := ?,//M choice := * //O }; template Container_optional mw_contentContainerBase := { resourceName := ?,//M resourceType := ?,//M resourceID := ?,//M parentID := ?,//M creationTime := ?,//M lastModifiedTime := ?,//M labels := *,//O accessControlPolicyIDs := *,//O expirationTime := ?,//M dynamicAuthorizationConsultationIDs := *, //O announceTo := *,//O announcedAttribute := *,//O stateTag := ?,//M creator := *,//O maxNrOfInstances := *,//O maxByteSize := *,//O maxInstanceAge := *,//O currentNrOfInstances := ?,//M currentByteSize := ?,//M locationID := *,//O ontologyRef := *,//O disableRetrieval := *, //O choice := *//O }; template Container_optional mw_contentContainer_allOmit modifies mw_contentContainerBase := { resourceName := omit,//M resourceType := omit,//M resourceID := omit,//M parentID := omit,//M creationTime := omit,//M lastModifiedTime := omit,//M labels := omit,//O accessControlPolicyIDs := omit,//O expirationTime := omit,//M dynamicAuthorizationConsultationIDs := omit, //O announceTo := omit,//O announcedAttribute := omit,//M stateTag := omit,//M creator := omit,//M maxNrOfInstances := omit,//O maxByteSize := omit,//O maxInstanceAge := omit,//O currentNrOfInstances := omit,//M currentByteSize := omit,//M locationID := omit,//O ontologyRef := omit,//O disableRetrieval := omit, //O choice := omit//O } template Container_optional mw_contentContainer_rc1 modifies mw_contentContainerBase := { choice := omit //O } template XSD.AnyURI mw_contentContainer_rc2 := ?; template Container_optional mw_contentContainer_rc3 modifies mw_contentContainerBase := { choice := omit //O } template Container_optional mw_contentContainer_rc4 modifies mw_contentContainerBase := { choice := {choice_list := ?} //O } template Container_optional mw_contentContainer_rc5 modifies mw_contentContainerBase := { choice := {childResource_list := ?} //O } template Container_optional mw_contentContainer_rc6 modifies mw_contentContainerBase := { resourceName := omit,//M resourceType := omit,//M resourceID := omit,//M parentID := omit,//M creationTime := omit,//M lastModifiedTime := omit,//M labels := omit,//O accessControlPolicyIDs := omit,//O expirationTime := omit,//M dynamicAuthorizationConsultationIDs := omit, //O announceTo := omit,//O announcedAttribute := omit,//M stateTag := omit,//M creator := omit,//M maxNrOfInstances := omit,//O maxByteSize := omit,//O maxInstanceAge := omit,//O currentNrOfInstances := omit,//M currentByteSize := omit,//M locationID := omit,//O ontologyRef := omit,//O disableRetrieval := omit, //O choice := {childResource_list := ?}//O } template Container_optional mw_contentContainer_rc7 modifies mw_contentContainerBase := { } }//end group responseContent group SpecialContents { template (value) AE_update_invalid m_contentUpdateAe_invalid := { labels := omit, accessControlPolicyIDs := omit, creationTime := omit, expirationTime := omit, dynamicAuthorizationConsultationIDs := omit, announceTo := omit, announcedAttribute := omit, appName := omit, pointOfAccess := omit, ontologyRef := omit, nodeLink := omit, requestReachability := omit, contentSerialization := omit, e2eSecInfo := omit }; template (value) ACP_update_invalid m_contentUpdateAcp_invalid := { labels := omit, expirationTime := omit, creationTime := omit, expirationCounter := omit, announceTo := omit, announcedAttribute := omit, privileges := omit, selfPrivileges := omit }; template (value) Group_update_invalid m_contentUpdateGroup_invalid := { labels := omit, accessControlPolicyIDs := omit, creationTime := omit, expirationCounter := omit, expirationTime := omit, dynamicAuthorizationConsultationIDs := omit, announceTo := omit, announcedAttribute := omit, maxNrOfMembers := omit, memberIDs := omit, membersAccessControlPolicyIDs := omit, groupName := omit }; template (value) PollingChannel_update_invalid m_contentUpdatePollingChannel_invalid := { labels := omit, creationTime := omit, expirationCounter := omit, expirationTime := omit }; template (value) Schedule_update_invalid m_contentUpdateSchedule_invalid := { labels := omit, creationTime := omit, expirationCounter := omit, expirationTime := omit, dynamicAuthorizationConsultationIDs := omit, announceTo := omit, announcedAttribute := omit, scheduleElement := omit }; template (value) Subscription_update_invalid m_contentUpdateSubscription_invalid := { labels := omit, accessControlPolicyIDs := omit, creationTime := omit, maxNrOfInstances := omit, expirationTime := omit, dynamicAuthorizationConsultationIDs := omit, eventNotificationCriteria := omit, expirationCounter := omit, notificationURI := omit, groupID := omit, notificationForwardingURI := omit, batchNotify := omit, rateLimit := omit, pendingNotification := omit, notificationStoragePriority := omit, latestNotify := omit, notificationContentType := omit, notificationEventCat := omit }; template (value) Container_update_invalid m_contentUpdateContainer_invalid := { labels := omit, accessControlPolicyIDs := omit, creationTime := omit, expirationCounter := omit, expirationTime := omit, dynamicAuthorizationConsultationIDs := omit, announceTo := omit, announcedAttribute := omit, maxNrOfInstances := omit, maxByteSize := omit, maxInstanceAge := omit, locationID := omit, ontologyRef := omit }; }//end group SpecialContents group ResponsePrimitives { template ResponsePrimitive mw_responsePrimitive(ResponseStatusCode p_statusCode) := { responseStatusCode := p_statusCode, requestIdentifier := ?, primitiveContent := *, to_ := *, from_ := *, originatingTimestamp := *, resultExpirationTimestamp := *, eventCategory := *, contentStatus := *, contentOffset := *, assignedTokenIdentifiers := *, tokenReqInfo := * }; template ResponsePrimitive mw_responsePrimitiveInverse(ResponseStatusCode p_statusCode) := { responseStatusCode := complement(p_statusCode), requestIdentifier := ?, primitiveContent := *, to_ := *, from_ := *, originatingTimestamp := *, resultExpirationTimestamp := *, eventCategory := *, contentStatus := *, contentOffset := *, assignedTokenIdentifiers := *, tokenReqInfo := * }; template ResponsePrimitive mw_responsePrimitiveOK(in template PrimitiveContent p_content := *) := { responseStatusCode := (int2000, int2001, int2002, int2004), requestIdentifier := ?, primitiveContent := p_content, to_ := *, from_ := *, originatingTimestamp := *, resultExpirationTimestamp := *, eventCategory := *, contentStatus := *, contentOffset := *, assignedTokenIdentifiers := *, tokenReqInfo := * }; template ResponsePrimitive mw_responsePrimitiveKO := { responseStatusCode := complement(int2000, int2001, int2002, int2004), requestIdentifier := ?, primitiveContent := *, to_ := *, from_ := *, originatingTimestamp := *, resultExpirationTimestamp := *, eventCategory := *, contentStatus := *, contentOffset := *, assignedTokenIdentifiers := *, tokenReqInfo := * }; }//end group ResponsePrimitives /** * @desc Get the prefix depending on the addressing format and binding (Temporal funciton as this should be done by TA) * @param v_address Actual address * @return Address with prefix * @verdict */ function f_addPrefix(XSD.ID v_address) return XSD.ID { //TODO Test, to be removed if(PX_ADDRESSING_FORMAT == e_cseRelative) { v_address := "/" & v_address; } else if (PX_ADDRESSING_FORMAT == e_spRelative) { v_address := "/~" & v_address; } else { v_address := "/~" & v_address; } return v_address; } } // end of module