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/28 22:59:48 UTC

[directory-scimple] 02/02: Merge scim-spec-schema and scim-spec-protocol into scim-spec

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

bdemers pushed a commit to branch fix-split-package
in repository https://gitbox.apache.org/repos/asf/directory-scimple.git

commit 17fc7237930f775a859f743fce655d60ab1e7c07
Author: Brian Demers <bd...@apache.org>
AuthorDate: Thu Jul 28 18:59:41 2022 -0400

    Merge scim-spec-schema and scim-spec-protocol into scim-spec
    
    Removes extra package
---
 pom.xml                                            |   7 +-
 scim-client/pom.xml                                |   6 +-
 scim-coverage/pom.xml                              |   6 +-
 scim-server/pom.xml                                |   6 +-
 scim-spec/pom.xml                                  | 107 +++++++++++++++++--
 scim-spec/scim-spec-protocol/pom.xml               |  91 ----------------
 scim-spec/scim-spec-schema/pom.xml                 | 115 ---------------------
 .../src/main/antlr4/imports/Core.g4                |   0
 .../src/main/antlr4/imports/Json.g4                |   0
 .../src/main/antlr4/imports/Urn.g4                 |   0
 .../scim/spec/phonenumber/PhoneNumberLexer.g4      |   0
 .../scim/spec/phonenumber/PhoneNumberParser.g4     |   0
 .../directory/scim/spec/protocol/filter/Filter.g4  |   0
 .../scim/spec/adapter/Iso8601DateTimeAdapter.java  |   0
 .../scim/spec/adapter/LocalDateTimeAdapter.java    |   0
 .../scim/spec/annotation/ScimAttribute.java        |   0
 .../scim/spec/annotation/ScimExtensionType.java    |   0
 .../spec/annotation/ScimResourceIdReference.java   |   0
 .../scim/spec/annotation/ScimResourceType.java     |   0
 .../directory/scim/spec/annotation/ScimType.java   |   0
 .../spec/exception/InvalidExtensionException.java  |   0
 .../exception/ScimResourceInvalidException.java    |   0
 .../scim/spec/extension/EnterpriseExtension.java   |   0
 .../scim/spec/extension/ScimExtensionRegistry.java |   0
 .../scim/spec/json/ObjectMapperFactory.java        |   0
 .../phonenumber/PhoneNumberParseException.java     |   0
 .../phonenumber/PhoneNumberParseTreeListener.java  |   0
 .../spec/phonenumber/TreePrintingListener.java     |   0
 .../spec/protocol/BaseResourceTypeResource.java    |   0
 .../directory/scim/spec/protocol/BulkResource.java |   0
 .../directory/scim/spec/protocol/Constants.java    |   0
 .../scim/spec/protocol/ErrorMessageType.java       |   0
 .../scim/spec/protocol/GroupResource.java          |   0
 .../scim/spec/protocol/ResourceTypesResource.java  |   0
 .../scim/spec/protocol/SchemaResource.java         |   0
 .../scim/spec/protocol/SearchResource.java         |   0
 .../directory/scim/spec/protocol/SelfResource.java |   0
 .../protocol/ServiceProviderConfigResource.java    |   0
 .../directory/scim/spec/protocol/UserResource.java |   0
 .../adapter/AttributeReferenceAdapter.java         |   0
 .../scim/spec/protocol/adapter/FilterAdapter.java  |   0
 .../scim/spec/protocol/adapter/FilterWrapper.java  |   0
 .../protocol/attribute/AttributeReference.java     |   0
 .../attribute/AttributeReferenceListWrapper.java   |   0
 .../scim/spec/protocol/data/BulkOperation.java     |   0
 .../scim/spec/protocol/data/BulkRequest.java       |   0
 .../scim/spec/protocol/data/BulkResponse.java      |   0
 .../scim/spec/protocol/data/ErrorResponse.java     |   0
 .../scim/spec/protocol/data/ListResponse.java      |   0
 .../scim/spec/protocol/data/PatchOperation.java    |   0
 .../spec/protocol/data/PatchOperationPath.java     |   0
 .../protocol/data/PatchOperationPathAdapter.java   |   0
 .../scim/spec/protocol/data/PatchPathListener.java |   0
 .../scim/spec/protocol/data/PatchRequest.java      |   0
 .../scim/spec/protocol/data/SearchRequest.java     |   0
 .../scim/spec/protocol/data/StatusAdapter.java     |   0
 .../spec/protocol/exception/ScimException.java     |   0
 .../filter/AttributeComparisonExpression.java      |   0
 .../filter/AttributePresentExpression.java         |   0
 .../scim/spec/protocol/filter/CompareOperator.java |   0
 .../filter/ComplexLogicalFilterBuilder.java        |   0
 .../filter/ExpressionBuildingListener.java         |   0
 .../scim/spec/protocol/filter/FilterBuilder.java   |   0
 .../filter/FilterComparisonFilterBuilder.java      |   0
 .../spec/protocol/filter/FilterExpression.java     |   0
 .../spec/protocol/filter/FilterParseException.java |   0
 .../scim/spec/protocol/filter/FilterResponse.java  |   0
 .../scim/spec/protocol/filter/GroupExpression.java |   0
 .../spec/protocol/filter/LogicalExpression.java    |   0
 .../scim/spec/protocol/filter/LogicalOperator.java |   0
 .../filter/SimpleLogicalFilterBuilder.java         |   0
 .../spec/protocol/filter/TreePrintingListener.java |   0
 .../protocol/filter/ValueFilterExpression.java     |   0
 .../spec/protocol/filter/ValuePathExpression.java  |   0
 .../scim/spec/protocol/search/Filter.java          |   0
 .../scim/spec/protocol/search/PageRequest.java     |   0
 .../scim/spec/protocol/search/SortOrder.java       |   0
 .../scim/spec/protocol/search/SortRequest.java     |   0
 .../directory/scim/spec/resources/Address.java     |   0
 .../scim/spec/resources/BaseResource.java          |   0
 .../directory/scim/spec/resources/Email.java       |   0
 .../directory/scim/spec/resources/Entitlement.java |   0
 .../apache/directory/scim/spec/resources/Im.java   |   0
 .../scim/spec/resources/KeyedResource.java         |   0
 .../apache/directory/scim/spec/resources/Name.java |   0
 .../directory/scim/spec/resources/PhoneNumber.java |   0
 .../directory/scim/spec/resources/Photo.java       |   0
 .../apache/directory/scim/spec/resources/Role.java |   0
 .../scim/spec/resources/ScimExtension.java         |   0
 .../directory/scim/spec/resources/ScimGroup.java   |   0
 .../scim/spec/resources/ScimResource.java          |   0
 .../spec/resources/ScimResourceWithOptionalId.java |   0
 .../directory/scim/spec/resources/ScimUser.java    |   0
 .../scim/spec/resources/TypedAttribute.java        |   0
 .../scim/spec/resources/X509Certificate.java       |   0
 .../scim/spec/schema/AttributeContainer.java       |   0
 .../apache/directory/scim/spec/schema/Mapper.java  |   0
 .../apache/directory/scim/spec/schema/Meta.java    |   0
 .../scim/spec/schema/ResourceReference.java        |   0
 .../directory/scim/spec/schema/ResourceType.java   |   0
 .../apache/directory/scim/spec/schema/Schema.java  |   0
 .../directory/scim/spec/schema/ScimSpecSchema.java |   0
 .../directory/scim/spec/schema/ScimType.java       |   0
 .../spec/schema/ServiceProviderConfiguration.java  |   0
 .../apache/directory/scim/spec/validator/Urn.java  |   0
 .../scim/spec/validator/UrnValidator.java          |   0
 .../src/main/resources/Copy of user.json           |   0
 .../examples/enterprise-user-example.json          |   0
 .../main/resources/examples/full-user-example.json |   0
 .../src/main/resources/examples/group-example.json |   0
 .../resources/examples/minimal-user-example.json   |   0
 .../examples/resource-type-group-example.json      |   0
 .../examples/resource-type-user-example.json       |   0
 .../resources/resource-type-representations.json   |   0
 .../src/main/resources/schema.json                 |   0
 .../src/main/resources/schemas/schema-schema.json  |   0
 ...rn:ietf:params:scim:schemas:core:2.0:Group.json |   0
 ...:params:scim:schemas:core:2.0:ResourceType.json |   0
 ...n:ietf:params:scim:schemas:core:2.0:Schema.json |   0
 ...cim:schemas:core:2.0:ServiceProviderConfig.json |   0
 ...urn:ietf:params:scim:schemas:core:2.0:User.json |   0
 ...scim:schemas:extension:enterprise:2.0:User.json |   0
 .../service-provider-and-resource-type.json        |   0
 .../scim/spec/phonenumber/PhoneNumberTest.java     |   0
 .../protocol/attribute/AttributeReferenceTest.java |   0
 .../spec/protocol/data/PatchOperationPathTest.java |   0
 .../protocol/filter/AbstractLexerParserTest.java   |   0
 .../protocol/filter/FilterBuilderEqualsTest.java   |   0
 .../protocol/filter/FilterBuilderGreaterTest.java  |   0
 .../protocol/filter/FilterBuilderLessThanTest.java |   0
 .../filter/FilterBuilderNotEqualsTest.java         |   0
 .../protocol/filter/FilterBuilderStringTest.java   |   0
 .../spec/protocol/filter/FilterBuilderTest.java    |   0
 .../scim/spec/protocol/filter/FilterTest.java      |   0
 .../spec/resources/PhoneNumberBuilderTest.java     |   0
 .../scim/spec/resources/PhoneNumberJsonTest.java   |   0
 .../directory/scim/spec/schema/MapperTest.java     |   0
 .../directory/scim/spec/schema/SchemaTest.java     |   0
 scim-tools/pom.xml                                 |   2 +-
 139 files changed, 103 insertions(+), 237 deletions(-)

