You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by bd...@apache.org on 2022/07/26 23:04:14 UTC

[directory-scimple] branch simplify-common-modules created (now b7f6e69)

This is an automated email from the ASF dual-hosted git repository.

bdemers pushed a change to branch simplify-common-modules
in repository https://gitbox.apache.org/repos/asf/directory-scimple.git


      at b7f6e69  Move client and server logic out of scim-common and into respective modules

This branch includes the following new commits:

     new b7f6e69  Move client and server logic out of scim-common and into respective modules

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[directory-scimple] 01/01: Move client and server logic out of scim-common and into respective modules

Posted by bd...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

bdemers pushed a commit to branch simplify-common-modules
in repository https://gitbox.apache.org/repos/asf/directory-scimple.git

commit b7f6e6920d9686060d8b20149466968166214c98
Author: Brian Demers <bd...@apache.org>
AuthorDate: Tue Jul 26 19:04:09 2022 -0400

    Move client and server logic out of scim-common and into respective modules
    
    * Moved scim-tools-common to scim-tools
    
    NOTE: It's possible that the custom error handling classes that live in common could be replaced with similar classes in scim-spec-protocol & scim-spec-schema
---
 NOTICE                                             |  2 +-
 pom.xml                                            | 14 +----
 scim-client/pom.xml                                |  8 ---
 .../client/rest}/BackingStoreChangedException.java |  3 +-
 .../scim/client/rest}/BadUrlException.java         |  2 +-
 .../directory/scim/client/rest/BaseScimClient.java |  3 -
 .../client/rest}/ConflictingDataException.java     |  3 +-
 .../directory/scim/client/rest}/ErrorMessage.java  |  2 +-
 .../scim/client/rest}/JaxRsStatusAdapterType.java  |  2 +-
 .../scim/client/rest/ResourceTypesClient.java      |  6 --
 .../directory/scim/client/rest}/RestCall.java      |  3 +-
 .../scim/client/rest}/RestClientException.java     |  3 +-
 .../scim/client/rest}/RestClientUtil.java          |  8 +--
 .../scim/client/rest}/RestServerException.java     |  3 +-
 .../scim/client/rest/ScimGroupClient.java          |  1 -
 .../directory/scim/client/rest/ScimSelfClient.java |  2 -
 .../directory/scim/client/rest/ScimUserClient.java |  1 -
 .../scim/client/rest}/ServiceAuthException.java    |  3 +-
 .../scim/client/rest}/XmlStatusAdapter.java        |  2 +-
 .../rest/legacy/Version1ScimGroupClient.java       |  2 +-
 .../client/rest/legacy/Version1ScimUserClient.java |  2 +-
 scim-common-ws/pom.xml                             | 72 ----------------------
 scim-common/pom.xml                                | 41 ------------
 .../apache/directory/scim/common/Constants.java    | 28 ---------
 .../common/registries/ResourceTypeRegistry.java    | 68 --------------------
 scim-coverage/pom.xml                              |  4 --
 scim-server/scim-server-common/pom.xml             |  8 ---
 .../scim/server/provider/ProviderRegistry.java     |  8 +--
 .../server/rest/RestServerExceptionMapper.java     | 40 ------------
 .../scim/server/utility/ReflectionUtils.java       | 33 +---------
 .../scim/server/utility/AttributeUtilTest.java     |  7 +--
 scim-tools/pom.xml                                 | 20 ++++--
 scim-tools/scim-tools-common/pom.xml               | 47 --------------
 .../apache/directory/scim/tools/lint}/Lint.java    |  2 +-
 .../directory/scim/tools/lint}/LintTest.java       |  2 +-
 35 files changed, 43 insertions(+), 412 deletions(-)

