diff --git a/docs/build.gradle b/docs/build.gradle
index 6abfc8fc..27dbdf79 100644
--- a/docs/build.gradle
+++ b/docs/build.gradle
@@ -49,7 +49,7 @@ dependencies {
asciidoctor {
def ghTag = snapshotBuild ? 'master' : project.version
- def ghUrl = "https://github.com/spring-projects/spring-session/tree/$ghTag/"
+ def ghUrl = "https://github.com/spring-projects/spring-session/tree/$ghTag"
attributes 'version-snapshot': snapshotBuild,
'version-milestone': milestoneBuild,
'version-release': releaseBuild,
diff --git a/docs/src/docs/asciidoc/guides/findbyusername.adoc b/docs/src/docs/asciidoc/guides/boot-findbyusername.adoc
similarity index 93%
rename from docs/src/docs/asciidoc/guides/findbyusername.adoc
rename to docs/src/docs/asciidoc/guides/boot-findbyusername.adoc
index 2fa6c1e0..bc1d2964 100644
--- a/docs/src/docs/asciidoc/guides/findbyusername.adoc
+++ b/docs/src/docs/asciidoc/guides/boot-findbyusername.adoc
@@ -65,7 +65,7 @@ For example, our sample application includes the location and access type of the
[source,java,indent=0]
----
-include::{samples-dir}findbyusername/src/main/java/sample/session/SessionDetails.java[tags=class]
+include::{samples-dir}boot/boot-findbyusername/src/main/java/sample/session/SessionDetails.java[tags=class]
----
We then inject that information into the session on each HTTP request using a `SessionDetailsFilter`.
@@ -73,7 +73,7 @@ For example:
[source,java,indent=0]
----
-include::{samples-dir}findbyusername/src/main/java/sample/session/SessionDetailsFilter.java[tags=dofilterinternal]
+include::{samples-dir}boot/boot-findbyusername/src/main/java/sample/session/SessionDetailsFilter.java[tags=dofilterinternal]
----
We obtain the information we want and then set the `SessionDetails` as an attribute in the `Session`.
@@ -93,7 +93,7 @@ We can now find all the sessions for a specific user.
[source,java,indent=0]
----
-include::{samples-dir}findbyusername/src/main/java/sample/mvc/IndexController.java[tags=findbyusername]
+include::{samples-dir}boot/boot-findbyusername/src/main/java/sample/mvc/IndexController.java[tags=findbyusername]
----
In our instance, we find all sessions for the currently logged in user.
diff --git a/docs/src/docs/asciidoc/guides/httpsession-gemfire-boot.adoc b/docs/src/docs/asciidoc/guides/boot-gemfire.adoc
similarity index 98%
rename from docs/src/docs/asciidoc/guides/httpsession-gemfire-boot.adoc
rename to docs/src/docs/asciidoc/guides/boot-gemfire.adoc
index 73a98ef4..84c1ea6d 100644
--- a/docs/src/docs/asciidoc/guides/httpsession-gemfire-boot.adoc
+++ b/docs/src/docs/asciidoc/guides/boot-gemfire.adoc
@@ -86,7 +86,7 @@ We start with the _Spring Boot_ application for configuring and bootstrapping a
[source,java]
----
-include::{samples-dir}httpsession-gemfire-boot/src/main/java/sample/server/GemFireServer.java[tags=class]
+include::{samples-dir}boot/boot-gemfire/src/main/java/sample/server/GemFireServer.java[tags=class]
----
<1> The `@EnableGemFireHttpSession` annotation is used on the GemFire Server to mainly define the corresponding
@@ -113,7 +113,7 @@ to manage Session state in a clustered, replicated fashion.
[source,java]
----
-include::{samples-dir}httpsession-gemfire-boot/src/main/java/sample/client/Application.java[tags=class]
+include::{samples-dir}boot/boot-gemfire/src/main/java/sample/client/Application.java[tags=class]
----
<1> Here, again, we use the `@EnableGemFireHttpSession` annotation to not only configure the GemFire cache client,
diff --git a/docs/src/docs/asciidoc/guides/httpsession-jdbc-boot.adoc b/docs/src/docs/asciidoc/guides/boot-jdbc.adoc
similarity index 98%
rename from docs/src/docs/asciidoc/guides/httpsession-jdbc-boot.adoc
rename to docs/src/docs/asciidoc/guides/boot-jdbc.adoc
index 4fb3e80e..5de43546 100644
--- a/docs/src/docs/asciidoc/guides/httpsession-jdbc-boot.adoc
+++ b/docs/src/docs/asciidoc/guides/boot-jdbc.adoc
@@ -74,7 +74,7 @@ Add the following Spring Configuration:
[source,java]
----
-include::{samples-dir}httpsession-jdbc-boot/src/main/java/sample/config/HttpSessionConfig.java[tags=class]
+include::{samples-dir}boot/boot-jdbc/src/main/java/sample/config/HttpSessionConfig.java[tags=class]
----
<1> The `@EnableJdbcHttpSession` annotation creates a Spring Bean with the name of `springSessionRepositoryFilter` that implements Filter.
diff --git a/docs/src/docs/asciidoc/guides/mongo.adoc b/docs/src/docs/asciidoc/guides/boot-mongo.adoc
similarity index 98%
rename from docs/src/docs/asciidoc/guides/mongo.adoc
rename to docs/src/docs/asciidoc/guides/boot-mongo.adoc
index dd2461b9..1e965821 100644
--- a/docs/src/docs/asciidoc/guides/mongo.adoc
+++ b/docs/src/docs/asciidoc/guides/boot-mongo.adoc
@@ -74,7 +74,7 @@ All you have to do is to add the following Spring Configuration:
[source,java]
----
-include::{samples-dir}mongo/src/main/java/sample/config/HttpSessionConfig.java[tags=class]
+include::{samples-dir}boot/boot-mongo/src/main/java/sample/config/HttpSessionConfig.java[tags=class]
----
<1> The `@EnableMongoHttpSession` annotation creates a Spring Bean with the name of `springSessionRepositoryFilter` that implements Filter.
diff --git a/docs/src/docs/asciidoc/guides/boot.adoc b/docs/src/docs/asciidoc/guides/boot-redis.adoc
similarity index 98%
rename from docs/src/docs/asciidoc/guides/boot.adoc
rename to docs/src/docs/asciidoc/guides/boot-redis.adoc
index b9f9829c..15fef253 100644
--- a/docs/src/docs/asciidoc/guides/boot.adoc
+++ b/docs/src/docs/asciidoc/guides/boot-redis.adoc
@@ -72,7 +72,7 @@ Add the following Spring Configuration:
[source,java]
----
-include::{samples-dir}boot/src/main/java/sample/config/HttpSessionConfig.java[tags=class]
+include::{samples-dir}boot/boot-redis/src/main/java/sample/config/HttpSessionConfig.java[tags=class]
----
<1> The `@EnableRedisHttpSession` annotation creates a Spring Bean with the name of `springSessionRepositoryFilter` that implements Filter.
diff --git a/docs/src/docs/asciidoc/guides/websocket.adoc b/docs/src/docs/asciidoc/guides/boot-websocket.adoc
similarity index 96%
rename from docs/src/docs/asciidoc/guides/websocket.adoc
rename to docs/src/docs/asciidoc/guides/boot-websocket.adoc
index 07f8275f..a3786eff 100644
--- a/docs/src/docs/asciidoc/guides/websocket.adoc
+++ b/docs/src/docs/asciidoc/guides/boot-websocket.adoc
@@ -38,7 +38,7 @@ For example:
.src/main/java/samples/config/WebSocketConfig.java
[source,java]
----
-include::{samples-dir}websocket/src/main/java/sample/config/WebSocketConfig.java[tags=class]
+include::{samples-dir}boot/boot-websocket/src/main/java/sample/config/WebSocketConfig.java[tags=class]
----
To hook in the Spring Session support we only need to change two things:
@@ -78,7 +78,7 @@ For the purposes of testing session expiration, you may want to change the sessi
.src/main/java/samples/config/WebSecurityConfig.java
[source,java]
----
-include::{samples-dir}websocket/src/main/java/sample/config/WebSecurityConfig.java[tags=enable-redis-httpsession]
+include::{samples-dir}boot/boot-websocket/src/main/java/sample/config/WebSecurityConfig.java[tags=enable-redis-httpsession]
----
====
diff --git a/docs/src/docs/asciidoc/guides/custom-cookie.adoc b/docs/src/docs/asciidoc/guides/java-custom-cookie.adoc
similarity index 96%
rename from docs/src/docs/asciidoc/guides/custom-cookie.adoc
rename to docs/src/docs/asciidoc/guides/java-custom-cookie.adoc
index d425be1c..69c87aff 100644
--- a/docs/src/docs/asciidoc/guides/custom-cookie.adoc
+++ b/docs/src/docs/asciidoc/guides/java-custom-cookie.adoc
@@ -17,7 +17,7 @@ You can find an example of customizing Spring Session's cookie below:
[source,java]
----
-include::{samples-dir}custom-cookie/src/main/java/sample/Config.java[tags=cookie-serializer]
+include::{samples-dir}java/java-custom-cookie/src/main/java/sample/Config.java[tags=cookie-serializer]
----
<1> We customize the name of the cookie to be JSESSIONID
@@ -98,4 +98,4 @@ Try using the application. Fill out the form with the following information:
Now click the **Set Attribute** button.
You should now see the values displayed in the table.
-If you look at the cookies for the application, you can see the cookie is saved to the custom name of JSESSIONID
\ No newline at end of file
+If you look at the cookies for the application, you can see the cookie is saved to the custom name of JSESSIONID
diff --git a/docs/src/docs/asciidoc/guides/httpsession-gemfire-clientserver.adoc b/docs/src/docs/asciidoc/guides/java-gemfire-clientserver.adoc
similarity index 96%
rename from docs/src/docs/asciidoc/guides/httpsession-gemfire-clientserver.adoc
rename to docs/src/docs/asciidoc/guides/java-gemfire-clientserver.adoc
index 86055248..ec92b201 100644
--- a/docs/src/docs/asciidoc/guides/httpsession-gemfire-clientserver.adoc
+++ b/docs/src/docs/asciidoc/guides/java-gemfire-clientserver.adoc
@@ -80,7 +80,7 @@ Add the following Spring Configuration:
[source,java]
----
-include::{samples-dir}httpsession-gemfire-clientserver/src/main/java/sample/ClientConfig.java[tags=class]
+include::{samples-dir}java/java-gemfire-clientserver/src/main/java/sample/ClientConfig.java[tags=class]
----
<1> The `@EnableGemFireHttpSession` annotation creates a Spring bean named `springSessionRepositoryFilter` that
@@ -93,7 +93,7 @@ using http://gemfire.docs.pivotal.io/docs-gemfire/reference/topics/gemfire_prope
configuration, we have used sensible settings for timeouts, number of connections and so on. Also, the `Pool` has been
configured to connect directly to a server. Learn more about various `Pool` configuration settings from the
http://gemfire.docs.pivotal.io/docs-gemfire/latest/javadocs/japi/com/gemstone/gemfire/cache/client/PoolFactory.html[PoolFactory API].
-<56> Finally, we include a Spring `BeanPostProcessor` to block the client until our GemFire Server is up and running,
+<5> Finally, we include a Spring `BeanPostProcessor` to block the client until our GemFire Server is up and running,
listening for and accepting client connections.
The `gemfireCacheServerReadyBeanPostProcessor` is necessary in order to coordinate the client and server in
@@ -144,7 +144,7 @@ In this sample, we will use the following GemFire Server Java Configuration:
[source,java]
----
-include::{samples-dir}httpsession-gemfire-clientserver/src/main/java/sample/ServerConfig.java[tags=class]
+include::{samples-dir}java/java-gemfire-clientserver/src/main/java/sample/ServerConfig.java[tags=class]
----
<1> On the server, we also configure Spring Session using the `@EnableGemFireHttpSession` annotation. This ensures
@@ -174,7 +174,7 @@ You can find an example below:
.src/main/java/sample/Initializer.java
[source,java]
----
-include::{samples-dir}httpsession-gemfire-clientserver/src/main/java/sample/Initializer.java[tags=class]
+include::{samples-dir}java/java-gemfire-clientserver/src/main/java/sample/Initializer.java[tags=class]
----
NOTE: The name of our class (`Initializer`) does not matter. What is important is that we extend `AbstractHttpSessionApplicationInitializer`.
@@ -224,7 +224,7 @@ We interact with the standard `HttpSession` in the `SessionServlet` shown below:
.src/main/java/sample/SessionServlet.java
[source,java]
----
-include::{samples-dir}httpsession-gemfire-clientserver/src/main/java/sample/SessionServlet.java[tags=class]
+include::{samples-dir}java/java-gemfire-clientserver/src/main/java/sample/SessionServlet.java[tags=class]
----
Instead of using Tomcat's `HttpSession`, we are actually persisting the values in GemFire.
diff --git a/docs/src/docs/asciidoc/guides/httpsession-gemfire-p2p.adoc b/docs/src/docs/asciidoc/guides/java-gemfire-p2p.adoc
similarity index 96%
rename from docs/src/docs/asciidoc/guides/httpsession-gemfire-p2p.adoc
rename to docs/src/docs/asciidoc/guides/java-gemfire-p2p.adoc
index c452383f..b6bb53a0 100644
--- a/docs/src/docs/asciidoc/guides/httpsession-gemfire-p2p.adoc
+++ b/docs/src/docs/asciidoc/guides/java-gemfire-p2p.adoc
@@ -80,7 +80,7 @@ Add the following Spring Configuration:
[source,java]
----
-include::{samples-dir}httpsession-gemfire-p2p/src/main/java/sample/Config.java[tags=class]
+include::{samples-dir}java/java-gemfire-p2p/src/main/java/sample/Config.java[tags=class]
----
<1> The `@EnableGemFireHttpSession` annotation creates a Spring bean named `springSessionRepositoryFilter` that
@@ -125,7 +125,7 @@ You can find an example below:
.src/main/java/sample/Initializer.java
[source,java]
----
-include::{samples-dir}httpsession-gemfire-p2p/src/main/java/sample/Initializer.java[tags=class]
+include::{samples-dir}java/java-gemfire-p2p/src/main/java/sample/Initializer.java[tags=class]
----
NOTE: The name of our class (`Initializer`) does not matter. What is important is that we extend `AbstractHttpSessionApplicationInitializer`.
@@ -166,7 +166,7 @@ We interact with the standard `HttpSession` in the `SessionServlet` shown below:
.src/main/java/sample/SessionServlet.java
[source,java]
----
-include::{samples-dir}httpsession-gemfire-p2p/src/main/java/sample/SessionServlet.java[tags=class]
+include::{samples-dir}java/java-gemfire-p2p/src/main/java/sample/SessionServlet.java[tags=class]
----
Instead of using Tomcat's `HttpSession`, we are actually persisting the values in GemFire.
diff --git a/docs/src/docs/asciidoc/guides/hazelcast-spring.adoc b/docs/src/docs/asciidoc/guides/java-hazelcast.adoc
similarity index 97%
rename from docs/src/docs/asciidoc/guides/hazelcast-spring.adoc
rename to docs/src/docs/asciidoc/guides/java-hazelcast.adoc
index eb4266d4..92b22194 100644
--- a/docs/src/docs/asciidoc/guides/hazelcast-spring.adoc
+++ b/docs/src/docs/asciidoc/guides/java-hazelcast.adoc
@@ -98,7 +98,7 @@ Since our application is already loading Spring configuration using our `Securit
.src/main/java/sample/SecurityInitializer.java
[source,java]
----
-include::{samples-dir}hazelcast-spring/src/main/java/sample/SecurityInitializer.java[tags=class]
+include::{samples-dir}java/java-hazelcast/src/main/java/sample/SecurityInitializer.java[tags=class]
----
Last we need to ensure that our Servlet Container (i.e. Tomcat) uses our `springSessionRepositoryFilter` for every request.
@@ -110,7 +110,7 @@ You can find an example below:
.src/main/java/sample/Initializer.java
[source,java]
----
-include::{samples-dir}hazelcast-spring/src/main/java/sample/Initializer.java[tags=class]
+include::{samples-dir}java/java-hazelcast/src/main/java/sample/Initializer.java[tags=class]
----
NOTE: The name of our class (Initializer) does not matter. What is important is that we extend `AbstractHttpSessionApplicationInitializer`.
diff --git a/docs/src/docs/asciidoc/guides/httpsession-jdbc.adoc b/docs/src/docs/asciidoc/guides/java-jdbc.adoc
similarity index 95%
rename from docs/src/docs/asciidoc/guides/httpsession-jdbc.adoc
rename to docs/src/docs/asciidoc/guides/java-jdbc.adoc
index bdcab3a0..64fa3a3a 100644
--- a/docs/src/docs/asciidoc/guides/httpsession-jdbc.adoc
+++ b/docs/src/docs/asciidoc/guides/java-jdbc.adoc
@@ -75,7 +75,7 @@ Add the following Spring Configuration:
[source,java]
----
-include::{samples-dir}httpsession-jdbc/src/main/java/sample/Config.java[tags=class]
+include::{samples-dir}java/java-jdbc/src/main/java/sample/Config.java[tags=class]
----
<1> The `@EnableJdbcHttpSession` annotation creates a Spring Bean with the name of `springSessionRepositoryFilter` that implements Filter.
@@ -100,7 +100,7 @@ You can find an example below:
.src/main/java/sample/Initializer.java
[source,java]
----
-include::{samples-dir}httpsession/src/main/java/sample/Initializer.java[tags=class]
+include::{samples-dir}java/java-jdbc/src/main/java/sample/Initializer.java[tags=class]
----
NOTE: The name of our class (Initializer) does not matter. What is important is that we extend `AbstractHttpSessionApplicationInitializer`.
@@ -140,7 +140,7 @@ We interact with the standard `HttpSession` in the `SessionServlet` shown below:
.src/main/java/sample/SessionServlet.java
[source,java]
----
-include::{samples-dir}httpsession-jdbc/src/main/java/sample/SessionServlet.java[tags=class]
+include::{samples-dir}java/java-jdbc/src/main/java/sample/SessionServlet.java[tags=class]
----
Instead of using Tomcat's `HttpSession`, we are actually persisting the values in H2 database.
diff --git a/docs/src/docs/asciidoc/guides/httpsession.adoc b/docs/src/docs/asciidoc/guides/java-redis.adoc
similarity index 95%
rename from docs/src/docs/asciidoc/guides/httpsession.adoc
rename to docs/src/docs/asciidoc/guides/java-redis.adoc
index 9815d7a4..71255f88 100644
--- a/docs/src/docs/asciidoc/guides/httpsession.adoc
+++ b/docs/src/docs/asciidoc/guides/java-redis.adoc
@@ -80,7 +80,7 @@ Add the following Spring Configuration:
[source,java]
----
-include::{samples-dir}httpsession/src/main/java/sample/Config.java[tags=class]
+include::{samples-dir}java/java-redis/src/main/java/sample/Config.java[tags=class]
----
<1> The `@EnableRedisHttpSession` annotation creates a Spring Bean with the name of `springSessionRepositoryFilter` that implements Filter.
@@ -103,7 +103,7 @@ You can find an example below:
.src/main/java/sample/Initializer.java
[source,java]
----
-include::{samples-dir}httpsession/src/main/java/sample/Initializer.java[tags=class]
+include::{samples-dir}java/java-redis/src/main/java/sample/Initializer.java[tags=class]
----
NOTE: The name of our class (Initializer) does not matter. What is important is that we extend `AbstractHttpSessionApplicationInitializer`.
@@ -151,7 +151,7 @@ We interact with the standard `HttpSession` in the `SessionServlet` shown below:
.src/main/java/sample/SessionServlet.java
[source,java]
----
-include::{samples-dir}httpsession/src/main/java/sample/SessionServlet.java[tags=class]
+include::{samples-dir}java/java-redis/src/main/java/sample/SessionServlet.java[tags=class]
----
Instead of using Tomcat's `HttpSession`, we are actually persisting the values in Redis.
@@ -168,4 +168,4 @@ Alternatively, you can also delete the explicit key. Enter the following into yo
$ redis-cli del spring:session:sessions:7e8383a4-082c-4ffe-a4bc-c40fd3363c5e
-Now visit the application at http://localhost:8080/ and observe that the attribute we added is no longer displayed.
\ No newline at end of file
+Now visit the application at http://localhost:8080/ and observe that the attribute we added is no longer displayed.
diff --git a/docs/src/docs/asciidoc/guides/rest.adoc b/docs/src/docs/asciidoc/guides/java-rest.adoc
similarity index 96%
rename from docs/src/docs/asciidoc/guides/rest.adoc
rename to docs/src/docs/asciidoc/guides/java-rest.adoc
index 736913d2..b7759c56 100644
--- a/docs/src/docs/asciidoc/guides/rest.adoc
+++ b/docs/src/docs/asciidoc/guides/java-rest.adoc
@@ -80,7 +80,7 @@ Add the following Spring Configuration:
[source,java]
----
-include::{samples-dir}rest/src/main/java/sample/HttpSessionConfig.java[tags=class]
+include::{samples-dir}java/java-rest/src/main/java/sample/HttpSessionConfig.java[tags=class]
----
<1> The `@EnableRedisHttpSession` annotation creates a Spring Bean with the name of `springSessionRepositoryFilter` that implements `Filter`.
@@ -101,7 +101,7 @@ In order for our `Filter` to do its magic, Spring needs to load our `Config` cla
.src/main/java/sample/mvc/MvcInitializer.java
[source,java,indent=0]
----
-include::{samples-dir}rest/src/main/java/sample/mvc/MvcInitializer.java[tags=config]
+include::{samples-dir}java/java-rest/src/main/java/sample/mvc/MvcInitializer.java[tags=config]
----
Last we need to ensure that our Servlet Container (i.e. Tomcat) uses our `springSessionRepositoryFilter` for every request.
@@ -110,7 +110,7 @@ Fortunately, Spring Session provides a utility class named `AbstractHttpSessionA
.src/main/java/sample/Initializer.java
[source,java]
----
-include::{samples-dir}rest/src/main/java/sample/Initializer.java[tags=class]
+include::{samples-dir}java/java-rest/src/main/java/sample/Initializer.java[tags=class]
----
NOTE: The name of our class (Initializer) does not matter. What is important is that we extend `AbstractHttpSessionApplicationInitializer`.
diff --git a/docs/src/docs/asciidoc/guides/security.adoc b/docs/src/docs/asciidoc/guides/java-security.adoc
similarity index 95%
rename from docs/src/docs/asciidoc/guides/security.adoc
rename to docs/src/docs/asciidoc/guides/java-security.adoc
index 86a0f5ff..2a019e55 100644
--- a/docs/src/docs/asciidoc/guides/security.adoc
+++ b/docs/src/docs/asciidoc/guides/java-security.adoc
@@ -79,7 +79,7 @@ Add the following Spring Configuration:
[source,java]
----
-include::{samples-dir}security/src/main/java/sample/Config.java[tags=class]
+include::{samples-dir}java/java-security/src/main/java/sample/Config.java[tags=class]
----
<1> The `@EnableRedisHttpSession` annotation creates a Spring Bean with the name of `springSessionRepositoryFilter` that implements Filter.
@@ -100,7 +100,7 @@ Since our application is already loading Spring configuration using our `Securit
.src/main/java/sample/SecurityInitializer.java
[source,java]
----
-include::{samples-dir}security/src/main/java/sample/SecurityInitializer.java[tags=class]
+include::{samples-dir}java/java-security/src/main/java/sample/SecurityInitializer.java[tags=class]
----
Last we need to ensure that our Servlet Container (i.e. Tomcat) uses our `springSessionRepositoryFilter` for every request.
@@ -112,7 +112,7 @@ You can find an example below:
.src/main/java/sample/Initializer.java
[source,java]
----
-include::{samples-dir}security/src/main/java/sample/Initializer.java[tags=class]
+include::{samples-dir}java/java-security/src/main/java/sample/Initializer.java[tags=class]
----
NOTE: The name of our class (Initializer) does not matter. What is important is that we extend `AbstractHttpSessionApplicationInitializer`.
@@ -170,4 +170,4 @@ Alternatively, you can also delete the explicit key. Enter the following into yo
$ redis-cli del spring:session:sessions:7e8383a4-082c-4ffe-a4bc-c40fd3363c5e
-Now visit the application at http://localhost:8080/ and observe that we are no longer authenticated.
\ No newline at end of file
+Now visit the application at http://localhost:8080/ and observe that we are no longer authenticated.
diff --git a/docs/src/docs/asciidoc/guides/users.adoc b/docs/src/docs/asciidoc/guides/java-users.adoc
similarity index 95%
rename from docs/src/docs/asciidoc/guides/users.adoc
rename to docs/src/docs/asciidoc/guides/java-users.adoc
index b0a1dc18..651b1c21 100644
--- a/docs/src/docs/asciidoc/guides/users.adoc
+++ b/docs/src/docs/asciidoc/guides/java-users.adoc
@@ -99,7 +99,7 @@ We can obtain the `HttpSessionManager` from the `HttpServletRequest` using the f
.src/main/java/sample/UserAccountsFilter.java
[source,java,indent=0]
----
-include::{samples-dir}users/src/main/java/sample/UserAccountsFilter.java[tags=HttpSessionManager]
+include::{samples-dir}java/java-users/src/main/java/sample/UserAccountsFilter.java[tags=HttpSessionManager]
----
We can now use it to create a URL to add another session.
@@ -107,7 +107,7 @@ We can now use it to create a URL to add another session.
.src/main/java/sample/UserAccountsFilter.java
[source,java,indent=0]
----
-include::{samples-dir}users/src/main/java/sample/UserAccountsFilter.java[tags=addAccountUrl]
+include::{samples-dir}java/java-users/src/main/java/sample/UserAccountsFilter.java[tags=addAccountUrl]
----
<1> We have an existing variable named `unauthenticatedAlias`.
@@ -148,7 +148,7 @@ For example, if we are currently using the session with the alias of *1*, then t
.src/main/webapp/index.jsp
[source,xml,indent=0]
----
-include::{samples-dir}users/src/main/webapp/index.jsp[tags=link]
+include::{samples-dir}java/java-users/src/main/webapp/index.jsp[tags=link]
----
will output a link of:
diff --git a/docs/src/docs/asciidoc/guides/httpsession-gemfire-clientserver-xml.adoc b/docs/src/docs/asciidoc/guides/xml-gemfire-clientserver.adoc
similarity index 93%
rename from docs/src/docs/asciidoc/guides/httpsession-gemfire-clientserver-xml.adoc
rename to docs/src/docs/asciidoc/guides/xml-gemfire-clientserver.adoc
index 6e3c29df..a9e599c8 100644
--- a/docs/src/docs/asciidoc/guides/httpsession-gemfire-clientserver-xml.adoc
+++ b/docs/src/docs/asciidoc/guides/xml-gemfire-clientserver.adoc
@@ -80,7 +80,7 @@ Add the following Spring Configuration:
[source,xml]
----
-include::{samples-dir}httpsession-gemfire-clientserver-xml/src/main/webapp/WEB-INF/spring/session-client.xml[tags=beans]
+include::{samples-dir}xml/xml-gemfire-clientserver/src/main/webapp/WEB-INF/spring/session-client.xml[tags=beans]
----
<1> Spring annotation configuration support is enabled with `` element so that any
@@ -117,7 +117,7 @@ In this sample, we will use the following GemFire Server Java Configuration:
[source,xml]
----
-include::{samples-dir}httpsession-gemfire-clientserver-xml/src/main/resources/META-INF/spring/session-server.xml[tags=beans]
+include::{samples-dir}xml/xml-gemfire-clientserver/src/main/resources/META-INF/spring/session-server.xml[tags=beans]
----
<1> First, we enable Spring annotation config support with the `` element so that any
@@ -139,7 +139,7 @@ The GemFire Server configuration gets bootstrapped with the following:
[source,java]
----
-include::{samples-dir}httpsession-gemfire-clientserver-xml/src/main/java/sample/Application.java[tags=class]
+include::{samples-dir}xml/xml-gemfire-clientserver/src/main/java/sample/Application.java[tags=class]
----
TIP: Instead of a simple Java class with a main method, you could also use _Spring Boot_.
@@ -163,8 +163,8 @@ We do this with the following configuration:
.src/main/webapp/WEB-INF/web.xml
[source,xml,indent=0]
----
-include::{samples-dir}httpsession-gemfire-clientserver-xml/src/main/webapp/WEB-INF/web.xml[tags=context-param]
-include::{samples-dir}httpsession-gemfire-clientserver-xml/src/main/webapp/WEB-INF/web.xml[tags=listeners]
+include::{samples-dir}xml/xml-gemfire-clientserver/src/main/webapp/WEB-INF/web.xml[tags=context-param]
+include::{samples-dir}xml/xml-gemfire-clientserver/src/main/webapp/WEB-INF/web.xml[tags=listeners]
----
The http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#context-create[ContextLoaderListener]
@@ -178,7 +178,7 @@ The following snippet performs this last step for us:
.src/main/webapp/WEB-INF/web.xml
[source,xml,indent=0]
----
-include::{samples-dir}httpsession-gemfire-clientserver-xml/src/main/webapp/WEB-INF/web.xml[tags=springSessionRepositoryFilter]
+include::{samples-dir}xml/xml-gemfire-clientserver/src/main/webapp/WEB-INF/web.xml[tags=springSessionRepositoryFilter]
----
The http://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/filter/DelegatingFilterProxy.html[DelegatingFilterProxy]
@@ -225,7 +225,7 @@ We interact with the standard `HttpSession` in the `SessionServlet` shown below:
.src/main/java/sample/SessionServlet.java
[source,java]
----
-include::{samples-dir}httpsession-gemfire-clientserver/src/main/java/sample/SessionServlet.java[tags=class]
+include::{samples-dir}xml/xml-gemfire-clientserver/src/main/java/sample/SessionServlet.java[tags=class]
----
Instead of using Tomcat's `HttpSession`, we are actually persisting the values in GemFire.
diff --git a/docs/src/docs/asciidoc/guides/httpsession-gemfire-p2p-xml.adoc b/docs/src/docs/asciidoc/guides/xml-gemfire-p2p.adoc
similarity index 93%
rename from docs/src/docs/asciidoc/guides/httpsession-gemfire-p2p-xml.adoc
rename to docs/src/docs/asciidoc/guides/xml-gemfire-p2p.adoc
index 7b22274d..a49e5767 100644
--- a/docs/src/docs/asciidoc/guides/httpsession-gemfire-p2p-xml.adoc
+++ b/docs/src/docs/asciidoc/guides/xml-gemfire-p2p.adoc
@@ -81,7 +81,7 @@ Add the following Spring Configuration:
.src/main/webapp/WEB-INF/spring/session.xml
[source,xml,indent=0]
----
-include::{samples-dir}httpsession-gemfire-p2p-xml/src/main/webapp/WEB-INF/spring/session.xml[tags=beans]
+include::{samples-dir}xml/xml-gemfire-p2p/src/main/webapp/WEB-INF/spring/session.xml[tags=beans]
----
<1> We use the combination of `` and `GemFireHttpSessionConfiguration` because Spring Session
@@ -114,8 +114,8 @@ We do this with the following configuration:
.src/main/webapp/WEB-INF/web.xml
[source,xml,indent=0]
----
-include::{samples-dir}httpsession-gemfire-p2p-xml/src/main/webapp/WEB-INF/web.xml[tags=context-param]
-include::{samples-dir}httpsession-gemfire-p2p-xml/src/main/webapp/WEB-INF/web.xml[tags=listeners]
+include::{samples-dir}xml/xml-gemfire-p2p/src/main/webapp/WEB-INF/web.xml[tags=context-param]
+include::{samples-dir}xml/xml-gemfire-p2p/src/main/webapp/WEB-INF/web.xml[tags=listeners]
----
The http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#context-create[ContextLoaderListener]
@@ -129,7 +129,7 @@ The following snippet performs this last step for us:
.src/main/webapp/WEB-INF/web.xml
[source,xml,indent=0]
----
-include::{samples-dir}httpsession-gemfire-p2p-xml/src/main/webapp/WEB-INF/web.xml[tags=springSessionRepositoryFilter]
+include::{samples-dir}xml/xml-gemfire-p2p/src/main/webapp/WEB-INF/web.xml[tags=springSessionRepositoryFilter]
----
The http://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/filter/DelegatingFilterProxy.html[DelegatingFilterProxy]
@@ -167,7 +167,7 @@ We interact with the standard `HttpSession` in the `SessionServlet` shown below:
.src/main/java/sample/SessionServlet.java
[source,java]
----
-include::{samples-dir}httpsession-gemfire-p2p-xml/src/main/java/sample/SessionServlet.java[tags=class]
+include::{samples-dir}xml/xml-gemfire-p2p/src/main/java/sample/SessionServlet.java[tags=class]
----
Instead of using Tomcat's `HttpSession`, we are actually persisting the values in GemFire.
diff --git a/docs/src/docs/asciidoc/guides/httpsession-jdbc-xml.adoc b/docs/src/docs/asciidoc/guides/xml-jdbc.adoc
similarity index 92%
rename from docs/src/docs/asciidoc/guides/httpsession-jdbc-xml.adoc
rename to docs/src/docs/asciidoc/guides/xml-jdbc.adoc
index 6bed75dd..00aea9bd 100644
--- a/docs/src/docs/asciidoc/guides/httpsession-jdbc-xml.adoc
+++ b/docs/src/docs/asciidoc/guides/xml-jdbc.adoc
@@ -76,7 +76,7 @@ Add the following Spring Configuration:
.src/main/webapp/WEB-INF/spring/session.xml
[source,xml,indent=0]
----
-include::{samples-dir}httpsession-jdbc-xml/src/main/webapp/WEB-INF/spring/session.xml[tags=beans]
+include::{samples-dir}xml/xml-jdbc/src/main/webapp/WEB-INF/spring/session.xml[tags=beans]
----
<1> We use the combination of `` and `JdbcHttpSessionConfiguration` because Spring Session does not yet provide XML Namespace support (see https://github.com/spring-projects/spring-session/issues/104[gh-104]).
@@ -101,8 +101,8 @@ We do this with the following configuration:
.src/main/webapp/WEB-INF/web.xml
[source,xml,indent=0]
----
-include::{samples-dir}httpsession-xml/src/main/webapp/WEB-INF/web.xml[tags=context-param]
-include::{samples-dir}httpsession-xml/src/main/webapp/WEB-INF/web.xml[tags=listeners]
+include::{samples-dir}xml/xml-jdbc/src/main/webapp/WEB-INF/web.xml[tags=context-param]
+include::{samples-dir}xml/xml-jdbc/src/main/webapp/WEB-INF/web.xml[tags=listeners]
----
The http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#context-create[ContextLoaderListener] reads the contextConfigLocation and picks up our session.xml configuration.
@@ -113,7 +113,7 @@ The following snippet performs this last step for us:
.src/main/webapp/WEB-INF/web.xml
[source,xml,indent=0]
----
-include::{samples-dir}httpsession-xml/src/main/webapp/WEB-INF/web.xml[tags=springSessionRepositoryFilter]
+include::{samples-dir}xml/xml-jdbc/src/main/webapp/WEB-INF/web.xml[tags=springSessionRepositoryFilter]
----
The http://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/filter/DelegatingFilterProxy.html[DelegatingFilterProxy] will look up a Bean by the name of `springSessionRepositoryFilter` and cast it to a `Filter`.
@@ -150,7 +150,7 @@ We interact with the standard `HttpSession` in the `SessionServlet` shown below:
.src/main/java/sample/SessionServlet.java
[source,java]
----
-include::{samples-dir}httpsession-jdbc-xml/src/main/java/sample/SessionServlet.java[tags=class]
+include::{samples-dir}xml/xml-jdbc/src/main/java/sample/SessionServlet.java[tags=class]
----
Instead of using Tomcat's `HttpSession`, we are actually persisting the values in H2 database.
diff --git a/docs/src/docs/asciidoc/guides/httpsession-xml.adoc b/docs/src/docs/asciidoc/guides/xml-redis.adoc
similarity index 92%
rename from docs/src/docs/asciidoc/guides/httpsession-xml.adoc
rename to docs/src/docs/asciidoc/guides/xml-redis.adoc
index 6b555963..751f7fe5 100644
--- a/docs/src/docs/asciidoc/guides/httpsession-xml.adoc
+++ b/docs/src/docs/asciidoc/guides/xml-redis.adoc
@@ -81,7 +81,7 @@ Add the following Spring Configuration:
.src/main/webapp/WEB-INF/spring/session.xml
[source,xml,indent=0]
----
-include::{samples-dir}httpsession-xml/src/main/webapp/WEB-INF/spring/session.xml[tags=beans]
+include::{samples-dir}xml/xml-redis/src/main/webapp/WEB-INF/spring/session.xml[tags=beans]
----
<1> We use the combination of `` and `RedisHttpSessionConfiguration` because Spring Session does not yet provide XML Namespace support (see https://github.com/spring-projects/spring-session/issues/104[gh-104]).
@@ -104,8 +104,8 @@ We do this with the following configuration:
.src/main/webapp/WEB-INF/web.xml
[source,xml,indent=0]
----
-include::{samples-dir}httpsession-xml/src/main/webapp/WEB-INF/web.xml[tags=context-param]
-include::{samples-dir}httpsession-xml/src/main/webapp/WEB-INF/web.xml[tags=listeners]
+include::{samples-dir}xml/xml-redis/src/main/webapp/WEB-INF/web.xml[tags=context-param]
+include::{samples-dir}xml/xml-redis/src/main/webapp/WEB-INF/web.xml[tags=listeners]
----
The http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#context-create[ContextLoaderListener] reads the contextConfigLocation and picks up our session.xml configuration.
@@ -116,7 +116,7 @@ The following snippet performs this last step for us:
.src/main/webapp/WEB-INF/web.xml
[source,xml,indent=0]
----
-include::{samples-dir}httpsession-xml/src/main/webapp/WEB-INF/web.xml[tags=springSessionRepositoryFilter]
+include::{samples-dir}xml/xml-redis/src/main/webapp/WEB-INF/web.xml[tags=springSessionRepositoryFilter]
----
The http://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/filter/DelegatingFilterProxy.html[DelegatingFilterProxy] will look up a Bean by the name of `springSessionRepositoryFilter` and cast it to a `Filter`.
@@ -159,7 +159,7 @@ We interact with the standard `HttpSession` in the `SessionServlet` shown below:
.src/main/java/sample/SessionServlet.java
[source,java]
----
-include::{samples-dir}httpsession-xml/src/main/java/sample/SessionServlet.java[tags=class]
+include::{samples-dir}xml/xml-redis/src/main/java/sample/SessionServlet.java[tags=class]
----
Instead of using Tomcat's `HttpSession`, we are actually persisting the values in Redis.
@@ -176,4 +176,4 @@ Alternatively, you can also delete the explicit key. Enter the following into yo
$ redis-cli del spring:session:sessions:7e8383a4-082c-4ffe-a4bc-c40fd3363c5e
-Now visit the application at http://localhost:8080/ and observe that the attribute we added is no longer displayed.
\ No newline at end of file
+Now visit the application at http://localhost:8080/ and observe that the attribute we added is no longer displayed.
diff --git a/docs/src/docs/asciidoc/index.adoc b/docs/src/docs/asciidoc/index.adoc
index d628576f..14cf31bb 100644
--- a/docs/src/docs/asciidoc/index.adoc
+++ b/docs/src/docs/asciidoc/index.adoc
@@ -44,96 +44,116 @@ https://github.com/spring-projects/spring-session/milestone/19?closed=1[1.3.0.RE
If you are looking to get started with Spring Session, the best place to start is our Sample Applications.
-.Sample Applications
+.Sample Applications using Spring Boot
|===
| Source | Description | Guide
-| {gh-samples-url}httpsession[HttpSession]
-| Demonstrates how to use Spring Session to replace the `HttpSession` with a Redis store.
-| link:guides/httpsession.html[HttpSession Guide]
+| {gh-samples-url}boot/boot-redis[HttpSession with Redis]
+| Demonstrates how to use Spring Session to replace the `HttpSession` with Redis.
+| link:guides/boot.html[HttpSession with Redis Guide]
-| {gh-samples-url}httpsession-xml[HttpSession XML]
-| Demonstrates how to use Spring Session to replace the `HttpSession` with a Redis store using XML based configuration.
-| link:guides/httpsession-xml.html[HttpSession XML Guide]
-
-| {gh-samples-url}httpsession-gemfire-boot[HttpSession with GemFire using Spring Boot]
-| Demonstrates how to use Spring Session to replace the `HttpSession` with GemFire using a Client/Server topology in a Spring Boot application.
-| link:guides/httpsession-gemfire-boot.html[HttpSession GemFire Boot Guide]
-
-| {gh-samples-url}httpsession-gemfire-clientserver[HttpSession with GemFire (Client/Server)]
+| {gh-samples-url}boot/boot-gemfire[HttpSession with GemFire]
| Demonstrates how to use Spring Session to replace the `HttpSession` with GemFire using a Client/Server topology.
-| link:guides/httpsession-gemfire-clientserver.html[HttpSession GemFire Client/Server Guide]
+| link:guides/boot-gemfire.html[HttpSession with GemFire Guide]
-| {gh-samples-url}httpsession-gemfire-clientserver-xml[HttpSession with GemFire (Client/Server) using XML]
-| Demonstrates how to use Spring Session to replace the `HttpSession` with GemFire using a Client/Server topology configured with XML.
-| link:guides/httpsession-gemfire-clientserver-xml.html[HttpSession GemFire Client/Server XML Guide]
+| {gh-samples-url}boot/boot-mongo[HttpSession with Mongo]
+| Demonstrates how to use Spring Session to replace the `HttpSession` with Mongo.
+| link:guides/boot-mongo.html[HttpSession with Mongo Guide]
-| {gh-samples-url}httpsession-gemfire-p2p[HttpSession with GemFire (P2P)]
+| {gh-samples-url}boot/boot-jdbc[HttpSession with JDBC]
+| Demonstrates how to use Spring Session to replace the `HttpSession` with a relational database store.
+| link:guides/boot-jdbc.html[HttpSession with JDBC Guide]
+
+| {gh-samples-url}boot/boot-findbyusername[Find by Username]
+| Demonstrates how to use Spring Session to find sessions by username.
+| link:guides/boot-findbyusername.html[Find by Username Guide]
+
+| {gh-samples-url}boot/boot-websocket[WebSockets]
+| Demonstrates how to use Spring Session with WebSockets.
+| link:guides/boot-websocket.html[WebSockets Guide]
+
+| {gh-samples-url}boot/boot-redis-json[HttpSession with Redis JSON serialization]
+| Demonstrates how to use Spring Session to replace the `HttpSession` with Redis using JSON serialization.
+| TBD
+
+|===
+
+.Sample Applications using Spring Java based configuration
+|===
+| Source | Description | Guide
+
+| {gh-samples-url}java/java-redis[HttpSession with Redis]
+| Demonstrates how to use Spring Session to replace the `HttpSession` with Redis.
+| link:guides/java-redis.html[HttpSession with Redis Guide]
+
+| {gh-samples-url}java/java-gemfire-clientserver[HttpSession with GemFire (Client/Server)]
+| Demonstrates how to use Spring Session to replace the `HttpSession` with GemFire using a Client/Server topology.
+| link:guides/java-gemfire-clientserver.html[HttpSession with GemFire (Client/Server) Guide]
+
+| {gh-samples-url}java/java-gemfire-p2p[HttpSession with GemFire (P2P)]
| Demonstrates how to use Spring Session to replace the `HttpSession` with GemFire using a P2P topology.
-| link:guides/httpsession-gemfire-p2p.html[HttpSession GemFire P2P Guide]
+| link:guides/java-gemfire-p2p.html[HttpSession with GemFire (P2P) Guide]
-| {gh-samples-url}httpsession-gemfire-p2p-xml[HttpSession with GemFire (P2P) using XML]
-| Demonstrates how to use Spring Session to replace the `HttpSession` with GemFire using a P2P topology configured with XML.
-| link:guides/httpsession-gemfire-p2p-xml.html[HttpSession GemFire P2P XML Guide]
+| {gh-samples-url}java/java-jdbc[HttpSession with JDBC]
+| Demonstrates how to use Spring Session to replace the `HttpSession` with a relational database store.
+| link:guides/java-jdbc.html[HttpSession with JDBC Guide]
-| {gh-samples-url}custom-cookie[Custom Cookie]
+| {gh-samples-url}java/java-hazelcast[HttpSession with Hazelcast]
+| Demonstrates how to use Spring Session to replace the `HttpSession` with Hazelcast.
+| link:guides/java-hazelcast.html[HttpSession with Hazelcast Guide]
+
+| {gh-samples-url}java/java-custom-cookie[Custom Cookie]
| Demonstrates how to use Spring Session and customize the cookie.
| link:guides/custom-cookie.html[Custom Cookie Guide]
-| {gh-samples-url}boot[Spring Boot]
-| Demonstrates how to use Spring Session with Spring Boot.
-| link:guides/boot.html[Spring Boot Guide]
+| {gh-samples-url}java/java-security[Spring Security]
+| Demonstrates how to use Spring Session with an existing Spring Security application.
+| link:guides/java-security.html[Spring Security Guide]
-| {gh-samples-url}grails3[Grails 3]
+| {gh-samples-url}java/java-rest[REST]
+| Demonstrates how to use Spring Session in a REST application to support authenticating with a header.
+| link:guides/java-rest.html[REST Guide]
+
+| {gh-samples-url}java/java-users[Multiple Users]
+| Demonstrates how to use Spring Session to manage multiple simultaneous browser sessions (i.e Google Accounts).
+| link:guides/java-users.html[Multiple Users Guide]
+
+|===
+
+.Sample Applications using Spring XML based configuration
+|===
+| Source | Description | Guide
+
+| {gh-samples-url}xml/xml-redis[HttpSession with Redis]
+| Demonstrates how to use Spring Session to replace the `HttpSession` with a Redis store.
+| link:guides/xml-redis.html[HttpSession with Redis Guide]
+
+| {gh-samples-url}xml/xml-gemfire-clientserver[HttpSession with GemFire (Client/Server)]
+| Demonstrates how to use Spring Session to replace the `HttpSession` with GemFire using a Client/Server topology.
+| link:guides/xml-gemfire-clientserver.html[HttpSession with GemFire (Client/Server) Guide]
+
+| {gh-samples-url}xml/xml-gemfire-p2p[HttpSession with GemFire (P2P)]
+| Demonstrates how to use Spring Session to replace the `HttpSession` with GemFire using a P2P topology.
+| link:guides/xml-gemfire-p2p.html[HttpSession with GemFire (P2P) Guide]
+
+| {gh-samples-url}xml/xml-jdbc[HttpSession with JDBC]
+| Demonstrates how to use Spring Session to replace the `HttpSession` with a relational database store.
+| link:guides/xml-jdbc.html[HttpSession with JDBC Guide]
+
+|===
+
+.Misc sample Applications
+|===
+| Source | Description | Guide
+
+| {gh-samples-url}misc/grails3[Grails 3]
| Demonstrates how to use Spring Session with Grails 3.
| link:guides/grails3.html[Grails 3 Guide]
-| {gh-samples-url}security[Spring Security]
-| Demonstrates how to use Spring Session with an existing Spring Security application.
-| link:guides/security.html[Spring Security Guide]
-
-| {gh-samples-url}rest[REST]
-| Demonstrates how to use Spring Session in a REST application to support authenticating with a header.
-| link:guides/rest.html[REST Guide]
-
-| {gh-samples-url}findbyusername[Find by Username]
-| Demonstrates how to use Spring Session to find sessions by username.
-| link:guides/findbyusername.html[Find by Username]
-
-| {gh-samples-url}users[Multiple Users]
-| Demonstrates how to use Spring Session to manage multiple simultaneous browser sessions (i.e Google Accounts).
-| link:guides/users.html[Manage Multiple Users Guide]
-
-| {gh-samples-url}websocket[WebSocket]
-| Demonstrates how to use Spring Session with WebSockets.
-| link:guides/websocket.html[WebSocket Guide]
-
-| {gh-samples-url}mongo[Mongo]
-| Demonstrates how to use Spring Session with Mongo.
-| link:guides/mongo.html[Mongo Guide]
-
-[[samples-hazelcast]]
-| {gh-samples-url}hazelcast[Hazelcast]
-| Demonstrates how to use Spring Session with Hazelcast.
+| {gh-samples-url}misc/hazelcast[Hazelcast]
+| Demonstrates how to use Spring Session with Hazelcast in a Java EE application.
| TBD
-[[samples-hazelcast-spring]]
-| {gh-samples-url}hazelcast-spring[Hazelcast Spring]
-| Demonstrates how to use Spring Session and Hazelcast with an existing Spring Security application.
-| link:guides/hazelcast-spring.html[Hazelcast Spring Guide]
-
-| {gh-samples-url}httpsession-jdbc[HttpSession JDBC]
-| Demonstrates how to use Spring Session to replace the `HttpSession` with a relational database store.
-| link:guides/httpsession-jdbc.html[HttpSession JDBC Guide]
-
-| {gh-samples-url}httpsession-jdbc-xml[HttpSession JDBC XML]
-| Demonstrates how to use Spring Session to replace the `HttpSession` with a relational database store using XML based configuration.
-| link:guides/httpsession-jdbc-xml.html[HttpSession JDBC XML Guide]
-
-| {gh-samples-url}httpsession-jdbc-boot[HttpSession JDBC Spring Boot]
-| Demonstrates how to use Spring Session to replace the `HttpSession` with a relational database store when using Spring Boot.
-| link:guides/httpsession-jdbc-boot.html[HttpSession JDBC Spring Boot Guide]
-
|===
[[httpsession]]
@@ -168,7 +188,7 @@ This section describes how to use Redis to back `HttpSession` using Java based c
NOTE: The <> provides a working sample on how to integrate Spring Session and `HttpSession` using Java configuration.
You can read the basic steps for integration below, but you are encouraged to follow along with the detailed HttpSession Guide when integrating with your own application.
-include::guides/httpsession.adoc[tags=config,leveloffset=+3]
+include::guides/java-redis.adoc[tags=config,leveloffset=+3]
[[httpsession-redis-xml]]
==== Redis XML Based Configuration
@@ -178,7 +198,7 @@ This section describes how to use Redis to back `HttpSession` using XML based co
NOTE: The <> provides a working sample on how to integrate Spring Session and `HttpSession` using XML configuration.
You can read the basic steps for integration below, but you are encouraged to follow along with the detailed HttpSession XML Guide when integrating with your own application.
-include::guides/httpsession-xml.adoc[tags=config,leveloffset=+3]
+include::guides/xml-redis.adoc[tags=config,leveloffset=+3]
[[httpsession-gemfire]]
=== HttpSession with Pivotal GemFire
@@ -223,7 +243,7 @@ Spring Session and GemFire to replace the HttpSession using Java configuration.
integration below, but you are encouraged to follow along with the detailed HttpSession with GemFire (Client-Server)
Guide when integrating with your own application.
-include::guides/httpsession-gemfire-clientserver.adoc[tags=config,leveloffset=+3]
+include::guides/java-gemfire-clientserver.adoc[tags=config,leveloffset=+3]
[[http-session-gemfire-clientserver-xml]]
===== GemFire Client-Server XML-based Configuration
@@ -235,7 +255,7 @@ integrate Spring Session and GemFire to replace the `HttpSession` using XML conf
for integration below, but you are encouraged to follow along with the detailed HttpSession with GemFire (Client-Server)
using XML Guide when integrating with your own application.
-include::guides/httpsession-gemfire-clientserver-xml.adoc[tags=config,leveloffset=+3]
+include::guides/xml-gemfire-clientserver.adoc[tags=config,leveloffset=+3]
[[httpsession-gemfire-p2p]]
==== GemFire Peer-To-Peer (P2P)
@@ -270,7 +290,7 @@ Spring Session and GemFire to replace the `HttpSession` using Java configuration
for integration below, but you are encouraged to follow along with the detailed HttpSession with GemFire (P2P) Guide
when integrating with your own application.
-include::guides/httpsession-gemfire-p2p.adoc[tags=config,leveloffset=+3]
+include::guides/java-gemfire-p2p.adoc[tags=config,leveloffset=+3]
[[httpsession-gemfire-p2p-xml]]
===== GemFire Peer-To-Peer (P2P) XML-based Configuration
@@ -282,7 +302,7 @@ Spring Session and GemFire to replace the `HttpSession` using XML configuration.
integration below, but you are encouraged to follow along with the detailed HttpSession with GemFire (P2P) using XML
Guide when integrating with your own application.
-include::guides/httpsession-gemfire-p2p-xml.adoc[tags=config,leveloffset=+3]
+include::guides/xml-gemfire-p2p.adoc[tags=config,leveloffset=+3]
[[httpsession-jdbc]]
=== HttpSession with JDBC
@@ -302,7 +322,7 @@ This section describes how to use a relational database to back `HttpSession` us
NOTE: The <> provides a working sample on how to integrate Spring Session and `HttpSession` using Java configuration.
You can read the basic steps for integration below, but you are encouraged to follow along with the detailed HttpSession JDBC Guide when integrating with your own application.
-include::guides/httpsession-jdbc.adoc[tags=config,leveloffset=+3]
+include::guides/java-jdbc.adoc[tags=config,leveloffset=+3]
[[httpsession-jdbc-xml]]
==== JDBC XML Based Configuration
@@ -312,7 +332,7 @@ This section describes how to use a relational database to back `HttpSession` us
NOTE: The <> provides a working sample on how to integrate Spring Session and `HttpSession` using XML configuration.
You can read the basic steps for integration below, but you are encouraged to follow along with the detailed HttpSession JDBC XML Guide when integrating with your own application.
-include::guides/httpsession-jdbc-xml.adoc[tags=config,leveloffset=+3]
+include::guides/xml-jdbc.adoc[tags=config,leveloffset=+3]
[[httpsession-jdbc-boot]]
==== JDBC Spring Boot Based Configuration
@@ -322,7 +342,7 @@ This section describes how to use a relational database to back `HttpSession` wh
NOTE: The <> provides a working sample on how to integrate Spring Session and `HttpSession` using Spring Boot.
You can read the basic steps for integration below, but you are encouraged to follow along with the detailed HttpSession JDBC Spring Boot Guide when integrating with your own application.
-include::guides/httpsession-jdbc-boot.adoc[tags=config,leveloffset=+3]
+include::guides/boot-jdbc.adoc[tags=config,leveloffset=+3]
[[httpsession-mongo]]
=== HttpSession with Mongo
@@ -334,7 +354,7 @@ This section describes how to use Mongo to back `HttpSession` using Java based c
NOTE: The <> provides a working sample on how to integrate Spring Session and `HttpSession` using Java configuration.
You can read the basic steps for integration below, but you are encouraged to follow along with the detailed HttpSession Guide when integrating with your own application.
-include::guides/mongo.adoc[tags=config,leveloffset=+3]
+include::guides/boot-mongo.adoc[tags=config,leveloffset=+3]
==== Session serialization mechanisms
@@ -385,7 +405,7 @@ This section describes how to use Hazelcast to back `HttpSession` using Java bas
NOTE: The <> provides a working sample on how to integrate Spring Session and `HttpSession` using Java configuration.
You can read the basic steps for integration below, but you are encouraged to follow along with the detailed Hazelcast Spring Guide when integrating with your own application.
-include::guides/hazelcast-spring.adoc[tags=config,leveloffset=+2]
+include::guides/java-hazelcast.adoc[tags=config,leveloffset=+2]
[[httpsession-how]]
=== How HttpSession Integration Works
@@ -452,7 +472,7 @@ This provides the ability to support authenticating with multiple users in the s
NOTE: The <> provides a complete working example of managing multiple users in the same browser instance.
You can follow the basic steps for integration below, but you are encouraged to follow along with the detailed Manage Multiple Users Guide when integrating with your own application.
-include::guides/users.adoc[tags=how-does-it-work,leveloffset=+1]
+include::guides/java-users.adoc[tags=how-does-it-work,leveloffset=+1]
[[httpsession-rest]]
=== HttpSession & RESTful APIs
@@ -463,7 +483,7 @@ Spring Session can work with RESTful APIs by allowing the session to be provided
NOTE: The <> provides a working sample on how to use Spring Session in a REST application to support authenticating with a header.
You can follow the basic steps for integration below, but you are encouraged to follow along with the detailed REST Guide when integrating with your own application.
-include::guides/rest.adoc[tags=config,leveloffset=+2]
+include::guides/java-rest.adoc[tags=config,leveloffset=+2]
[[httpsession-httpsessionlistener]]
=== HttpSessionListener
@@ -496,7 +516,7 @@ include::{docs-test-resources-dir}docs/http/HttpSessionListenerXmlTests-context.
Spring Session provides transparent integration with Spring's WebSocket support.
-include::guides/websocket.adoc[tags=disclaimer,leveloffset=+1]
+include::guides/boot-websocket.adoc[tags=disclaimer,leveloffset=+1]
[[websocket-why]]
=== Why Spring Session & WebSockets?
@@ -522,7 +542,7 @@ You can follow the basic steps for integration below, but you are encouraged to
Before using WebSocket integration, you should be sure that you have <> working first.
-include::guides/websocket.adoc[tags=config,leveloffset=+2]
+include::guides/boot-websocket.adoc[tags=config,leveloffset=+2]
[[spring-security]]
== Spring Security Integration
diff --git a/samples/findbyusername/README.adoc b/samples/boot/boot-findbyusername/README.adoc
similarity index 100%
rename from samples/findbyusername/README.adoc
rename to samples/boot/boot-findbyusername/README.adoc
diff --git a/samples/findbyusername/build.gradle b/samples/boot/boot-findbyusername/build.gradle
similarity index 100%
rename from samples/findbyusername/build.gradle
rename to samples/boot/boot-findbyusername/build.gradle
diff --git a/samples/findbyusername/src/integration-test/java/sample/FindByUsernameTests.java b/samples/boot/boot-findbyusername/src/integration-test/java/sample/FindByUsernameTests.java
similarity index 100%
rename from samples/findbyusername/src/integration-test/java/sample/FindByUsernameTests.java
rename to samples/boot/boot-findbyusername/src/integration-test/java/sample/FindByUsernameTests.java
diff --git a/samples/boot/src/integration-test/java/sample/pages/BasePage.java b/samples/boot/boot-findbyusername/src/integration-test/java/sample/pages/BasePage.java
similarity index 100%
rename from samples/boot/src/integration-test/java/sample/pages/BasePage.java
rename to samples/boot/boot-findbyusername/src/integration-test/java/sample/pages/BasePage.java
diff --git a/samples/findbyusername/src/integration-test/java/sample/pages/HomePage.java b/samples/boot/boot-findbyusername/src/integration-test/java/sample/pages/HomePage.java
similarity index 100%
rename from samples/findbyusername/src/integration-test/java/sample/pages/HomePage.java
rename to samples/boot/boot-findbyusername/src/integration-test/java/sample/pages/HomePage.java
diff --git a/samples/findbyusername/src/integration-test/java/sample/pages/LoginPage.java b/samples/boot/boot-findbyusername/src/integration-test/java/sample/pages/LoginPage.java
similarity index 100%
rename from samples/findbyusername/src/integration-test/java/sample/pages/LoginPage.java
rename to samples/boot/boot-findbyusername/src/integration-test/java/sample/pages/LoginPage.java
diff --git a/samples/findbyusername/src/main/java/sample/FindByUsernameApplication.java b/samples/boot/boot-findbyusername/src/main/java/sample/FindByUsernameApplication.java
similarity index 100%
rename from samples/findbyusername/src/main/java/sample/FindByUsernameApplication.java
rename to samples/boot/boot-findbyusername/src/main/java/sample/FindByUsernameApplication.java
diff --git a/samples/findbyusername/src/main/java/sample/config/GeoConfig.java b/samples/boot/boot-findbyusername/src/main/java/sample/config/GeoConfig.java
similarity index 100%
rename from samples/findbyusername/src/main/java/sample/config/GeoConfig.java
rename to samples/boot/boot-findbyusername/src/main/java/sample/config/GeoConfig.java
diff --git a/samples/findbyusername/src/main/java/sample/config/HttpSessionConfig.java b/samples/boot/boot-findbyusername/src/main/java/sample/config/HttpSessionConfig.java
similarity index 100%
rename from samples/findbyusername/src/main/java/sample/config/HttpSessionConfig.java
rename to samples/boot/boot-findbyusername/src/main/java/sample/config/HttpSessionConfig.java
diff --git a/samples/findbyusername/src/main/java/sample/config/SecurityConfig.java b/samples/boot/boot-findbyusername/src/main/java/sample/config/SecurityConfig.java
similarity index 100%
rename from samples/findbyusername/src/main/java/sample/config/SecurityConfig.java
rename to samples/boot/boot-findbyusername/src/main/java/sample/config/SecurityConfig.java
diff --git a/samples/findbyusername/src/main/java/sample/mvc/IndexController.java b/samples/boot/boot-findbyusername/src/main/java/sample/mvc/IndexController.java
similarity index 100%
rename from samples/findbyusername/src/main/java/sample/mvc/IndexController.java
rename to samples/boot/boot-findbyusername/src/main/java/sample/mvc/IndexController.java
diff --git a/samples/findbyusername/src/main/java/sample/mvc/LoginController.java b/samples/boot/boot-findbyusername/src/main/java/sample/mvc/LoginController.java
similarity index 100%
rename from samples/findbyusername/src/main/java/sample/mvc/LoginController.java
rename to samples/boot/boot-findbyusername/src/main/java/sample/mvc/LoginController.java
diff --git a/samples/findbyusername/src/main/java/sample/session/SessionDetails.java b/samples/boot/boot-findbyusername/src/main/java/sample/session/SessionDetails.java
similarity index 100%
rename from samples/findbyusername/src/main/java/sample/session/SessionDetails.java
rename to samples/boot/boot-findbyusername/src/main/java/sample/session/SessionDetails.java
diff --git a/samples/findbyusername/src/main/java/sample/session/SessionDetailsFilter.java b/samples/boot/boot-findbyusername/src/main/java/sample/session/SessionDetailsFilter.java
similarity index 100%
rename from samples/findbyusername/src/main/java/sample/session/SessionDetailsFilter.java
rename to samples/boot/boot-findbyusername/src/main/java/sample/session/SessionDetailsFilter.java
diff --git a/samples/findbyusername/src/main/resources/GeoLite2-City.mmdb b/samples/boot/boot-findbyusername/src/main/resources/GeoLite2-City.mmdb
similarity index 100%
rename from samples/findbyusername/src/main/resources/GeoLite2-City.mmdb
rename to samples/boot/boot-findbyusername/src/main/resources/GeoLite2-City.mmdb
diff --git a/samples/boot/src/main/resources/application.properties b/samples/boot/boot-findbyusername/src/main/resources/application.properties
similarity index 100%
rename from samples/boot/src/main/resources/application.properties
rename to samples/boot/boot-findbyusername/src/main/resources/application.properties
diff --git a/samples/boot/src/main/resources/static/resources/img/favicon.ico b/samples/boot/boot-findbyusername/src/main/resources/static/resources/img/favicon.ico
similarity index 100%
rename from samples/boot/src/main/resources/static/resources/img/favicon.ico
rename to samples/boot/boot-findbyusername/src/main/resources/static/resources/img/favicon.ico
diff --git a/samples/boot/src/main/resources/static/resources/img/logo.png b/samples/boot/boot-findbyusername/src/main/resources/static/resources/img/logo.png
similarity index 100%
rename from samples/boot/src/main/resources/static/resources/img/logo.png
rename to samples/boot/boot-findbyusername/src/main/resources/static/resources/img/logo.png
diff --git a/samples/findbyusername/src/main/resources/templates/index.html b/samples/boot/boot-findbyusername/src/main/resources/templates/index.html
similarity index 100%
rename from samples/findbyusername/src/main/resources/templates/index.html
rename to samples/boot/boot-findbyusername/src/main/resources/templates/index.html
diff --git a/samples/findbyusername/src/main/resources/templates/layout.html b/samples/boot/boot-findbyusername/src/main/resources/templates/layout.html
similarity index 100%
rename from samples/findbyusername/src/main/resources/templates/layout.html
rename to samples/boot/boot-findbyusername/src/main/resources/templates/layout.html
diff --git a/samples/findbyusername/src/main/resources/templates/login.html b/samples/boot/boot-findbyusername/src/main/resources/templates/login.html
similarity index 100%
rename from samples/findbyusername/src/main/resources/templates/login.html
rename to samples/boot/boot-findbyusername/src/main/resources/templates/login.html
diff --git a/samples/findbyusername/src/test/java/sample/session/SessionDetailsFilterTests.java b/samples/boot/boot-findbyusername/src/test/java/sample/session/SessionDetailsFilterTests.java
similarity index 100%
rename from samples/findbyusername/src/test/java/sample/session/SessionDetailsFilterTests.java
rename to samples/boot/boot-findbyusername/src/test/java/sample/session/SessionDetailsFilterTests.java
diff --git a/samples/httpsession-gemfire-boot/build.gradle b/samples/boot/boot-gemfire/build.gradle
similarity index 100%
rename from samples/httpsession-gemfire-boot/build.gradle
rename to samples/boot/boot-gemfire/build.gradle
diff --git a/samples/httpsession-gemfire-boot/src/integration-test/java/sample/AttributeTests.java b/samples/boot/boot-gemfire/src/integration-test/java/sample/AttributeTests.java
similarity index 100%
rename from samples/httpsession-gemfire-boot/src/integration-test/java/sample/AttributeTests.java
rename to samples/boot/boot-gemfire/src/integration-test/java/sample/AttributeTests.java
diff --git a/samples/httpsession-gemfire-boot/src/integration-test/java/sample/pages/HomePage.java b/samples/boot/boot-gemfire/src/integration-test/java/sample/pages/HomePage.java
similarity index 100%
rename from samples/httpsession-gemfire-boot/src/integration-test/java/sample/pages/HomePage.java
rename to samples/boot/boot-gemfire/src/integration-test/java/sample/pages/HomePage.java
diff --git a/samples/httpsession-gemfire-boot/src/main/java/sample/client/Application.java b/samples/boot/boot-gemfire/src/main/java/sample/client/Application.java
similarity index 100%
rename from samples/httpsession-gemfire-boot/src/main/java/sample/client/Application.java
rename to samples/boot/boot-gemfire/src/main/java/sample/client/Application.java
diff --git a/samples/httpsession-gemfire-boot/src/main/java/sample/server/GemFireServer.java b/samples/boot/boot-gemfire/src/main/java/sample/server/GemFireServer.java
similarity index 100%
rename from samples/httpsession-gemfire-boot/src/main/java/sample/server/GemFireServer.java
rename to samples/boot/boot-gemfire/src/main/java/sample/server/GemFireServer.java
diff --git a/samples/httpsession-gemfire-boot/src/main/resources/templates/index.html b/samples/boot/boot-gemfire/src/main/resources/templates/index.html
similarity index 100%
rename from samples/httpsession-gemfire-boot/src/main/resources/templates/index.html
rename to samples/boot/boot-gemfire/src/main/resources/templates/index.html
diff --git a/samples/boot/README.adoc b/samples/boot/boot-jdbc/README.adoc
similarity index 100%
rename from samples/boot/README.adoc
rename to samples/boot/boot-jdbc/README.adoc
diff --git a/samples/httpsession-jdbc-boot/build.gradle b/samples/boot/boot-jdbc/build.gradle
similarity index 100%
rename from samples/httpsession-jdbc-boot/build.gradle
rename to samples/boot/boot-jdbc/build.gradle
diff --git a/samples/httpsession-jdbc-boot/src/integration-test/java/sample/BootTests.java b/samples/boot/boot-jdbc/src/integration-test/java/sample/BootTests.java
similarity index 100%
rename from samples/httpsession-jdbc-boot/src/integration-test/java/sample/BootTests.java
rename to samples/boot/boot-jdbc/src/integration-test/java/sample/BootTests.java
diff --git a/samples/findbyusername/src/integration-test/java/sample/pages/BasePage.java b/samples/boot/boot-jdbc/src/integration-test/java/sample/pages/BasePage.java
similarity index 100%
rename from samples/findbyusername/src/integration-test/java/sample/pages/BasePage.java
rename to samples/boot/boot-jdbc/src/integration-test/java/sample/pages/BasePage.java
diff --git a/samples/httpsession-jdbc-boot/src/integration-test/java/sample/pages/HomePage.java b/samples/boot/boot-jdbc/src/integration-test/java/sample/pages/HomePage.java
similarity index 100%
rename from samples/httpsession-jdbc-boot/src/integration-test/java/sample/pages/HomePage.java
rename to samples/boot/boot-jdbc/src/integration-test/java/sample/pages/HomePage.java
diff --git a/samples/boot/src/integration-test/java/sample/pages/LoginPage.java b/samples/boot/boot-jdbc/src/integration-test/java/sample/pages/LoginPage.java
similarity index 100%
rename from samples/boot/src/integration-test/java/sample/pages/LoginPage.java
rename to samples/boot/boot-jdbc/src/integration-test/java/sample/pages/LoginPage.java
diff --git a/samples/boot/src/main/java/sample/Application.java b/samples/boot/boot-jdbc/src/main/java/sample/Application.java
similarity index 100%
rename from samples/boot/src/main/java/sample/Application.java
rename to samples/boot/boot-jdbc/src/main/java/sample/Application.java
diff --git a/samples/httpsession-jdbc-boot/src/main/java/sample/config/HttpSessionConfig.java b/samples/boot/boot-jdbc/src/main/java/sample/config/HttpSessionConfig.java
similarity index 100%
rename from samples/httpsession-jdbc-boot/src/main/java/sample/config/HttpSessionConfig.java
rename to samples/boot/boot-jdbc/src/main/java/sample/config/HttpSessionConfig.java
diff --git a/samples/httpsession-jdbc-boot/src/main/java/sample/config/SecurityConfig.java b/samples/boot/boot-jdbc/src/main/java/sample/config/SecurityConfig.java
similarity index 100%
rename from samples/httpsession-jdbc-boot/src/main/java/sample/config/SecurityConfig.java
rename to samples/boot/boot-jdbc/src/main/java/sample/config/SecurityConfig.java
diff --git a/samples/boot/src/main/java/sample/mvc/IndexController.java b/samples/boot/boot-jdbc/src/main/java/sample/mvc/IndexController.java
similarity index 100%
rename from samples/boot/src/main/java/sample/mvc/IndexController.java
rename to samples/boot/boot-jdbc/src/main/java/sample/mvc/IndexController.java
diff --git a/samples/httpsession-jdbc-boot/src/main/resources/application.properties b/samples/boot/boot-jdbc/src/main/resources/application.properties
similarity index 100%
rename from samples/httpsession-jdbc-boot/src/main/resources/application.properties
rename to samples/boot/boot-jdbc/src/main/resources/application.properties
diff --git a/samples/findbyusername/src/main/resources/static/resources/img/favicon.ico b/samples/boot/boot-jdbc/src/main/resources/static/resources/img/favicon.ico
similarity index 100%
rename from samples/findbyusername/src/main/resources/static/resources/img/favicon.ico
rename to samples/boot/boot-jdbc/src/main/resources/static/resources/img/favicon.ico
diff --git a/samples/findbyusername/src/main/resources/static/resources/img/logo.png b/samples/boot/boot-jdbc/src/main/resources/static/resources/img/logo.png
similarity index 100%
rename from samples/findbyusername/src/main/resources/static/resources/img/logo.png
rename to samples/boot/boot-jdbc/src/main/resources/static/resources/img/logo.png
diff --git a/samples/boot/src/main/resources/templates/index.html b/samples/boot/boot-jdbc/src/main/resources/templates/index.html
similarity index 100%
rename from samples/boot/src/main/resources/templates/index.html
rename to samples/boot/boot-jdbc/src/main/resources/templates/index.html
diff --git a/samples/boot/src/main/resources/templates/layout.html b/samples/boot/boot-jdbc/src/main/resources/templates/layout.html
similarity index 100%
rename from samples/boot/src/main/resources/templates/layout.html
rename to samples/boot/boot-jdbc/src/main/resources/templates/layout.html
diff --git a/samples/httpsession-jdbc-boot/README.adoc b/samples/boot/boot-mongo/README.adoc
similarity index 100%
rename from samples/httpsession-jdbc-boot/README.adoc
rename to samples/boot/boot-mongo/README.adoc
diff --git a/samples/mongo/build.gradle b/samples/boot/boot-mongo/build.gradle
similarity index 100%
rename from samples/mongo/build.gradle
rename to samples/boot/boot-mongo/build.gradle
diff --git a/samples/mongo/src/integration-test/java/sample/BootTests.java b/samples/boot/boot-mongo/src/integration-test/java/sample/BootTests.java
similarity index 100%
rename from samples/mongo/src/integration-test/java/sample/BootTests.java
rename to samples/boot/boot-mongo/src/integration-test/java/sample/BootTests.java
diff --git a/samples/mongo/src/integration-test/java/sample/pages/BasePage.java b/samples/boot/boot-mongo/src/integration-test/java/sample/pages/BasePage.java
similarity index 100%
rename from samples/mongo/src/integration-test/java/sample/pages/BasePage.java
rename to samples/boot/boot-mongo/src/integration-test/java/sample/pages/BasePage.java
diff --git a/samples/mongo/src/integration-test/java/sample/pages/HomePage.java b/samples/boot/boot-mongo/src/integration-test/java/sample/pages/HomePage.java
similarity index 100%
rename from samples/mongo/src/integration-test/java/sample/pages/HomePage.java
rename to samples/boot/boot-mongo/src/integration-test/java/sample/pages/HomePage.java
diff --git a/samples/mongo/src/integration-test/java/sample/pages/LoginPage.java b/samples/boot/boot-mongo/src/integration-test/java/sample/pages/LoginPage.java
similarity index 100%
rename from samples/mongo/src/integration-test/java/sample/pages/LoginPage.java
rename to samples/boot/boot-mongo/src/integration-test/java/sample/pages/LoginPage.java
diff --git a/samples/mongo/src/main/java/sample/Application.java b/samples/boot/boot-mongo/src/main/java/sample/Application.java
similarity index 100%
rename from samples/mongo/src/main/java/sample/Application.java
rename to samples/boot/boot-mongo/src/main/java/sample/Application.java
diff --git a/samples/mongo/src/main/java/sample/EmbeddedMongoPortLogger.java b/samples/boot/boot-mongo/src/main/java/sample/EmbeddedMongoPortLogger.java
similarity index 100%
rename from samples/mongo/src/main/java/sample/EmbeddedMongoPortLogger.java
rename to samples/boot/boot-mongo/src/main/java/sample/EmbeddedMongoPortLogger.java
diff --git a/samples/mongo/src/main/java/sample/config/HttpSessionConfig.java b/samples/boot/boot-mongo/src/main/java/sample/config/HttpSessionConfig.java
similarity index 100%
rename from samples/mongo/src/main/java/sample/config/HttpSessionConfig.java
rename to samples/boot/boot-mongo/src/main/java/sample/config/HttpSessionConfig.java
diff --git a/samples/mongo/src/main/java/sample/config/SecurityConfig.java b/samples/boot/boot-mongo/src/main/java/sample/config/SecurityConfig.java
similarity index 100%
rename from samples/mongo/src/main/java/sample/config/SecurityConfig.java
rename to samples/boot/boot-mongo/src/main/java/sample/config/SecurityConfig.java
diff --git a/samples/mongo/src/main/java/sample/mvc/IndexController.java b/samples/boot/boot-mongo/src/main/java/sample/mvc/IndexController.java
similarity index 100%
rename from samples/mongo/src/main/java/sample/mvc/IndexController.java
rename to samples/boot/boot-mongo/src/main/java/sample/mvc/IndexController.java
diff --git a/samples/mongo/src/main/resources/application.properties b/samples/boot/boot-mongo/src/main/resources/application.properties
similarity index 100%
rename from samples/mongo/src/main/resources/application.properties
rename to samples/boot/boot-mongo/src/main/resources/application.properties
diff --git a/samples/httpsession-jdbc-boot/src/main/resources/static/resources/img/favicon.ico b/samples/boot/boot-mongo/src/main/resources/static/resources/img/favicon.ico
similarity index 100%
rename from samples/httpsession-jdbc-boot/src/main/resources/static/resources/img/favicon.ico
rename to samples/boot/boot-mongo/src/main/resources/static/resources/img/favicon.ico
diff --git a/samples/httpsession-jdbc-boot/src/main/resources/static/resources/img/logo.png b/samples/boot/boot-mongo/src/main/resources/static/resources/img/logo.png
similarity index 100%
rename from samples/httpsession-jdbc-boot/src/main/resources/static/resources/img/logo.png
rename to samples/boot/boot-mongo/src/main/resources/static/resources/img/logo.png
diff --git a/samples/httpsession-jdbc-boot/src/main/resources/templates/index.html b/samples/boot/boot-mongo/src/main/resources/templates/index.html
similarity index 100%
rename from samples/httpsession-jdbc-boot/src/main/resources/templates/index.html
rename to samples/boot/boot-mongo/src/main/resources/templates/index.html
diff --git a/samples/httpsession-jdbc-boot/src/main/resources/templates/layout.html b/samples/boot/boot-mongo/src/main/resources/templates/layout.html
similarity index 100%
rename from samples/httpsession-jdbc-boot/src/main/resources/templates/layout.html
rename to samples/boot/boot-mongo/src/main/resources/templates/layout.html
diff --git a/samples/httpsession-redis-json/build.gradle b/samples/boot/boot-redis-json/build.gradle
similarity index 100%
rename from samples/httpsession-redis-json/build.gradle
rename to samples/boot/boot-redis-json/build.gradle
diff --git a/samples/httpsession-redis-json/src/integration-test/java/sample/HttpRedisJsonTest.java b/samples/boot/boot-redis-json/src/integration-test/java/sample/HttpRedisJsonTest.java
similarity index 100%
rename from samples/httpsession-redis-json/src/integration-test/java/sample/HttpRedisJsonTest.java
rename to samples/boot/boot-redis-json/src/integration-test/java/sample/HttpRedisJsonTest.java
diff --git a/samples/httpsession-redis-json/src/integration-test/java/sample/RedisSerializerTest.java b/samples/boot/boot-redis-json/src/integration-test/java/sample/RedisSerializerTest.java
similarity index 100%
rename from samples/httpsession-redis-json/src/integration-test/java/sample/RedisSerializerTest.java
rename to samples/boot/boot-redis-json/src/integration-test/java/sample/RedisSerializerTest.java
diff --git a/samples/httpsession-jdbc-boot/src/integration-test/java/sample/pages/BasePage.java b/samples/boot/boot-redis-json/src/integration-test/java/sample/pages/BasePage.java
similarity index 100%
rename from samples/httpsession-jdbc-boot/src/integration-test/java/sample/pages/BasePage.java
rename to samples/boot/boot-redis-json/src/integration-test/java/sample/pages/BasePage.java
diff --git a/samples/httpsession-redis-json/src/integration-test/java/sample/pages/HomePage.java b/samples/boot/boot-redis-json/src/integration-test/java/sample/pages/HomePage.java
similarity index 100%
rename from samples/httpsession-redis-json/src/integration-test/java/sample/pages/HomePage.java
rename to samples/boot/boot-redis-json/src/integration-test/java/sample/pages/HomePage.java
diff --git a/samples/httpsession-redis-json/src/integration-test/java/sample/pages/LoginPage.java b/samples/boot/boot-redis-json/src/integration-test/java/sample/pages/LoginPage.java
similarity index 100%
rename from samples/httpsession-redis-json/src/integration-test/java/sample/pages/LoginPage.java
rename to samples/boot/boot-redis-json/src/integration-test/java/sample/pages/LoginPage.java
diff --git a/samples/httpsession-redis-json/src/main/java/sample/Application.java b/samples/boot/boot-redis-json/src/main/java/sample/Application.java
similarity index 100%
rename from samples/httpsession-redis-json/src/main/java/sample/Application.java
rename to samples/boot/boot-redis-json/src/main/java/sample/Application.java
diff --git a/samples/httpsession-redis-json/src/main/java/sample/config/SecurityConfig.java b/samples/boot/boot-redis-json/src/main/java/sample/config/SecurityConfig.java
similarity index 100%
rename from samples/httpsession-redis-json/src/main/java/sample/config/SecurityConfig.java
rename to samples/boot/boot-redis-json/src/main/java/sample/config/SecurityConfig.java
diff --git a/samples/httpsession-redis-json/src/main/java/sample/config/SessionConfig.java b/samples/boot/boot-redis-json/src/main/java/sample/config/SessionConfig.java
similarity index 100%
rename from samples/httpsession-redis-json/src/main/java/sample/config/SessionConfig.java
rename to samples/boot/boot-redis-json/src/main/java/sample/config/SessionConfig.java
diff --git a/samples/httpsession-redis-json/src/main/java/sample/web/HomeController.java b/samples/boot/boot-redis-json/src/main/java/sample/web/HomeController.java
similarity index 100%
rename from samples/httpsession-redis-json/src/main/java/sample/web/HomeController.java
rename to samples/boot/boot-redis-json/src/main/java/sample/web/HomeController.java
diff --git a/samples/httpsession-redis-json/src/main/java/sample/web/LoginController.java b/samples/boot/boot-redis-json/src/main/java/sample/web/LoginController.java
similarity index 100%
rename from samples/httpsession-redis-json/src/main/java/sample/web/LoginController.java
rename to samples/boot/boot-redis-json/src/main/java/sample/web/LoginController.java
diff --git a/samples/httpsession-redis-json/src/main/resources/application.properties b/samples/boot/boot-redis-json/src/main/resources/application.properties
similarity index 100%
rename from samples/httpsession-redis-json/src/main/resources/application.properties
rename to samples/boot/boot-redis-json/src/main/resources/application.properties
diff --git a/samples/httpsession-redis-json/src/main/resources/static/resources/css/bootstrap-responsive.css b/samples/boot/boot-redis-json/src/main/resources/static/resources/css/bootstrap-responsive.css
similarity index 100%
rename from samples/httpsession-redis-json/src/main/resources/static/resources/css/bootstrap-responsive.css
rename to samples/boot/boot-redis-json/src/main/resources/static/resources/css/bootstrap-responsive.css
diff --git a/samples/httpsession-redis-json/src/main/resources/static/resources/css/bootstrap.css b/samples/boot/boot-redis-json/src/main/resources/static/resources/css/bootstrap.css
similarity index 100%
rename from samples/httpsession-redis-json/src/main/resources/static/resources/css/bootstrap.css
rename to samples/boot/boot-redis-json/src/main/resources/static/resources/css/bootstrap.css
diff --git a/samples/httpsession-redis-json/src/main/resources/static/resources/img/favicon.ico b/samples/boot/boot-redis-json/src/main/resources/static/resources/img/favicon.ico
similarity index 100%
rename from samples/httpsession-redis-json/src/main/resources/static/resources/img/favicon.ico
rename to samples/boot/boot-redis-json/src/main/resources/static/resources/img/favicon.ico
diff --git a/samples/httpsession-redis-json/src/main/resources/static/resources/img/logo.png b/samples/boot/boot-redis-json/src/main/resources/static/resources/img/logo.png
similarity index 100%
rename from samples/httpsession-redis-json/src/main/resources/static/resources/img/logo.png
rename to samples/boot/boot-redis-json/src/main/resources/static/resources/img/logo.png
diff --git a/samples/httpsession-redis-json/src/main/resources/templates/home.html b/samples/boot/boot-redis-json/src/main/resources/templates/home.html
similarity index 100%
rename from samples/httpsession-redis-json/src/main/resources/templates/home.html
rename to samples/boot/boot-redis-json/src/main/resources/templates/home.html
diff --git a/samples/httpsession-redis-json/src/main/resources/templates/layout.html b/samples/boot/boot-redis-json/src/main/resources/templates/layout.html
similarity index 100%
rename from samples/httpsession-redis-json/src/main/resources/templates/layout.html
rename to samples/boot/boot-redis-json/src/main/resources/templates/layout.html
diff --git a/samples/httpsession-redis-json/src/main/resources/templates/login.html b/samples/boot/boot-redis-json/src/main/resources/templates/login.html
similarity index 100%
rename from samples/httpsession-redis-json/src/main/resources/templates/login.html
rename to samples/boot/boot-redis-json/src/main/resources/templates/login.html
diff --git a/samples/mongo/README.adoc b/samples/boot/boot-redis/README.adoc
similarity index 100%
rename from samples/mongo/README.adoc
rename to samples/boot/boot-redis/README.adoc
diff --git a/samples/boot/build.gradle b/samples/boot/boot-redis/build.gradle
similarity index 100%
rename from samples/boot/build.gradle
rename to samples/boot/boot-redis/build.gradle
diff --git a/samples/boot/src/integration-test/java/sample/BootTests.java b/samples/boot/boot-redis/src/integration-test/java/sample/BootTests.java
similarity index 100%
rename from samples/boot/src/integration-test/java/sample/BootTests.java
rename to samples/boot/boot-redis/src/integration-test/java/sample/BootTests.java
diff --git a/samples/httpsession-redis-json/src/integration-test/java/sample/pages/BasePage.java b/samples/boot/boot-redis/src/integration-test/java/sample/pages/BasePage.java
similarity index 100%
rename from samples/httpsession-redis-json/src/integration-test/java/sample/pages/BasePage.java
rename to samples/boot/boot-redis/src/integration-test/java/sample/pages/BasePage.java
diff --git a/samples/boot/src/integration-test/java/sample/pages/HomePage.java b/samples/boot/boot-redis/src/integration-test/java/sample/pages/HomePage.java
similarity index 100%
rename from samples/boot/src/integration-test/java/sample/pages/HomePage.java
rename to samples/boot/boot-redis/src/integration-test/java/sample/pages/HomePage.java
diff --git a/samples/hazelcast-spring/src/integration-test/java/sample/pages/LoginPage.java b/samples/boot/boot-redis/src/integration-test/java/sample/pages/LoginPage.java
similarity index 100%
rename from samples/hazelcast-spring/src/integration-test/java/sample/pages/LoginPage.java
rename to samples/boot/boot-redis/src/integration-test/java/sample/pages/LoginPage.java
diff --git a/samples/httpsession-jdbc-boot/src/main/java/sample/Application.java b/samples/boot/boot-redis/src/main/java/sample/Application.java
similarity index 100%
rename from samples/httpsession-jdbc-boot/src/main/java/sample/Application.java
rename to samples/boot/boot-redis/src/main/java/sample/Application.java
diff --git a/samples/boot/src/main/java/sample/config/HttpSessionConfig.java b/samples/boot/boot-redis/src/main/java/sample/config/HttpSessionConfig.java
similarity index 100%
rename from samples/boot/src/main/java/sample/config/HttpSessionConfig.java
rename to samples/boot/boot-redis/src/main/java/sample/config/HttpSessionConfig.java
diff --git a/samples/boot/src/main/java/sample/config/SecurityConfig.java b/samples/boot/boot-redis/src/main/java/sample/config/SecurityConfig.java
similarity index 100%
rename from samples/boot/src/main/java/sample/config/SecurityConfig.java
rename to samples/boot/boot-redis/src/main/java/sample/config/SecurityConfig.java
diff --git a/samples/httpsession-jdbc-boot/src/main/java/sample/mvc/IndexController.java b/samples/boot/boot-redis/src/main/java/sample/mvc/IndexController.java
similarity index 100%
rename from samples/httpsession-jdbc-boot/src/main/java/sample/mvc/IndexController.java
rename to samples/boot/boot-redis/src/main/java/sample/mvc/IndexController.java
diff --git a/samples/findbyusername/src/main/resources/application.properties b/samples/boot/boot-redis/src/main/resources/application.properties
similarity index 100%
rename from samples/findbyusername/src/main/resources/application.properties
rename to samples/boot/boot-redis/src/main/resources/application.properties
diff --git a/samples/mongo/src/main/resources/static/resources/img/favicon.ico b/samples/boot/boot-redis/src/main/resources/static/resources/img/favicon.ico
similarity index 100%
rename from samples/mongo/src/main/resources/static/resources/img/favicon.ico
rename to samples/boot/boot-redis/src/main/resources/static/resources/img/favicon.ico
diff --git a/samples/mongo/src/main/resources/static/resources/img/logo.png b/samples/boot/boot-redis/src/main/resources/static/resources/img/logo.png
similarity index 100%
rename from samples/mongo/src/main/resources/static/resources/img/logo.png
rename to samples/boot/boot-redis/src/main/resources/static/resources/img/logo.png
diff --git a/samples/mongo/src/main/resources/templates/index.html b/samples/boot/boot-redis/src/main/resources/templates/index.html
similarity index 100%
rename from samples/mongo/src/main/resources/templates/index.html
rename to samples/boot/boot-redis/src/main/resources/templates/index.html
diff --git a/samples/mongo/src/main/resources/templates/layout.html b/samples/boot/boot-redis/src/main/resources/templates/layout.html
similarity index 100%
rename from samples/mongo/src/main/resources/templates/layout.html
rename to samples/boot/boot-redis/src/main/resources/templates/layout.html
diff --git a/samples/websocket/build.gradle b/samples/boot/boot-websocket/build.gradle
similarity index 100%
rename from samples/websocket/build.gradle
rename to samples/boot/boot-websocket/build.gradle
diff --git a/samples/websocket/src/main/java/sample/Application.java b/samples/boot/boot-websocket/src/main/java/sample/Application.java
similarity index 100%
rename from samples/websocket/src/main/java/sample/Application.java
rename to samples/boot/boot-websocket/src/main/java/sample/Application.java
diff --git a/samples/websocket/src/main/java/sample/config/DataSourceConfig.java b/samples/boot/boot-websocket/src/main/java/sample/config/DataSourceConfig.java
similarity index 100%
rename from samples/websocket/src/main/java/sample/config/DataSourceConfig.java
rename to samples/boot/boot-websocket/src/main/java/sample/config/DataSourceConfig.java
diff --git a/samples/websocket/src/main/java/sample/config/WebSecurityConfig.java b/samples/boot/boot-websocket/src/main/java/sample/config/WebSecurityConfig.java
similarity index 100%
rename from samples/websocket/src/main/java/sample/config/WebSecurityConfig.java
rename to samples/boot/boot-websocket/src/main/java/sample/config/WebSecurityConfig.java
diff --git a/samples/websocket/src/main/java/sample/config/WebSocketConfig.java b/samples/boot/boot-websocket/src/main/java/sample/config/WebSocketConfig.java
similarity index 100%
rename from samples/websocket/src/main/java/sample/config/WebSocketConfig.java
rename to samples/boot/boot-websocket/src/main/java/sample/config/WebSocketConfig.java
diff --git a/samples/websocket/src/main/java/sample/config/WebSocketHandlersConfig.java b/samples/boot/boot-websocket/src/main/java/sample/config/WebSocketHandlersConfig.java
similarity index 100%
rename from samples/websocket/src/main/java/sample/config/WebSocketHandlersConfig.java
rename to samples/boot/boot-websocket/src/main/java/sample/config/WebSocketHandlersConfig.java
diff --git a/samples/websocket/src/main/java/sample/config/WebSocketSecurityConfig.java b/samples/boot/boot-websocket/src/main/java/sample/config/WebSocketSecurityConfig.java
similarity index 100%
rename from samples/websocket/src/main/java/sample/config/WebSocketSecurityConfig.java
rename to samples/boot/boot-websocket/src/main/java/sample/config/WebSocketSecurityConfig.java
diff --git a/samples/websocket/src/main/java/sample/data/ActiveWebSocketUser.java b/samples/boot/boot-websocket/src/main/java/sample/data/ActiveWebSocketUser.java
similarity index 100%
rename from samples/websocket/src/main/java/sample/data/ActiveWebSocketUser.java
rename to samples/boot/boot-websocket/src/main/java/sample/data/ActiveWebSocketUser.java
diff --git a/samples/websocket/src/main/java/sample/data/ActiveWebSocketUserRepository.java b/samples/boot/boot-websocket/src/main/java/sample/data/ActiveWebSocketUserRepository.java
similarity index 100%
rename from samples/websocket/src/main/java/sample/data/ActiveWebSocketUserRepository.java
rename to samples/boot/boot-websocket/src/main/java/sample/data/ActiveWebSocketUserRepository.java
diff --git a/samples/websocket/src/main/java/sample/data/InstantMessage.java b/samples/boot/boot-websocket/src/main/java/sample/data/InstantMessage.java
similarity index 100%
rename from samples/websocket/src/main/java/sample/data/InstantMessage.java
rename to samples/boot/boot-websocket/src/main/java/sample/data/InstantMessage.java
diff --git a/samples/websocket/src/main/java/sample/data/User.java b/samples/boot/boot-websocket/src/main/java/sample/data/User.java
similarity index 100%
rename from samples/websocket/src/main/java/sample/data/User.java
rename to samples/boot/boot-websocket/src/main/java/sample/data/User.java
diff --git a/samples/websocket/src/main/java/sample/data/UserRepository.java b/samples/boot/boot-websocket/src/main/java/sample/data/UserRepository.java
similarity index 100%
rename from samples/websocket/src/main/java/sample/data/UserRepository.java
rename to samples/boot/boot-websocket/src/main/java/sample/data/UserRepository.java
diff --git a/samples/websocket/src/main/java/sample/mvc/CsrfController.java b/samples/boot/boot-websocket/src/main/java/sample/mvc/CsrfController.java
similarity index 100%
rename from samples/websocket/src/main/java/sample/mvc/CsrfController.java
rename to samples/boot/boot-websocket/src/main/java/sample/mvc/CsrfController.java
diff --git a/samples/websocket/src/main/java/sample/mvc/MessageController.java b/samples/boot/boot-websocket/src/main/java/sample/mvc/MessageController.java
similarity index 100%
rename from samples/websocket/src/main/java/sample/mvc/MessageController.java
rename to samples/boot/boot-websocket/src/main/java/sample/mvc/MessageController.java
diff --git a/samples/websocket/src/main/java/sample/security/CurrentUser.java b/samples/boot/boot-websocket/src/main/java/sample/security/CurrentUser.java
similarity index 100%
rename from samples/websocket/src/main/java/sample/security/CurrentUser.java
rename to samples/boot/boot-websocket/src/main/java/sample/security/CurrentUser.java
diff --git a/samples/websocket/src/main/java/sample/security/UserRepositoryUserDetailsService.java b/samples/boot/boot-websocket/src/main/java/sample/security/UserRepositoryUserDetailsService.java
similarity index 100%
rename from samples/websocket/src/main/java/sample/security/UserRepositoryUserDetailsService.java
rename to samples/boot/boot-websocket/src/main/java/sample/security/UserRepositoryUserDetailsService.java
diff --git a/samples/websocket/src/main/java/sample/websocket/WebSocketConnectHandler.java b/samples/boot/boot-websocket/src/main/java/sample/websocket/WebSocketConnectHandler.java
similarity index 100%
rename from samples/websocket/src/main/java/sample/websocket/WebSocketConnectHandler.java
rename to samples/boot/boot-websocket/src/main/java/sample/websocket/WebSocketConnectHandler.java
diff --git a/samples/websocket/src/main/java/sample/websocket/WebSocketDisconnectHandler.java b/samples/boot/boot-websocket/src/main/java/sample/websocket/WebSocketDisconnectHandler.java
similarity index 100%
rename from samples/websocket/src/main/java/sample/websocket/WebSocketDisconnectHandler.java
rename to samples/boot/boot-websocket/src/main/java/sample/websocket/WebSocketDisconnectHandler.java
diff --git a/samples/websocket/src/main/resources/application.properties b/samples/boot/boot-websocket/src/main/resources/application.properties
similarity index 100%
rename from samples/websocket/src/main/resources/application.properties
rename to samples/boot/boot-websocket/src/main/resources/application.properties
diff --git a/samples/websocket/src/main/resources/data.sql b/samples/boot/boot-websocket/src/main/resources/data.sql
similarity index 100%
rename from samples/websocket/src/main/resources/data.sql
rename to samples/boot/boot-websocket/src/main/resources/data.sql
diff --git a/samples/websocket/src/main/resources/static/resources/img/favicon.ico b/samples/boot/boot-websocket/src/main/resources/static/resources/img/favicon.ico
similarity index 100%
rename from samples/websocket/src/main/resources/static/resources/img/favicon.ico
rename to samples/boot/boot-websocket/src/main/resources/static/resources/img/favicon.ico
diff --git a/samples/websocket/src/main/resources/static/resources/img/logo.png b/samples/boot/boot-websocket/src/main/resources/static/resources/img/logo.png
similarity index 100%
rename from samples/websocket/src/main/resources/static/resources/img/logo.png
rename to samples/boot/boot-websocket/src/main/resources/static/resources/img/logo.png
diff --git a/samples/websocket/src/main/resources/static/resources/js/message.js b/samples/boot/boot-websocket/src/main/resources/static/resources/js/message.js
similarity index 100%
rename from samples/websocket/src/main/resources/static/resources/js/message.js
rename to samples/boot/boot-websocket/src/main/resources/static/resources/js/message.js
diff --git a/samples/websocket/src/main/resources/templates/index.html b/samples/boot/boot-websocket/src/main/resources/templates/index.html
similarity index 100%
rename from samples/websocket/src/main/resources/templates/index.html
rename to samples/boot/boot-websocket/src/main/resources/templates/index.html
diff --git a/samples/websocket/src/main/resources/templates/layout.html b/samples/boot/boot-websocket/src/main/resources/templates/layout.html
similarity index 100%
rename from samples/websocket/src/main/resources/templates/layout.html
rename to samples/boot/boot-websocket/src/main/resources/templates/layout.html
diff --git a/samples/websocket/src/test/java/sample/ApplicationTests.java b/samples/boot/boot-websocket/src/test/java/sample/ApplicationTests.java
similarity index 100%
rename from samples/websocket/src/test/java/sample/ApplicationTests.java
rename to samples/boot/boot-websocket/src/test/java/sample/ApplicationTests.java
diff --git a/samples/custom-cookie/build.gradle b/samples/java/java-custom-cookie/build.gradle
similarity index 100%
rename from samples/custom-cookie/build.gradle
rename to samples/java/java-custom-cookie/build.gradle
diff --git a/samples/custom-cookie/src/integration-test/java/sample/AttributeTests.java b/samples/java/java-custom-cookie/src/integration-test/java/sample/AttributeTests.java
similarity index 100%
rename from samples/custom-cookie/src/integration-test/java/sample/AttributeTests.java
rename to samples/java/java-custom-cookie/src/integration-test/java/sample/AttributeTests.java
diff --git a/samples/custom-cookie/src/integration-test/java/sample/pages/HomePage.java b/samples/java/java-custom-cookie/src/integration-test/java/sample/pages/HomePage.java
similarity index 100%
rename from samples/custom-cookie/src/integration-test/java/sample/pages/HomePage.java
rename to samples/java/java-custom-cookie/src/integration-test/java/sample/pages/HomePage.java
diff --git a/samples/custom-cookie/src/main/java/sample/Config.java b/samples/java/java-custom-cookie/src/main/java/sample/Config.java
similarity index 100%
rename from samples/custom-cookie/src/main/java/sample/Config.java
rename to samples/java/java-custom-cookie/src/main/java/sample/Config.java
diff --git a/samples/custom-cookie/src/main/java/sample/Initializer.java b/samples/java/java-custom-cookie/src/main/java/sample/Initializer.java
similarity index 100%
rename from samples/custom-cookie/src/main/java/sample/Initializer.java
rename to samples/java/java-custom-cookie/src/main/java/sample/Initializer.java
diff --git a/samples/custom-cookie/src/main/java/sample/SessionServlet.java b/samples/java/java-custom-cookie/src/main/java/sample/SessionServlet.java
similarity index 100%
rename from samples/custom-cookie/src/main/java/sample/SessionServlet.java
rename to samples/java/java-custom-cookie/src/main/java/sample/SessionServlet.java
diff --git a/samples/custom-cookie/src/main/webapp/META-INF/MANIFEST.MF b/samples/java/java-custom-cookie/src/main/webapp/META-INF/MANIFEST.MF
similarity index 100%
rename from samples/custom-cookie/src/main/webapp/META-INF/MANIFEST.MF
rename to samples/java/java-custom-cookie/src/main/webapp/META-INF/MANIFEST.MF
diff --git a/samples/custom-cookie/src/main/webapp/index.jsp b/samples/java/java-custom-cookie/src/main/webapp/index.jsp
similarity index 100%
rename from samples/custom-cookie/src/main/webapp/index.jsp
rename to samples/java/java-custom-cookie/src/main/webapp/index.jsp
diff --git a/samples/httpsession-gemfire-clientserver/build.gradle b/samples/java/java-gemfire-clientserver/build.gradle
similarity index 100%
rename from samples/httpsession-gemfire-clientserver/build.gradle
rename to samples/java/java-gemfire-clientserver/build.gradle
diff --git a/samples/httpsession-gemfire-clientserver-xml/src/integration-test/java/sample/AttributeTests.java b/samples/java/java-gemfire-clientserver/src/integration-test/java/sample/AttributeTests.java
similarity index 100%
rename from samples/httpsession-gemfire-clientserver-xml/src/integration-test/java/sample/AttributeTests.java
rename to samples/java/java-gemfire-clientserver/src/integration-test/java/sample/AttributeTests.java
diff --git a/samples/httpsession-gemfire-clientserver-xml/src/integration-test/java/sample/pages/HomePage.java b/samples/java/java-gemfire-clientserver/src/integration-test/java/sample/pages/HomePage.java
similarity index 100%
rename from samples/httpsession-gemfire-clientserver-xml/src/integration-test/java/sample/pages/HomePage.java
rename to samples/java/java-gemfire-clientserver/src/integration-test/java/sample/pages/HomePage.java
diff --git a/samples/httpsession-gemfire-clientserver/src/main/java/sample/ClientConfig.java b/samples/java/java-gemfire-clientserver/src/main/java/sample/ClientConfig.java
similarity index 100%
rename from samples/httpsession-gemfire-clientserver/src/main/java/sample/ClientConfig.java
rename to samples/java/java-gemfire-clientserver/src/main/java/sample/ClientConfig.java
diff --git a/samples/httpsession-gemfire-clientserver/src/main/java/sample/Initializer.java b/samples/java/java-gemfire-clientserver/src/main/java/sample/Initializer.java
similarity index 100%
rename from samples/httpsession-gemfire-clientserver/src/main/java/sample/Initializer.java
rename to samples/java/java-gemfire-clientserver/src/main/java/sample/Initializer.java
diff --git a/samples/httpsession-gemfire-clientserver/src/main/java/sample/ServerConfig.java b/samples/java/java-gemfire-clientserver/src/main/java/sample/ServerConfig.java
similarity index 100%
rename from samples/httpsession-gemfire-clientserver/src/main/java/sample/ServerConfig.java
rename to samples/java/java-gemfire-clientserver/src/main/java/sample/ServerConfig.java
diff --git a/samples/httpsession-gemfire-clientserver/src/main/java/sample/SessionServlet.java b/samples/java/java-gemfire-clientserver/src/main/java/sample/SessionServlet.java
similarity index 100%
rename from samples/httpsession-gemfire-clientserver/src/main/java/sample/SessionServlet.java
rename to samples/java/java-gemfire-clientserver/src/main/java/sample/SessionServlet.java
diff --git a/samples/hazelcast-spring/src/main/webapp/META-INF/MANIFEST.MF b/samples/java/java-gemfire-clientserver/src/main/webapp/META-INF/MANIFEST.MF
similarity index 100%
rename from samples/hazelcast-spring/src/main/webapp/META-INF/MANIFEST.MF
rename to samples/java/java-gemfire-clientserver/src/main/webapp/META-INF/MANIFEST.MF
diff --git a/samples/httpsession-gemfire-clientserver-xml/src/main/webapp/index.jsp b/samples/java/java-gemfire-clientserver/src/main/webapp/index.jsp
similarity index 100%
rename from samples/httpsession-gemfire-clientserver-xml/src/main/webapp/index.jsp
rename to samples/java/java-gemfire-clientserver/src/main/webapp/index.jsp
diff --git a/samples/httpsession-gemfire-p2p-xml/build.gradle b/samples/java/java-gemfire-p2p/build.gradle
similarity index 100%
rename from samples/httpsession-gemfire-p2p-xml/build.gradle
rename to samples/java/java-gemfire-p2p/build.gradle
diff --git a/samples/httpsession-gemfire-clientserver/src/integration-test/java/sample/AttributeTests.java b/samples/java/java-gemfire-p2p/src/integration-test/java/sample/AttributeTests.java
similarity index 100%
rename from samples/httpsession-gemfire-clientserver/src/integration-test/java/sample/AttributeTests.java
rename to samples/java/java-gemfire-p2p/src/integration-test/java/sample/AttributeTests.java
diff --git a/samples/httpsession-gemfire-clientserver/src/integration-test/java/sample/pages/HomePage.java b/samples/java/java-gemfire-p2p/src/integration-test/java/sample/pages/HomePage.java
similarity index 100%
rename from samples/httpsession-gemfire-clientserver/src/integration-test/java/sample/pages/HomePage.java
rename to samples/java/java-gemfire-p2p/src/integration-test/java/sample/pages/HomePage.java
diff --git a/samples/httpsession-gemfire-p2p/src/main/java/sample/Config.java b/samples/java/java-gemfire-p2p/src/main/java/sample/Config.java
similarity index 100%
rename from samples/httpsession-gemfire-p2p/src/main/java/sample/Config.java
rename to samples/java/java-gemfire-p2p/src/main/java/sample/Config.java
diff --git a/samples/httpsession-gemfire-p2p/src/main/java/sample/Initializer.java b/samples/java/java-gemfire-p2p/src/main/java/sample/Initializer.java
similarity index 100%
rename from samples/httpsession-gemfire-p2p/src/main/java/sample/Initializer.java
rename to samples/java/java-gemfire-p2p/src/main/java/sample/Initializer.java
diff --git a/samples/httpsession-gemfire-p2p/src/main/java/sample/SessionServlet.java b/samples/java/java-gemfire-p2p/src/main/java/sample/SessionServlet.java
similarity index 100%
rename from samples/httpsession-gemfire-p2p/src/main/java/sample/SessionServlet.java
rename to samples/java/java-gemfire-p2p/src/main/java/sample/SessionServlet.java
diff --git a/samples/hazelcast/src/main/webapp/META-INF/MANIFEST.MF b/samples/java/java-gemfire-p2p/src/main/webapp/META-INF/MANIFEST.MF
similarity index 100%
rename from samples/hazelcast/src/main/webapp/META-INF/MANIFEST.MF
rename to samples/java/java-gemfire-p2p/src/main/webapp/META-INF/MANIFEST.MF
diff --git a/samples/httpsession-gemfire-clientserver/src/main/webapp/index.jsp b/samples/java/java-gemfire-p2p/src/main/webapp/index.jsp
similarity index 100%
rename from samples/httpsession-gemfire-clientserver/src/main/webapp/index.jsp
rename to samples/java/java-gemfire-p2p/src/main/webapp/index.jsp
diff --git a/samples/hazelcast-spring/build.gradle b/samples/java/java-hazelcast/build.gradle
similarity index 100%
rename from samples/hazelcast-spring/build.gradle
rename to samples/java/java-hazelcast/build.gradle
diff --git a/samples/hazelcast-spring/src/integration-test/java/sample/HazelcastSpringTests.java b/samples/java/java-hazelcast/src/integration-test/java/sample/HazelcastSpringTests.java
similarity index 100%
rename from samples/hazelcast-spring/src/integration-test/java/sample/HazelcastSpringTests.java
rename to samples/java/java-hazelcast/src/integration-test/java/sample/HazelcastSpringTests.java
diff --git a/samples/hazelcast-spring/src/integration-test/java/sample/pages/BasePage.java b/samples/java/java-hazelcast/src/integration-test/java/sample/pages/BasePage.java
similarity index 100%
rename from samples/hazelcast-spring/src/integration-test/java/sample/pages/BasePage.java
rename to samples/java/java-hazelcast/src/integration-test/java/sample/pages/BasePage.java
diff --git a/samples/hazelcast-spring/src/integration-test/java/sample/pages/HomePage.java b/samples/java/java-hazelcast/src/integration-test/java/sample/pages/HomePage.java
similarity index 100%
rename from samples/hazelcast-spring/src/integration-test/java/sample/pages/HomePage.java
rename to samples/java/java-hazelcast/src/integration-test/java/sample/pages/HomePage.java
diff --git a/samples/httpsession-jdbc-boot/src/integration-test/java/sample/pages/LoginPage.java b/samples/java/java-hazelcast/src/integration-test/java/sample/pages/LoginPage.java
similarity index 100%
rename from samples/httpsession-jdbc-boot/src/integration-test/java/sample/pages/LoginPage.java
rename to samples/java/java-hazelcast/src/integration-test/java/sample/pages/LoginPage.java
diff --git a/samples/hazelcast-spring/src/main/java/sample/Initializer.java b/samples/java/java-hazelcast/src/main/java/sample/Initializer.java
similarity index 100%
rename from samples/hazelcast-spring/src/main/java/sample/Initializer.java
rename to samples/java/java-hazelcast/src/main/java/sample/Initializer.java
diff --git a/samples/hazelcast-spring/src/main/java/sample/ObjectStreamSerializer.java b/samples/java/java-hazelcast/src/main/java/sample/ObjectStreamSerializer.java
similarity index 100%
rename from samples/hazelcast-spring/src/main/java/sample/ObjectStreamSerializer.java
rename to samples/java/java-hazelcast/src/main/java/sample/ObjectStreamSerializer.java
diff --git a/samples/hazelcast-spring/src/main/java/sample/SecurityConfig.java b/samples/java/java-hazelcast/src/main/java/sample/SecurityConfig.java
similarity index 100%
rename from samples/hazelcast-spring/src/main/java/sample/SecurityConfig.java
rename to samples/java/java-hazelcast/src/main/java/sample/SecurityConfig.java
diff --git a/samples/hazelcast-spring/src/main/java/sample/SecurityInitializer.java b/samples/java/java-hazelcast/src/main/java/sample/SecurityInitializer.java
similarity index 100%
rename from samples/hazelcast-spring/src/main/java/sample/SecurityInitializer.java
rename to samples/java/java-hazelcast/src/main/java/sample/SecurityInitializer.java
diff --git a/samples/hazelcast-spring/src/main/java/sample/SessionConfig.java b/samples/java/java-hazelcast/src/main/java/sample/SessionConfig.java
similarity index 100%
rename from samples/hazelcast-spring/src/main/java/sample/SessionConfig.java
rename to samples/java/java-hazelcast/src/main/java/sample/SessionConfig.java
diff --git a/samples/hazelcast-spring/src/main/java/sample/SessionServlet.java b/samples/java/java-hazelcast/src/main/java/sample/SessionServlet.java
similarity index 100%
rename from samples/hazelcast-spring/src/main/java/sample/SessionServlet.java
rename to samples/java/java-hazelcast/src/main/java/sample/SessionServlet.java
diff --git a/samples/httpsession-gemfire-clientserver-xml/src/main/webapp/META-INF/MANIFEST.MF b/samples/java/java-hazelcast/src/main/webapp/META-INF/MANIFEST.MF
similarity index 100%
rename from samples/httpsession-gemfire-clientserver-xml/src/main/webapp/META-INF/MANIFEST.MF
rename to samples/java/java-hazelcast/src/main/webapp/META-INF/MANIFEST.MF
diff --git a/samples/hazelcast-spring/src/main/webapp/index.jsp b/samples/java/java-hazelcast/src/main/webapp/index.jsp
similarity index 100%
rename from samples/hazelcast-spring/src/main/webapp/index.jsp
rename to samples/java/java-hazelcast/src/main/webapp/index.jsp
diff --git a/samples/httpsession-jdbc-xml/build.gradle b/samples/java/java-jdbc/build.gradle
similarity index 100%
rename from samples/httpsession-jdbc-xml/build.gradle
rename to samples/java/java-jdbc/build.gradle
diff --git a/samples/httpsession-jdbc-xml/src/integration-test/java/sample/AttributeTests.java b/samples/java/java-jdbc/src/integration-test/java/sample/AttributeTests.java
similarity index 100%
rename from samples/httpsession-jdbc-xml/src/integration-test/java/sample/AttributeTests.java
rename to samples/java/java-jdbc/src/integration-test/java/sample/AttributeTests.java
diff --git a/samples/hazelcast/src/integration-test/java/sample/pages/HomePage.java b/samples/java/java-jdbc/src/integration-test/java/sample/pages/HomePage.java
similarity index 100%
rename from samples/hazelcast/src/integration-test/java/sample/pages/HomePage.java
rename to samples/java/java-jdbc/src/integration-test/java/sample/pages/HomePage.java
diff --git a/samples/httpsession-jdbc/src/main/java/sample/Config.java b/samples/java/java-jdbc/src/main/java/sample/Config.java
similarity index 100%
rename from samples/httpsession-jdbc/src/main/java/sample/Config.java
rename to samples/java/java-jdbc/src/main/java/sample/Config.java
diff --git a/samples/httpsession-jdbc/src/main/java/sample/H2ConsoleInitializer.java b/samples/java/java-jdbc/src/main/java/sample/H2ConsoleInitializer.java
similarity index 100%
rename from samples/httpsession-jdbc/src/main/java/sample/H2ConsoleInitializer.java
rename to samples/java/java-jdbc/src/main/java/sample/H2ConsoleInitializer.java
diff --git a/samples/httpsession-jdbc/src/main/java/sample/Initializer.java b/samples/java/java-jdbc/src/main/java/sample/Initializer.java
similarity index 100%
rename from samples/httpsession-jdbc/src/main/java/sample/Initializer.java
rename to samples/java/java-jdbc/src/main/java/sample/Initializer.java
diff --git a/samples/httpsession-jdbc/src/main/java/sample/SessionServlet.java b/samples/java/java-jdbc/src/main/java/sample/SessionServlet.java
similarity index 100%
rename from samples/httpsession-jdbc/src/main/java/sample/SessionServlet.java
rename to samples/java/java-jdbc/src/main/java/sample/SessionServlet.java
diff --git a/samples/httpsession-gemfire-clientserver/src/main/webapp/META-INF/MANIFEST.MF b/samples/java/java-jdbc/src/main/webapp/META-INF/MANIFEST.MF
similarity index 100%
rename from samples/httpsession-gemfire-clientserver/src/main/webapp/META-INF/MANIFEST.MF
rename to samples/java/java-jdbc/src/main/webapp/META-INF/MANIFEST.MF
diff --git a/samples/httpsession-jdbc-xml/src/main/webapp/index.jsp b/samples/java/java-jdbc/src/main/webapp/index.jsp
similarity index 100%
rename from samples/httpsession-jdbc-xml/src/main/webapp/index.jsp
rename to samples/java/java-jdbc/src/main/webapp/index.jsp
diff --git a/samples/httpsession-xml/build.gradle b/samples/java/java-redis/build.gradle
similarity index 100%
rename from samples/httpsession-xml/build.gradle
rename to samples/java/java-redis/build.gradle
diff --git a/samples/httpsession-jdbc/src/integration-test/java/sample/AttributeTests.java b/samples/java/java-redis/src/integration-test/java/sample/AttributeTests.java
similarity index 100%
rename from samples/httpsession-jdbc/src/integration-test/java/sample/AttributeTests.java
rename to samples/java/java-redis/src/integration-test/java/sample/AttributeTests.java
diff --git a/samples/httpsession-jdbc-xml/src/integration-test/java/sample/pages/HomePage.java b/samples/java/java-redis/src/integration-test/java/sample/pages/HomePage.java
similarity index 100%
rename from samples/httpsession-jdbc-xml/src/integration-test/java/sample/pages/HomePage.java
rename to samples/java/java-redis/src/integration-test/java/sample/pages/HomePage.java
diff --git a/samples/httpsession/src/main/java/sample/Config.java b/samples/java/java-redis/src/main/java/sample/Config.java
similarity index 100%
rename from samples/httpsession/src/main/java/sample/Config.java
rename to samples/java/java-redis/src/main/java/sample/Config.java
diff --git a/samples/httpsession/src/main/java/sample/Initializer.java b/samples/java/java-redis/src/main/java/sample/Initializer.java
similarity index 100%
rename from samples/httpsession/src/main/java/sample/Initializer.java
rename to samples/java/java-redis/src/main/java/sample/Initializer.java
diff --git a/samples/httpsession/src/main/java/sample/SessionServlet.java b/samples/java/java-redis/src/main/java/sample/SessionServlet.java
similarity index 100%
rename from samples/httpsession/src/main/java/sample/SessionServlet.java
rename to samples/java/java-redis/src/main/java/sample/SessionServlet.java
diff --git a/samples/httpsession-gemfire-p2p-xml/src/main/webapp/META-INF/MANIFEST.MF b/samples/java/java-redis/src/main/webapp/META-INF/MANIFEST.MF
similarity index 100%
rename from samples/httpsession-gemfire-p2p-xml/src/main/webapp/META-INF/MANIFEST.MF
rename to samples/java/java-redis/src/main/webapp/META-INF/MANIFEST.MF
diff --git a/samples/httpsession/src/main/webapp/index.jsp b/samples/java/java-redis/src/main/webapp/index.jsp
similarity index 100%
rename from samples/httpsession/src/main/webapp/index.jsp
rename to samples/java/java-redis/src/main/webapp/index.jsp
diff --git a/samples/rest/build.gradle b/samples/java/java-rest/build.gradle
similarity index 100%
rename from samples/rest/build.gradle
rename to samples/java/java-rest/build.gradle
diff --git a/samples/rest/src/integration-test/java/rest/RestMockMvcTests.java b/samples/java/java-rest/src/integration-test/java/rest/RestMockMvcTests.java
similarity index 100%
rename from samples/rest/src/integration-test/java/rest/RestMockMvcTests.java
rename to samples/java/java-rest/src/integration-test/java/rest/RestMockMvcTests.java
diff --git a/samples/rest/src/integration-test/java/sample/RestTests.java b/samples/java/java-rest/src/integration-test/java/sample/RestTests.java
similarity index 100%
rename from samples/rest/src/integration-test/java/sample/RestTests.java
rename to samples/java/java-rest/src/integration-test/java/sample/RestTests.java
diff --git a/samples/rest/src/integration-test/java/sample/User.java b/samples/java/java-rest/src/integration-test/java/sample/User.java
similarity index 100%
rename from samples/rest/src/integration-test/java/sample/User.java
rename to samples/java/java-rest/src/integration-test/java/sample/User.java
diff --git a/samples/rest/src/main/java/sample/HttpSessionConfig.java b/samples/java/java-rest/src/main/java/sample/HttpSessionConfig.java
similarity index 100%
rename from samples/rest/src/main/java/sample/HttpSessionConfig.java
rename to samples/java/java-rest/src/main/java/sample/HttpSessionConfig.java
diff --git a/samples/rest/src/main/java/sample/Initializer.java b/samples/java/java-rest/src/main/java/sample/Initializer.java
similarity index 100%
rename from samples/rest/src/main/java/sample/Initializer.java
rename to samples/java/java-rest/src/main/java/sample/Initializer.java
diff --git a/samples/rest/src/main/java/sample/SecurityConfig.java b/samples/java/java-rest/src/main/java/sample/SecurityConfig.java
similarity index 100%
rename from samples/rest/src/main/java/sample/SecurityConfig.java
rename to samples/java/java-rest/src/main/java/sample/SecurityConfig.java
diff --git a/samples/rest/src/main/java/sample/SecurityInitializer.java b/samples/java/java-rest/src/main/java/sample/SecurityInitializer.java
similarity index 100%
rename from samples/rest/src/main/java/sample/SecurityInitializer.java
rename to samples/java/java-rest/src/main/java/sample/SecurityInitializer.java
diff --git a/samples/rest/src/main/java/sample/mvc/MvcConfig.java b/samples/java/java-rest/src/main/java/sample/mvc/MvcConfig.java
similarity index 100%
rename from samples/rest/src/main/java/sample/mvc/MvcConfig.java
rename to samples/java/java-rest/src/main/java/sample/mvc/MvcConfig.java
diff --git a/samples/rest/src/main/java/sample/mvc/MvcInitializer.java b/samples/java/java-rest/src/main/java/sample/mvc/MvcInitializer.java
similarity index 100%
rename from samples/rest/src/main/java/sample/mvc/MvcInitializer.java
rename to samples/java/java-rest/src/main/java/sample/mvc/MvcInitializer.java
diff --git a/samples/rest/src/main/java/sample/mvc/RestDemoController.java b/samples/java/java-rest/src/main/java/sample/mvc/RestDemoController.java
similarity index 100%
rename from samples/rest/src/main/java/sample/mvc/RestDemoController.java
rename to samples/java/java-rest/src/main/java/sample/mvc/RestDemoController.java
diff --git a/samples/httpsession-gemfire-p2p/src/main/webapp/META-INF/MANIFEST.MF b/samples/java/java-rest/src/main/webapp/META-INF/MANIFEST.MF
similarity index 100%
rename from samples/httpsession-gemfire-p2p/src/main/webapp/META-INF/MANIFEST.MF
rename to samples/java/java-rest/src/main/webapp/META-INF/MANIFEST.MF
diff --git a/samples/security/build.gradle b/samples/java/java-security/build.gradle
similarity index 100%
rename from samples/security/build.gradle
rename to samples/java/java-security/build.gradle
diff --git a/samples/security/src/integration-test/java/sample/SecurityTests.java b/samples/java/java-security/src/integration-test/java/sample/SecurityTests.java
similarity index 100%
rename from samples/security/src/integration-test/java/sample/SecurityTests.java
rename to samples/java/java-security/src/integration-test/java/sample/SecurityTests.java
diff --git a/samples/security/src/integration-test/java/sample/pages/BasePage.java b/samples/java/java-security/src/integration-test/java/sample/pages/BasePage.java
similarity index 100%
rename from samples/security/src/integration-test/java/sample/pages/BasePage.java
rename to samples/java/java-security/src/integration-test/java/sample/pages/BasePage.java
diff --git a/samples/security/src/integration-test/java/sample/pages/HomePage.java b/samples/java/java-security/src/integration-test/java/sample/pages/HomePage.java
similarity index 100%
rename from samples/security/src/integration-test/java/sample/pages/HomePage.java
rename to samples/java/java-security/src/integration-test/java/sample/pages/HomePage.java
diff --git a/samples/security/src/integration-test/java/sample/pages/LoginPage.java b/samples/java/java-security/src/integration-test/java/sample/pages/LoginPage.java
similarity index 100%
rename from samples/security/src/integration-test/java/sample/pages/LoginPage.java
rename to samples/java/java-security/src/integration-test/java/sample/pages/LoginPage.java
diff --git a/samples/security/src/main/java/sample/Config.java b/samples/java/java-security/src/main/java/sample/Config.java
similarity index 100%
rename from samples/security/src/main/java/sample/Config.java
rename to samples/java/java-security/src/main/java/sample/Config.java
diff --git a/samples/security/src/main/java/sample/Initializer.java b/samples/java/java-security/src/main/java/sample/Initializer.java
similarity index 100%
rename from samples/security/src/main/java/sample/Initializer.java
rename to samples/java/java-security/src/main/java/sample/Initializer.java
diff --git a/samples/security/src/main/java/sample/SecurityConfig.java b/samples/java/java-security/src/main/java/sample/SecurityConfig.java
similarity index 100%
rename from samples/security/src/main/java/sample/SecurityConfig.java
rename to samples/java/java-security/src/main/java/sample/SecurityConfig.java
diff --git a/samples/security/src/main/java/sample/SecurityInitializer.java b/samples/java/java-security/src/main/java/sample/SecurityInitializer.java
similarity index 100%
rename from samples/security/src/main/java/sample/SecurityInitializer.java
rename to samples/java/java-security/src/main/java/sample/SecurityInitializer.java
diff --git a/samples/security/src/main/java/sample/SessionServlet.java b/samples/java/java-security/src/main/java/sample/SessionServlet.java
similarity index 100%
rename from samples/security/src/main/java/sample/SessionServlet.java
rename to samples/java/java-security/src/main/java/sample/SessionServlet.java
diff --git a/samples/httpsession-jdbc-xml/src/main/webapp/META-INF/MANIFEST.MF b/samples/java/java-security/src/main/webapp/META-INF/MANIFEST.MF
similarity index 100%
rename from samples/httpsession-jdbc-xml/src/main/webapp/META-INF/MANIFEST.MF
rename to samples/java/java-security/src/main/webapp/META-INF/MANIFEST.MF
diff --git a/samples/security/src/main/webapp/index.jsp b/samples/java/java-security/src/main/webapp/index.jsp
similarity index 100%
rename from samples/security/src/main/webapp/index.jsp
rename to samples/java/java-security/src/main/webapp/index.jsp
diff --git a/samples/users/build.gradle b/samples/java/java-users/build.gradle
similarity index 100%
rename from samples/users/build.gradle
rename to samples/java/java-users/build.gradle
diff --git a/samples/users/src/integration-test/java/sample/UserTests.java b/samples/java/java-users/src/integration-test/java/sample/UserTests.java
similarity index 100%
rename from samples/users/src/integration-test/java/sample/UserTests.java
rename to samples/java/java-users/src/integration-test/java/sample/UserTests.java
diff --git a/samples/users/src/integration-test/java/sample/pages/BasePage.java b/samples/java/java-users/src/integration-test/java/sample/pages/BasePage.java
similarity index 100%
rename from samples/users/src/integration-test/java/sample/pages/BasePage.java
rename to samples/java/java-users/src/integration-test/java/sample/pages/BasePage.java
diff --git a/samples/users/src/integration-test/java/sample/pages/HomePage.java b/samples/java/java-users/src/integration-test/java/sample/pages/HomePage.java
similarity index 100%
rename from samples/users/src/integration-test/java/sample/pages/HomePage.java
rename to samples/java/java-users/src/integration-test/java/sample/pages/HomePage.java
diff --git a/samples/users/src/integration-test/java/sample/pages/LinkPage.java b/samples/java/java-users/src/integration-test/java/sample/pages/LinkPage.java
similarity index 100%
rename from samples/users/src/integration-test/java/sample/pages/LinkPage.java
rename to samples/java/java-users/src/integration-test/java/sample/pages/LinkPage.java
diff --git a/samples/users/src/main/java/sample/Account.java b/samples/java/java-users/src/main/java/sample/Account.java
similarity index 100%
rename from samples/users/src/main/java/sample/Account.java
rename to samples/java/java-users/src/main/java/sample/Account.java
diff --git a/samples/users/src/main/java/sample/Config.java b/samples/java/java-users/src/main/java/sample/Config.java
similarity index 100%
rename from samples/users/src/main/java/sample/Config.java
rename to samples/java/java-users/src/main/java/sample/Config.java
diff --git a/samples/users/src/main/java/sample/Initializer.java b/samples/java/java-users/src/main/java/sample/Initializer.java
similarity index 100%
rename from samples/users/src/main/java/sample/Initializer.java
rename to samples/java/java-users/src/main/java/sample/Initializer.java
diff --git a/samples/users/src/main/java/sample/LoginServlet.java b/samples/java/java-users/src/main/java/sample/LoginServlet.java
similarity index 100%
rename from samples/users/src/main/java/sample/LoginServlet.java
rename to samples/java/java-users/src/main/java/sample/LoginServlet.java
diff --git a/samples/users/src/main/java/sample/LogoutServlet.java b/samples/java/java-users/src/main/java/sample/LogoutServlet.java
similarity index 100%
rename from samples/users/src/main/java/sample/LogoutServlet.java
rename to samples/java/java-users/src/main/java/sample/LogoutServlet.java
diff --git a/samples/users/src/main/java/sample/UserAccountsFilter.java b/samples/java/java-users/src/main/java/sample/UserAccountsFilter.java
similarity index 100%
rename from samples/users/src/main/java/sample/UserAccountsFilter.java
rename to samples/java/java-users/src/main/java/sample/UserAccountsFilter.java
diff --git a/samples/httpsession-jdbc/src/main/webapp/META-INF/MANIFEST.MF b/samples/java/java-users/src/main/webapp/META-INF/MANIFEST.MF
similarity index 100%
rename from samples/httpsession-jdbc/src/main/webapp/META-INF/MANIFEST.MF
rename to samples/java/java-users/src/main/webapp/META-INF/MANIFEST.MF
diff --git a/samples/users/src/main/webapp/assets/js/ie10-viewport-bug-workaround.js b/samples/java/java-users/src/main/webapp/assets/js/ie10-viewport-bug-workaround.js
similarity index 100%
rename from samples/users/src/main/webapp/assets/js/ie10-viewport-bug-workaround.js
rename to samples/java/java-users/src/main/webapp/assets/js/ie10-viewport-bug-workaround.js
diff --git a/samples/users/src/main/webapp/index.jsp b/samples/java/java-users/src/main/webapp/index.jsp
similarity index 100%
rename from samples/users/src/main/webapp/index.jsp
rename to samples/java/java-users/src/main/webapp/index.jsp
diff --git a/samples/users/src/main/webapp/link.jsp b/samples/java/java-users/src/main/webapp/link.jsp
similarity index 100%
rename from samples/users/src/main/webapp/link.jsp
rename to samples/java/java-users/src/main/webapp/link.jsp
diff --git a/samples/grails3/build.gradle b/samples/misc/grails3/build.gradle
similarity index 100%
rename from samples/grails3/build.gradle
rename to samples/misc/grails3/build.gradle
diff --git a/samples/grails3/gradle.properties b/samples/misc/grails3/gradle.properties
similarity index 100%
rename from samples/grails3/gradle.properties
rename to samples/misc/grails3/gradle.properties
diff --git a/samples/grails3/grails-app/conf/application.groovy b/samples/misc/grails3/grails-app/conf/application.groovy
similarity index 100%
rename from samples/grails3/grails-app/conf/application.groovy
rename to samples/misc/grails3/grails-app/conf/application.groovy
diff --git a/samples/grails3/grails-app/conf/application.yml b/samples/misc/grails3/grails-app/conf/application.yml
similarity index 100%
rename from samples/grails3/grails-app/conf/application.yml
rename to samples/misc/grails3/grails-app/conf/application.yml
diff --git a/samples/grails3/grails-app/conf/logback.groovy b/samples/misc/grails3/grails-app/conf/logback.groovy
similarity index 100%
rename from samples/grails3/grails-app/conf/logback.groovy
rename to samples/misc/grails3/grails-app/conf/logback.groovy
diff --git a/samples/grails3/grails-app/conf/spring/resources.groovy b/samples/misc/grails3/grails-app/conf/spring/resources.groovy
similarity index 100%
rename from samples/grails3/grails-app/conf/spring/resources.groovy
rename to samples/misc/grails3/grails-app/conf/spring/resources.groovy
diff --git a/samples/grails3/grails-app/controllers/grails3/redis/session/TestController.groovy b/samples/misc/grails3/grails-app/controllers/grails3/redis/session/TestController.groovy
similarity index 100%
rename from samples/grails3/grails-app/controllers/grails3/redis/session/TestController.groovy
rename to samples/misc/grails3/grails-app/controllers/grails3/redis/session/TestController.groovy
diff --git a/samples/grails3/grails-app/controllers/grails3/redis/session/UrlMappings.groovy b/samples/misc/grails3/grails-app/controllers/grails3/redis/session/UrlMappings.groovy
similarity index 100%
rename from samples/grails3/grails-app/controllers/grails3/redis/session/UrlMappings.groovy
rename to samples/misc/grails3/grails-app/controllers/grails3/redis/session/UrlMappings.groovy
diff --git a/samples/grails3/grails-app/domain/grails3/redis/session/Role.groovy b/samples/misc/grails3/grails-app/domain/grails3/redis/session/Role.groovy
similarity index 100%
rename from samples/grails3/grails-app/domain/grails3/redis/session/Role.groovy
rename to samples/misc/grails3/grails-app/domain/grails3/redis/session/Role.groovy
diff --git a/samples/grails3/grails-app/domain/grails3/redis/session/User.groovy b/samples/misc/grails3/grails-app/domain/grails3/redis/session/User.groovy
similarity index 100%
rename from samples/grails3/grails-app/domain/grails3/redis/session/User.groovy
rename to samples/misc/grails3/grails-app/domain/grails3/redis/session/User.groovy
diff --git a/samples/grails3/grails-app/domain/grails3/redis/session/UserRole.groovy b/samples/misc/grails3/grails-app/domain/grails3/redis/session/UserRole.groovy
similarity index 100%
rename from samples/grails3/grails-app/domain/grails3/redis/session/UserRole.groovy
rename to samples/misc/grails3/grails-app/domain/grails3/redis/session/UserRole.groovy
diff --git a/samples/grails3/grails-app/i18n/messages.properties b/samples/misc/grails3/grails-app/i18n/messages.properties
similarity index 100%
rename from samples/grails3/grails-app/i18n/messages.properties
rename to samples/misc/grails3/grails-app/i18n/messages.properties
diff --git a/samples/grails3/grails-app/init/BootStrap.groovy b/samples/misc/grails3/grails-app/init/BootStrap.groovy
similarity index 100%
rename from samples/grails3/grails-app/init/BootStrap.groovy
rename to samples/misc/grails3/grails-app/init/BootStrap.groovy
diff --git a/samples/grails3/grails-app/init/grails3/redis/session/Application.groovy b/samples/misc/grails3/grails-app/init/grails3/redis/session/Application.groovy
similarity index 100%
rename from samples/grails3/grails-app/init/grails3/redis/session/Application.groovy
rename to samples/misc/grails3/grails-app/init/grails3/redis/session/Application.groovy
diff --git a/samples/grails3/grails-app/views/error.gsp b/samples/misc/grails3/grails-app/views/error.gsp
similarity index 100%
rename from samples/grails3/grails-app/views/error.gsp
rename to samples/misc/grails3/grails-app/views/error.gsp
diff --git a/samples/grails3/grails-app/views/index.gsp b/samples/misc/grails3/grails-app/views/index.gsp
similarity index 100%
rename from samples/grails3/grails-app/views/index.gsp
rename to samples/misc/grails3/grails-app/views/index.gsp
diff --git a/samples/grails3/grails-app/views/notFound.gsp b/samples/misc/grails3/grails-app/views/notFound.gsp
similarity index 100%
rename from samples/grails3/grails-app/views/notFound.gsp
rename to samples/misc/grails3/grails-app/views/notFound.gsp
diff --git a/samples/grails3/grails-app/views/test/index.gsp b/samples/misc/grails3/grails-app/views/test/index.gsp
similarity index 100%
rename from samples/grails3/grails-app/views/test/index.gsp
rename to samples/misc/grails3/grails-app/views/test/index.gsp
diff --git a/samples/grails3/src/integration-test/groovy/sample/HomeSpec.groovy b/samples/misc/grails3/src/integration-test/groovy/sample/HomeSpec.groovy
similarity index 100%
rename from samples/grails3/src/integration-test/groovy/sample/HomeSpec.groovy
rename to samples/misc/grails3/src/integration-test/groovy/sample/HomeSpec.groovy
diff --git a/samples/grails3/src/integration-test/groovy/sample/pages/HomePage.groovy b/samples/misc/grails3/src/integration-test/groovy/sample/pages/HomePage.groovy
similarity index 100%
rename from samples/grails3/src/integration-test/groovy/sample/pages/HomePage.groovy
rename to samples/misc/grails3/src/integration-test/groovy/sample/pages/HomePage.groovy
diff --git a/samples/grails3/src/integration-test/groovy/sample/pages/IndexPage.groovy b/samples/misc/grails3/src/integration-test/groovy/sample/pages/IndexPage.groovy
similarity index 100%
rename from samples/grails3/src/integration-test/groovy/sample/pages/IndexPage.groovy
rename to samples/misc/grails3/src/integration-test/groovy/sample/pages/IndexPage.groovy
diff --git a/samples/grails3/src/integration-test/groovy/sample/pages/LoginPage.groovy b/samples/misc/grails3/src/integration-test/groovy/sample/pages/LoginPage.groovy
similarity index 100%
rename from samples/grails3/src/integration-test/groovy/sample/pages/LoginPage.groovy
rename to samples/misc/grails3/src/integration-test/groovy/sample/pages/LoginPage.groovy
diff --git a/samples/hazelcast/build.gradle b/samples/misc/hazelcast/build.gradle
similarity index 100%
rename from samples/hazelcast/build.gradle
rename to samples/misc/hazelcast/build.gradle
diff --git a/samples/hazelcast/src/integration-test/java/sample/AttributeTests.java b/samples/misc/hazelcast/src/integration-test/java/sample/AttributeTests.java
similarity index 100%
rename from samples/hazelcast/src/integration-test/java/sample/AttributeTests.java
rename to samples/misc/hazelcast/src/integration-test/java/sample/AttributeTests.java
diff --git a/samples/httpsession-jdbc/src/integration-test/java/sample/pages/HomePage.java b/samples/misc/hazelcast/src/integration-test/java/sample/pages/HomePage.java
similarity index 100%
rename from samples/httpsession-jdbc/src/integration-test/java/sample/pages/HomePage.java
rename to samples/misc/hazelcast/src/integration-test/java/sample/pages/HomePage.java
diff --git a/samples/hazelcast/src/main/java/sample/Initializer.java b/samples/misc/hazelcast/src/main/java/sample/Initializer.java
similarity index 100%
rename from samples/hazelcast/src/main/java/sample/Initializer.java
rename to samples/misc/hazelcast/src/main/java/sample/Initializer.java
diff --git a/samples/hazelcast/src/main/java/sample/ObjectStreamSerializer.java b/samples/misc/hazelcast/src/main/java/sample/ObjectStreamSerializer.java
similarity index 100%
rename from samples/hazelcast/src/main/java/sample/ObjectStreamSerializer.java
rename to samples/misc/hazelcast/src/main/java/sample/ObjectStreamSerializer.java
diff --git a/samples/hazelcast/src/main/java/sample/SessionServlet.java b/samples/misc/hazelcast/src/main/java/sample/SessionServlet.java
similarity index 100%
rename from samples/hazelcast/src/main/java/sample/SessionServlet.java
rename to samples/misc/hazelcast/src/main/java/sample/SessionServlet.java
diff --git a/samples/httpsession-xml/src/main/webapp/META-INF/MANIFEST.MF b/samples/misc/hazelcast/src/main/webapp/META-INF/MANIFEST.MF
similarity index 100%
rename from samples/httpsession-xml/src/main/webapp/META-INF/MANIFEST.MF
rename to samples/misc/hazelcast/src/main/webapp/META-INF/MANIFEST.MF
diff --git a/samples/hazelcast/src/main/webapp/index.jsp b/samples/misc/hazelcast/src/main/webapp/index.jsp
similarity index 100%
rename from samples/hazelcast/src/main/webapp/index.jsp
rename to samples/misc/hazelcast/src/main/webapp/index.jsp
diff --git a/samples/httpsession-gemfire-clientserver-xml/build.gradle b/samples/xml/xml-gemfire-clientserver/build.gradle
similarity index 100%
rename from samples/httpsession-gemfire-clientserver-xml/build.gradle
rename to samples/xml/xml-gemfire-clientserver/build.gradle
diff --git a/samples/httpsession-gemfire-p2p-xml/src/integration-test/java/sample/AttributeTests.java b/samples/xml/xml-gemfire-clientserver/src/integration-test/java/sample/AttributeTests.java
similarity index 100%
rename from samples/httpsession-gemfire-p2p-xml/src/integration-test/java/sample/AttributeTests.java
rename to samples/xml/xml-gemfire-clientserver/src/integration-test/java/sample/AttributeTests.java
diff --git a/samples/httpsession-gemfire-p2p-xml/src/integration-test/java/sample/pages/HomePage.java b/samples/xml/xml-gemfire-clientserver/src/integration-test/java/sample/pages/HomePage.java
similarity index 100%
rename from samples/httpsession-gemfire-p2p-xml/src/integration-test/java/sample/pages/HomePage.java
rename to samples/xml/xml-gemfire-clientserver/src/integration-test/java/sample/pages/HomePage.java
diff --git a/samples/httpsession-gemfire-clientserver-xml/src/main/java/sample/Application.java b/samples/xml/xml-gemfire-clientserver/src/main/java/sample/Application.java
similarity index 100%
rename from samples/httpsession-gemfire-clientserver-xml/src/main/java/sample/Application.java
rename to samples/xml/xml-gemfire-clientserver/src/main/java/sample/Application.java
diff --git a/samples/httpsession-gemfire-clientserver-xml/src/main/java/sample/GemFireCacheServerReadyBeanPostProcessor.java b/samples/xml/xml-gemfire-clientserver/src/main/java/sample/GemFireCacheServerReadyBeanPostProcessor.java
similarity index 100%
rename from samples/httpsession-gemfire-clientserver-xml/src/main/java/sample/GemFireCacheServerReadyBeanPostProcessor.java
rename to samples/xml/xml-gemfire-clientserver/src/main/java/sample/GemFireCacheServerReadyBeanPostProcessor.java
diff --git a/samples/httpsession-gemfire-clientserver-xml/src/main/java/sample/SessionServlet.java b/samples/xml/xml-gemfire-clientserver/src/main/java/sample/SessionServlet.java
similarity index 100%
rename from samples/httpsession-gemfire-clientserver-xml/src/main/java/sample/SessionServlet.java
rename to samples/xml/xml-gemfire-clientserver/src/main/java/sample/SessionServlet.java
diff --git a/samples/httpsession-gemfire-clientserver-xml/src/main/resources/META-INF/spring/application.properties b/samples/xml/xml-gemfire-clientserver/src/main/resources/META-INF/spring/application.properties
similarity index 100%
rename from samples/httpsession-gemfire-clientserver-xml/src/main/resources/META-INF/spring/application.properties
rename to samples/xml/xml-gemfire-clientserver/src/main/resources/META-INF/spring/application.properties
diff --git a/samples/httpsession-gemfire-clientserver-xml/src/main/resources/META-INF/spring/session-server.xml b/samples/xml/xml-gemfire-clientserver/src/main/resources/META-INF/spring/session-server.xml
similarity index 100%
rename from samples/httpsession-gemfire-clientserver-xml/src/main/resources/META-INF/spring/session-server.xml
rename to samples/xml/xml-gemfire-clientserver/src/main/resources/META-INF/spring/session-server.xml
diff --git a/samples/httpsession/src/main/webapp/META-INF/MANIFEST.MF b/samples/xml/xml-gemfire-clientserver/src/main/webapp/META-INF/MANIFEST.MF
similarity index 100%
rename from samples/httpsession/src/main/webapp/META-INF/MANIFEST.MF
rename to samples/xml/xml-gemfire-clientserver/src/main/webapp/META-INF/MANIFEST.MF
diff --git a/samples/httpsession-gemfire-clientserver-xml/src/main/webapp/WEB-INF/spring/session-client.xml b/samples/xml/xml-gemfire-clientserver/src/main/webapp/WEB-INF/spring/session-client.xml
similarity index 100%
rename from samples/httpsession-gemfire-clientserver-xml/src/main/webapp/WEB-INF/spring/session-client.xml
rename to samples/xml/xml-gemfire-clientserver/src/main/webapp/WEB-INF/spring/session-client.xml
diff --git a/samples/httpsession-gemfire-clientserver-xml/src/main/webapp/WEB-INF/web.xml b/samples/xml/xml-gemfire-clientserver/src/main/webapp/WEB-INF/web.xml
similarity index 100%
rename from samples/httpsession-gemfire-clientserver-xml/src/main/webapp/WEB-INF/web.xml
rename to samples/xml/xml-gemfire-clientserver/src/main/webapp/WEB-INF/web.xml
diff --git a/samples/httpsession-gemfire-p2p/src/main/webapp/index.jsp b/samples/xml/xml-gemfire-clientserver/src/main/webapp/index.jsp
similarity index 100%
rename from samples/httpsession-gemfire-p2p/src/main/webapp/index.jsp
rename to samples/xml/xml-gemfire-clientserver/src/main/webapp/index.jsp
diff --git a/samples/httpsession-gemfire-p2p/build.gradle b/samples/xml/xml-gemfire-p2p/build.gradle
similarity index 100%
rename from samples/httpsession-gemfire-p2p/build.gradle
rename to samples/xml/xml-gemfire-p2p/build.gradle
diff --git a/samples/httpsession-gemfire-p2p/src/integration-test/java/sample/AttributeTests.java b/samples/xml/xml-gemfire-p2p/src/integration-test/java/sample/AttributeTests.java
similarity index 100%
rename from samples/httpsession-gemfire-p2p/src/integration-test/java/sample/AttributeTests.java
rename to samples/xml/xml-gemfire-p2p/src/integration-test/java/sample/AttributeTests.java
diff --git a/samples/httpsession-gemfire-p2p/src/integration-test/java/sample/pages/HomePage.java b/samples/xml/xml-gemfire-p2p/src/integration-test/java/sample/pages/HomePage.java
similarity index 100%
rename from samples/httpsession-gemfire-p2p/src/integration-test/java/sample/pages/HomePage.java
rename to samples/xml/xml-gemfire-p2p/src/integration-test/java/sample/pages/HomePage.java
diff --git a/samples/httpsession-gemfire-p2p-xml/src/main/java/sample/SessionServlet.java b/samples/xml/xml-gemfire-p2p/src/main/java/sample/SessionServlet.java
similarity index 100%
rename from samples/httpsession-gemfire-p2p-xml/src/main/java/sample/SessionServlet.java
rename to samples/xml/xml-gemfire-p2p/src/main/java/sample/SessionServlet.java
diff --git a/samples/rest/src/main/webapp/META-INF/MANIFEST.MF b/samples/xml/xml-gemfire-p2p/src/main/webapp/META-INF/MANIFEST.MF
similarity index 100%
rename from samples/rest/src/main/webapp/META-INF/MANIFEST.MF
rename to samples/xml/xml-gemfire-p2p/src/main/webapp/META-INF/MANIFEST.MF
diff --git a/samples/httpsession-gemfire-p2p-xml/src/main/webapp/WEB-INF/spring/session.xml b/samples/xml/xml-gemfire-p2p/src/main/webapp/WEB-INF/spring/session.xml
similarity index 100%
rename from samples/httpsession-gemfire-p2p-xml/src/main/webapp/WEB-INF/spring/session.xml
rename to samples/xml/xml-gemfire-p2p/src/main/webapp/WEB-INF/spring/session.xml
diff --git a/samples/httpsession-gemfire-p2p-xml/src/main/webapp/WEB-INF/web.xml b/samples/xml/xml-gemfire-p2p/src/main/webapp/WEB-INF/web.xml
similarity index 100%
rename from samples/httpsession-gemfire-p2p-xml/src/main/webapp/WEB-INF/web.xml
rename to samples/xml/xml-gemfire-p2p/src/main/webapp/WEB-INF/web.xml
diff --git a/samples/httpsession-gemfire-p2p-xml/src/main/webapp/index.jsp b/samples/xml/xml-gemfire-p2p/src/main/webapp/index.jsp
similarity index 100%
rename from samples/httpsession-gemfire-p2p-xml/src/main/webapp/index.jsp
rename to samples/xml/xml-gemfire-p2p/src/main/webapp/index.jsp
diff --git a/samples/httpsession-jdbc/build.gradle b/samples/xml/xml-jdbc/build.gradle
similarity index 100%
rename from samples/httpsession-jdbc/build.gradle
rename to samples/xml/xml-jdbc/build.gradle
diff --git a/samples/httpsession/src/integration-test/java/sample/AttributeTests.java b/samples/xml/xml-jdbc/src/integration-test/java/sample/AttributeTests.java
similarity index 100%
rename from samples/httpsession/src/integration-test/java/sample/AttributeTests.java
rename to samples/xml/xml-jdbc/src/integration-test/java/sample/AttributeTests.java
diff --git a/samples/httpsession/src/integration-test/java/sample/pages/HomePage.java b/samples/xml/xml-jdbc/src/integration-test/java/sample/pages/HomePage.java
similarity index 100%
rename from samples/httpsession/src/integration-test/java/sample/pages/HomePage.java
rename to samples/xml/xml-jdbc/src/integration-test/java/sample/pages/HomePage.java
diff --git a/samples/httpsession-jdbc-xml/src/main/java/sample/SessionServlet.java b/samples/xml/xml-jdbc/src/main/java/sample/SessionServlet.java
similarity index 100%
rename from samples/httpsession-jdbc-xml/src/main/java/sample/SessionServlet.java
rename to samples/xml/xml-jdbc/src/main/java/sample/SessionServlet.java
diff --git a/samples/security/src/main/webapp/META-INF/MANIFEST.MF b/samples/xml/xml-jdbc/src/main/webapp/META-INF/MANIFEST.MF
similarity index 100%
rename from samples/security/src/main/webapp/META-INF/MANIFEST.MF
rename to samples/xml/xml-jdbc/src/main/webapp/META-INF/MANIFEST.MF
diff --git a/samples/httpsession-jdbc-xml/src/main/webapp/WEB-INF/spring/session.xml b/samples/xml/xml-jdbc/src/main/webapp/WEB-INF/spring/session.xml
similarity index 100%
rename from samples/httpsession-jdbc-xml/src/main/webapp/WEB-INF/spring/session.xml
rename to samples/xml/xml-jdbc/src/main/webapp/WEB-INF/spring/session.xml
diff --git a/samples/httpsession-jdbc-xml/src/main/webapp/WEB-INF/web.xml b/samples/xml/xml-jdbc/src/main/webapp/WEB-INF/web.xml
similarity index 100%
rename from samples/httpsession-jdbc-xml/src/main/webapp/WEB-INF/web.xml
rename to samples/xml/xml-jdbc/src/main/webapp/WEB-INF/web.xml
diff --git a/samples/httpsession-jdbc/src/main/webapp/index.jsp b/samples/xml/xml-jdbc/src/main/webapp/index.jsp
similarity index 100%
rename from samples/httpsession-jdbc/src/main/webapp/index.jsp
rename to samples/xml/xml-jdbc/src/main/webapp/index.jsp
diff --git a/samples/httpsession/build.gradle b/samples/xml/xml-redis/build.gradle
similarity index 100%
rename from samples/httpsession/build.gradle
rename to samples/xml/xml-redis/build.gradle
diff --git a/samples/httpsession-xml/src/integration-test/java/sample/AttributeTests.java b/samples/xml/xml-redis/src/integration-test/java/sample/AttributeTests.java
similarity index 100%
rename from samples/httpsession-xml/src/integration-test/java/sample/AttributeTests.java
rename to samples/xml/xml-redis/src/integration-test/java/sample/AttributeTests.java
diff --git a/samples/httpsession-xml/src/integration-test/java/sample/pages/HomePage.java b/samples/xml/xml-redis/src/integration-test/java/sample/pages/HomePage.java
similarity index 100%
rename from samples/httpsession-xml/src/integration-test/java/sample/pages/HomePage.java
rename to samples/xml/xml-redis/src/integration-test/java/sample/pages/HomePage.java
diff --git a/samples/httpsession-xml/src/main/java/sample/SessionServlet.java b/samples/xml/xml-redis/src/main/java/sample/SessionServlet.java
similarity index 100%
rename from samples/httpsession-xml/src/main/java/sample/SessionServlet.java
rename to samples/xml/xml-redis/src/main/java/sample/SessionServlet.java
diff --git a/samples/users/src/main/webapp/META-INF/MANIFEST.MF b/samples/xml/xml-redis/src/main/webapp/META-INF/MANIFEST.MF
similarity index 100%
rename from samples/users/src/main/webapp/META-INF/MANIFEST.MF
rename to samples/xml/xml-redis/src/main/webapp/META-INF/MANIFEST.MF
diff --git a/samples/httpsession-xml/src/main/webapp/WEB-INF/spring/session.xml b/samples/xml/xml-redis/src/main/webapp/WEB-INF/spring/session.xml
similarity index 100%
rename from samples/httpsession-xml/src/main/webapp/WEB-INF/spring/session.xml
rename to samples/xml/xml-redis/src/main/webapp/WEB-INF/spring/session.xml
diff --git a/samples/httpsession-xml/src/main/webapp/WEB-INF/web.xml b/samples/xml/xml-redis/src/main/webapp/WEB-INF/web.xml
similarity index 100%
rename from samples/httpsession-xml/src/main/webapp/WEB-INF/web.xml
rename to samples/xml/xml-redis/src/main/webapp/WEB-INF/web.xml
diff --git a/samples/httpsession-xml/src/main/webapp/index.jsp b/samples/xml/xml-redis/src/main/webapp/index.jsp
similarity index 100%
rename from samples/httpsession-xml/src/main/webapp/index.jsp
rename to samples/xml/xml-redis/src/main/webapp/index.jsp
diff --git a/settings.gradle b/settings.gradle
index 7d3388f9..4553eb22 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -2,28 +2,28 @@ rootProject.name = 'spring-session-build'
include 'docs'
-include 'samples:boot'
-include 'samples:custom-cookie'
-include 'samples:findbyusername'
-include 'samples:hazelcast'
-include 'samples:hazelcast-spring'
-include 'samples:httpsession'
-include 'samples:httpsession-gemfire-boot'
-include 'samples:httpsession-gemfire-clientserver'
-include 'samples:httpsession-gemfire-clientserver-xml'
-include 'samples:httpsession-gemfire-p2p'
-include 'samples:httpsession-gemfire-p2p-xml'
-include 'samples:httpsession-jdbc'
-include 'samples:httpsession-jdbc-boot'
-include 'samples:httpsession-jdbc-xml'
-include 'samples:httpsession-redis-json'
-include 'samples:httpsession-xml'
-include 'samples:rest'
-include 'samples:security'
-include 'samples:users'
-include 'samples:websocket'
-include 'samples:mongo'
-//include 'samples:grails3'
+include 'samples:boot:boot-findbyusername'
+include 'samples:boot:boot-gemfire'
+include 'samples:boot:boot-jdbc'
+include 'samples:boot:boot-mongo'
+include 'samples:boot:boot-redis'
+include 'samples:boot:boot-redis-json'
+include 'samples:boot:boot-websocket'
+include 'samples:java:java-custom-cookie'
+include 'samples:java:java-gemfire-clientserver'
+include 'samples:java:java-gemfire-p2p'
+include 'samples:java:java-hazelcast'
+include 'samples:java:java-jdbc'
+include 'samples:java:java-redis'
+include 'samples:java:java-rest'
+include 'samples:java:java-security'
+include 'samples:java:java-users'
+//include 'samples:misc:grails3'
+include 'samples:misc:hazelcast'
+include 'samples:xml:xml-gemfire-clientserver'
+include 'samples:xml:xml-gemfire-p2p'
+include 'samples:xml:xml-jdbc'
+include 'samples:xml:xml-redis'
include 'spring-session'
include 'spring-session-data-gemfire'