diff --git a/pom.xml b/pom.xml
index 341d9f5..53ceab5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -110,12 +110,7 @@
       <!-- Project Modules -->
       <dependency>
         <groupId>org.apache.directory.scim</groupId>
-        <artifactId>scim-spec-protocol</artifactId>
-        <version>2.23-SNAPSHOT</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.directory.scim</groupId>
-        <artifactId>scim-spec-schema</artifactId>
+        <artifactId>scim-spec</artifactId>
         <version>2.23-SNAPSHOT</version>
       </dependency>
       <dependency>
diff --git a/scim-client/pom.xml b/scim-client/pom.xml
index 4f16089..e43661b 100644
--- a/scim-client/pom.xml
+++ b/scim-client/pom.xml
@@ -28,11 +28,7 @@
   <dependencies>
     <dependency>
       <groupId>org.apache.directory.scim</groupId>
-      <artifactId>scim-spec-schema</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.directory.scim</groupId>
-      <artifactId>scim-spec-protocol</artifactId>
+      <artifactId>scim-spec</artifactId>
     </dependency>
     <dependency>
         <groupId>org.slf4j</groupId>
diff --git a/scim-coverage/pom.xml b/scim-coverage/pom.xml
index eb88fb2..eaa0709 100644
--- a/scim-coverage/pom.xml
+++ b/scim-coverage/pom.xml
@@ -30,11 +30,7 @@
   <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>
+        <artifactId>scim-spec</artifactId>
       </dependency>
       <dependency>
         <groupId>org.apache.directory.scim</groupId>
diff --git a/scim-server/pom.xml b/scim-server/pom.xml
index fa99682..51ee65f 100644
--- a/scim-server/pom.xml
+++ b/scim-server/pom.xml
@@ -43,11 +43,7 @@
     </dependency>
     <dependency>
       <groupId>org.apache.directory.scim</groupId>
-      <artifactId>scim-spec-schema</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.directory.scim</groupId>
-      <artifactId>scim-spec-protocol</artifactId>
+      <artifactId>scim-spec</artifactId>
     </dependency>
     <dependency>
       <groupId>org.projectlombok</groupId>
diff --git a/scim-spec/pom.xml b/scim-spec/pom.xml
index 9dbc537..52faf7a 100644
--- a/scim-spec/pom.xml
+++ b/scim-spec/pom.xml
@@ -16,21 +16,110 @@
  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>
+	<modelVersion>4.0.0</modelVersion>
 
-  <parent>
+	<parent>
     <groupId>org.apache.directory.scim</groupId>
     <artifactId>scim-parent</artifactId>
     <version>2.23-SNAPSHOT</version>
   </parent>
 
