From 25a8c3039dcb135db959cb817d96e36d74aa1893 Mon Sep 17 00:00:00 2001
From: reinaortega <miguelangel.reinaortega@etsi.org>
Date: Thu, 28 Oct 2021 15:33:27 +0200
Subject: [PATCH] Small changes according SDS-2021-0065R01 - CSE-ID request
 optionality and handling

Signed-off-by: reinaortega <miguelangel.reinaortega@etsi.org>
---
 LibOneM2M/OneM2M_Functions.ttcn |  4 ++++
 LibOneM2M/OneM2M_Templates.ttcn | 16 ++++++++--------
 2 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/LibOneM2M/OneM2M_Functions.ttcn b/LibOneM2M/OneM2M_Functions.ttcn
index 7332c1e..45f73d7 100644
--- a/LibOneM2M/OneM2M_Functions.ttcn
+++ b/LibOneM2M/OneM2M_Functions.ttcn
@@ -2856,6 +2856,7 @@ module OneM2M_Functions {
 						tc_ac.stop;
 						setverdict(pass, __SCOPE__&":INFO: Resource type remoteCSE created successfuly");
 						v_localRemoteCSEResource := f_generateLocalResource(v_request.primitive.requestPrimitive.primitiveContent, vc_cSEBaseIndex, int16);//TODO Get index from v_request.primitive.requestPrimitive.to_
+						v_localRemoteCSEResource.remoteCSE.cSE_ID := v_request.primitive.requestPrimitive.from_;
 						vc_localRemoteCseIndex := f_setLocalResource(v_localRemoteCSEResource, int16, vc_cSEBaseIndex);
 						
 						v_response := valueof(m_responsePrimitive(int2001,v_request.primitive.requestPrimitive.requestIdentifier));
@@ -5718,6 +5719,9 @@ module OneM2M_Functions {
 				if(p_responseStatusCode == int2001) {
 					setverdict(pass, __SCOPE__&":INFO: Resource created successfuly");
 					v_localResource := f_generateLocalResource(p_request.primitiveContent, v_parentIndex, p_request.resourceType);
+					if(p_request.resourceType == int16){
+						v_localResource.remoteCSE.cSE_ID := p_request.from_;
+					}
 					v_localResourceIndex := f_setLocalResource(v_localResource, p_request.resourceType, v_parentIndex);
 					vc_response.primitive.responsePrimitive.primitiveContent := vc_localResourcesList[v_localResourceIndex].resource;
 				} else {
diff --git a/LibOneM2M/OneM2M_Templates.ttcn b/LibOneM2M/OneM2M_Templates.ttcn
index 5c6a57d..488ab2d 100644
--- a/LibOneM2M/OneM2M_Templates.ttcn
+++ b/LibOneM2M/OneM2M_Templates.ttcn
@@ -902,17 +902,17 @@ module OneM2M_Templates {
 			/**
 			 * @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_TS_CSE1.cseId, in template (omit) XSD.ID p_cSE_ID := PX_TS_CSE1.cseId) modifies m_create := {
+			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_TS_CSE1.cseId) modifies m_create := {
 				requestIdentifier := testcasename() & "-m_createRemoteCSE",
 				resourceType := int16,
-				primitiveContent := {remoteCSE := m_contentCreateRemoteCSE(p_resourceName, p_accessControlPolicyIds,p_cSEBase, p_cSE_ID)}
+				primitiveContent := {remoteCSE := m_contentCreateRemoteCSE(p_resourceName, p_accessControlPolicyIds,p_cSEBase)}
 			};
 			
 			/**
 			 * @desc CREATE request primitive for remoteCSE resource with poa
 			 */
 			template (value) RequestPrimitive m_createRemoteCSE_poa(template (omit) AcpType p_accessControlPolicyIds := omit, template (omit) ResourceName p_resourceName :=  c_defaultRemoteCSEResourceName, in template (omit) XSD.AnyURI p_cSEBase := PX_TS_CSE1.cseId & "/" & PX_TS_CSE1.cseName, in template (omit) XSD.ID p_cSE_ID := PX_TS_CSE1.cseId, in PoaList p_poaList) modifies m_createRemoteCSEBase := {
-				primitiveContent := {remoteCSE := m_contentCreateRemoteCSE_poa(p_resourceName, p_accessControlPolicyIds,p_cSEBase, p_cSE_ID, p_poaList)}
+				primitiveContent := {remoteCSE := m_contentCreateRemoteCSE_poa(p_resourceName, p_accessControlPolicyIds,p_cSEBase, p_poaList)}
 			};
 			
 			/**
@@ -2667,7 +2667,7 @@ module OneM2M_Templates {
 		 * @desc Base primitiveContent for CREATE operation for RemoteCSE resource
 		 * @param p_name Resource name
 		 */
-		template (value) RemoteCSE_optional m_contentCreateRemoteCSE (in template (omit) XSD.String p_name := c_defaultRemoteCSEResourceName, in template (omit) AcpType p_accessControlPolicyIds, in template (omit) XSD.AnyURI p_cSEBase := PX_TS_CSE1.cseId, in template (omit) XSD.ID p_cSE_ID := PX_TS_CSE1.cseId):= {
+		template (value) RemoteCSE_optional m_contentCreateRemoteCSE (in template (omit) XSD.String p_name := c_defaultRemoteCSEResourceName, in template (omit) AcpType p_accessControlPolicyIds, in template (omit) XSD.AnyURI p_cSEBase := PX_TS_CSE1.cseId):= {
 			resourceName := p_name,//O
 			resourceType := omit,//NP
 			resourceID := omit,//NP
@@ -2683,7 +2683,7 @@ module OneM2M_Templates {
 			cseType := omit,//O
 			pointOfAccess := omit,//O
 			cSEBase := valueof(p_cSEBase),//M
-			cSE_ID := valueof(p_cSE_ID),//M
+			cSE_ID := omit,//O
 			m2M_Ext_ID := omit,//O
 			trigger_Recipient_ID := omit,//O
 			requestReachability := false,//M
@@ -2698,7 +2698,7 @@ module OneM2M_Templates {
 		 * @desc PrimitiveContent for CREATE operation for RemoteCSE resource with poa
 		 * @param p_name Resource name
 		 */
-		template (value) RemoteCSE_optional m_contentCreateRemoteCSE_poa (in template (omit) XSD.String p_name := c_defaultRemoteCSEResourceName, in template (omit) AcpType p_accessControlPolicyIds, in template (omit) XSD.AnyURI p_cSEBase := PX_TS_CSE1.cseId & "/" & PX_TS_CSE1.cseName, in template (omit) XSD.ID p_cSE_ID := PX_TS_CSE1.cseId, in PoaList p_poaList):= {
+		template (value) RemoteCSE_optional m_contentCreateRemoteCSE_poa (in template (omit) XSD.String p_name := c_defaultRemoteCSEResourceName, in template (omit) AcpType p_accessControlPolicyIds, in template (omit) XSD.AnyURI p_cSEBase := PX_TS_CSE1.cseId & "/" & PX_TS_CSE1.cseName, in PoaList p_poaList):= {
 			resourceName := p_name,//O
 			resourceType := omit,//NP
 			resourceID := omit,//NP
@@ -2714,7 +2714,7 @@ module OneM2M_Templates {
 			cseType := omit,//O
 			pointOfAccess := p_poaList,//O
 			cSEBase := valueof(p_cSEBase),//M
-			cSE_ID := valueof(p_cSE_ID),//M
+			cSE_ID := omit,//O
 			m2M_Ext_ID := omit,//O
 			trigger_Recipient_ID := omit,//O
 			requestReachability := true,//M
@@ -2744,7 +2744,7 @@ module OneM2M_Templates {
 			cseType := *,//O
 			pointOfAccess := *,//O
 			cSEBase := ?,//M
-			cSE_ID := ?,//M
+			cSE_ID := *,//O
 			m2M_Ext_ID := *,//O
 			trigger_Recipient_ID := *,//O
 			requestReachability := ?,//M
-- 
GitLab