From 6c841570ada62495f148d5fd68f4f7cd661a64e7 Mon Sep 17 00:00:00 2001
From: reinaortega <miguelangel.reinaortega@etsi.org>
Date: Mon, 19 Feb 2018 15:49:59 +0100
Subject: [PATCH] Adding missing multi pattern in types

Signed-off-by: reinaortega <miguelangel.reinaortega@etsi.org>
---
 LibOneM2M/OneM2M_Types.ttcn | 26 ++++++++++++++++++++++----
 1 file changed, 22 insertions(+), 4 deletions(-)

diff --git a/LibOneM2M/OneM2M_Types.ttcn b/LibOneM2M/OneM2M_Types.ttcn
index 2390a06..a68de46 100644
--- a/LibOneM2M/OneM2M_Types.ttcn
+++ b/LibOneM2M/OneM2M_Types.ttcn
@@ -139,13 +139,25 @@ module OneM2M_Types {
 
 
 
-	type XSD.Token Ipv4 (pattern "[0-9A-Fa-f]#(8)(/([0-9]|[1-2][0-9]|3[0-2]))#(0,1)")
+	type XSD.Token Ipv4 (pattern "([0-9A-Fa-f]#(8)(/([0-9]|[1-2][0-9]|3[0-2]))#(0,1))" & "|" & 
+								"((25[0-5]|2[0-4][0-9]|[0-1]#(0,1)[0-9]#(0,1)[0-9])\.(25[0-5]|2[0-4][0-9]|[0-1]#(0,1)[0-9]#(0,1)[0-9])\.(25[0-5]|2[0-4][0-9]|[0-1]#(0,1)[0-9]#(0,1)[0-9])\.(25[0-5]|2[0-4][0-9]|[0-1]#(0,1)[0-9]#(0,1)[0-9])(/([0-9]|[1-2][0-9]|3[0-2]))#(0,1))")
 	with {
 	  variant "name as uncapitalized";
 	};
 
 
-	type XSD.Token Ipv6 (pattern "::(/0)#(0,1)")
+	type XSD.Token Ipv6 (pattern "([0-9A-Fa-f]#(1,4)(:[0-9A-Fa-f]#(1,4))#7(/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))#(0,1))" & "|" &
+	"(:(:[0-9A-Fa-f]#(1,4))#(1,7))" & "|" & //Double colon start
+	"(([0-9A-Fa-f]#(1,4):)#(1,6)(:[0-9A-Fa-f]#(1,4))#1(/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))#(0,1))" & "|" & //Double colon middle
+	"(([0-9A-Fa-f]#(1,4):)#(1,5)(:[0-9A-Fa-f]#(1,4))#(1,2)(/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))#(0,1))" & "|" &
+	"(([0-9A-Fa-f]#(1,4):)#(1,4)(:[0-9A-Fa-f]#(1,4))#(1,3)(/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))#(0,1))" & "|" &
+	"(([0-9A-Fa-f]#(1,4):)#(1,3)(:[0-9A-Fa-f]#(1,4))#(1,4)(/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))#(0,1))" & "|" &
+	"(([0-9A-Fa-f]#(1,4):)#(1,2)(:[0-9A-Fa-f]#(1,4))#(1,5)(/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))#(0,1))" & "|" &
+	"(([0-9A-Fa-f]#(1,4):)#1(:[0-9A-Fa-f]#(1,4))#(1,6)(/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))#(0,1))" & "|" &
+	"(([0-9A-Fa-f]#(1,4):)#(1,7):(/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))#(0,1))" & "|" & //Double colon end
+	"(((:(:0#(1,4))#(0,3)(:(0#(1,4)|[fF]#4))#(0,1))|(0#(1,4):(:0#(1,4))#(0,2)(:(0#(1,4)|[fF]#4))#(0,1))|((0#(1,4):)#2(:0#(1,4))#(0,1)(:(0#(1,4)|[fF]#4))#(0,1))|((0#(1,4):)#3(:(0#(1,4)|[fF]#4))#(0,1))|((0#(1,4):)#4(0#(1,4)|[fF]#4)#(0,1))):(25[0-5]|2[0-4][0-9]|[0-1]#(0,1)[0-9]#(0,1)[0-9])\.(25[0-5]|2[0-4][0-9]|[0-1]#(0,1)[0-9]#(0,1)[0-9])\.(25[0-5]|2[0-4][0-9]|[0-1]#(0,1)[0-9]#(0,1)[0-9])\.(25[0-5]|2[0-4][0-9]|[0-1]#(0,1)[0-9]#(0,1)[0-9]))" & "|" & //Embedded IPv4 addresses without CIDR suffix. Should IPv4 CIDR suffix be added
+	"(::(/0)#(0,1))") //The unspecified address
+	
 	with {
 	  variant "name as uncapitalized";
 	};
@@ -782,7 +794,11 @@ module OneM2M_Types {
 	};
 
 
-	type XSD.Token DeviceID (pattern "urn:meid:[\dABCDEFabcdef]#(14)")
+	type XSD.Token DeviceID (pattern 	"(urn:dev:ops:[\dABCDEFabcdef]#6-[\w_%]#(1,)-[\w_%]#(1,))" & "|" &
+										"(urn:dev:os:[\dABCDEFabcdef]#6-[\w_%]#(1,))" & "|" &
+										"(urn:imei:\d#15)" & "|" &
+										"(urn:esn:[\dABCDEFabcdef]#8)" & "|" &
+										"(urn:meid:[\dABCDEFabcdef]#14)")
 	with {
 	  variant "name as uncapitalized";
 	};
@@ -920,7 +936,9 @@ module OneM2M_Types {
 	};
 
 
-	type XSD.String ContentInfo //TODO To be fixed (pattern "[\w/!#$\^_.+\q{0, 0, 0, 38}&\-]+(:[0-2])#(0,1)")
+	type XSD.String ContentInfo //TODO To be fixed (pattern "([\w/!#$^_.#(1,)&\-]#(1,)(:[0-2])#(0,1))" & "|" &
+								//							"([\w/!#$^_.#(1,)&\-]#(1,)((:[0-2])#(0,1))#(1,)((:[0-5])#(0,1)))")
+	
 	with {
 	  variant "name as uncapitalized";
 	};
-- 
GitLab