diff --git a/scim-client-jakarta/pom.xml b/scim-client-jakarta/pom.xml
index b6d62bc..16925e2 100644
--- a/scim-client-jakarta/pom.xml
+++ b/scim-client-jakarta/pom.xml
@@ -13,7 +13,7 @@
org.gluu
scim
- 4.5.3-SNAPSHOT
+ 4.5.4-SNAPSHOT
diff --git a/scim-client-jakarta/src/test/java/gluu/scim2/client/singleresource/FullUserTest.java b/scim-client-jakarta/src/test/java/gluu/scim2/client/singleresource/FullUserTest.java
index 17bb636..d358e58 100644
--- a/scim-client-jakarta/src/test/java/gluu/scim2/client/singleresource/FullUserTest.java
+++ b/scim-client-jakarta/src/test/java/gluu/scim2/client/singleresource/FullUserTest.java
@@ -10,10 +10,10 @@
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response;
import java.util.*;
-import static javax.ws.rs.core.Response.Status.*;
+import static jakarta.ws.rs.core.Response.Status.*;
import static org.testng.Assert.*;
diff --git a/scim-client/src/test/resources/testng.xml b/scim-client/src/test/resources/testng.xml
index 19c49e4..445ab1b 100644
--- a/scim-client/src/test/resources/testng.xml
+++ b/scim-client/src/test/resources/testng.xml
@@ -82,7 +82,7 @@
-
+
diff --git a/scim-model/src/main/java/org/gluu/oxtrust/model/scim2/extensions/ExtensionField.java b/scim-model/src/main/java/org/gluu/oxtrust/model/scim2/extensions/ExtensionField.java
index 18d7961..1a0896f 100644
--- a/scim-model/src/main/java/org/gluu/oxtrust/model/scim2/extensions/ExtensionField.java
+++ b/scim-model/src/main/java/org/gluu/oxtrust/model/scim2/extensions/ExtensionField.java
@@ -10,6 +10,7 @@
import org.gluu.oxtrust.model.scim2.util.DateUtil;
import java.util.regex.Pattern;
+import java.time.format.DateTimeFormatter;
/**
* Represents the metadata of an attribute that belongs to a SCIM resource extension.
@@ -99,8 +100,15 @@ public static Object valueFromString(ExtensionField field, String val){
value = val;
break;
case DATE:
- //Dates are stored and read as strings indeed (no handling of Date or DateTime objects)
value=DateUtil.generalizedToISOStringDate(val);
+ if (value == null) {
+ try {
+ DateTimeFormatter.ISO_DATE_TIME.parse(val);
+ value = val;
+ } catch (Exception e) {
+ //Let value be null
+ }
+ }
break;
case NUMERIC:
try{
@@ -213,4 +221,4 @@ public void setDescription(String description) {
this.description = description;
}
-}
\ No newline at end of file
+}
diff --git a/scim-rest/src/main/java/org/gluu/oxtrust/service/scim2/ExtensionService.java b/scim-rest/src/main/java/org/gluu/oxtrust/service/scim2/ExtensionService.java
index 9330556..96ec70d 100644
--- a/scim-rest/src/main/java/org/gluu/oxtrust/service/scim2/ExtensionService.java
+++ b/scim-rest/src/main/java/org/gluu/oxtrust/service/scim2/ExtensionService.java
@@ -4,7 +4,6 @@
import static org.gluu.oxtrust.model.scim2.Constants.USER_EXT_SCHEMA_ID;
import static org.gluu.oxtrust.model.scim2.Constants.USER_EXT_SCHEMA_NAME;
-import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
@@ -137,7 +136,6 @@ public List