diff --git a/LibOneM2M/OneM2M_Functions.ttcn b/LibOneM2M/OneM2M_Functions.ttcn index d5d527eadb7dd930ee6214d154355843b43ac2c9..ff05c9147deb281a47c6ea15b2b4f4e0985cb787 100644 --- a/LibOneM2M/OneM2M_Functions.ttcn +++ b/LibOneM2M/OneM2M_Functions.ttcn @@ -2203,9 +2203,9 @@ module OneM2M_Functions { } else if (p_primitiveScope == e_spRelative) { if(p_addressingMethod == e_nonHierarchical) { if(p_targetResourceIndex == -1) { - return PX_CSE_ID; + return PX_CSE_ID & "/" & PX_CSE_RESOURCE_ID; } else { - v_resourceAddress := f_getResourceAddress(-, p_addressingMethod, p_primitiveScope) & "/" & f_getResourceId(vc_resourcesList[p_targetResourceIndex].resource); + v_resourceAddress := PX_CSE_ID & "/" & f_getResourceId(vc_resourcesList[p_targetResourceIndex].resource); return v_resourceAddress; } } else { @@ -2758,7 +2758,7 @@ module OneM2M_Functions { } } - else if(ischosen(p_primitiveContent.subscription)){ // Schedule + else if(ischosen(p_primitiveContent.subscription)){ // Subscription v_primitiveContent := {subscription := mw_contentSubscriptionBase}; if(ispresent(p_primitiveContent.subscription.labels)){ @@ -2810,6 +2810,45 @@ module OneM2M_Functions { v_primitiveContent.subscription.subscriberURI := ?; } } + else if(ischosen(p_primitiveContent.remoteCSE)){ //remoteCSE + v_primitiveContent := {remoteCSE := mw_contentRemoteCSEBase}; + + if(ispresent(p_primitiveContent.remoteCSE.labels)){ + v_primitiveContent.remoteCSE.labels := ?; + } + + if(ispresent(p_primitiveContent.remoteCSE.accessControlPolicyIDs)){ + v_primitiveContent.remoteCSE.accessControlPolicyIDs := ?; + } + + if(ispresent(p_primitiveContent.remoteCSE.announceTo)){ + v_primitiveContent.remoteCSE.announceTo := ?; + } + + if(ispresent(p_primitiveContent.remoteCSE.announcedAttribute)){ + v_primitiveContent.remoteCSE.announcedAttribute := ?; + } + + if(ispresent(p_primitiveContent.remoteCSE.cseType)){ + v_primitiveContent.remoteCSE.cseType := ?; + } + + if(ispresent(p_primitiveContent.remoteCSE.pointOfAccess)){ + v_primitiveContent.remoteCSE.pointOfAccess := ?; + } + + if(ispresent(p_primitiveContent.remoteCSE.m2M_Ext_ID)){ + v_primitiveContent.remoteCSE.m2M_Ext_ID := ?; + } + + if(ispresent(p_primitiveContent.remoteCSE.trigger_Recipient_ID)){ + v_primitiveContent.remoteCSE.trigger_Recipient_ID := ?; + } + + if(ispresent(p_primitiveContent.remoteCSE.nodeLink)){ + v_primitiveContent.remoteCSE.nodeLink := ?; + } + } return v_primitiveContent; } diff --git a/OneM2M_Testcases.ttcn b/OneM2M_Testcases.ttcn index 3e9a91b999fe9441a09ee2b056bde0ce8457ac3d..64589e43a6eb1843fdbcaf6e7fc27d906cc0727b 100644 --- a/OneM2M_Testcases.ttcn +++ b/OneM2M_Testcases.ttcn @@ -2485,13 +2485,13 @@ module OneM2M_Testcases { var AeSimu v_ae1 := AeSimu.create("AE1") alive; v_createRequest.primitiveContent.contentInstance.resourceName := omit; - v_ae1.start(f_CSE_DMR_CRE_001(int4, v_createRequest, m_createContainerBase));//Subscription + v_ae1.start(f_CSE_DMR_CRE_001(int4, v_createRequest, m_createContainerBase));//ContentInstance v_ae1.done; if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1); - if(not ispresent(v_responsePrimitive.primitiveContent.subscription.resourceName)){ + if(not ispresent(v_responsePrimitive.primitiveContent.contentInstance.resourceName)){ setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided"); } }