-  <artifactId>scim-spec</artifactId>
-  <name>SCIM - Specification</name>
-  <packaging>pom</packaging>
+	<artifactId>scim-spec</artifactId>
+	<name>SCIM - Specification</name>
 
-  <modules>
-    <module>scim-spec-protocol</module>
-    <module>scim-spec-schema</module>
-  </modules>
+	<dependencies>
+		<dependency>
+      <groupId>jakarta.xml.bind</groupId>
+      <artifactId>jakarta.xml.bind-api</artifactId>
+		</dependency>
+		<dependency>
+      <groupId>jakarta.ws.rs</groupId>
+      <artifactId>jakarta.ws.rs-api</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>jakarta.validation</groupId>
+      <artifactId>jakarta.validation-api</artifactId>
+    </dependency>
+		<dependency>
+			<groupId>org.projectlombok</groupId>
+			<artifactId>lombok</artifactId>
+			<scope>provided</scope>
+		</dependency>
+    <dependency>
+      <groupId>io.swagger.core.v3</groupId>
+      <artifactId>swagger-annotations</artifactId>
+      <version>2.2.2</version>
+    </dependency>
 
+    <dependency>
+      <groupId>org.junit.jupiter</groupId>
+      <artifactId>junit-jupiter</artifactId>
+      <scope>test</scope>
+    </dependency>
+  <dependency>
+    <groupId>com.fasterxml.jackson.jakarta.rs</groupId>
+    <artifactId>jackson-jakarta-rs-json-provider</artifactId>
+  </dependency>
+  <dependency>
+    <groupId>org.hibernate.validator</groupId>
+    <artifactId>hibernate-validator</artifactId>
+    <scope>test</scope>
+  </dependency>
+  <dependency>
+    <groupId>jakarta.el</groupId>
+    <artifactId>jakarta.el-api</artifactId>
+    <scope>test</scope>
+  </dependency>
+    <dependency>
+      <groupId>org.glassfish</groupId>
+      <artifactId>jakarta.el</artifactId>
+      <version>4.0.2</version>
+    </dependency>
+	<dependency>
+		<groupId>org.slf4j</groupId>
+		<artifactId>slf4j-api</artifactId>
+	</dependency>
+	<dependency>
+		<!-- TODO Remove this dependency -->
+		<groupId>com.fasterxml.jackson.core</groupId>
+		<artifactId>jackson-annotations</artifactId>
+	</dependency>
+	<dependency>
+		<groupId>org.antlr</groupId>
+		<artifactId>antlr4-runtime</artifactId>
+		<version>${version.antlr4}</version>
+	</dependency>
+	<dependency>
+		<groupId>org.apache.commons</groupId>
+		<artifactId>commons-lang3</artifactId>
+		<version>3.12.0</version>
+	</dependency>
+	<dependency>
+		<groupId>org.slf4j</groupId>
+		<artifactId>slf4j-simple</artifactId>
+		<scope>test</scope>
+	</dependency>
+    <dependency>
+      <groupId>org.assertj</groupId>
+      <artifactId>assertj-core</artifactId>
+      <scope>test</scope>
+    </dependency>
+</dependencies>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.antlr</groupId>
+				<artifactId>antlr4-maven-plugin</artifactId>
+				<version>${version.antlr4}</version>
+				<executions>
+					<execution>
+						<goals>
+							<goal>antlr4</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+		</plugins>
+	</build>
 </project>