diff --git a/NOTICE b/NOTICE
index 3bc894f..ac09672 100644
--- a/NOTICE
+++ b/NOTICE
@@ -4,6 +4,6 @@ Copyright 2018-Present The Apache Software Foundation
 This product includes software developed by
 The Apache Software Foundation (http://www.apache.org/).
 
-Files located in scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/ were copied
+Files located in scim-client/src/main/java/org/apache/directory/scim/client/rest/ were copied
   from https://github.com/PennState/commons-jaxrs and retain the original copyright.
 
diff --git a/pom.xml b/pom.xml
index 4202673..6ced0fb 100644
--- a/pom.xml
+++ b/pom.xml
@@ -47,13 +47,11 @@
   </properties>
 
   <modules>
-    <module>scim-common-ws</module>
     <module>scim-client</module>
     <module>scim-server</module>
     <module>scim-spec</module>
     <module>scim-tools</module>
     <module>scim-compliance</module>
-    <module>scim-common</module>
     <module>scim-coverage</module>
   </modules>
 
@@ -66,7 +64,7 @@
   <licenses>
     <license>
       <name>The Apache License, Version 2.0</name>
-      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+      <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
     </license>
   </licenses>
 
@@ -119,16 +117,6 @@
         <artifactId>scim-spec-schema</artifactId>
         <version>2.23-SNAPSHOT</version>
       </dependency>
-      <dependency>
-        <groupId>org.apache.directory.scim</groupId>
-        <artifactId>scim-common</artifactId>
-        <version>2.23-SNAPSHOT</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.directory.scim</groupId>
-        <artifactId>scim-common-ws</artifactId>
-        <version>2.23-SNAPSHOT</version>
-      </dependency>
       <dependency>
         <groupId>org.apache.directory.scim</groupId>
         <artifactId>scim-tools-common</artifactId>
diff --git a/scim-client/pom.xml b/scim-client/pom.xml
index 32ac6a4..384307d 100644
--- a/scim-client/pom.xml
+++ b/scim-client/pom.xml
@@ -39,14 +39,6 @@
         <artifactId>slf4j-simple</artifactId>
         <scope>test</scope>
     </dependency>
-    <dependency>
-        <groupId>org.apache.directory.scim</groupId>
-        <artifactId>scim-common</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.directory.scim</groupId>
-      <artifactId>scim-common-ws</artifactId>
-    </dependency>
     <dependency>
       <groupId>org.projectlombok</groupId>
       <artifactId>lombok</artifactId>
diff --git a/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/exception/BackingStoreChangedException.java b/scim-client/src/main/java/org/apache/directory/scim/client/rest/BackingStoreChangedException.java
similarity index 93%
rename from scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/exception/BackingStoreChangedException.java
rename to scim-client/src/main/java/org/apache/directory/scim/client/rest/BackingStoreChangedException.java
index 42c0ef6..5877797 100644
--- a/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/exception/BackingStoreChangedException.java
+++ b/scim-client/src/main/java/org/apache/directory/scim/client/rest/BackingStoreChangedException.java
@@ -14,11 +14,10 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.directory.scim.ws.common.exception;
+package org.apache.directory.scim.client.rest;
 
 import jakarta.ws.rs.ProcessingException;
 import jakarta.ws.rs.core.Response;
-import org.apache.directory.scim.ws.common.ErrorMessage;
 
 public class BackingStoreChangedException extends Exception {
   private static final long serialVersionUID = 7360783673606191576L;
diff --git a/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/exception/BadUrlException.java b/scim-client/src/main/java/org/apache/directory/scim/client/rest/BadUrlException.java
similarity index 93%
rename from scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/exception/BadUrlException.java
rename to scim-client/src/main/java/org/apache/directory/scim/client/rest/BadUrlException.java
index 5d3a009..0092cd8 100644
--- a/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/exception/BadUrlException.java
+++ b/scim-client/src/main/java/org/apache/directory/scim/client/rest/BadUrlException.java
@@ -14,7 +14,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.directory.scim.ws.common.exception;
+package org.apache.directory.scim.client.rest;
 
 public class BadUrlException extends RuntimeException {
   private static final long serialVersionUID = 7360783673606191577L;
diff --git a/scim-client/src/main/java/org/apache/directory/scim/client/rest/BaseScimClient.java b/scim-client/src/main/java/org/apache/directory/scim/client/rest/BaseScimClient.java
index dcb2e7e..dc15dc0 100644
--- a/scim-client/src/main/java/org/apache/directory/scim/client/rest/BaseScimClient.java
+++ b/scim-client/src/main/java/org/apache/directory/scim/client/rest/BaseScimClient.java
@@ -46,9 +46,6 @@ import org.apache.directory.scim.spec.protocol.exception.ScimException;
 import org.apache.directory.scim.spec.protocol.search.Filter;
 import org.apache.directory.scim.spec.protocol.search.SortOrder;
 import org.apache.directory.scim.spec.resources.ScimResource;
-import org.apache.directory.scim.ws.common.RestCall;
-import org.apache.directory.scim.ws.common.RestClientUtil;
-import org.apache.directory.scim.ws.common.exception.RestClientException;
 
 public abstract class BaseScimClient<T extends ScimResource> implements AutoCloseable {
 
diff --git a/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/exception/ConflictingDataException.java b/scim-client/src/main/java/org/apache/directory/scim/client/rest/ConflictingDataException.java
similarity index 93%
rename from scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/exception/ConflictingDataException.java
rename to scim-client/src/main/java/org/apache/directory/scim/client/rest/ConflictingDataException.java
index b8ecd43..9a37b30 100644
--- a/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/exception/ConflictingDataException.java
+++ b/scim-client/src/main/java/org/apache/directory/scim/client/rest/ConflictingDataException.java
@@ -14,11 +14,10 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.directory.scim.ws.common.exception;
+package org.apache.directory.scim.client.rest;
 
 import jakarta.ws.rs.ProcessingException;
 import jakarta.ws.rs.core.Response;
-import org.apache.directory.scim.ws.common.ErrorMessage;
 
 public class ConflictingDataException extends Exception {
   private static final long serialVersionUID = 7360783673606191577L;
diff --git a/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/ErrorMessage.java b/scim-client/src/main/java/org/apache/directory/scim/client/rest/ErrorMessage.java
similarity index 98%
rename from scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/ErrorMessage.java
rename to scim-client/src/main/java/org/apache/directory/scim/client/rest/ErrorMessage.java
index 370fba5..d9a52c3 100644
--- a/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/ErrorMessage.java
+++ b/scim-client/src/main/java/org/apache/directory/scim/client/rest/ErrorMessage.java
@@ -14,7 +14,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.directory.scim.ws.common;
+package org.apache.directory.scim.client.rest;
 
 import java.net.URL;
 import java.util.ArrayList;
diff --git a/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/JaxRsStatusAdapterType.java b/scim-client/src/main/java/org/apache/directory/scim/client/rest/JaxRsStatusAdapterType.java
similarity index 97%
rename from scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/JaxRsStatusAdapterType.java
rename to scim-client/src/main/java/org/apache/directory/scim/client/rest/JaxRsStatusAdapterType.java
index 01bbc7e..8bbf4b7 100644
--- a/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/JaxRsStatusAdapterType.java
+++ b/scim-client/src/main/java/org/apache/directory/scim/client/rest/JaxRsStatusAdapterType.java
@@ -14,7 +14,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.directory.scim.ws.common;
+package org.apache.directory.scim.client.rest;
 
 import jakarta.ws.rs.core.Response.Status;
 import jakarta.xml.bind.annotation.XmlAccessType;
diff --git a/scim-client/src/main/java/org/apache/directory/scim/client/rest/ResourceTypesClient.java b/scim-client/src/main/java/org/apache/directory/scim/client/rest/ResourceTypesClient.java
index f6efba2..24cd504 100644
--- a/scim-client/src/main/java/org/apache/directory/scim/client/rest/ResourceTypesClient.java
+++ b/scim-client/src/main/java/org/apache/directory/scim/client/rest/ResourceTypesClient.java
@@ -30,12 +30,6 @@ import jakarta.ws.rs.core.Response;
 
 import org.apache.directory.scim.spec.protocol.ResourceTypesResource;
 import org.apache.directory.scim.spec.schema.ResourceType;
-import org.apache.directory.scim.ws.common.RestClientUtil;
-import org.apache.directory.scim.ws.common.exception.BackingStoreChangedException;
-import org.apache.directory.scim.ws.common.exception.ConflictingDataException;
-import org.apache.directory.scim.ws.common.exception.RestClientException;
-import org.apache.directory.scim.ws.common.exception.RestServerException;
-import org.apache.directory.scim.ws.common.exception.ServiceAuthException;
 
 public class ResourceTypesClient implements AutoCloseable {
 
diff --git a/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/RestCall.java b/scim-client/src/main/java/org/apache/directory/scim/client/rest/RestCall.java
similarity index 88%
rename from scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/RestCall.java
rename to scim-client/src/main/java/org/apache/directory/scim/client/rest/RestCall.java
index cf3ae50..fc41245 100644
--- a/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/RestCall.java
+++ b/scim-client/src/main/java/org/apache/directory/scim/client/rest/RestCall.java
@@ -14,11 +14,10 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.directory.scim.ws.common;
+package org.apache.directory.scim.client.rest;
 
 import jakarta.ws.rs.client.Invocation;
 import jakarta.ws.rs.core.Response;
-import org.apache.directory.scim.ws.common.exception.RestClientException;
 
 /**
  * Corresponds to {@link java.util.function.Function} but specific to REST calls.
diff --git a/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/exception/RestClientException.java b/scim-client/src/main/java/org/apache/directory/scim/client/rest/RestClientException.java
similarity index 95%
rename from scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/exception/RestClientException.java
rename to scim-client/src/main/java/org/apache/directory/scim/client/rest/RestClientException.java
index 605c4bd..9cbe5a4 100644
--- a/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/exception/RestClientException.java
+++ b/scim-client/src/main/java/org/apache/directory/scim/client/rest/RestClientException.java
@@ -14,7 +14,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.directory.scim.ws.common.exception;
+package org.apache.directory.scim.client.rest;
 
 /*
  * The Pennsylvania State University © 2016
@@ -35,7 +35,6 @@ package org.apache.directory.scim.ws.common.exception;
 
 import jakarta.ws.rs.ProcessingException;
 import jakarta.ws.rs.core.Response;
-import org.apache.directory.scim.ws.common.ErrorMessage;
 
 public class RestClientException extends Exception {
   private static final long serialVersionUID = 7360783673606191577L;
diff --git a/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/RestClientUtil.java b/scim-client/src/main/java/org/apache/directory/scim/client/rest/RestClientUtil.java
similarity index 94%
rename from scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/RestClientUtil.java
rename to scim-client/src/main/java/org/apache/directory/scim/client/rest/RestClientUtil.java
index e4ce6dc..2d6561b 100644
--- a/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/RestClientUtil.java
+++ b/scim-client/src/main/java/org/apache/directory/scim/client/rest/RestClientUtil.java
@@ -14,7 +14,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.directory.scim.ws.common;
+package org.apache.directory.scim.client.rest;
 
 import java.util.Optional;
 import java.util.function.Consumer;
@@ -26,12 +26,6 @@ import jakarta.ws.rs.core.GenericType;
 import jakarta.ws.rs.core.Response;
 import jakarta.ws.rs.core.Response.Status;
 import jakarta.ws.rs.core.Response.Status.Family;
-import org.apache.directory.scim.ws.common.exception.BackingStoreChangedException;
-import org.apache.directory.scim.ws.common.exception.BadUrlException;
-import org.apache.directory.scim.ws.common.exception.ConflictingDataException;
-import org.apache.directory.scim.ws.common.exception.RestClientException;
-import org.apache.directory.scim.ws.common.exception.RestServerException;
-import org.apache.directory.scim.ws.common.exception.ServiceAuthException;
 
 public final class RestClientUtil {
 
diff --git a/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/exception/RestServerException.java b/scim-client/src/main/java/org/apache/directory/scim/client/rest/RestServerException.java
similarity index 91%
rename from scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/exception/RestServerException.java
rename to scim-client/src/main/java/org/apache/directory/scim/client/rest/RestServerException.java
index feb0a4e..347b29c 100644
--- a/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/exception/RestServerException.java
+++ b/scim-client/src/main/java/org/apache/directory/scim/client/rest/RestServerException.java
@@ -14,10 +14,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.directory.scim.ws.common.exception;
+package org.apache.directory.scim.client.rest;
 
 import jakarta.ws.rs.core.Response;
-import org.apache.directory.scim.ws.common.ErrorMessage;
 
 public class RestServerException extends RuntimeException {
   private static final long serialVersionUID = 7360783673606191577L;
diff --git a/scim-client/src/main/java/org/apache/directory/scim/client/rest/ScimGroupClient.java b/scim-client/src/main/java/org/apache/directory/scim/client/rest/ScimGroupClient.java
index 860c5c8..16775ef 100644
--- a/scim-client/src/main/java/org/apache/directory/scim/client/rest/ScimGroupClient.java
+++ b/scim-client/src/main/java/org/apache/directory/scim/client/rest/ScimGroupClient.java
@@ -24,7 +24,6 @@ import jakarta.ws.rs.core.GenericType;
 
 import org.apache.directory.scim.spec.protocol.data.ListResponse;
 import org.apache.directory.scim.spec.resources.ScimGroup;
-import org.apache.directory.scim.ws.common.RestCall;
 
 public class ScimGroupClient extends BaseScimClient<ScimGroup> {
 
diff --git a/scim-client/src/main/java/org/apache/directory/scim/client/rest/ScimSelfClient.java b/scim-client/src/main/java/org/apache/directory/scim/client/rest/ScimSelfClient.java
index c07fd0e..318acce 100644
--- a/scim-client/src/main/java/org/apache/directory/scim/client/rest/ScimSelfClient.java
+++ b/scim-client/src/main/java/org/apache/directory/scim/client/rest/ScimSelfClient.java
@@ -31,8 +31,6 @@ import org.apache.directory.scim.spec.protocol.attribute.AttributeReferenceListW
 import org.apache.directory.scim.spec.protocol.data.PatchRequest;
 import org.apache.directory.scim.spec.protocol.exception.ScimException;
 import org.apache.directory.scim.spec.resources.ScimUser;
-import org.apache.directory.scim.ws.common.RestCall;
-import org.apache.directory.scim.ws.common.exception.RestClientException;
 
 // purposefully does not extend BaseScimClient, has a different utility than other clients
 
diff --git a/scim-client/src/main/java/org/apache/directory/scim/client/rest/ScimUserClient.java b/scim-client/src/main/java/org/apache/directory/scim/client/rest/ScimUserClient.java
index 8b6644f..d5554e5 100644
--- a/scim-client/src/main/java/org/apache/directory/scim/client/rest/ScimUserClient.java
+++ b/scim-client/src/main/java/org/apache/directory/scim/client/rest/ScimUserClient.java
@@ -24,7 +24,6 @@ import jakarta.ws.rs.core.GenericType;
 
 import org.apache.directory.scim.spec.protocol.data.ListResponse;
 import org.apache.directory.scim.spec.resources.ScimUser;
-import org.apache.directory.scim.ws.common.RestCall;
 
 public class ScimUserClient extends BaseScimClient<ScimUser> {
 
diff --git a/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/exception/ServiceAuthException.java b/scim-client/src/main/java/org/apache/directory/scim/client/rest/ServiceAuthException.java
similarity index 91%
rename from scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/exception/ServiceAuthException.java
rename to scim-client/src/main/java/org/apache/directory/scim/client/rest/ServiceAuthException.java
index 2e0bd47..14afd5c 100644
--- a/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/exception/ServiceAuthException.java
+++ b/scim-client/src/main/java/org/apache/directory/scim/client/rest/ServiceAuthException.java
@@ -14,10 +14,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.directory.scim.ws.common.exception;
+package org.apache.directory.scim.client.rest;
 
 import jakarta.ws.rs.core.Response;
-import org.apache.directory.scim.ws.common.ErrorMessage;
 
 public class ServiceAuthException extends Exception {
   private static final long serialVersionUID = 7360783673606191577L;
diff --git a/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/XmlStatusAdapter.java b/scim-client/src/main/java/org/apache/directory/scim/client/rest/XmlStatusAdapter.java
similarity index 95%
rename from scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/XmlStatusAdapter.java
rename to scim-client/src/main/java/org/apache/directory/scim/client/rest/XmlStatusAdapter.java
index 8199665..5c163bc 100644
--- a/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/XmlStatusAdapter.java
+++ b/scim-client/src/main/java/org/apache/directory/scim/client/rest/XmlStatusAdapter.java
@@ -14,7 +14,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.directory.scim.ws.common;
+package org.apache.directory.scim.client.rest;
 
 import jakarta.ws.rs.core.Response.Status;
 import jakarta.xml.bind.annotation.adapters.XmlAdapter;
diff --git a/scim-client/src/main/java/org/apache/directory/scim/client/rest/legacy/Version1ScimGroupClient.java b/scim-client/src/main/java/org/apache/directory/scim/client/rest/legacy/Version1ScimGroupClient.java
index 88961f8..39c13f6 100644
--- a/scim-client/src/main/java/org/apache/directory/scim/client/rest/legacy/Version1ScimGroupClient.java
+++ b/scim-client/src/main/java/org/apache/directory/scim/client/rest/legacy/Version1ScimGroupClient.java
@@ -23,7 +23,7 @@ import jakarta.ws.rs.client.Client;
 import jakarta.ws.rs.core.MediaType;
 
 import org.apache.directory.scim.client.rest.ScimGroupClient;
-import org.apache.directory.scim.ws.common.RestCall;
+import org.apache.directory.scim.client.rest.RestCall;
 
 public class Version1ScimGroupClient extends ScimGroupClient {
 
diff --git a/scim-client/src/main/java/org/apache/directory/scim/client/rest/legacy/Version1ScimUserClient.java b/scim-client/src/main/java/org/apache/directory/scim/client/rest/legacy/Version1ScimUserClient.java
index c60c9a4..5ab093a 100644
--- a/scim-client/src/main/java/org/apache/directory/scim/client/rest/legacy/Version1ScimUserClient.java
+++ b/scim-client/src/main/java/org/apache/directory/scim/client/rest/legacy/Version1ScimUserClient.java
@@ -23,7 +23,7 @@ import jakarta.ws.rs.client.Client;
 import jakarta.ws.rs.core.MediaType;
 
 import org.apache.directory.scim.client.rest.ScimUserClient;
-import org.apache.directory.scim.ws.common.RestCall;
+import org.apache.directory.scim.client.rest.RestCall;
 
 public class Version1ScimUserClient extends ScimUserClient {
 
diff --git a/scim-common-ws/pom.xml b/scim-common-ws/pom.xml
deleted file mode 100644
index 882e08d..0000000
--- a/scim-common-ws/pom.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-<!--  Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License. -->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.directory.scim</groupId>
-    <artifactId>scim-parent</artifactId>
-    <version>2.23-SNAPSHOT</version>
-  </parent>
-
-  <artifactId>scim-common-ws</artifactId>
-  <name>SCIM - Common WS</name>
-  <description>Common classes to make creating REST services more consistent.</description>
-
-  <dependencies>
-    <dependency>
-      <groupId>com.fasterxml.jackson.core</groupId>
-      <artifactId>jackson-annotations</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>com.fasterxml.jackson.core</groupId>
-      <artifactId>jackson-databind</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>jakarta.ws.rs</groupId>
-      <artifactId>jakarta.ws.rs-api</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>jakarta.xml.bind</groupId>
-      <artifactId>jakarta.xml.bind-api</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-api</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.projectlombok</groupId>
-      <artifactId>lombok</artifactId>
-      <scope>provided</scope>
-    </dependency>
-
-    <dependency>
-      <groupId>org.junit.vintage</groupId>
-      <artifactId>junit-vintage-engine</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-simple</artifactId>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
-
-</project>
diff --git a/scim-common/pom.xml b/scim-common/pom.xml
deleted file mode 100644
index 410042b..0000000
--- a/scim-common/pom.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<!--  Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License. -->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.directory.scim</groupId>
-    <artifactId>scim-parent</artifactId>
-    <version>2.23-SNAPSHOT</version>
-  </parent>
-
-  <artifactId>scim-common</artifactId>
-  <name>SCIM - Common</name>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.directory.scim</groupId>
-      <artifactId>scim-spec-protocol</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.directory.scim</groupId>
-      <artifactId>scim-spec-schema</artifactId>
-    </dependency>
-  </dependencies>
-
-</project>
diff --git a/scim-common/src/main/java/org/apache/directory/scim/common/Constants.java b/scim-common/src/main/java/org/apache/directory/scim/common/Constants.java
deleted file mode 100644
index be7ea42..0000000
--- a/scim-common/src/main/java/org/apache/directory/scim/common/Constants.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements.  See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership.  The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License.  You may obtain a copy of the License at
- 
-* http://www.apache.org/licenses/LICENSE-2.0
-
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied.  See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-
-package org.apache.directory.scim.common;
-
-public final class Constants {
-  private Constants() {
-  }
-  
-  public static final String ISO_8601_DATE_FORMAT = "yyyy-MM-dd";
-  public static final String ISO_8601_DATE_TIME_FORMAT = "yyyy-MM-dd'T'HH:mm:ss.SS";
-}
diff --git a/scim-common/src/main/java/org/apache/directory/scim/common/registries/ResourceTypeRegistry.java b/scim-common/src/main/java/org/apache/directory/scim/common/registries/ResourceTypeRegistry.java
deleted file mode 100644
index 23e01a9..0000000
--- a/scim-common/src/main/java/org/apache/directory/scim/common/registries/ResourceTypeRegistry.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements.  See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership.  The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License.  You may obtain a copy of the License at
- 
-* http://www.apache.org/licenses/LICENSE-2.0
-
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied.  See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-
-package org.apache.directory.scim.common.registries;
-
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.apache.directory.scim.spec.schema.ResourceType;
-
-/**
- * Provides a registry for ResourceTypes, whether defined in the schema
- * specification or from implementors new ResourceTypes. In most applications,
- * this class should be instantiated as a singleton at application start.
- * 
- * @author Steve Moyer &lt;smoyer@psu.edu&gt;
- */
-public class ResourceTypeRegistry {
-
-  Map<String, ResourceType> registry;
-
-  public ResourceTypeRegistry() {
-    registry = new ConcurrentHashMap<>();
-    // TODO - default ResourceTypes from scim-spec-schema
-  }
-
-  /**
-   * Adds a ResourceType to the registry.
-   * 
-   * @param resourceType
-   *          the ResourceType to register.
-   */
-  public void add(ResourceType resourceType) {
-    String key = resourceType.getId();
-    if (key == null) {
-      key = resourceType.getName();
-    }
-    registry.put(key, resourceType);
-  }
-
-  /**
-   * Adds a Set of ResourceType objects to the registry.
-   * 
-   * @param resourceTypeSet
-   *          the ResourceType objects to register.
-   */
-  public void addAll(Set<ResourceType> resourceTypeSet) {
-    resourceTypeSet.forEach(r -> add(r));
-  }
-
-}
diff --git a/scim-coverage/pom.xml b/scim-coverage/pom.xml
index db0e3a9..dafb5ea 100644
--- a/scim-coverage/pom.xml
+++ b/scim-coverage/pom.xml
@@ -36,10 +36,6 @@
         <groupId>org.apache.directory.scim</groupId>
         <artifactId>scim-spec-schema</artifactId>
       </dependency>
-      <dependency>
-        <groupId>org.apache.directory.scim</groupId>
-        <artifactId>scim-common</artifactId>
-      </dependency>
       <dependency>
         <groupId>org.apache.directory.scim</groupId>
         <artifactId>scim-tools-common</artifactId>
diff --git a/scim-server/scim-server-common/pom.xml b/scim-server/scim-server-common/pom.xml
index f363cd6..d78078c 100644
--- a/scim-server/scim-server-common/pom.xml
+++ b/scim-server/scim-server-common/pom.xml
@@ -49,10 +49,6 @@
       <groupId>org.apache.directory.scim</groupId>
       <artifactId>scim-spec-protocol</artifactId>
     </dependency>
-    <dependency>
-      <groupId>org.apache.directory.scim</groupId>
-      <artifactId>scim-common-ws</artifactId>
-    </dependency>
     <dependency>
       <groupId>org.projectlombok</groupId>
       <artifactId>lombok</artifactId>
@@ -103,10 +99,6 @@
       <artifactId>catch-exception</artifactId>
       <scope>test</scope>
     </dependency>
-    <dependency>
-      <groupId>org.apache.directory.scim</groupId>
-      <artifactId>scim-common</artifactId>
-    </dependency>
     <dependency>
       <groupId>com.flipkart.zjsonpatch</groupId>
       <artifactId>zjsonpatch</artifactId>
diff --git a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/provider/ProviderRegistry.java b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/provider/ProviderRegistry.java
index e017772..2c674ff 100644
--- a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/provider/ProviderRegistry.java
+++ b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/provider/ProviderRegistry.java
@@ -35,7 +35,7 @@ import jakarta.enterprise.inject.Instance;
 import jakarta.inject.Inject;
 import jakarta.xml.bind.annotation.XmlEnumValue;
 
-import org.apache.directory.scim.common.ScimUtils;
+import org.apache.directory.scim.server.utility.ReflectionUtils;
 import org.apache.directory.scim.server.ScimConfiguration;
 import org.apache.directory.scim.server.exception.InvalidProviderException;
 import org.apache.directory.scim.server.exception.UnableToRetrieveExtensionsResourceException;
@@ -194,7 +194,7 @@ public class ProviderRegistry implements ScimConfiguration {
   }
 
   private static Schema generateBaseSchema(Class<?> clazz) throws InvalidProviderException {
-    List<Field> fieldList = ScimUtils.getFieldsUpTo(clazz, BaseResource.class);
+    List<Field> fieldList = ReflectionUtils.getFieldsUpTo(clazz, BaseResource.class);
 
     return generateSchema(clazz, fieldList);
   }
@@ -202,7 +202,7 @@ public class ProviderRegistry implements ScimConfiguration {
   private static Schema generateExtensionSchema(Class<?> clazz) throws InvalidProviderException {
     log.debug("----> In generateExtensionSchema");
     
-    return generateSchema(clazz, ScimUtils.getFieldsUpTo(clazz, Object.class));
+    return generateSchema(clazz, ReflectionUtils.getFieldsUpTo(clazz, Object.class));
   }
   
   public static Schema generateSchema(Class<?> clazz, List<Field> fieldList) throws InvalidProviderException {
@@ -420,7 +420,7 @@ public class ProviderRegistry implements ScimConfiguration {
           componentType = (Class<?>) stringListType.getActualTypeArguments()[0];
         }
         
-        List<Field> fl = ScimUtils.getFieldsUpTo(componentType, Object.class);
+        List<Field> fl = ReflectionUtils.getFieldsUpTo(componentType, Object.class);
         List<Attribute> la = createAttributes(urn, fl, invalidAttributes, nameBase + "." + f.getName());
           
         attribute.setSubAttributes(la, AddAction.APPEND);
diff --git a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/RestServerExceptionMapper.java b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/RestServerExceptionMapper.java
deleted file mode 100644
index 6edc128..0000000
--- a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/RestServerExceptionMapper.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements.  See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership.  The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License.  You may obtain a copy of the License at
-
-* http://www.apache.org/licenses/LICENSE-2.0
-
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied.  See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-
-package org.apache.directory.scim.server.rest;
-
-import jakarta.ws.rs.Produces;
-import jakarta.ws.rs.core.MediaType;
-import jakarta.ws.rs.core.Response;
-import jakarta.ws.rs.ext.ExceptionMapper;
-import jakarta.ws.rs.ext.Provider;
-import org.apache.directory.scim.spec.protocol.Constants;
-import org.apache.directory.scim.ws.common.exception.RestServerException;
-
-@Provider
-@Produces({Constants.SCIM_CONTENT_TYPE, MediaType.APPLICATION_JSON})
-public class RestServerExceptionMapper implements ExceptionMapper<RestServerException> {
-
-  @Override
-  public Response toResponse(RestServerException e) {
-    return Response.status(e.getStatusCode())
-      .entity(e.getMessage())
-      .build();
-  }
-}
diff --git a/scim-common/src/main/java/org/apache/directory/scim/common/ScimUtils.java b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/utility/ReflectionUtils.java
similarity index 56%
rename from scim-common/src/main/java/org/apache/directory/scim/common/ScimUtils.java
rename to scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/utility/ReflectionUtils.java
index 8cb4700..83e7b43 100644
--- a/scim-common/src/main/java/org/apache/directory/scim/common/ScimUtils.java
+++ b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/utility/ReflectionUtils.java
@@ -17,43 +17,16 @@
 * under the License.
 */
 
-package org.apache.directory.scim.common;
+package org.apache.directory.scim.server.utility;
 
 import java.lang.reflect.Field;
-import java.text.SimpleDateFormat;
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.Collections;
-import java.util.Date;
 import java.util.List;
 
-public final class ScimUtils {
-  private ScimUtils() {
+public final class ReflectionUtils {
+  private ReflectionUtils() {
   }
-  
-  public static String toDateString(Date date) {
-    SimpleDateFormat dateFormat = new SimpleDateFormat(Constants.ISO_8601_DATE_FORMAT);
-    return dateFormat.format(date);
-  }
-  
-  public static String toDateTimeString(Date date) {
-    SimpleDateFormat dateTimeFormat = new SimpleDateFormat(Constants.ISO_8601_DATE_TIME_FORMAT);
-    return dateTimeFormat.format(date);
-  }
-  
-  public static String toDateString(LocalDate ld) {
-    return ld.format(DateTimeFormatter.ISO_DATE);
-  }
-  
-  public static String toDateTimeString(LocalDateTime ldt) {
-    return ldt.format(DateTimeFormatter.ISO_DATE_TIME);
-  }
-  
-  //Removing the @Nonnull & @Nullable annotations, they are GPL licensed and not compliant with Apache 2.0
-  //public static List<Field> getFieldsUpTo(@Nonnull Class<?> startClass, @Nullable Class<?> exclusiveParent) {
 
   public static List<Field> getFieldsUpTo(Class<?> startClass, Class<?> exclusiveParent) {
     List<Field> currentClassFields = new ArrayList<>();
diff --git a/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/utility/AttributeUtilTest.java b/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/utility/AttributeUtilTest.java
index 131110e..22b1e4d 100644
--- a/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/utility/AttributeUtilTest.java
+++ b/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/utility/AttributeUtilTest.java
@@ -24,7 +24,6 @@ import com.fasterxml.jackson.core.JsonGenerationException;
 import com.fasterxml.jackson.databind.JsonMappingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.SerializationFeature;
-import org.apache.directory.scim.common.ScimUtils;
 import org.apache.directory.scim.server.provider.ProviderRegistry;
 import org.apache.directory.scim.server.schema.Registry;
 import org.apache.directory.scim.server.utility.ExampleObjectExtension.ComplexObject;
@@ -70,9 +69,9 @@ public class AttributeUtilTest {
     registry = Mockito.mock(Registry.class);
     attributeUtil = new AttributeUtil();
     attributeUtil.registry = registry;
-    Schema scimUserSchema = ProviderRegistry.generateSchema(ScimUser.class, ScimUtils.getFieldsUpTo(ScimUser.class, BaseResource.class));
-    Schema scimEnterpriseUserSchema = ProviderRegistry.generateSchema(EnterpriseExtension.class, ScimUtils.getFieldsUpTo(EnterpriseExtension.class, Object.class));
-    Schema scimExampleSchema = ProviderRegistry.generateSchema(ExampleObjectExtension.class, ScimUtils.getFieldsUpTo(ExampleObjectExtension.class, Object.class));
+    Schema scimUserSchema = ProviderRegistry.generateSchema(ScimUser.class, ReflectionUtils.getFieldsUpTo(ScimUser.class, BaseResource.class));
+    Schema scimEnterpriseUserSchema = ProviderRegistry.generateSchema(EnterpriseExtension.class, ReflectionUtils.getFieldsUpTo(EnterpriseExtension.class, Object.class));
+    Schema scimExampleSchema = ProviderRegistry.generateSchema(ExampleObjectExtension.class, ReflectionUtils.getFieldsUpTo(ExampleObjectExtension.class, Object.class));
 
 
     Mockito.when(registry.getBaseSchemaOfResourceType(ScimUser.RESOURCE_NAME)).thenReturn(scimUserSchema);
diff --git a/scim-tools/pom.xml b/scim-tools/pom.xml
index 97d5f72..9a97d55 100644
--- a/scim-tools/pom.xml
+++ b/scim-tools/pom.xml
@@ -26,10 +26,22 @@
 
   <artifactId>scim-tools</artifactId>
   <name>SCIM - Tools</name>
-  <packaging>pom</packaging>
 
-  <modules>
-    <module>scim-tools-common</module>
-  </modules>
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.directory.scim</groupId>
+      <artifactId>scim-spec-schema</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.github.foodev</groupId>
+      <artifactId>jsondiff</artifactId>
+      <version>2.0.0</version>
+    </dependency>
+    <dependency>
+      <groupId>org.junit.jupiter</groupId>
+      <artifactId>junit-jupiter</artifactId>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
 
 </project>
diff --git a/scim-tools/scim-tools-common/pom.xml b/scim-tools/scim-tools-common/pom.xml
deleted file mode 100644
index e48dccd..0000000
--- a/scim-tools/scim-tools-common/pom.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-<!--  Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License. -->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.directory.scim</groupId>
-    <artifactId>scim-tools</artifactId>
-    <version>2.23-SNAPSHOT</version>
-  </parent>
-
-  <artifactId>scim-tools-common</artifactId>
-  <name>SCIM - Tools - Common</name>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.directory.scim</groupId>
-      <artifactId>scim-spec-schema</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>com.github.foodev</groupId>
-      <artifactId>jsondiff</artifactId>
-      <version>2.0.0</version>
-    </dependency>
-    <dependency>
-      <groupId>org.junit.jupiter</groupId>
-      <artifactId>junit-jupiter</artifactId>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
-
-</project>
diff --git a/scim-tools/scim-tools-common/src/main/java/org/apache/directory/scim/tools/common/Lint.java b/scim-tools/src/main/java/org/apache/directory/scim/tools/lint/Lint.java
similarity index 98%
rename from scim-tools/scim-tools-common/src/main/java/org/apache/directory/scim/tools/common/Lint.java
rename to scim-tools/src/main/java/org/apache/directory/scim/tools/lint/Lint.java
index 52d1d56..420cb95 100644
--- a/scim-tools/scim-tools-common/src/main/java/org/apache/directory/scim/tools/common/Lint.java
+++ b/scim-tools/src/main/java/org/apache/directory/scim/tools/lint/Lint.java
@@ -17,7 +17,7 @@
 * under the License.
 */
 
-package org.apache.directory.scim.tools.common;
+package org.apache.directory.scim.tools.lint;
 
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.JsonNode;
diff --git a/scim-tools/scim-tools-common/src/test/java/org/apache/directory/scim/tools/common/LintTest.java b/scim-tools/src/test/java/org/apache/directory/scim/tools/lint/LintTest.java
similarity index 98%
rename from scim-tools/scim-tools-common/src/test/java/org/apache/directory/scim/tools/common/LintTest.java
rename to scim-tools/src/test/java/org/apache/directory/scim/tools/lint/LintTest.java
index 1490580..042761e 100644
--- a/scim-tools/scim-tools-common/src/test/java/org/apache/directory/scim/tools/common/LintTest.java
+++ b/scim-tools/src/test/java/org/apache/directory/scim/tools/lint/LintTest.java
@@ -17,7 +17,7 @@
 * under the License.
 */
 
-package org.apache.directory.scim.tools.common;
+package org.apache.directory.scim.tools.lint;
 
 import java.io.IOException;
 import java.io.InputStream;