diff --git a/scim-spec/scim-spec-protocol/pom.xml b/scim-spec/scim-spec-protocol/pom.xml
deleted file mode 100644
index 02cc587..0000000
--- a/scim-spec/scim-spec-protocol/pom.xml
+++ /dev/null
@@ -1,91 +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-spec</artifactId>
-    <version>2.23-SNAPSHOT</version>
-  </parent>
-
-	<artifactId>scim-spec-protocol</artifactId>
-	<name>SCIM - Specification - Protocol</name>
-
-	<dependencies>
-		<dependency>
-      <groupId>jakarta.ws.rs</groupId>
-      <artifactId>jakarta.ws.rs-api</artifactId>
-    </dependency>
-		<dependency>
-			<groupId>io.swagger.core.v3</groupId>
-			<artifactId>swagger-annotations</artifactId>
-			<version>2.2.2</version>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.directory.scim</groupId>
-			<artifactId>scim-spec-schema</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>org.projectlombok</groupId>
-			<artifactId>lombok</artifactId>
-			<scope>provided</scope>
-		</dependency>
-
-    <dependency>
-      <groupId>org.junit.jupiter</groupId>
-      <artifactId>junit-jupiter</artifactId>
-      <scope>test</scope>
-    </dependency>
-	<dependency>
-		<groupId>org.slf4j</groupId>
-		<artifactId>slf4j-simple</artifactId>
-		<scope>test</scope>
-	</dependency>
-    <dependency>
-      <groupId>org.assertj</groupId>
-      <artifactId>assertj-core</artifactId>
-      <scope>test</scope>
-    </dependency>
-	<dependency>
-		<groupId>org.antlr</groupId>
-		<artifactId>antlr4-runtime</artifactId>
-		<version>${version.antlr4}</version>
-	</dependency>
-</dependencies>
-
-	<build>
-		<plugins>
-			<plugin>
-				<groupId>org.antlr</groupId>
-				<artifactId>antlr4-maven-plugin</artifactId>
-				<version>${version.antlr4}</version>
-				<executions>
-					<execution>
-						<goals>
-							<goal>antlr4</goal>
-						</goals>
-					</execution>
-				</executions>
-			</plugin>
-		</plugins>
-	</build>
-
-</project>
diff --git a/scim-spec/scim-spec-schema/pom.xml b/scim-spec/scim-spec-schema/pom.xml
deleted file mode 100644
index a87cb2c..0000000
--- a/scim-spec/scim-spec-schema/pom.xml
+++ /dev/null
@@ -1,115 +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-spec</artifactId>
-    <version>2.23-SNAPSHOT</version>
-  </parent>
-
-	<artifactId>scim-spec-schema</artifactId>
-	<name>SCIM - Specification - Schema</name>
-
-	<dependencies>
-		<dependency>
-      <groupId>jakarta.xml.bind</groupId>
-      <artifactId>jakarta.xml.bind-api</artifactId>
-		</dependency>
-		<dependency>
-      <groupId>jakarta.ws.rs</groupId>
-      <artifactId>jakarta.ws.rs-api</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>jakarta.validation</groupId>
-      <artifactId>jakarta.validation-api</artifactId>
-    </dependency>
-		<dependency>
-			<groupId>org.projectlombok</groupId>
-			<artifactId>lombok</artifactId>
-			<scope>provided</scope>
-		</dependency>
-
-    <dependency>
-      <groupId>org.junit.jupiter</groupId>
-      <artifactId>junit-jupiter</artifactId>
-      <scope>test</scope>
-    </dependency>
-  <dependency>
-    <groupId>com.fasterxml.jackson.jakarta.rs</groupId>
-    <artifactId>jackson-jakarta-rs-json-provider</artifactId>
-  </dependency>
-  <dependency>
-    <groupId>org.hibernate.validator</groupId>
-    <artifactId>hibernate-validator</artifactId>
-    <scope>test</scope>
-  </dependency>
-  <dependency>
-    <groupId>jakarta.el</groupId>
-    <artifactId>jakarta.el-api</artifactId>
-    <scope>test</scope>
-  </dependency>
-    <dependency>
-      <groupId>org.glassfish</groupId>
-      <artifactId>jakarta.el</artifactId>
-      <version>4.0.2</version>
-    </dependency>
-	<dependency>
-		<groupId>org.slf4j</groupId>
-		<artifactId>slf4j-api</artifactId>
-	</dependency>
-	<dependency>
-		<!-- TODO Remove this dependency -->
-		<groupId>com.fasterxml.jackson.core</groupId>
-		<artifactId>jackson-annotations</artifactId>
-	</dependency>
-	<dependency>
-		<groupId>org.antlr</groupId>
-		<artifactId>antlr4-runtime</artifactId>
-		<version>${version.antlr4}</version>
-	</dependency>
-	<dependency>
-		<groupId>org.apache.commons</groupId>
-		<artifactId>commons-lang3</artifactId>
-		<version>3.12.0</version>
-	</dependency>
-	<dependency>
-		<groupId>org.slf4j</groupId>
-		<artifactId>slf4j-simple</artifactId>
-		<scope>test</scope>
-	</dependency>
-</dependencies>
-
-	<build>
-		<plugins>
-			<plugin>
-				<groupId>org.antlr</groupId>
-				<artifactId>antlr4-maven-plugin</artifactId>
-				<version>${version.antlr4}</version>
-				<executions>
-					<execution>
-						<goals>
-							<goal>antlr4</goal>
-						</goals>
-					</execution>
-				</executions>
-			</plugin>
-		</plugins>
-	</build>
-</project>
diff --git a/scim-spec/scim-spec-schema/src/main/antlr4/imports/Core.g4 b/scim-spec/src/main/antlr4/imports/Core.g4
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/antlr4/imports/Core.g4
rename to scim-spec/src/main/antlr4/imports/Core.g4
diff --git a/scim-spec/scim-spec-protocol/src/main/antlr4/imports/Json.g4 b/scim-spec/src/main/antlr4/imports/Json.g4
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/main/antlr4/imports/Json.g4
rename to scim-spec/src/main/antlr4/imports/Json.g4
diff --git a/scim-spec/scim-spec-protocol/src/main/antlr4/imports/Urn.g4 b/scim-spec/src/main/antlr4/imports/Urn.g4
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/main/antlr4/imports/Urn.g4
rename to scim-spec/src/main/antlr4/imports/Urn.g4
diff --git a/scim-spec/scim-spec-schema/src/main/antlr4/org/apache/directory/scim/spec/phonenumber/PhoneNumberLexer.g4 b/scim-spec/src/main/antlr4/org/apache/directory/scim/spec/phonenumber/PhoneNumberLexer.g4
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/antlr4/org/apache/directory/scim/spec/phonenumber/PhoneNumberLexer.g4
rename to scim-spec/src/main/antlr4/org/apache/directory/scim/spec/phonenumber/PhoneNumberLexer.g4
diff --git a/scim-spec/scim-spec-schema/src/main/antlr4/org/apache/directory/scim/spec/phonenumber/PhoneNumberParser.g4 b/scim-spec/src/main/antlr4/org/apache/directory/scim/spec/phonenumber/PhoneNumberParser.g4
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/antlr4/org/apache/directory/scim/spec/phonenumber/PhoneNumberParser.g4
rename to scim-spec/src/main/antlr4/org/apache/directory/scim/spec/phonenumber/PhoneNumberParser.g4
diff --git a/scim-spec/scim-spec-protocol/src/main/antlr4/org/apache/directory/scim/spec/protocol/filter/Filter.g4 b/scim-spec/src/main/antlr4/org/apache/directory/scim/spec/protocol/filter/Filter.g4
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/main/antlr4/org/apache/directory/scim/spec/protocol/filter/Filter.g4
rename to scim-spec/src/main/antlr4/org/apache/directory/scim/spec/protocol/filter/Filter.g4
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/adapter/Iso8601DateTimeAdapter.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/adapter/Iso8601DateTimeAdapter.java
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/adapter/Iso8601DateTimeAdapter.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/adapter/Iso8601DateTimeAdapter.java
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/adapter/LocalDateTimeAdapter.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/adapter/LocalDateTimeAdapter.java
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/adapter/LocalDateTimeAdapter.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/adapter/LocalDateTimeAdapter.java
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/annotation/ScimAttribute.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/annotation/ScimAttribute.java
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/annotation/ScimAttribute.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/annotation/ScimAttribute.java
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/annotation/ScimExtensionType.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/annotation/ScimExtensionType.java
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/annotation/ScimExtensionType.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/annotation/ScimExtensionType.java
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/annotation/ScimResourceIdReference.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/annotation/ScimResourceIdReference.java
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/annotation/ScimResourceIdReference.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/annotation/ScimResourceIdReference.java
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/annotation/ScimResourceType.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/annotation/ScimResourceType.java
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/annotation/ScimResourceType.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/annotation/ScimResourceType.java
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/annotation/ScimType.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/annotation/ScimType.java
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/annotation/ScimType.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/annotation/ScimType.java
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/exception/InvalidExtensionException.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/exception/InvalidExtensionException.java
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/exception/InvalidExtensionException.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/exception/InvalidExtensionException.java
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/exception/ScimResourceInvalidException.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/exception/ScimResourceInvalidException.java
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/exception/ScimResourceInvalidException.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/exception/ScimResourceInvalidException.java
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/extension/EnterpriseExtension.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/extension/EnterpriseExtension.java
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/extension/EnterpriseExtension.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/extension/EnterpriseExtension.java
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/extension/ScimExtensionRegistry.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/extension/ScimExtensionRegistry.java
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/extension/ScimExtensionRegistry.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/extension/ScimExtensionRegistry.java
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/json/ObjectMapperFactory.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/json/ObjectMapperFactory.java
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/json/ObjectMapperFactory.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/json/ObjectMapperFactory.java
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/phonenumber/PhoneNumberParseException.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/phonenumber/PhoneNumberParseException.java
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/phonenumber/PhoneNumberParseException.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/phonenumber/PhoneNumberParseException.java
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/phonenumber/PhoneNumberParseTreeListener.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/phonenumber/PhoneNumberParseTreeListener.java
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/phonenumber/PhoneNumberParseTreeListener.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/phonenumber/PhoneNumberParseTreeListener.java
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/phonenumber/TreePrintingListener.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/phonenumber/TreePrintingListener.java
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/phonenumber/TreePrintingListener.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/phonenumber/TreePrintingListener.java
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/BaseResourceTypeResource.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/BaseResourceTypeResource.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/BaseResourceTypeResource.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/BaseResourceTypeResource.java
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/BulkResource.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/BulkResource.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/BulkResource.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/BulkResource.java
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/Constants.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/Constants.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/Constants.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/Constants.java
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/ErrorMessageType.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/ErrorMessageType.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/ErrorMessageType.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/ErrorMessageType.java
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/GroupResource.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/GroupResource.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/GroupResource.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/GroupResource.java
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/ResourceTypesResource.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/ResourceTypesResource.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/ResourceTypesResource.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/ResourceTypesResource.java
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/SchemaResource.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/SchemaResource.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/SchemaResource.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/SchemaResource.java
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/SearchResource.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/SearchResource.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/SearchResource.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/SearchResource.java
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/SelfResource.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/SelfResource.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/SelfResource.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/SelfResource.java
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/ServiceProviderConfigResource.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/ServiceProviderConfigResource.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/ServiceProviderConfigResource.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/ServiceProviderConfigResource.java
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/UserResource.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/UserResource.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/UserResource.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/UserResource.java
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/adapter/AttributeReferenceAdapter.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/adapter/AttributeReferenceAdapter.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/adapter/AttributeReferenceAdapter.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/adapter/AttributeReferenceAdapter.java
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/adapter/FilterAdapter.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/adapter/FilterAdapter.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/adapter/FilterAdapter.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/adapter/FilterAdapter.java
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/adapter/FilterWrapper.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/adapter/FilterWrapper.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/adapter/FilterWrapper.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/adapter/FilterWrapper.java
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/attribute/AttributeReference.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/attribute/AttributeReference.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/attribute/AttributeReference.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/attribute/AttributeReference.java
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/attribute/AttributeReferenceListWrapper.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/attribute/AttributeReferenceListWrapper.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/attribute/AttributeReferenceListWrapper.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/attribute/AttributeReferenceListWrapper.java
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/BulkOperation.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/data/BulkOperation.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/BulkOperation.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/data/BulkOperation.java
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/BulkRequest.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/data/BulkRequest.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/BulkRequest.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/data/BulkRequest.java
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/BulkResponse.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/data/BulkResponse.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/BulkResponse.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/data/BulkResponse.java
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/ErrorResponse.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/data/ErrorResponse.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/ErrorResponse.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/data/ErrorResponse.java
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/ListResponse.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/data/ListResponse.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/ListResponse.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/data/ListResponse.java
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/PatchOperation.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/data/PatchOperation.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/PatchOperation.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/data/PatchOperation.java
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/PatchOperationPath.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/data/PatchOperationPath.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/PatchOperationPath.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/data/PatchOperationPath.java
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/PatchOperationPathAdapter.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/data/PatchOperationPathAdapter.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/PatchOperationPathAdapter.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/data/PatchOperationPathAdapter.java
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/PatchPathListener.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/data/PatchPathListener.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/PatchPathListener.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/data/PatchPathListener.java
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/PatchRequest.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/data/PatchRequest.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/PatchRequest.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/data/PatchRequest.java
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/SearchRequest.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/data/SearchRequest.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/SearchRequest.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/data/SearchRequest.java
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/StatusAdapter.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/data/StatusAdapter.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/StatusAdapter.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/data/StatusAdapter.java
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/exception/ScimException.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/exception/ScimException.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/exception/ScimException.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/exception/ScimException.java
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/filter/AttributeComparisonExpression.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/filter/AttributeComparisonExpression.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/filter/AttributeComparisonExpression.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/filter/AttributeComparisonExpression.java
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/filter/AttributePresentExpression.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/filter/AttributePresentExpression.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/filter/AttributePresentExpression.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/filter/AttributePresentExpression.java
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/filter/CompareOperator.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/filter/CompareOperator.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/filter/CompareOperator.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/filter/CompareOperator.java
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/filter/ComplexLogicalFilterBuilder.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/filter/ComplexLogicalFilterBuilder.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/filter/ComplexLogicalFilterBuilder.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/filter/ComplexLogicalFilterBuilder.java
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/filter/ExpressionBuildingListener.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/filter/ExpressionBuildingListener.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/filter/ExpressionBuildingListener.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/filter/ExpressionBuildingListener.java
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/filter/FilterBuilder.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/filter/FilterBuilder.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/filter/FilterBuilder.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/filter/FilterBuilder.java
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/filter/FilterComparisonFilterBuilder.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/filter/FilterComparisonFilterBuilder.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/filter/FilterComparisonFilterBuilder.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/filter/FilterComparisonFilterBuilder.java
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/filter/FilterExpression.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/filter/FilterExpression.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/filter/FilterExpression.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/filter/FilterExpression.java
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/filter/FilterParseException.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/filter/FilterParseException.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/filter/FilterParseException.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/filter/FilterParseException.java
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/filter/FilterResponse.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/filter/FilterResponse.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/filter/FilterResponse.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/filter/FilterResponse.java
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/filter/GroupExpression.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/filter/GroupExpression.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/filter/GroupExpression.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/filter/GroupExpression.java
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/filter/LogicalExpression.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/filter/LogicalExpression.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/filter/LogicalExpression.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/filter/LogicalExpression.java
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/filter/LogicalOperator.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/filter/LogicalOperator.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/filter/LogicalOperator.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/filter/LogicalOperator.java
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/filter/SimpleLogicalFilterBuilder.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/filter/SimpleLogicalFilterBuilder.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/filter/SimpleLogicalFilterBuilder.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/filter/SimpleLogicalFilterBuilder.java
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/filter/TreePrintingListener.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/filter/TreePrintingListener.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/filter/TreePrintingListener.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/filter/TreePrintingListener.java
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/filter/ValueFilterExpression.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/filter/ValueFilterExpression.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/filter/ValueFilterExpression.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/filter/ValueFilterExpression.java
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/filter/ValuePathExpression.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/filter/ValuePathExpression.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/filter/ValuePathExpression.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/filter/ValuePathExpression.java
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/search/Filter.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/search/Filter.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/search/Filter.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/search/Filter.java
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/search/PageRequest.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/search/PageRequest.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/search/PageRequest.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/search/PageRequest.java
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/search/SortOrder.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/search/SortOrder.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/search/SortOrder.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/search/SortOrder.java
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/search/SortRequest.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/search/SortRequest.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/search/SortRequest.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/protocol/search/SortRequest.java
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/Address.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/resources/Address.java
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/Address.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/resources/Address.java
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/BaseResource.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/resources/BaseResource.java
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/BaseResource.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/resources/BaseResource.java
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/Email.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/resources/Email.java
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/Email.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/resources/Email.java
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/Entitlement.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/resources/Entitlement.java
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/Entitlement.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/resources/Entitlement.java
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/Im.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/resources/Im.java
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/Im.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/resources/Im.java
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/KeyedResource.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/resources/KeyedResource.java
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/KeyedResource.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/resources/KeyedResource.java
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/Name.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/resources/Name.java
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/Name.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/resources/Name.java
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/PhoneNumber.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/resources/PhoneNumber.java
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/PhoneNumber.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/resources/PhoneNumber.java
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/Photo.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/resources/Photo.java
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/Photo.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/resources/Photo.java
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/Role.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/resources/Role.java
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/Role.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/resources/Role.java
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/ScimExtension.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/resources/ScimExtension.java
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/ScimExtension.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/resources/ScimExtension.java
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/ScimGroup.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/resources/ScimGroup.java
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/ScimGroup.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/resources/ScimGroup.java
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/ScimResource.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/resources/ScimResource.java
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/ScimResource.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/resources/ScimResource.java
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/ScimResourceWithOptionalId.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/resources/ScimResourceWithOptionalId.java
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/ScimResourceWithOptionalId.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/resources/ScimResourceWithOptionalId.java
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/ScimUser.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/resources/ScimUser.java
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/ScimUser.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/resources/ScimUser.java
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/TypedAttribute.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/resources/TypedAttribute.java
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/TypedAttribute.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/resources/TypedAttribute.java
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/X509Certificate.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/resources/X509Certificate.java
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/X509Certificate.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/resources/X509Certificate.java
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/schema/AttributeContainer.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/schema/AttributeContainer.java
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/schema/AttributeContainer.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/schema/AttributeContainer.java
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/schema/Mapper.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/schema/Mapper.java
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/schema/Mapper.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/schema/Mapper.java
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/schema/Meta.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/schema/Meta.java
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/schema/Meta.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/schema/Meta.java
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/schema/ResourceReference.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/schema/ResourceReference.java
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/schema/ResourceReference.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/schema/ResourceReference.java
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/schema/ResourceType.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/schema/ResourceType.java
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/schema/ResourceType.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/schema/ResourceType.java
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/schema/Schema.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/schema/Schema.java
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/schema/Schema.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/schema/Schema.java
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/schema/ScimSpecSchema.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/schema/ScimSpecSchema.java
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/schema/ScimSpecSchema.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/schema/ScimSpecSchema.java
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/schema/ScimType.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/schema/ScimType.java
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/schema/ScimType.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/schema/ScimType.java
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/schema/ServiceProviderConfiguration.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/schema/ServiceProviderConfiguration.java
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/schema/ServiceProviderConfiguration.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/schema/ServiceProviderConfiguration.java
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/validator/Urn.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/validator/Urn.java
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/validator/Urn.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/validator/Urn.java
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/validator/UrnValidator.java b/scim-spec/src/main/java/org/apache/directory/scim/spec/validator/UrnValidator.java
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/validator/UrnValidator.java
rename to scim-spec/src/main/java/org/apache/directory/scim/spec/validator/UrnValidator.java
diff --git a/scim-spec/scim-spec-schema/src/main/resources/Copy of user.json b/scim-spec/src/main/resources/Copy of user.json
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/resources/Copy of user.json
rename to scim-spec/src/main/resources/Copy of user.json
diff --git a/scim-spec/scim-spec-schema/src/main/resources/examples/enterprise-user-example.json b/scim-spec/src/main/resources/examples/enterprise-user-example.json
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/resources/examples/enterprise-user-example.json
rename to scim-spec/src/main/resources/examples/enterprise-user-example.json
diff --git a/scim-spec/scim-spec-schema/src/main/resources/examples/full-user-example.json b/scim-spec/src/main/resources/examples/full-user-example.json
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/resources/examples/full-user-example.json
rename to scim-spec/src/main/resources/examples/full-user-example.json
diff --git a/scim-spec/scim-spec-schema/src/main/resources/examples/group-example.json b/scim-spec/src/main/resources/examples/group-example.json
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/resources/examples/group-example.json
rename to scim-spec/src/main/resources/examples/group-example.json
diff --git a/scim-spec/scim-spec-schema/src/main/resources/examples/minimal-user-example.json b/scim-spec/src/main/resources/examples/minimal-user-example.json
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/resources/examples/minimal-user-example.json
rename to scim-spec/src/main/resources/examples/minimal-user-example.json
diff --git a/scim-spec/scim-spec-schema/src/main/resources/examples/resource-type-group-example.json b/scim-spec/src/main/resources/examples/resource-type-group-example.json
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/resources/examples/resource-type-group-example.json
rename to scim-spec/src/main/resources/examples/resource-type-group-example.json
diff --git a/scim-spec/scim-spec-schema/src/main/resources/examples/resource-type-user-example.json b/scim-spec/src/main/resources/examples/resource-type-user-example.json
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/resources/examples/resource-type-user-example.json
rename to scim-spec/src/main/resources/examples/resource-type-user-example.json
diff --git a/scim-spec/scim-spec-schema/src/main/resources/resource-type-representations.json b/scim-spec/src/main/resources/resource-type-representations.json
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/resources/resource-type-representations.json
rename to scim-spec/src/main/resources/resource-type-representations.json
diff --git a/scim-spec/scim-spec-schema/src/main/resources/schema.json b/scim-spec/src/main/resources/schema.json
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/resources/schema.json
rename to scim-spec/src/main/resources/schema.json
diff --git a/scim-spec/scim-spec-schema/src/main/resources/schemas/schema-schema.json b/scim-spec/src/main/resources/schemas/schema-schema.json
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/resources/schemas/schema-schema.json
rename to scim-spec/src/main/resources/schemas/schema-schema.json
diff --git a/scim-spec/scim-spec-schema/src/main/resources/schemas/urn:ietf:params:scim:schemas:core:2.0:Group.json b/scim-spec/src/main/resources/schemas/urn:ietf:params:scim:schemas:core:2.0:Group.json
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/resources/schemas/urn:ietf:params:scim:schemas:core:2.0:Group.json
rename to scim-spec/src/main/resources/schemas/urn:ietf:params:scim:schemas:core:2.0:Group.json
diff --git a/scim-spec/scim-spec-schema/src/main/resources/schemas/urn:ietf:params:scim:schemas:core:2.0:ResourceType.json b/scim-spec/src/main/resources/schemas/urn:ietf:params:scim:schemas:core:2.0:ResourceType.json
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/resources/schemas/urn:ietf:params:scim:schemas:core:2.0:ResourceType.json
rename to scim-spec/src/main/resources/schemas/urn:ietf:params:scim:schemas:core:2.0:ResourceType.json
diff --git a/scim-spec/scim-spec-schema/src/main/resources/schemas/urn:ietf:params:scim:schemas:core:2.0:Schema.json b/scim-spec/src/main/resources/schemas/urn:ietf:params:scim:schemas:core:2.0:Schema.json
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/resources/schemas/urn:ietf:params:scim:schemas:core:2.0:Schema.json
rename to scim-spec/src/main/resources/schemas/urn:ietf:params:scim:schemas:core:2.0:Schema.json
diff --git a/scim-spec/scim-spec-schema/src/main/resources/schemas/urn:ietf:params:scim:schemas:core:2.0:ServiceProviderConfig.json b/scim-spec/src/main/resources/schemas/urn:ietf:params:scim:schemas:core:2.0:ServiceProviderConfig.json
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/resources/schemas/urn:ietf:params:scim:schemas:core:2.0:ServiceProviderConfig.json
rename to scim-spec/src/main/resources/schemas/urn:ietf:params:scim:schemas:core:2.0:ServiceProviderConfig.json
diff --git a/scim-spec/scim-spec-schema/src/main/resources/schemas/urn:ietf:params:scim:schemas:core:2.0:User.json b/scim-spec/src/main/resources/schemas/urn:ietf:params:scim:schemas:core:2.0:User.json
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/resources/schemas/urn:ietf:params:scim:schemas:core:2.0:User.json
rename to scim-spec/src/main/resources/schemas/urn:ietf:params:scim:schemas:core:2.0:User.json
diff --git a/scim-spec/scim-spec-schema/src/main/resources/schemas/urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.json b/scim-spec/src/main/resources/schemas/urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.json
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/resources/schemas/urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.json
rename to scim-spec/src/main/resources/schemas/urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.json
diff --git a/scim-spec/scim-spec-schema/src/main/resources/service-provider-and-resource-type.json b/scim-spec/src/main/resources/service-provider-and-resource-type.json
similarity index 100%
rename from scim-spec/scim-spec-schema/src/main/resources/service-provider-and-resource-type.json
rename to scim-spec/src/main/resources/service-provider-and-resource-type.json
diff --git a/scim-spec/scim-spec-schema/src/test/java/org/apache/directory/scim/spec/phonenumber/PhoneNumberTest.java b/scim-spec/src/test/java/org/apache/directory/scim/spec/phonenumber/PhoneNumberTest.java
similarity index 100%
rename from scim-spec/scim-spec-schema/src/test/java/org/apache/directory/scim/spec/phonenumber/PhoneNumberTest.java
rename to scim-spec/src/test/java/org/apache/directory/scim/spec/phonenumber/PhoneNumberTest.java
diff --git a/scim-spec/scim-spec-protocol/src/test/java/org/apache/directory/scim/spec/protocol/attribute/AttributeReferenceTest.java b/scim-spec/src/test/java/org/apache/directory/scim/spec/protocol/attribute/AttributeReferenceTest.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/test/java/org/apache/directory/scim/spec/protocol/attribute/AttributeReferenceTest.java
rename to scim-spec/src/test/java/org/apache/directory/scim/spec/protocol/attribute/AttributeReferenceTest.java
diff --git a/scim-spec/scim-spec-protocol/src/test/java/org/apache/directory/scim/spec/protocol/data/PatchOperationPathTest.java b/scim-spec/src/test/java/org/apache/directory/scim/spec/protocol/data/PatchOperationPathTest.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/test/java/org/apache/directory/scim/spec/protocol/data/PatchOperationPathTest.java
rename to scim-spec/src/test/java/org/apache/directory/scim/spec/protocol/data/PatchOperationPathTest.java
diff --git a/scim-spec/scim-spec-protocol/src/test/java/org/apache/directory/scim/spec/protocol/filter/AbstractLexerParserTest.java b/scim-spec/src/test/java/org/apache/directory/scim/spec/protocol/filter/AbstractLexerParserTest.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/test/java/org/apache/directory/scim/spec/protocol/filter/AbstractLexerParserTest.java
rename to scim-spec/src/test/java/org/apache/directory/scim/spec/protocol/filter/AbstractLexerParserTest.java
diff --git a/scim-spec/scim-spec-protocol/src/test/java/org/apache/directory/scim/spec/protocol/filter/FilterBuilderEqualsTest.java b/scim-spec/src/test/java/org/apache/directory/scim/spec/protocol/filter/FilterBuilderEqualsTest.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/test/java/org/apache/directory/scim/spec/protocol/filter/FilterBuilderEqualsTest.java
rename to scim-spec/src/test/java/org/apache/directory/scim/spec/protocol/filter/FilterBuilderEqualsTest.java
diff --git a/scim-spec/scim-spec-protocol/src/test/java/org/apache/directory/scim/spec/protocol/filter/FilterBuilderGreaterTest.java b/scim-spec/src/test/java/org/apache/directory/scim/spec/protocol/filter/FilterBuilderGreaterTest.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/test/java/org/apache/directory/scim/spec/protocol/filter/FilterBuilderGreaterTest.java
rename to scim-spec/src/test/java/org/apache/directory/scim/spec/protocol/filter/FilterBuilderGreaterTest.java
diff --git a/scim-spec/scim-spec-protocol/src/test/java/org/apache/directory/scim/spec/protocol/filter/FilterBuilderLessThanTest.java b/scim-spec/src/test/java/org/apache/directory/scim/spec/protocol/filter/FilterBuilderLessThanTest.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/test/java/org/apache/directory/scim/spec/protocol/filter/FilterBuilderLessThanTest.java
rename to scim-spec/src/test/java/org/apache/directory/scim/spec/protocol/filter/FilterBuilderLessThanTest.java
diff --git a/scim-spec/scim-spec-protocol/src/test/java/org/apache/directory/scim/spec/protocol/filter/FilterBuilderNotEqualsTest.java b/scim-spec/src/test/java/org/apache/directory/scim/spec/protocol/filter/FilterBuilderNotEqualsTest.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/test/java/org/apache/directory/scim/spec/protocol/filter/FilterBuilderNotEqualsTest.java
rename to scim-spec/src/test/java/org/apache/directory/scim/spec/protocol/filter/FilterBuilderNotEqualsTest.java
diff --git a/scim-spec/scim-spec-protocol/src/test/java/org/apache/directory/scim/spec/protocol/filter/FilterBuilderStringTest.java b/scim-spec/src/test/java/org/apache/directory/scim/spec/protocol/filter/FilterBuilderStringTest.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/test/java/org/apache/directory/scim/spec/protocol/filter/FilterBuilderStringTest.java
rename to scim-spec/src/test/java/org/apache/directory/scim/spec/protocol/filter/FilterBuilderStringTest.java
diff --git a/scim-spec/scim-spec-protocol/src/test/java/org/apache/directory/scim/spec/protocol/filter/FilterBuilderTest.java b/scim-spec/src/test/java/org/apache/directory/scim/spec/protocol/filter/FilterBuilderTest.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/test/java/org/apache/directory/scim/spec/protocol/filter/FilterBuilderTest.java
rename to scim-spec/src/test/java/org/apache/directory/scim/spec/protocol/filter/FilterBuilderTest.java
diff --git a/scim-spec/scim-spec-protocol/src/test/java/org/apache/directory/scim/spec/protocol/filter/FilterTest.java b/scim-spec/src/test/java/org/apache/directory/scim/spec/protocol/filter/FilterTest.java
similarity index 100%
rename from scim-spec/scim-spec-protocol/src/test/java/org/apache/directory/scim/spec/protocol/filter/FilterTest.java
rename to scim-spec/src/test/java/org/apache/directory/scim/spec/protocol/filter/FilterTest.java
diff --git a/scim-spec/scim-spec-schema/src/test/java/org/apache/directory/scim/spec/resources/PhoneNumberBuilderTest.java b/scim-spec/src/test/java/org/apache/directory/scim/spec/resources/PhoneNumberBuilderTest.java
similarity index 100%
rename from scim-spec/scim-spec-schema/src/test/java/org/apache/directory/scim/spec/resources/PhoneNumberBuilderTest.java
rename to scim-spec/src/test/java/org/apache/directory/scim/spec/resources/PhoneNumberBuilderTest.java
diff --git a/scim-spec/scim-spec-schema/src/test/java/org/apache/directory/scim/spec/resources/PhoneNumberJsonTest.java b/scim-spec/src/test/java/org/apache/directory/scim/spec/resources/PhoneNumberJsonTest.java
similarity index 100%
rename from scim-spec/scim-spec-schema/src/test/java/org/apache/directory/scim/spec/resources/PhoneNumberJsonTest.java
rename to scim-spec/src/test/java/org/apache/directory/scim/spec/resources/PhoneNumberJsonTest.java
diff --git a/scim-spec/scim-spec-schema/src/test/java/org/apache/directory/scim/spec/schema/MapperTest.java b/scim-spec/src/test/java/org/apache/directory/scim/spec/schema/MapperTest.java
similarity index 100%
rename from scim-spec/scim-spec-schema/src/test/java/org/apache/directory/scim/spec/schema/MapperTest.java
rename to scim-spec/src/test/java/org/apache/directory/scim/spec/schema/MapperTest.java
diff --git a/scim-spec/scim-spec-schema/src/test/java/org/apache/directory/scim/spec/schema/SchemaTest.java b/scim-spec/src/test/java/org/apache/directory/scim/spec/schema/SchemaTest.java
similarity index 100%
rename from scim-spec/scim-spec-schema/src/test/java/org/apache/directory/scim/spec/schema/SchemaTest.java
rename to scim-spec/src/test/java/org/apache/directory/scim/spec/schema/SchemaTest.java
diff --git a/scim-tools/pom.xml b/scim-tools/pom.xml
index 9a97d55..6a59c9e 100644
--- a/scim-tools/pom.xml
+++ b/scim-tools/pom.xml
@@ -30,7 +30,7 @@
   <dependencies>
     <dependency>
       <groupId>org.apache.directory.scim</groupId>
-      <artifactId>scim-spec-schema</artifactId>
+      <artifactId>scim-spec</artifactId>
     </dependency>
     <dependency>
       <groupId>com.github.foodev</groupId>