diff --git a/etc/checkstyle/suppressions.xml b/etc/checkstyle/suppressions.xml
index f893c50f..b746bea3 100644
--- a/etc/checkstyle/suppressions.xml
+++ b/etc/checkstyle/suppressions.xml
@@ -3,9 +3,9 @@
"https://checkstyle.org/dtds/suppressions_1_2.dtd">
-
-
-
-
+
+
+
+
diff --git a/samples/misc/grails3/gradle.properties b/samples/misc/grails3/gradle.properties
deleted file mode 100644
index ccd969e0..00000000
--- a/samples/misc/grails3/gradle.properties
+++ /dev/null
@@ -1 +0,0 @@
-grailsVersion=3.1.4
diff --git a/samples/misc/grails3/grails-app/conf/application.groovy b/samples/misc/grails3/grails-app/conf/application.groovy
deleted file mode 100644
index 36901ec7..00000000
--- a/samples/misc/grails3/grails-app/conf/application.groovy
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-// Added by the Spring Security Core plugin:
-grails.plugin.springsecurity.userLookup.userDomainClassName = 'grails3.redis.session.User'
-grails.plugin.springsecurity.userLookup.authorityJoinClassName = 'grails3.redis.session.UserRole'
-grails.plugin.springsecurity.authority.className = 'grails3.redis.session.Role'
-grails.plugin.springsecurity.controllerAnnotations.staticRules = [
- [pattern: '/', access: ['permitAll']],
- [pattern: '/error', access: ['permitAll']],
- [pattern: '/index', access: ['permitAll']],
- [pattern: '/index.gsp', access: ['permitAll']],
- [pattern: '/shutdown', access: ['permitAll']],
- [pattern: '/assets/**', access: ['permitAll']],
- [pattern: '/**/js/**', access: ['permitAll']],
- [pattern: '/**/css/**', access: ['permitAll']],
- [pattern: '/**/images/**', access: ['permitAll']],
- [pattern: '/**/favicon.ico', access: ['permitAll']]
-]
-
-grails.plugin.springsecurity.filterChain.chainMap = [
- [pattern: '/assets/**', filters: 'none'],
- [pattern: '/**/js/**', filters: 'none'],
- [pattern: '/**/css/**', filters: 'none'],
- [pattern: '/**/images/**', filters: 'none'],
- [pattern: '/**/favicon.ico', filters: 'none'],
- [pattern: '/**', filters: 'JOINED_FILTERS']
-]
-
diff --git a/samples/misc/grails3/grails-app/conf/application.yml b/samples/misc/grails3/grails-app/conf/application.yml
deleted file mode 100644
index 43c77d29..00000000
--- a/samples/misc/grails3/grails-app/conf/application.yml
+++ /dev/null
@@ -1,122 +0,0 @@
----
-hibernate:
- cache:
- queries: false
- use_second_level_cache: true
- use_query_cache: false
- region.factory_class: 'org.hibernate.cache.ehcache.EhCacheRegionFactory'
-
-dataSource:
- pooled: true
- jmxExport: true
- driverClassName: org.h2.Driver
- username: sa
- password:
-
-environments:
- development:
- dataSource:
- dbCreate: create-drop
- url: jdbc:h2:mem:devDb;MVCC=TRUE;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE
- test:
- dataSource:
- dbCreate: update
- url: jdbc:h2:mem:testDb;MVCC=TRUE;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE
- production:
- dataSource:
- dbCreate: update
- url: jdbc:h2:./prodDb;MVCC=TRUE;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE
- properties:
- jmxEnabled: true
- initialSize: 5
- maxActive: 50
- minIdle: 5
- maxIdle: 25
- maxWait: 10000
- maxAge: 600000
- timeBetweenEvictionRunsMillis: 5000
- minEvictableIdleTimeMillis: 60000
- validationQuery: SELECT 1
- validationQueryTimeout: 3
- validationInterval: 15000
- testOnBorrow: true
- testWhileIdle: true
- testOnReturn: false
- jdbcInterceptors: ConnectionState
- defaultTransactionIsolation: 2 # TRANSACTION_READ_COMMITTED
-
----
----
-grails:
- profile: web
- codegen:
- defaultPackage: grails3.redis.session
- spring:
- transactionManagement:
- proxies: false
-info:
- app:
- name: '@info.app.name@'
- version: '@info.app.version@'
- grailsVersion: '@info.app.grailsVersion@'
-spring:
-
- groovy:
- template:
- check-template-location: false
-
----
-grails:
- mime:
- disable:
- accept:
- header:
- userAgents:
- - Gecko
- - WebKit
- - Presto
- - Trident
- types:
- all: '*/*'
- atom: application/atom+xml
- css: text/css
- csv: text/csv
- form: application/x-www-form-urlencoded
- html:
- - text/html
- - application/xhtml+xml
- js: text/javascript
- json:
- - application/json
- - text/json
- multipartForm: multipart/form-data
- pdf: application/pdf
- rss: application/rss+xml
- text: text/plain
- hal:
- - application/hal+json
- - application/hal+xml
- xml:
- - text/xml
- - application/xml
- urlmapping:
- cache:
- maxsize: 1000
- controllers:
- defaultScope: singleton
- converters:
- encoding: UTF-8
- views:
- default:
- codec: html
- gsp:
- encoding: UTF-8
- htmlcodec: xml
- codecs:
- expression: html
- scriptlets: html
- taglib: none
- staticparts: none
-endpoints:
- jmx:
- unique-names: true
diff --git a/samples/misc/grails3/grails-app/conf/logback.groovy b/samples/misc/grails3/grails-app/conf/logback.groovy
deleted file mode 100644
index ee586923..00000000
--- a/samples/misc/grails3/grails-app/conf/logback.groovy
+++ /dev/null
@@ -1,23 +0,0 @@
-import grails.util.BuildSettings
-import grails.util.Environment
-
-// See https://logback.qos.ch/manual/groovy.html for details on configuration
-appender('STDOUT', ConsoleAppender) {
- encoder(PatternLayoutEncoder) {
- pattern = "%level %logger - %msg%n"
- }
-}
-
-root(ERROR, ['STDOUT'])
-
-def targetDir = BuildSettings.TARGET_DIR
-if (Environment.isDevelopmentMode() && targetDir) {
- appender("FULL_STACKTRACE", FileAppender) {
- file = "${targetDir}/stacktrace.log"
- append = true
- encoder(PatternLayoutEncoder) {
- pattern = "%level %logger - %msg%n"
- }
- }
- logger("StackTrace", ERROR, ['FULL_STACKTRACE'], false)
-}
diff --git a/samples/misc/grails3/grails-app/conf/spring/resources.groovy b/samples/misc/grails3/grails-app/conf/spring/resources.groovy
deleted file mode 100644
index fa950068..00000000
--- a/samples/misc/grails3/grails-app/conf/spring/resources.groovy
+++ /dev/null
@@ -1,3 +0,0 @@
-// Place your Spring DSL code here
-beans = {
-}
diff --git a/samples/misc/grails3/grails-app/controllers/grails3/redis/session/TestController.groovy b/samples/misc/grails3/grails-app/controllers/grails3/redis/session/TestController.groovy
deleted file mode 100644
index 60e878d3..00000000
--- a/samples/misc/grails3/grails-app/controllers/grails3/redis/session/TestController.groovy
+++ /dev/null
@@ -1,8 +0,0 @@
-package grails3.redis.session
-
-import grails.plugin.springsecurity.annotation.Secured
-
-class TestController {
- @Secured('ROLE_ADMIN')
- def index() { } // Renders `test/index.gsp`
-}
diff --git a/samples/misc/grails3/grails-app/controllers/grails3/redis/session/UrlMappings.groovy b/samples/misc/grails3/grails-app/controllers/grails3/redis/session/UrlMappings.groovy
deleted file mode 100644
index 436d40d5..00000000
--- a/samples/misc/grails3/grails-app/controllers/grails3/redis/session/UrlMappings.groovy
+++ /dev/null
@@ -1,16 +0,0 @@
-package grails3.redis.session
-
-class UrlMappings {
-
- static mappings = {
- "/$controller/$action?/$id?(.$format)?"{
- constraints {
- // apply constraints here
- }
- }
-
- "/"(view:"/index")
- "500"(view:'/error')
- "404"(view:'/notFound')
- }
-}
diff --git a/samples/misc/grails3/grails-app/domain/grails3/redis/session/Role.groovy b/samples/misc/grails3/grails-app/domain/grails3/redis/session/Role.groovy
deleted file mode 100644
index 4705064c..00000000
--- a/samples/misc/grails3/grails-app/domain/grails3/redis/session/Role.groovy
+++ /dev/null
@@ -1,26 +0,0 @@
-package grails3.redis.session
-
-import groovy.transform.EqualsAndHashCode
-import groovy.transform.ToString
-
-@EqualsAndHashCode(includes='authority')
-@ToString(includes='authority', includeNames=true, includePackage=false)
-class Role implements Serializable {
-
- private static final long serialVersionUID = 1
-
- String authority
-
- Role(String authority) {
- this()
- this.authority = authority
- }
-
- static constraints = {
- authority blank: false, unique: true
- }
-
- static mapping = {
- cache true
- }
-}
diff --git a/samples/misc/grails3/grails-app/domain/grails3/redis/session/User.groovy b/samples/misc/grails3/grails-app/domain/grails3/redis/session/User.groovy
deleted file mode 100644
index 078e249f..00000000
--- a/samples/misc/grails3/grails-app/domain/grails3/redis/session/User.groovy
+++ /dev/null
@@ -1,55 +0,0 @@
-package grails3.redis.session
-
-import groovy.transform.EqualsAndHashCode
-import groovy.transform.ToString
-
-@EqualsAndHashCode(includes='username')
-@ToString(includes='username', includeNames=true, includePackage=false)
-class User implements Serializable {
-
- private static final long serialVersionUID = 1
-
- transient springSecurityService
-
- String username
- String password
- boolean enabled = true
- boolean accountExpired
- boolean accountLocked
- boolean passwordExpired
-
- User(String username, String password) {
- this()
- this.username = username
- this.password = password
- }
-
- Set getAuthorities() {
- UserRole.findAllByUser(this)*.role
- }
-
- def beforeInsert() {
- encodePassword()
- }
-
- def beforeUpdate() {
- if (isDirty('password')) {
- encodePassword()
- }
- }
-
- protected void encodePassword() {
- password = springSecurityService?.passwordEncoder ? springSecurityService.encodePassword(password) : password
- }
-
- static transients = ['springSecurityService']
-
- static constraints = {
- password blank: false, password: true
- username blank: false, unique: true
- }
-
- static mapping = {
- password column: '`password`'
- }
-}
diff --git a/samples/misc/grails3/grails-app/domain/grails3/redis/session/UserRole.groovy b/samples/misc/grails3/grails-app/domain/grails3/redis/session/UserRole.groovy
deleted file mode 100644
index 3ba030fa..00000000
--- a/samples/misc/grails3/grails-app/domain/grails3/redis/session/UserRole.groovy
+++ /dev/null
@@ -1,103 +0,0 @@
-package grails3.redis.session
-
-import grails.gorm.DetachedCriteria
-import groovy.transform.ToString
-
-import org.apache.commons.lang.builder.HashCodeBuilder
-
-@ToString(cache=true, includeNames=true, includePackage=false)
-class UserRole implements Serializable {
-
- private static final long serialVersionUID = 1
-
- User user
- Role role
-
- UserRole(User u, Role r) {
- this()
- user = u
- role = r
- }
-
- @Override
- boolean equals(other) {
- if (!(other instanceof UserRole)) {
- return false
- }
-
- other.user?.id == user?.id && other.role?.id == role?.id
- }
-
- @Override
- int hashCode() {
- def builder = new HashCodeBuilder()
- if (user) builder.append(user.id)
- if (role) builder.append(role.id)
- builder.toHashCode()
- }
-
- static UserRole get(long userId, long roleId) {
- criteriaFor(userId, roleId).get()
- }
-
- static boolean exists(long userId, long roleId) {
- criteriaFor(userId, roleId).count()
- }
-
- private static DetachedCriteria criteriaFor(long userId, long roleId) {
- UserRole.where {
- user == User.load(userId) &&
- role == Role.load(roleId)
- }
- }
-
- static UserRole create(User user, Role role, boolean flush = false) {
- def instance = new UserRole(user: user, role: role)
- instance.save(flush: flush, insert: true)
- instance
- }
-
- static boolean remove(User u, Role r, boolean flush = false) {
- if (u == null || r == null) return false
-
- int rowCount = UserRole.where { user == u && role == r }.deleteAll()
-
- if (flush) { UserRole.withSession { it.flush() } }
-
- rowCount
- }
-
- static void removeAll(User u, boolean flush = false) {
- if (u == null) return
-
- UserRole.where { user == u }.deleteAll()
-
- if (flush) { UserRole.withSession { it.flush() } }
- }
-
- static void removeAll(Role r, boolean flush = false) {
- if (r == null) return
-
- UserRole.where { role == r }.deleteAll()
-
- if (flush) { UserRole.withSession { it.flush() } }
- }
-
- static constraints = {
- role validator: { Role r, UserRole ur ->
- if (ur.user == null || ur.user.id == null) return
- boolean existing = false
- UserRole.withNewSession {
- existing = UserRole.exists(ur.user.id, r.id)
- }
- if (existing) {
- return 'userRole.exists'
- }
- }
- }
-
- static mapping = {
- id composite: ['user', 'role']
- version false
- }
-}
diff --git a/samples/misc/grails3/grails-app/i18n/messages.properties b/samples/misc/grails3/grails-app/i18n/messages.properties
deleted file mode 100644
index b0451362..00000000
--- a/samples/misc/grails3/grails-app/i18n/messages.properties
+++ /dev/null
@@ -1,56 +0,0 @@
-default.doesnt.match.message=Property [{0}] of class [{1}] with value [{2}] does not match the required pattern [{3}]
-default.invalid.url.message=Property [{0}] of class [{1}] with value [{2}] is not a valid URL
-default.invalid.creditCard.message=Property [{0}] of class [{1}] with value [{2}] is not a valid credit card number
-default.invalid.email.message=Property [{0}] of class [{1}] with value [{2}] is not a valid e-mail address
-default.invalid.range.message=Property [{0}] of class [{1}] with value [{2}] does not fall within the valid range from [{3}] to [{4}]
-default.invalid.size.message=Property [{0}] of class [{1}] with value [{2}] does not fall within the valid size range from [{3}] to [{4}]
-default.invalid.max.message=Property [{0}] of class [{1}] with value [{2}] exceeds maximum value [{3}]
-default.invalid.min.message=Property [{0}] of class [{1}] with value [{2}] is less than minimum value [{3}]
-default.invalid.max.size.message=Property [{0}] of class [{1}] with value [{2}] exceeds the maximum size of [{3}]
-default.invalid.min.size.message=Property [{0}] of class [{1}] with value [{2}] is less than the minimum size of [{3}]
-default.invalid.validator.message=Property [{0}] of class [{1}] with value [{2}] does not pass custom validation
-default.not.inlist.message=Property [{0}] of class [{1}] with value [{2}] is not contained within the list [{3}]
-default.blank.message=Property [{0}] of class [{1}] cannot be blank
-default.not.equal.message=Property [{0}] of class [{1}] with value [{2}] cannot equal [{3}]
-default.null.message=Property [{0}] of class [{1}] cannot be null
-default.not.unique.message=Property [{0}] of class [{1}] with value [{2}] must be unique
-
-default.paginate.prev=Previous
-default.paginate.next=Next
-default.boolean.true=True
-default.boolean.false=False
-default.date.format=yyyy-MM-dd HH:mm:ss z
-default.number.format=0
-
-default.created.message={0} {1} created
-default.updated.message={0} {1} updated
-default.deleted.message={0} {1} deleted
-default.not.deleted.message={0} {1} could not be deleted
-default.not.found.message={0} not found with id {1}
-default.optimistic.locking.failure=Another user has updated this {0} while you were editing
-
-default.home.label=Home
-default.list.label={0} List
-default.add.label=Add {0}
-default.new.label=New {0}
-default.create.label=Create {0}
-default.show.label=Show {0}
-default.edit.label=Edit {0}
-
-default.button.create.label=Create
-default.button.edit.label=Edit
-default.button.update.label=Update
-default.button.delete.label=Delete
-default.button.delete.confirm.message=Are you sure?
-
-# Data binding errors. Use "typeMismatch.$className.$propertyName to customize (eg typeMismatch.Book.author)
-typeMismatch.java.net.URL=Property {0} must be a valid URL
-typeMismatch.java.net.URI=Property {0} must be a valid URI
-typeMismatch.java.util.Date=Property {0} must be a valid Date
-typeMismatch.java.lang.Double=Property {0} must be a valid number
-typeMismatch.java.lang.Integer=Property {0} must be a valid number
-typeMismatch.java.lang.Long=Property {0} must be a valid number
-typeMismatch.java.lang.Short=Property {0} must be a valid number
-typeMismatch.java.math.BigDecimal=Property {0} must be a valid number
-typeMismatch.java.math.BigInteger=Property {0} must be a valid number
-typeMismatch=Property {0} is type-mismatched
diff --git a/samples/misc/grails3/grails-app/init/BootStrap.groovy b/samples/misc/grails3/grails-app/init/BootStrap.groovy
deleted file mode 100644
index 1bf1ef43..00000000
--- a/samples/misc/grails3/grails-app/init/BootStrap.groovy
+++ /dev/null
@@ -1,24 +0,0 @@
-import grails3.redis.session.*
-
-class BootStrap {
-
- def init = { servletContext ->
- def adminRole = new Role('ROLE_ADMIN').save()
- def userRole = new Role('ROLE_USER').save()
-
- def testUser = new User('user', 'password').save()
-
- UserRole.create testUser, adminRole
-
- UserRole.withSession {
- it.flush()
- it.clear()
- }
-
- assert User.count() == 1
- assert Role.count() == 2
- assert UserRole.count() == 1
- }
- def destroy = {
- }
-}
diff --git a/samples/misc/grails3/grails-app/init/grails3/redis/session/Application.groovy b/samples/misc/grails3/grails-app/init/grails3/redis/session/Application.groovy
deleted file mode 100644
index b83e7ea0..00000000
--- a/samples/misc/grails3/grails-app/init/grails3/redis/session/Application.groovy
+++ /dev/null
@@ -1,10 +0,0 @@
-package grails3.redis.session
-
-import grails.boot.GrailsApp
-import grails.boot.config.GrailsAutoConfiguration
-
-class Application extends GrailsAutoConfiguration {
- static void main(String[] args) {
- GrailsApp.run(Application, args)
- }
-}
\ No newline at end of file
diff --git a/samples/misc/grails3/grails-app/views/error.gsp b/samples/misc/grails3/grails-app/views/error.gsp
deleted file mode 100644
index 9a3bb8aa..00000000
--- a/samples/misc/grails3/grails-app/views/error.gsp
+++ /dev/null
@@ -1,31 +0,0 @@
-
-
-
- Grails Runtime ExceptionError
-
-
-
-
-
-
-
-
-
-
-
-
-
- - An error has occurred
- - Exception: ${exception}
- - Message: ${message}
- - Path: ${path}
-
-
-
-
-
- - An error has occurred
-
-
-
-
diff --git a/samples/misc/grails3/grails-app/views/index.gsp b/samples/misc/grails3/grails-app/views/index.gsp
deleted file mode 100644
index cba0cf98..00000000
--- a/samples/misc/grails3/grails-app/views/index.gsp
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
- Index
-
-
- Left blank, goto test
-
-
diff --git a/samples/misc/grails3/grails-app/views/notFound.gsp b/samples/misc/grails3/grails-app/views/notFound.gsp
deleted file mode 100644
index 4c873baa..00000000
--- a/samples/misc/grails3/grails-app/views/notFound.gsp
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
- Page Not Found
-
-
-
-
-
- - Error: Page Not Found (404)
- - Path: ${request.forwardURI}
-
-
-
diff --git a/samples/misc/grails3/grails-app/views/test/index.gsp b/samples/misc/grails3/grails-app/views/test/index.gsp
deleted file mode 100644
index 00b421bf..00000000
--- a/samples/misc/grails3/grails-app/views/test/index.gsp
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
- Home Page
-
-
-
-
-
-
- ${session.id}
-
-
-
-
diff --git a/samples/misc/grails3/spring-session-sample-misc-grails3.gradle b/samples/misc/grails3/spring-session-sample-misc-grails3.gradle
deleted file mode 100644
index e57e6255..00000000
--- a/samples/misc/grails3/spring-session-sample-misc-grails3.gradle
+++ /dev/null
@@ -1,71 +0,0 @@
-buildscript {
- ext {
- grailsVersion = project.grailsVersion
- }
- repositories {
- mavenLocal()
- maven { url "https://repo.grails.org/grails/core" }
- }
- dependencies {
- classpath "org.grails:grails-gradle-plugin:$grailsVersion"
- classpath "com.bertramlabs.plugins:asset-pipeline-gradle:2.5.0"
- classpath "org.grails.plugins:hibernate4:5.0.2"
- }
-}
-
-apply plugin: "eclipse"
-apply plugin: "idea"
-apply plugin: "war"
-apply plugin: "org.grails.grails-web"
-apply plugin: "org.grails.grails-gsp"
-apply plugin: "asset-pipeline"
-apply from: SAMPLE_GRADLE
-
-ext {
- grailsVersion = project.grailsVersion
-}
-
-repositories {
- mavenLocal()
- maven { url "https://repo.grails.org/grails/core" }
-}
-
-dependencyManagement {
- imports {
- mavenBom "org.grails:grails-bom:$grailsVersion"
- }
- applyMavenExclusions false
-}
-
-dependencies {
- compile "org.springframework.boot:spring-boot-starter-logging"
- compile "org.springframework.boot:spring-boot-autoconfigure"
- compile "org.grails:grails-core"
- compile "org.springframework.boot:spring-boot-starter-actuator"
- compile "org.springframework.boot:spring-boot-starter-tomcat"
- compile "org.grails:grails-dependencies"
- compile "org.grails:grails-web-boot"
- compile "org.grails.plugins:cache"
- compile "org.grails.plugins:scaffolding"
- compile "org.grails.plugins:hibernate4"
- compile "org.hibernate:hibernate-ehcache"
- console "org.grails:grails-console"
- profile "org.grails.profiles:web:3.1.4"
- runtime "org.grails.plugins:asset-pipeline"
- runtime "com.h2database:h2"
- testCompile "org.grails:grails-plugin-testing"
- testCompile "org.grails.plugins:geb"
- testCompile "org.assertj:assertj-core"
- testCompile "org.seleniumhq.selenium:selenium-htmlunit-driver"
- testCompile "net.sourceforge.htmlunit:htmlunit"
-
- compile "org.springframework.boot:spring-boot-starter-redis"
- compile 'org.springframework.session:spring-session:1.1.1.RELEASE'
-
- compile 'org.grails.plugins:spring-security-core:3.0.4'
-}
-
-assets {
- minifyJs = true
- minifyCss = true
-}
diff --git a/samples/misc/grails3/src/integration-test/groovy/sample/HomeSpec.groovy b/samples/misc/grails3/src/integration-test/groovy/sample/HomeSpec.groovy
deleted file mode 100644
index e7348daf..00000000
--- a/samples/misc/grails3/src/integration-test/groovy/sample/HomeSpec.groovy
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * Copyright 2014-2016 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package sample
-
-import grails.test.mixin.integration.Integration
-import grails.transaction.Transactional
-import org.springframework.boot.test.IntegrationTest
-
-import spock.lang.*
-import geb.spock.*
-
-import sample.pages.HomePage
-import sample.pages.LoginPage
-import sample.pages.IndexPage
-import spock.lang.Stepwise
-import pages.*
-
-/**
- * Functional tests for grails 3 and spring-session
- *
- * @author Eric Helgeson
- */
-
-@Stepwise
-@IntegrationTest("server.port:0")
-@Integration(applicationClass=grails3.redis.session.Application)
-class HomeSpec extends GebSpec {
-
- def setup() {
- }
-
- def cleanup() {
- }
-
- void 'Anonymous page not redirected to login'() {
- when: 'The index page is visited'
- go '/'
-
- then: 'Not redirected'
- at IndexPage
- }
-
- void 'Unauthenticated user sent to log in page'() {
- when: 'The test page is visited'
- go '/test/index'
- if(title != 'Login') {
- println driver.pageSource
- }
-
- then: 'The password form is correct'
- title == 'Login'
- $('#password')
- $('#username')
- }
-
- void 'Log in views home page'() {
- when: 'log in successfully'
- to LoginPage
- login()
-
- then: 'sent to original page'
- at HomePage
-
- and: 'the username is displayed'
- username == 'user'
-
- and: 'session id is not blank'
- session != ''
-
- and: 'Spring Session Management is being used'
- driver.manage().cookies.find { it.name == 'SESSION' }
-
- and: 'Standard Session is NOT being used'
- !driver.manage().cookies.find { it.name == 'JSESSIONID' }
- }
-
- def 'Log out success'() {
- when:
- logout()
-
- then:
- at IndexPage
- }
-}
diff --git a/samples/misc/grails3/src/integration-test/groovy/sample/pages/HomePage.groovy b/samples/misc/grails3/src/integration-test/groovy/sample/pages/HomePage.groovy
deleted file mode 100644
index 7b84ed6e..00000000
--- a/samples/misc/grails3/src/integration-test/groovy/sample/pages/HomePage.groovy
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright 2014-2016 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package sample.pages
-
-import geb.*
-
-/**
- * The home page
- *
- * @author Rob Winch
- */
-class HomePage extends Page {
- static url = '/test'
- static at = { assert driver.title == 'Home Page'; true}
- static content = {
- username { $('#un').text() }
- session { $('#session').text() }
- logout(to:LoginPage) { $('input[type=submit]').click() }
- }
-}
diff --git a/samples/misc/grails3/src/integration-test/groovy/sample/pages/IndexPage.groovy b/samples/misc/grails3/src/integration-test/groovy/sample/pages/IndexPage.groovy
deleted file mode 100644
index 47651f4d..00000000
--- a/samples/misc/grails3/src/integration-test/groovy/sample/pages/IndexPage.groovy
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright 2014-2016 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package sample.pages
-
-import geb.*
-
-/**
- * The Index page
- *
- * @author Eric Helgeson
- */
-class IndexPage extends Page {
- static url = '/'
- static at = { assert driver.title == 'Index'; true}
- static content = { }
-}
diff --git a/samples/misc/grails3/src/integration-test/groovy/sample/pages/LoginPage.groovy b/samples/misc/grails3/src/integration-test/groovy/sample/pages/LoginPage.groovy
deleted file mode 100644
index 15e3b41d..00000000
--- a/samples/misc/grails3/src/integration-test/groovy/sample/pages/LoginPage.groovy
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright 2014-2016 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package sample.pages
-
-import geb.*
-
-/**
- * The Login Page
- *
- * @author Rob Winch
- */
-class LoginPage extends Page {
- static url = '/login'
- static at = { assert driver.title == 'Login'; true}
- static content = {
- form { $('form') }
- submit { $('input[type=submit]') }
- login(required:false) { user='user', pass='password' ->
- form.username = user
- form.password = pass
- submit.click()
- }
- }
-}
diff --git a/samples/xml/redis/src/main/resources/logback.xml b/samples/xml/redis/src/main/resources/logback.xml
deleted file mode 100644
index 20e90221..00000000
--- a/samples/xml/redis/src/main/resources/logback.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
- %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
-
-
-
-
-
-
-
-
-
-
diff --git a/settings.gradle b/settings.gradle
index 97988191..91ba66f8 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -1,28 +1,16 @@
rootProject.name = 'spring-session-build'
-FileTree buildFiles = fileTree(rootDir) {
- include '**/*.gradle'
- exclude 'build', '**/gradle', 'settings.gradle', 'buildSrc', '/build.gradle', '.*', 'out'
- exclude '**/grails3'
- gradle.startParameter.projectProperties.get('excludeProjects')?.split(',')?.each { excludeProject ->
- exclude excludeProject
- }
+include 'spring-session-core'
+include 'spring-session-data-redis'
+include 'spring-session-docs'
+include 'spring-session-hazelcast'
+include 'spring-session-jdbc'
+
+file('spring-session-samples').eachDirMatch(~/spring-session-sample-.*/) { dir ->
+ include dir.name
+ project(":$dir.name").projectDir = dir
}
-String rootDirPath = rootDir.absolutePath + File.separator
-buildFiles.each { buildFile ->
- if (buildFile.name == 'build.gradle') {
- String buildFilePath = buildFile.parentFile.absolutePath
- String projectPath = buildFilePath.replace(rootDirPath, '').replace(File.separator, ':')
- include projectPath
- }
- else {
- String projectName = buildFile.name.replace('.gradle', '')
- String projectPath = ':' + projectName
- include projectPath
- def project = findProject("${projectPath}")
- project.name = projectName
- project.projectDir = buildFile.parentFile
- project.buildFileName = buildFile.name
- }
+rootProject.children.each { project ->
+ project.buildFileName = "${project.name}.gradle"
}
diff --git a/docs/spring-session-docs.gradle b/spring-session-docs/spring-session-docs.gradle
similarity index 100%
rename from docs/spring-session-docs.gradle
rename to spring-session-docs/spring-session-docs.gradle
diff --git a/docs/src/docs/asciidoc/guides/boot-findbyusername.adoc b/spring-session-docs/src/docs/asciidoc/guides/boot-findbyusername.adoc
similarity index 100%
rename from docs/src/docs/asciidoc/guides/boot-findbyusername.adoc
rename to spring-session-docs/src/docs/asciidoc/guides/boot-findbyusername.adoc
diff --git a/docs/src/docs/asciidoc/guides/boot-jdbc.adoc b/spring-session-docs/src/docs/asciidoc/guides/boot-jdbc.adoc
similarity index 100%
rename from docs/src/docs/asciidoc/guides/boot-jdbc.adoc
rename to spring-session-docs/src/docs/asciidoc/guides/boot-jdbc.adoc
diff --git a/docs/src/docs/asciidoc/guides/boot-redis.adoc b/spring-session-docs/src/docs/asciidoc/guides/boot-redis.adoc
similarity index 100%
rename from docs/src/docs/asciidoc/guides/boot-redis.adoc
rename to spring-session-docs/src/docs/asciidoc/guides/boot-redis.adoc
diff --git a/docs/src/docs/asciidoc/guides/boot-websocket.adoc b/spring-session-docs/src/docs/asciidoc/guides/boot-websocket.adoc
similarity index 100%
rename from docs/src/docs/asciidoc/guides/boot-websocket.adoc
rename to spring-session-docs/src/docs/asciidoc/guides/boot-websocket.adoc
diff --git a/docs/src/docs/asciidoc/guides/grails3.adoc b/spring-session-docs/src/docs/asciidoc/guides/grails3.adoc
similarity index 100%
rename from docs/src/docs/asciidoc/guides/grails3.adoc
rename to spring-session-docs/src/docs/asciidoc/guides/grails3.adoc
diff --git a/docs/src/docs/asciidoc/guides/java-custom-cookie.adoc b/spring-session-docs/src/docs/asciidoc/guides/java-custom-cookie.adoc
similarity index 100%
rename from docs/src/docs/asciidoc/guides/java-custom-cookie.adoc
rename to spring-session-docs/src/docs/asciidoc/guides/java-custom-cookie.adoc
diff --git a/docs/src/docs/asciidoc/guides/java-hazelcast.adoc b/spring-session-docs/src/docs/asciidoc/guides/java-hazelcast.adoc
similarity index 100%
rename from docs/src/docs/asciidoc/guides/java-hazelcast.adoc
rename to spring-session-docs/src/docs/asciidoc/guides/java-hazelcast.adoc
diff --git a/docs/src/docs/asciidoc/guides/java-jdbc.adoc b/spring-session-docs/src/docs/asciidoc/guides/java-jdbc.adoc
similarity index 100%
rename from docs/src/docs/asciidoc/guides/java-jdbc.adoc
rename to spring-session-docs/src/docs/asciidoc/guides/java-jdbc.adoc
diff --git a/docs/src/docs/asciidoc/guides/java-redis.adoc b/spring-session-docs/src/docs/asciidoc/guides/java-redis.adoc
similarity index 100%
rename from docs/src/docs/asciidoc/guides/java-redis.adoc
rename to spring-session-docs/src/docs/asciidoc/guides/java-redis.adoc
diff --git a/docs/src/docs/asciidoc/guides/java-rest.adoc b/spring-session-docs/src/docs/asciidoc/guides/java-rest.adoc
similarity index 100%
rename from docs/src/docs/asciidoc/guides/java-rest.adoc
rename to spring-session-docs/src/docs/asciidoc/guides/java-rest.adoc
diff --git a/docs/src/docs/asciidoc/guides/java-security.adoc b/spring-session-docs/src/docs/asciidoc/guides/java-security.adoc
similarity index 100%
rename from docs/src/docs/asciidoc/guides/java-security.adoc
rename to spring-session-docs/src/docs/asciidoc/guides/java-security.adoc
diff --git a/docs/src/docs/asciidoc/guides/xml-jdbc.adoc b/spring-session-docs/src/docs/asciidoc/guides/xml-jdbc.adoc
similarity index 100%
rename from docs/src/docs/asciidoc/guides/xml-jdbc.adoc
rename to spring-session-docs/src/docs/asciidoc/guides/xml-jdbc.adoc
diff --git a/docs/src/docs/asciidoc/guides/xml-redis.adoc b/spring-session-docs/src/docs/asciidoc/guides/xml-redis.adoc
similarity index 100%
rename from docs/src/docs/asciidoc/guides/xml-redis.adoc
rename to spring-session-docs/src/docs/asciidoc/guides/xml-redis.adoc
diff --git a/docs/src/docs/asciidoc/index.adoc b/spring-session-docs/src/docs/asciidoc/index.adoc
similarity index 100%
rename from docs/src/docs/asciidoc/index.adoc
rename to spring-session-docs/src/docs/asciidoc/index.adoc
diff --git a/docs/src/main/java/docs/Docs.java b/spring-session-docs/src/main/java/docs/Docs.java
similarity index 100%
rename from docs/src/main/java/docs/Docs.java
rename to spring-session-docs/src/main/java/docs/Docs.java
diff --git a/docs/src/test/java/docs/FindByIndexNameSessionRepositoryTests.java b/spring-session-docs/src/test/java/docs/FindByIndexNameSessionRepositoryTests.java
similarity index 100%
rename from docs/src/test/java/docs/FindByIndexNameSessionRepositoryTests.java
rename to spring-session-docs/src/test/java/docs/FindByIndexNameSessionRepositoryTests.java
diff --git a/docs/src/test/java/docs/HttpSessionConfigurationNoOpConfigureRedisActionXmlTests.java b/spring-session-docs/src/test/java/docs/HttpSessionConfigurationNoOpConfigureRedisActionXmlTests.java
similarity index 100%
rename from docs/src/test/java/docs/HttpSessionConfigurationNoOpConfigureRedisActionXmlTests.java
rename to spring-session-docs/src/test/java/docs/HttpSessionConfigurationNoOpConfigureRedisActionXmlTests.java
diff --git a/docs/src/test/java/docs/IndexDocTests.java b/spring-session-docs/src/test/java/docs/IndexDocTests.java
similarity index 100%
rename from docs/src/test/java/docs/IndexDocTests.java
rename to spring-session-docs/src/test/java/docs/IndexDocTests.java
diff --git a/docs/src/test/java/docs/RedisHttpSessionConfigurationNoOpConfigureRedisActionTests.java b/spring-session-docs/src/test/java/docs/RedisHttpSessionConfigurationNoOpConfigureRedisActionTests.java
similarity index 100%
rename from docs/src/test/java/docs/RedisHttpSessionConfigurationNoOpConfigureRedisActionTests.java
rename to spring-session-docs/src/test/java/docs/RedisHttpSessionConfigurationNoOpConfigureRedisActionTests.java
diff --git a/docs/src/test/java/docs/SpringHttpSessionConfig.java b/spring-session-docs/src/test/java/docs/SpringHttpSessionConfig.java
similarity index 100%
rename from docs/src/test/java/docs/SpringHttpSessionConfig.java
rename to spring-session-docs/src/test/java/docs/SpringHttpSessionConfig.java
diff --git a/docs/src/test/java/docs/SpringWebSessionConfig.java b/spring-session-docs/src/test/java/docs/SpringWebSessionConfig.java
similarity index 100%
rename from docs/src/test/java/docs/SpringWebSessionConfig.java
rename to spring-session-docs/src/test/java/docs/SpringWebSessionConfig.java
diff --git a/docs/src/test/java/docs/http/AbstractHttpSessionListenerTests.java b/spring-session-docs/src/test/java/docs/http/AbstractHttpSessionListenerTests.java
similarity index 100%
rename from docs/src/test/java/docs/http/AbstractHttpSessionListenerTests.java
rename to spring-session-docs/src/test/java/docs/http/AbstractHttpSessionListenerTests.java
diff --git a/docs/src/test/java/docs/http/HazelcastHttpSessionConfig.java b/spring-session-docs/src/test/java/docs/http/HazelcastHttpSessionConfig.java
similarity index 100%
rename from docs/src/test/java/docs/http/HazelcastHttpSessionConfig.java
rename to spring-session-docs/src/test/java/docs/http/HazelcastHttpSessionConfig.java
diff --git a/docs/src/test/java/docs/http/HttpSessionListenerJavaConfigTests.java b/spring-session-docs/src/test/java/docs/http/HttpSessionListenerJavaConfigTests.java
similarity index 100%
rename from docs/src/test/java/docs/http/HttpSessionListenerJavaConfigTests.java
rename to spring-session-docs/src/test/java/docs/http/HttpSessionListenerJavaConfigTests.java
diff --git a/docs/src/test/java/docs/http/HttpSessionListenerXmlTests.java b/spring-session-docs/src/test/java/docs/http/HttpSessionListenerXmlTests.java
similarity index 100%
rename from docs/src/test/java/docs/http/HttpSessionListenerXmlTests.java
rename to spring-session-docs/src/test/java/docs/http/HttpSessionListenerXmlTests.java
diff --git a/docs/src/test/java/docs/http/RedisHttpSessionConfig.java b/spring-session-docs/src/test/java/docs/http/RedisHttpSessionConfig.java
similarity index 100%
rename from docs/src/test/java/docs/http/RedisHttpSessionConfig.java
rename to spring-session-docs/src/test/java/docs/http/RedisHttpSessionConfig.java
diff --git a/docs/src/test/java/docs/security/RememberMeSecurityConfiguration.java b/spring-session-docs/src/test/java/docs/security/RememberMeSecurityConfiguration.java
similarity index 100%
rename from docs/src/test/java/docs/security/RememberMeSecurityConfiguration.java
rename to spring-session-docs/src/test/java/docs/security/RememberMeSecurityConfiguration.java
diff --git a/docs/src/test/java/docs/security/RememberMeSecurityConfigurationTests.java b/spring-session-docs/src/test/java/docs/security/RememberMeSecurityConfigurationTests.java
similarity index 100%
rename from docs/src/test/java/docs/security/RememberMeSecurityConfigurationTests.java
rename to spring-session-docs/src/test/java/docs/security/RememberMeSecurityConfigurationTests.java
diff --git a/docs/src/test/java/docs/security/RememberMeSecurityConfigurationXmlTests.java b/spring-session-docs/src/test/java/docs/security/RememberMeSecurityConfigurationXmlTests.java
similarity index 100%
rename from docs/src/test/java/docs/security/RememberMeSecurityConfigurationXmlTests.java
rename to spring-session-docs/src/test/java/docs/security/RememberMeSecurityConfigurationXmlTests.java
diff --git a/docs/src/test/java/docs/security/SecurityConfiguration.java b/spring-session-docs/src/test/java/docs/security/SecurityConfiguration.java
similarity index 100%
rename from docs/src/test/java/docs/security/SecurityConfiguration.java
rename to spring-session-docs/src/test/java/docs/security/SecurityConfiguration.java
diff --git a/docs/src/test/java/docs/websocket/WebSocketConfig.java b/spring-session-docs/src/test/java/docs/websocket/WebSocketConfig.java
similarity index 100%
rename from docs/src/test/java/docs/websocket/WebSocketConfig.java
rename to spring-session-docs/src/test/java/docs/websocket/WebSocketConfig.java
diff --git a/docs/src/test/resources/docs/HttpSessionConfigurationNoOpConfigureRedisActionXmlTests-context.xml b/spring-session-docs/src/test/resources/docs/HttpSessionConfigurationNoOpConfigureRedisActionXmlTests-context.xml
similarity index 100%
rename from docs/src/test/resources/docs/HttpSessionConfigurationNoOpConfigureRedisActionXmlTests-context.xml
rename to spring-session-docs/src/test/resources/docs/HttpSessionConfigurationNoOpConfigureRedisActionXmlTests-context.xml
diff --git a/docs/src/test/resources/docs/http/HttpSessionListenerXmlTests-context.xml b/spring-session-docs/src/test/resources/docs/http/HttpSessionListenerXmlTests-context.xml
similarity index 100%
rename from docs/src/test/resources/docs/http/HttpSessionListenerXmlTests-context.xml
rename to spring-session-docs/src/test/resources/docs/http/HttpSessionListenerXmlTests-context.xml
diff --git a/docs/src/test/resources/docs/security/RememberMeSecurityConfigurationXmlTests-context.xml b/spring-session-docs/src/test/resources/docs/security/RememberMeSecurityConfigurationXmlTests-context.xml
similarity index 100%
rename from docs/src/test/resources/docs/security/RememberMeSecurityConfigurationXmlTests-context.xml
rename to spring-session-docs/src/test/resources/docs/security/RememberMeSecurityConfigurationXmlTests-context.xml
diff --git a/docs/src/test/resources/docs/security/security-config.xml b/spring-session-docs/src/test/resources/docs/security/security-config.xml
similarity index 100%
rename from docs/src/test/resources/docs/security/security-config.xml
rename to spring-session-docs/src/test/resources/docs/security/security-config.xml
diff --git a/samples/gradle/dependency-management.gradle b/spring-session-samples/gradle/dependency-management.gradle
similarity index 100%
rename from samples/gradle/dependency-management.gradle
rename to spring-session-samples/gradle/dependency-management.gradle
diff --git a/samples/boot/findbyusername/spring-session-sample-boot-findbyusername.gradle b/spring-session-samples/spring-session-sample-boot-findbyusername/spring-session-sample-boot-findbyusername.gradle
similarity index 100%
rename from samples/boot/findbyusername/spring-session-sample-boot-findbyusername.gradle
rename to spring-session-samples/spring-session-sample-boot-findbyusername/spring-session-sample-boot-findbyusername.gradle
diff --git a/samples/boot/findbyusername/src/integration-test/java/sample/FindByUsernameTests.java b/spring-session-samples/spring-session-sample-boot-findbyusername/src/integration-test/java/sample/FindByUsernameTests.java
similarity index 100%
rename from samples/boot/findbyusername/src/integration-test/java/sample/FindByUsernameTests.java
rename to spring-session-samples/spring-session-sample-boot-findbyusername/src/integration-test/java/sample/FindByUsernameTests.java
diff --git a/samples/boot/findbyusername/src/integration-test/java/sample/pages/BasePage.java b/spring-session-samples/spring-session-sample-boot-findbyusername/src/integration-test/java/sample/pages/BasePage.java
similarity index 100%
rename from samples/boot/findbyusername/src/integration-test/java/sample/pages/BasePage.java
rename to spring-session-samples/spring-session-sample-boot-findbyusername/src/integration-test/java/sample/pages/BasePage.java
diff --git a/samples/boot/findbyusername/src/integration-test/java/sample/pages/HomePage.java b/spring-session-samples/spring-session-sample-boot-findbyusername/src/integration-test/java/sample/pages/HomePage.java
similarity index 100%
rename from samples/boot/findbyusername/src/integration-test/java/sample/pages/HomePage.java
rename to spring-session-samples/spring-session-sample-boot-findbyusername/src/integration-test/java/sample/pages/HomePage.java
diff --git a/samples/boot/findbyusername/src/integration-test/java/sample/pages/LoginPage.java b/spring-session-samples/spring-session-sample-boot-findbyusername/src/integration-test/java/sample/pages/LoginPage.java
similarity index 100%
rename from samples/boot/findbyusername/src/integration-test/java/sample/pages/LoginPage.java
rename to spring-session-samples/spring-session-sample-boot-findbyusername/src/integration-test/java/sample/pages/LoginPage.java
diff --git a/samples/boot/findbyusername/src/integration-test/resources/testcontainers.properties b/spring-session-samples/spring-session-sample-boot-findbyusername/src/integration-test/resources/testcontainers.properties
similarity index 100%
rename from samples/boot/findbyusername/src/integration-test/resources/testcontainers.properties
rename to spring-session-samples/spring-session-sample-boot-findbyusername/src/integration-test/resources/testcontainers.properties
diff --git a/samples/boot/findbyusername/src/main/java/sample/FindByUsernameApplication.java b/spring-session-samples/spring-session-sample-boot-findbyusername/src/main/java/sample/FindByUsernameApplication.java
similarity index 100%
rename from samples/boot/findbyusername/src/main/java/sample/FindByUsernameApplication.java
rename to spring-session-samples/spring-session-sample-boot-findbyusername/src/main/java/sample/FindByUsernameApplication.java
diff --git a/samples/boot/findbyusername/src/main/java/sample/config/GeoConfig.java b/spring-session-samples/spring-session-sample-boot-findbyusername/src/main/java/sample/config/GeoConfig.java
similarity index 100%
rename from samples/boot/findbyusername/src/main/java/sample/config/GeoConfig.java
rename to spring-session-samples/spring-session-sample-boot-findbyusername/src/main/java/sample/config/GeoConfig.java
diff --git a/samples/boot/findbyusername/src/main/java/sample/config/SecurityConfig.java b/spring-session-samples/spring-session-sample-boot-findbyusername/src/main/java/sample/config/SecurityConfig.java
similarity index 100%
rename from samples/boot/findbyusername/src/main/java/sample/config/SecurityConfig.java
rename to spring-session-samples/spring-session-sample-boot-findbyusername/src/main/java/sample/config/SecurityConfig.java
diff --git a/samples/boot/findbyusername/src/main/java/sample/config/WebMvcConfig.java b/spring-session-samples/spring-session-sample-boot-findbyusername/src/main/java/sample/config/WebMvcConfig.java
similarity index 100%
rename from samples/boot/findbyusername/src/main/java/sample/config/WebMvcConfig.java
rename to spring-session-samples/spring-session-sample-boot-findbyusername/src/main/java/sample/config/WebMvcConfig.java
diff --git a/samples/boot/findbyusername/src/main/java/sample/mvc/IndexController.java b/spring-session-samples/spring-session-sample-boot-findbyusername/src/main/java/sample/mvc/IndexController.java
similarity index 100%
rename from samples/boot/findbyusername/src/main/java/sample/mvc/IndexController.java
rename to spring-session-samples/spring-session-sample-boot-findbyusername/src/main/java/sample/mvc/IndexController.java
diff --git a/samples/boot/findbyusername/src/main/java/sample/session/SessionDetails.java b/spring-session-samples/spring-session-sample-boot-findbyusername/src/main/java/sample/session/SessionDetails.java
similarity index 100%
rename from samples/boot/findbyusername/src/main/java/sample/session/SessionDetails.java
rename to spring-session-samples/spring-session-sample-boot-findbyusername/src/main/java/sample/session/SessionDetails.java
diff --git a/samples/boot/findbyusername/src/main/java/sample/session/SessionDetailsFilter.java b/spring-session-samples/spring-session-sample-boot-findbyusername/src/main/java/sample/session/SessionDetailsFilter.java
similarity index 100%
rename from samples/boot/findbyusername/src/main/java/sample/session/SessionDetailsFilter.java
rename to spring-session-samples/spring-session-sample-boot-findbyusername/src/main/java/sample/session/SessionDetailsFilter.java
diff --git a/samples/boot/findbyusername/src/main/resources/GeoLite2-City.mmdb b/spring-session-samples/spring-session-sample-boot-findbyusername/src/main/resources/GeoLite2-City.mmdb
similarity index 100%
rename from samples/boot/findbyusername/src/main/resources/GeoLite2-City.mmdb
rename to spring-session-samples/spring-session-sample-boot-findbyusername/src/main/resources/GeoLite2-City.mmdb
diff --git a/samples/boot/findbyusername/src/main/resources/application.properties b/spring-session-samples/spring-session-sample-boot-findbyusername/src/main/resources/application.properties
similarity index 100%
rename from samples/boot/findbyusername/src/main/resources/application.properties
rename to spring-session-samples/spring-session-sample-boot-findbyusername/src/main/resources/application.properties
diff --git a/samples/boot/findbyusername/src/main/resources/static/favicon.ico b/spring-session-samples/spring-session-sample-boot-findbyusername/src/main/resources/static/favicon.ico
similarity index 100%
rename from samples/boot/findbyusername/src/main/resources/static/favicon.ico
rename to spring-session-samples/spring-session-sample-boot-findbyusername/src/main/resources/static/favicon.ico
diff --git a/samples/boot/findbyusername/src/main/resources/static/images/logo.png b/spring-session-samples/spring-session-sample-boot-findbyusername/src/main/resources/static/images/logo.png
similarity index 100%
rename from samples/boot/findbyusername/src/main/resources/static/images/logo.png
rename to spring-session-samples/spring-session-sample-boot-findbyusername/src/main/resources/static/images/logo.png
diff --git a/samples/boot/findbyusername/src/main/resources/templates/index.html b/spring-session-samples/spring-session-sample-boot-findbyusername/src/main/resources/templates/index.html
similarity index 100%
rename from samples/boot/findbyusername/src/main/resources/templates/index.html
rename to spring-session-samples/spring-session-sample-boot-findbyusername/src/main/resources/templates/index.html
diff --git a/samples/boot/findbyusername/src/main/resources/templates/layout.html b/spring-session-samples/spring-session-sample-boot-findbyusername/src/main/resources/templates/layout.html
similarity index 100%
rename from samples/boot/findbyusername/src/main/resources/templates/layout.html
rename to spring-session-samples/spring-session-sample-boot-findbyusername/src/main/resources/templates/layout.html
diff --git a/samples/boot/findbyusername/src/main/resources/templates/login.html b/spring-session-samples/spring-session-sample-boot-findbyusername/src/main/resources/templates/login.html
similarity index 100%
rename from samples/boot/findbyusername/src/main/resources/templates/login.html
rename to spring-session-samples/spring-session-sample-boot-findbyusername/src/main/resources/templates/login.html
diff --git a/samples/boot/findbyusername/src/test/java/sample/session/SessionDetailsFilterTests.java b/spring-session-samples/spring-session-sample-boot-findbyusername/src/test/java/sample/session/SessionDetailsFilterTests.java
similarity index 100%
rename from samples/boot/findbyusername/src/test/java/sample/session/SessionDetailsFilterTests.java
rename to spring-session-samples/spring-session-sample-boot-findbyusername/src/test/java/sample/session/SessionDetailsFilterTests.java
diff --git a/samples/boot/jdbc/spring-session-sample-boot-jdbc.gradle b/spring-session-samples/spring-session-sample-boot-jdbc/spring-session-sample-boot-jdbc.gradle
similarity index 100%
rename from samples/boot/jdbc/spring-session-sample-boot-jdbc.gradle
rename to spring-session-samples/spring-session-sample-boot-jdbc/spring-session-sample-boot-jdbc.gradle
diff --git a/samples/boot/jdbc/src/integration-test/java/sample/BootTests.java b/spring-session-samples/spring-session-sample-boot-jdbc/src/integration-test/java/sample/BootTests.java
similarity index 100%
rename from samples/boot/jdbc/src/integration-test/java/sample/BootTests.java
rename to spring-session-samples/spring-session-sample-boot-jdbc/src/integration-test/java/sample/BootTests.java
diff --git a/samples/boot/jdbc/src/integration-test/java/sample/pages/BasePage.java b/spring-session-samples/spring-session-sample-boot-jdbc/src/integration-test/java/sample/pages/BasePage.java
similarity index 100%
rename from samples/boot/jdbc/src/integration-test/java/sample/pages/BasePage.java
rename to spring-session-samples/spring-session-sample-boot-jdbc/src/integration-test/java/sample/pages/BasePage.java
diff --git a/samples/boot/jdbc/src/integration-test/java/sample/pages/HomePage.java b/spring-session-samples/spring-session-sample-boot-jdbc/src/integration-test/java/sample/pages/HomePage.java
similarity index 100%
rename from samples/boot/jdbc/src/integration-test/java/sample/pages/HomePage.java
rename to spring-session-samples/spring-session-sample-boot-jdbc/src/integration-test/java/sample/pages/HomePage.java
diff --git a/samples/boot/jdbc/src/integration-test/java/sample/pages/LoginPage.java b/spring-session-samples/spring-session-sample-boot-jdbc/src/integration-test/java/sample/pages/LoginPage.java
similarity index 100%
rename from samples/boot/jdbc/src/integration-test/java/sample/pages/LoginPage.java
rename to spring-session-samples/spring-session-sample-boot-jdbc/src/integration-test/java/sample/pages/LoginPage.java
diff --git a/samples/boot/jdbc/src/main/java/sample/Application.java b/spring-session-samples/spring-session-sample-boot-jdbc/src/main/java/sample/Application.java
similarity index 100%
rename from samples/boot/jdbc/src/main/java/sample/Application.java
rename to spring-session-samples/spring-session-sample-boot-jdbc/src/main/java/sample/Application.java
diff --git a/samples/boot/jdbc/src/main/java/sample/config/SecurityConfig.java b/spring-session-samples/spring-session-sample-boot-jdbc/src/main/java/sample/config/SecurityConfig.java
similarity index 100%
rename from samples/boot/jdbc/src/main/java/sample/config/SecurityConfig.java
rename to spring-session-samples/spring-session-sample-boot-jdbc/src/main/java/sample/config/SecurityConfig.java
diff --git a/samples/boot/jdbc/src/main/java/sample/config/WebMvcConfig.java b/spring-session-samples/spring-session-sample-boot-jdbc/src/main/java/sample/config/WebMvcConfig.java
similarity index 100%
rename from samples/boot/jdbc/src/main/java/sample/config/WebMvcConfig.java
rename to spring-session-samples/spring-session-sample-boot-jdbc/src/main/java/sample/config/WebMvcConfig.java
diff --git a/samples/boot/jdbc/src/main/resources/application.properties b/spring-session-samples/spring-session-sample-boot-jdbc/src/main/resources/application.properties
similarity index 100%
rename from samples/boot/jdbc/src/main/resources/application.properties
rename to spring-session-samples/spring-session-sample-boot-jdbc/src/main/resources/application.properties
diff --git a/samples/boot/jdbc/src/main/resources/static/favicon.ico b/spring-session-samples/spring-session-sample-boot-jdbc/src/main/resources/static/favicon.ico
similarity index 100%
rename from samples/boot/jdbc/src/main/resources/static/favicon.ico
rename to spring-session-samples/spring-session-sample-boot-jdbc/src/main/resources/static/favicon.ico
diff --git a/samples/boot/jdbc/src/main/resources/static/images/logo.png b/spring-session-samples/spring-session-sample-boot-jdbc/src/main/resources/static/images/logo.png
similarity index 100%
rename from samples/boot/jdbc/src/main/resources/static/images/logo.png
rename to spring-session-samples/spring-session-sample-boot-jdbc/src/main/resources/static/images/logo.png
diff --git a/samples/boot/jdbc/src/main/resources/templates/index.html b/spring-session-samples/spring-session-sample-boot-jdbc/src/main/resources/templates/index.html
similarity index 100%
rename from samples/boot/jdbc/src/main/resources/templates/index.html
rename to spring-session-samples/spring-session-sample-boot-jdbc/src/main/resources/templates/index.html
diff --git a/samples/boot/jdbc/src/main/resources/templates/layout.html b/spring-session-samples/spring-session-sample-boot-jdbc/src/main/resources/templates/layout.html
similarity index 100%
rename from samples/boot/jdbc/src/main/resources/templates/layout.html
rename to spring-session-samples/spring-session-sample-boot-jdbc/src/main/resources/templates/layout.html
diff --git a/samples/boot/redis-json/spring-session-sample-boot-redis-json.gradle b/spring-session-samples/spring-session-sample-boot-redis-json/spring-session-sample-boot-redis-json.gradle
similarity index 100%
rename from samples/boot/redis-json/spring-session-sample-boot-redis-json.gradle
rename to spring-session-samples/spring-session-sample-boot-redis-json/spring-session-sample-boot-redis-json.gradle
diff --git a/samples/boot/redis-json/src/integration-test/java/sample/HttpRedisJsonTest.java b/spring-session-samples/spring-session-sample-boot-redis-json/src/integration-test/java/sample/HttpRedisJsonTest.java
similarity index 100%
rename from samples/boot/redis-json/src/integration-test/java/sample/HttpRedisJsonTest.java
rename to spring-session-samples/spring-session-sample-boot-redis-json/src/integration-test/java/sample/HttpRedisJsonTest.java
diff --git a/samples/boot/redis-json/src/integration-test/java/sample/RedisSerializerTest.java b/spring-session-samples/spring-session-sample-boot-redis-json/src/integration-test/java/sample/RedisSerializerTest.java
similarity index 100%
rename from samples/boot/redis-json/src/integration-test/java/sample/RedisSerializerTest.java
rename to spring-session-samples/spring-session-sample-boot-redis-json/src/integration-test/java/sample/RedisSerializerTest.java
diff --git a/samples/boot/redis-json/src/integration-test/java/sample/pages/BasePage.java b/spring-session-samples/spring-session-sample-boot-redis-json/src/integration-test/java/sample/pages/BasePage.java
similarity index 100%
rename from samples/boot/redis-json/src/integration-test/java/sample/pages/BasePage.java
rename to spring-session-samples/spring-session-sample-boot-redis-json/src/integration-test/java/sample/pages/BasePage.java
diff --git a/samples/boot/redis-json/src/integration-test/java/sample/pages/HomePage.java b/spring-session-samples/spring-session-sample-boot-redis-json/src/integration-test/java/sample/pages/HomePage.java
similarity index 100%
rename from samples/boot/redis-json/src/integration-test/java/sample/pages/HomePage.java
rename to spring-session-samples/spring-session-sample-boot-redis-json/src/integration-test/java/sample/pages/HomePage.java
diff --git a/samples/boot/redis-json/src/integration-test/java/sample/pages/LoginPage.java b/spring-session-samples/spring-session-sample-boot-redis-json/src/integration-test/java/sample/pages/LoginPage.java
similarity index 100%
rename from samples/boot/redis-json/src/integration-test/java/sample/pages/LoginPage.java
rename to spring-session-samples/spring-session-sample-boot-redis-json/src/integration-test/java/sample/pages/LoginPage.java
diff --git a/samples/boot/redis-json/src/integration-test/resources/testcontainers.properties b/spring-session-samples/spring-session-sample-boot-redis-json/src/integration-test/resources/testcontainers.properties
similarity index 100%
rename from samples/boot/redis-json/src/integration-test/resources/testcontainers.properties
rename to spring-session-samples/spring-session-sample-boot-redis-json/src/integration-test/resources/testcontainers.properties
diff --git a/samples/boot/redis-json/src/main/java/sample/Application.java b/spring-session-samples/spring-session-sample-boot-redis-json/src/main/java/sample/Application.java
similarity index 100%
rename from samples/boot/redis-json/src/main/java/sample/Application.java
rename to spring-session-samples/spring-session-sample-boot-redis-json/src/main/java/sample/Application.java
diff --git a/samples/boot/redis-json/src/main/java/sample/config/SecurityConfig.java b/spring-session-samples/spring-session-sample-boot-redis-json/src/main/java/sample/config/SecurityConfig.java
similarity index 100%
rename from samples/boot/redis-json/src/main/java/sample/config/SecurityConfig.java
rename to spring-session-samples/spring-session-sample-boot-redis-json/src/main/java/sample/config/SecurityConfig.java
diff --git a/samples/boot/redis-json/src/main/java/sample/config/SessionConfig.java b/spring-session-samples/spring-session-sample-boot-redis-json/src/main/java/sample/config/SessionConfig.java
similarity index 100%
rename from samples/boot/redis-json/src/main/java/sample/config/SessionConfig.java
rename to spring-session-samples/spring-session-sample-boot-redis-json/src/main/java/sample/config/SessionConfig.java
diff --git a/samples/boot/redis-json/src/main/java/sample/config/WebMvcConfig.java b/spring-session-samples/spring-session-sample-boot-redis-json/src/main/java/sample/config/WebMvcConfig.java
similarity index 100%
rename from samples/boot/redis-json/src/main/java/sample/config/WebMvcConfig.java
rename to spring-session-samples/spring-session-sample-boot-redis-json/src/main/java/sample/config/WebMvcConfig.java
diff --git a/samples/boot/redis-json/src/main/java/sample/web/HomeController.java b/spring-session-samples/spring-session-sample-boot-redis-json/src/main/java/sample/web/HomeController.java
similarity index 100%
rename from samples/boot/redis-json/src/main/java/sample/web/HomeController.java
rename to spring-session-samples/spring-session-sample-boot-redis-json/src/main/java/sample/web/HomeController.java
diff --git a/samples/boot/redis-json/src/main/resources/application.properties b/spring-session-samples/spring-session-sample-boot-redis-json/src/main/resources/application.properties
similarity index 100%
rename from samples/boot/redis-json/src/main/resources/application.properties
rename to spring-session-samples/spring-session-sample-boot-redis-json/src/main/resources/application.properties
diff --git a/samples/boot/redis-json/src/main/resources/static/favicon.ico b/spring-session-samples/spring-session-sample-boot-redis-json/src/main/resources/static/favicon.ico
similarity index 100%
rename from samples/boot/redis-json/src/main/resources/static/favicon.ico
rename to spring-session-samples/spring-session-sample-boot-redis-json/src/main/resources/static/favicon.ico
diff --git a/samples/boot/redis-json/src/main/resources/static/images/logo.png b/spring-session-samples/spring-session-sample-boot-redis-json/src/main/resources/static/images/logo.png
similarity index 100%
rename from samples/boot/redis-json/src/main/resources/static/images/logo.png
rename to spring-session-samples/spring-session-sample-boot-redis-json/src/main/resources/static/images/logo.png
diff --git a/samples/boot/redis-json/src/main/resources/templates/home.html b/spring-session-samples/spring-session-sample-boot-redis-json/src/main/resources/templates/home.html
similarity index 100%
rename from samples/boot/redis-json/src/main/resources/templates/home.html
rename to spring-session-samples/spring-session-sample-boot-redis-json/src/main/resources/templates/home.html
diff --git a/samples/boot/redis-json/src/main/resources/templates/layout.html b/spring-session-samples/spring-session-sample-boot-redis-json/src/main/resources/templates/layout.html
similarity index 100%
rename from samples/boot/redis-json/src/main/resources/templates/layout.html
rename to spring-session-samples/spring-session-sample-boot-redis-json/src/main/resources/templates/layout.html
diff --git a/samples/boot/redis-json/src/main/resources/templates/login.html b/spring-session-samples/spring-session-sample-boot-redis-json/src/main/resources/templates/login.html
similarity index 100%
rename from samples/boot/redis-json/src/main/resources/templates/login.html
rename to spring-session-samples/spring-session-sample-boot-redis-json/src/main/resources/templates/login.html
diff --git a/samples/boot/redis/spring-session-sample-boot-redis.gradle b/spring-session-samples/spring-session-sample-boot-redis/spring-session-sample-boot-redis.gradle
similarity index 100%
rename from samples/boot/redis/spring-session-sample-boot-redis.gradle
rename to spring-session-samples/spring-session-sample-boot-redis/spring-session-sample-boot-redis.gradle
diff --git a/samples/boot/redis/src/integration-test/java/sample/BootTests.java b/spring-session-samples/spring-session-sample-boot-redis/src/integration-test/java/sample/BootTests.java
similarity index 100%
rename from samples/boot/redis/src/integration-test/java/sample/BootTests.java
rename to spring-session-samples/spring-session-sample-boot-redis/src/integration-test/java/sample/BootTests.java
diff --git a/samples/boot/redis/src/integration-test/java/sample/pages/BasePage.java b/spring-session-samples/spring-session-sample-boot-redis/src/integration-test/java/sample/pages/BasePage.java
similarity index 100%
rename from samples/boot/redis/src/integration-test/java/sample/pages/BasePage.java
rename to spring-session-samples/spring-session-sample-boot-redis/src/integration-test/java/sample/pages/BasePage.java
diff --git a/samples/boot/redis/src/integration-test/java/sample/pages/HomePage.java b/spring-session-samples/spring-session-sample-boot-redis/src/integration-test/java/sample/pages/HomePage.java
similarity index 100%
rename from samples/boot/redis/src/integration-test/java/sample/pages/HomePage.java
rename to spring-session-samples/spring-session-sample-boot-redis/src/integration-test/java/sample/pages/HomePage.java
diff --git a/samples/boot/redis/src/integration-test/java/sample/pages/LoginPage.java b/spring-session-samples/spring-session-sample-boot-redis/src/integration-test/java/sample/pages/LoginPage.java
similarity index 100%
rename from samples/boot/redis/src/integration-test/java/sample/pages/LoginPage.java
rename to spring-session-samples/spring-session-sample-boot-redis/src/integration-test/java/sample/pages/LoginPage.java
diff --git a/samples/boot/redis/src/integration-test/resources/testcontainers.properties b/spring-session-samples/spring-session-sample-boot-redis/src/integration-test/resources/testcontainers.properties
similarity index 100%
rename from samples/boot/redis/src/integration-test/resources/testcontainers.properties
rename to spring-session-samples/spring-session-sample-boot-redis/src/integration-test/resources/testcontainers.properties
diff --git a/samples/boot/redis/src/main/java/sample/Application.java b/spring-session-samples/spring-session-sample-boot-redis/src/main/java/sample/Application.java
similarity index 100%
rename from samples/boot/redis/src/main/java/sample/Application.java
rename to spring-session-samples/spring-session-sample-boot-redis/src/main/java/sample/Application.java
diff --git a/samples/boot/redis/src/main/java/sample/config/SecurityConfig.java b/spring-session-samples/spring-session-sample-boot-redis/src/main/java/sample/config/SecurityConfig.java
similarity index 100%
rename from samples/boot/redis/src/main/java/sample/config/SecurityConfig.java
rename to spring-session-samples/spring-session-sample-boot-redis/src/main/java/sample/config/SecurityConfig.java
diff --git a/samples/boot/redis/src/main/java/sample/config/WebMvcConfig.java b/spring-session-samples/spring-session-sample-boot-redis/src/main/java/sample/config/WebMvcConfig.java
similarity index 100%
rename from samples/boot/redis/src/main/java/sample/config/WebMvcConfig.java
rename to spring-session-samples/spring-session-sample-boot-redis/src/main/java/sample/config/WebMvcConfig.java
diff --git a/samples/boot/redis/src/main/resources/application.properties b/spring-session-samples/spring-session-sample-boot-redis/src/main/resources/application.properties
similarity index 100%
rename from samples/boot/redis/src/main/resources/application.properties
rename to spring-session-samples/spring-session-sample-boot-redis/src/main/resources/application.properties
diff --git a/samples/boot/redis/src/main/resources/static/favicon.ico b/spring-session-samples/spring-session-sample-boot-redis/src/main/resources/static/favicon.ico
similarity index 100%
rename from samples/boot/redis/src/main/resources/static/favicon.ico
rename to spring-session-samples/spring-session-sample-boot-redis/src/main/resources/static/favicon.ico
diff --git a/samples/boot/redis/src/main/resources/static/images/logo.png b/spring-session-samples/spring-session-sample-boot-redis/src/main/resources/static/images/logo.png
similarity index 100%
rename from samples/boot/redis/src/main/resources/static/images/logo.png
rename to spring-session-samples/spring-session-sample-boot-redis/src/main/resources/static/images/logo.png
diff --git a/samples/boot/redis/src/main/resources/templates/index.html b/spring-session-samples/spring-session-sample-boot-redis/src/main/resources/templates/index.html
similarity index 100%
rename from samples/boot/redis/src/main/resources/templates/index.html
rename to spring-session-samples/spring-session-sample-boot-redis/src/main/resources/templates/index.html
diff --git a/samples/boot/redis/src/main/resources/templates/layout.html b/spring-session-samples/spring-session-sample-boot-redis/src/main/resources/templates/layout.html
similarity index 100%
rename from samples/boot/redis/src/main/resources/templates/layout.html
rename to spring-session-samples/spring-session-sample-boot-redis/src/main/resources/templates/layout.html
diff --git a/samples/boot/webflux/spring-session-sample-boot-webflux.gradle b/spring-session-samples/spring-session-sample-boot-webflux/spring-session-sample-boot-webflux.gradle
similarity index 100%
rename from samples/boot/webflux/spring-session-sample-boot-webflux.gradle
rename to spring-session-samples/spring-session-sample-boot-webflux/spring-session-sample-boot-webflux.gradle
diff --git a/samples/boot/webflux/src/integration-test/java/sample/AttributeTests.java b/spring-session-samples/spring-session-sample-boot-webflux/src/integration-test/java/sample/AttributeTests.java
similarity index 100%
rename from samples/boot/webflux/src/integration-test/java/sample/AttributeTests.java
rename to spring-session-samples/spring-session-sample-boot-webflux/src/integration-test/java/sample/AttributeTests.java
diff --git a/samples/boot/webflux/src/integration-test/java/sample/pages/HomePage.java b/spring-session-samples/spring-session-sample-boot-webflux/src/integration-test/java/sample/pages/HomePage.java
similarity index 100%
rename from samples/boot/webflux/src/integration-test/java/sample/pages/HomePage.java
rename to spring-session-samples/spring-session-sample-boot-webflux/src/integration-test/java/sample/pages/HomePage.java
diff --git a/samples/boot/webflux/src/integration-test/resources/testcontainers.properties b/spring-session-samples/spring-session-sample-boot-webflux/src/integration-test/resources/testcontainers.properties
similarity index 100%
rename from samples/boot/webflux/src/integration-test/resources/testcontainers.properties
rename to spring-session-samples/spring-session-sample-boot-webflux/src/integration-test/resources/testcontainers.properties
diff --git a/samples/boot/webflux/src/main/java/sample/HelloWebFluxApplication.java b/spring-session-samples/spring-session-sample-boot-webflux/src/main/java/sample/HelloWebFluxApplication.java
similarity index 100%
rename from samples/boot/webflux/src/main/java/sample/HelloWebFluxApplication.java
rename to spring-session-samples/spring-session-sample-boot-webflux/src/main/java/sample/HelloWebFluxApplication.java
diff --git a/samples/boot/webflux/src/main/java/sample/SessionAttributeForm.java b/spring-session-samples/spring-session-sample-boot-webflux/src/main/java/sample/SessionAttributeForm.java
similarity index 100%
rename from samples/boot/webflux/src/main/java/sample/SessionAttributeForm.java
rename to spring-session-samples/spring-session-sample-boot-webflux/src/main/java/sample/SessionAttributeForm.java
diff --git a/samples/boot/webflux/src/main/java/sample/SessionController.java b/spring-session-samples/spring-session-sample-boot-webflux/src/main/java/sample/SessionController.java
similarity index 100%
rename from samples/boot/webflux/src/main/java/sample/SessionController.java
rename to spring-session-samples/spring-session-sample-boot-webflux/src/main/java/sample/SessionController.java
diff --git a/samples/boot/webflux/src/main/resources/application.properties b/spring-session-samples/spring-session-sample-boot-webflux/src/main/resources/application.properties
similarity index 100%
rename from samples/boot/webflux/src/main/resources/application.properties
rename to spring-session-samples/spring-session-sample-boot-webflux/src/main/resources/application.properties
diff --git a/samples/boot/webflux/src/main/resources/static/favicon.ico b/spring-session-samples/spring-session-sample-boot-webflux/src/main/resources/static/favicon.ico
similarity index 100%
rename from samples/boot/webflux/src/main/resources/static/favicon.ico
rename to spring-session-samples/spring-session-sample-boot-webflux/src/main/resources/static/favicon.ico
diff --git a/samples/boot/webflux/src/main/resources/templates/index.html b/spring-session-samples/spring-session-sample-boot-webflux/src/main/resources/templates/index.html
similarity index 100%
rename from samples/boot/webflux/src/main/resources/templates/index.html
rename to spring-session-samples/spring-session-sample-boot-webflux/src/main/resources/templates/index.html
diff --git a/samples/boot/websocket/spring-session-sample-boot-websocket.gradle b/spring-session-samples/spring-session-sample-boot-websocket/spring-session-sample-boot-websocket.gradle
similarity index 100%
rename from samples/boot/websocket/spring-session-sample-boot-websocket.gradle
rename to spring-session-samples/spring-session-sample-boot-websocket/spring-session-sample-boot-websocket.gradle
diff --git a/samples/boot/websocket/src/integration-test/java/sample/ApplicationTests.java b/spring-session-samples/spring-session-sample-boot-websocket/src/integration-test/java/sample/ApplicationTests.java
similarity index 100%
rename from samples/boot/websocket/src/integration-test/java/sample/ApplicationTests.java
rename to spring-session-samples/spring-session-sample-boot-websocket/src/integration-test/java/sample/ApplicationTests.java
diff --git a/samples/boot/websocket/src/integration-test/resources/testcontainers.properties b/spring-session-samples/spring-session-sample-boot-websocket/src/integration-test/resources/testcontainers.properties
similarity index 100%
rename from samples/boot/websocket/src/integration-test/resources/testcontainers.properties
rename to spring-session-samples/spring-session-sample-boot-websocket/src/integration-test/resources/testcontainers.properties
diff --git a/samples/boot/websocket/src/main/java/sample/Application.java b/spring-session-samples/spring-session-sample-boot-websocket/src/main/java/sample/Application.java
similarity index 100%
rename from samples/boot/websocket/src/main/java/sample/Application.java
rename to spring-session-samples/spring-session-sample-boot-websocket/src/main/java/sample/Application.java
diff --git a/samples/boot/websocket/src/main/java/sample/config/WebMvcConfig.java b/spring-session-samples/spring-session-sample-boot-websocket/src/main/java/sample/config/WebMvcConfig.java
similarity index 100%
rename from samples/boot/websocket/src/main/java/sample/config/WebMvcConfig.java
rename to spring-session-samples/spring-session-sample-boot-websocket/src/main/java/sample/config/WebMvcConfig.java
diff --git a/samples/boot/websocket/src/main/java/sample/config/WebSecurityConfig.java b/spring-session-samples/spring-session-sample-boot-websocket/src/main/java/sample/config/WebSecurityConfig.java
similarity index 100%
rename from samples/boot/websocket/src/main/java/sample/config/WebSecurityConfig.java
rename to spring-session-samples/spring-session-sample-boot-websocket/src/main/java/sample/config/WebSecurityConfig.java
diff --git a/samples/boot/websocket/src/main/java/sample/config/WebSocketConfig.java b/spring-session-samples/spring-session-sample-boot-websocket/src/main/java/sample/config/WebSocketConfig.java
similarity index 100%
rename from samples/boot/websocket/src/main/java/sample/config/WebSocketConfig.java
rename to spring-session-samples/spring-session-sample-boot-websocket/src/main/java/sample/config/WebSocketConfig.java
diff --git a/samples/boot/websocket/src/main/java/sample/config/WebSocketHandlersConfig.java b/spring-session-samples/spring-session-sample-boot-websocket/src/main/java/sample/config/WebSocketHandlersConfig.java
similarity index 100%
rename from samples/boot/websocket/src/main/java/sample/config/WebSocketHandlersConfig.java
rename to spring-session-samples/spring-session-sample-boot-websocket/src/main/java/sample/config/WebSocketHandlersConfig.java
diff --git a/samples/boot/websocket/src/main/java/sample/config/WebSocketSecurityConfig.java b/spring-session-samples/spring-session-sample-boot-websocket/src/main/java/sample/config/WebSocketSecurityConfig.java
similarity index 100%
rename from samples/boot/websocket/src/main/java/sample/config/WebSocketSecurityConfig.java
rename to spring-session-samples/spring-session-sample-boot-websocket/src/main/java/sample/config/WebSocketSecurityConfig.java
diff --git a/samples/boot/websocket/src/main/java/sample/data/ActiveWebSocketUser.java b/spring-session-samples/spring-session-sample-boot-websocket/src/main/java/sample/data/ActiveWebSocketUser.java
similarity index 100%
rename from samples/boot/websocket/src/main/java/sample/data/ActiveWebSocketUser.java
rename to spring-session-samples/spring-session-sample-boot-websocket/src/main/java/sample/data/ActiveWebSocketUser.java
diff --git a/samples/boot/websocket/src/main/java/sample/data/ActiveWebSocketUserRepository.java b/spring-session-samples/spring-session-sample-boot-websocket/src/main/java/sample/data/ActiveWebSocketUserRepository.java
similarity index 100%
rename from samples/boot/websocket/src/main/java/sample/data/ActiveWebSocketUserRepository.java
rename to spring-session-samples/spring-session-sample-boot-websocket/src/main/java/sample/data/ActiveWebSocketUserRepository.java
diff --git a/samples/boot/websocket/src/main/java/sample/data/InstantMessage.java b/spring-session-samples/spring-session-sample-boot-websocket/src/main/java/sample/data/InstantMessage.java
similarity index 100%
rename from samples/boot/websocket/src/main/java/sample/data/InstantMessage.java
rename to spring-session-samples/spring-session-sample-boot-websocket/src/main/java/sample/data/InstantMessage.java
diff --git a/samples/boot/websocket/src/main/java/sample/data/User.java b/spring-session-samples/spring-session-sample-boot-websocket/src/main/java/sample/data/User.java
similarity index 100%
rename from samples/boot/websocket/src/main/java/sample/data/User.java
rename to spring-session-samples/spring-session-sample-boot-websocket/src/main/java/sample/data/User.java
diff --git a/samples/boot/websocket/src/main/java/sample/data/UserRepository.java b/spring-session-samples/spring-session-sample-boot-websocket/src/main/java/sample/data/UserRepository.java
similarity index 100%
rename from samples/boot/websocket/src/main/java/sample/data/UserRepository.java
rename to spring-session-samples/spring-session-sample-boot-websocket/src/main/java/sample/data/UserRepository.java
diff --git a/samples/boot/websocket/src/main/java/sample/mvc/CsrfController.java b/spring-session-samples/spring-session-sample-boot-websocket/src/main/java/sample/mvc/CsrfController.java
similarity index 100%
rename from samples/boot/websocket/src/main/java/sample/mvc/CsrfController.java
rename to spring-session-samples/spring-session-sample-boot-websocket/src/main/java/sample/mvc/CsrfController.java
diff --git a/samples/boot/websocket/src/main/java/sample/mvc/MessageController.java b/spring-session-samples/spring-session-sample-boot-websocket/src/main/java/sample/mvc/MessageController.java
similarity index 100%
rename from samples/boot/websocket/src/main/java/sample/mvc/MessageController.java
rename to spring-session-samples/spring-session-sample-boot-websocket/src/main/java/sample/mvc/MessageController.java
diff --git a/samples/boot/websocket/src/main/java/sample/security/CurrentUser.java b/spring-session-samples/spring-session-sample-boot-websocket/src/main/java/sample/security/CurrentUser.java
similarity index 100%
rename from samples/boot/websocket/src/main/java/sample/security/CurrentUser.java
rename to spring-session-samples/spring-session-sample-boot-websocket/src/main/java/sample/security/CurrentUser.java
diff --git a/samples/boot/websocket/src/main/java/sample/security/UserRepositoryUserDetailsService.java b/spring-session-samples/spring-session-sample-boot-websocket/src/main/java/sample/security/UserRepositoryUserDetailsService.java
similarity index 100%
rename from samples/boot/websocket/src/main/java/sample/security/UserRepositoryUserDetailsService.java
rename to spring-session-samples/spring-session-sample-boot-websocket/src/main/java/sample/security/UserRepositoryUserDetailsService.java
diff --git a/samples/boot/websocket/src/main/java/sample/websocket/WebSocketConnectHandler.java b/spring-session-samples/spring-session-sample-boot-websocket/src/main/java/sample/websocket/WebSocketConnectHandler.java
similarity index 100%
rename from samples/boot/websocket/src/main/java/sample/websocket/WebSocketConnectHandler.java
rename to spring-session-samples/spring-session-sample-boot-websocket/src/main/java/sample/websocket/WebSocketConnectHandler.java
diff --git a/samples/boot/websocket/src/main/java/sample/websocket/WebSocketDisconnectHandler.java b/spring-session-samples/spring-session-sample-boot-websocket/src/main/java/sample/websocket/WebSocketDisconnectHandler.java
similarity index 100%
rename from samples/boot/websocket/src/main/java/sample/websocket/WebSocketDisconnectHandler.java
rename to spring-session-samples/spring-session-sample-boot-websocket/src/main/java/sample/websocket/WebSocketDisconnectHandler.java
diff --git a/samples/boot/websocket/src/main/resources/application.properties b/spring-session-samples/spring-session-sample-boot-websocket/src/main/resources/application.properties
similarity index 100%
rename from samples/boot/websocket/src/main/resources/application.properties
rename to spring-session-samples/spring-session-sample-boot-websocket/src/main/resources/application.properties
diff --git a/samples/boot/websocket/src/main/resources/data.sql b/spring-session-samples/spring-session-sample-boot-websocket/src/main/resources/data.sql
similarity index 100%
rename from samples/boot/websocket/src/main/resources/data.sql
rename to spring-session-samples/spring-session-sample-boot-websocket/src/main/resources/data.sql
diff --git a/samples/boot/websocket/src/main/resources/static/favicon.ico b/spring-session-samples/spring-session-sample-boot-websocket/src/main/resources/static/favicon.ico
similarity index 100%
rename from samples/boot/websocket/src/main/resources/static/favicon.ico
rename to spring-session-samples/spring-session-sample-boot-websocket/src/main/resources/static/favicon.ico
diff --git a/samples/boot/websocket/src/main/resources/static/images/logo.png b/spring-session-samples/spring-session-sample-boot-websocket/src/main/resources/static/images/logo.png
similarity index 100%
rename from samples/boot/websocket/src/main/resources/static/images/logo.png
rename to spring-session-samples/spring-session-sample-boot-websocket/src/main/resources/static/images/logo.png
diff --git a/samples/boot/websocket/src/main/resources/static/js/message.js b/spring-session-samples/spring-session-sample-boot-websocket/src/main/resources/static/js/message.js
similarity index 100%
rename from samples/boot/websocket/src/main/resources/static/js/message.js
rename to spring-session-samples/spring-session-sample-boot-websocket/src/main/resources/static/js/message.js
diff --git a/samples/boot/websocket/src/main/resources/templates/index.html b/spring-session-samples/spring-session-sample-boot-websocket/src/main/resources/templates/index.html
similarity index 100%
rename from samples/boot/websocket/src/main/resources/templates/index.html
rename to spring-session-samples/spring-session-sample-boot-websocket/src/main/resources/templates/index.html
diff --git a/samples/boot/websocket/src/main/resources/templates/layout.html b/spring-session-samples/spring-session-sample-boot-websocket/src/main/resources/templates/layout.html
similarity index 100%
rename from samples/boot/websocket/src/main/resources/templates/layout.html
rename to spring-session-samples/spring-session-sample-boot-websocket/src/main/resources/templates/layout.html
diff --git a/samples/javaconfig/custom-cookie/spring-session-sample-javaconfig-custom-cookie.gradle b/spring-session-samples/spring-session-sample-javaconfig-custom-cookie/spring-session-sample-javaconfig-custom-cookie.gradle
similarity index 100%
rename from samples/javaconfig/custom-cookie/spring-session-sample-javaconfig-custom-cookie.gradle
rename to spring-session-samples/spring-session-sample-javaconfig-custom-cookie/spring-session-sample-javaconfig-custom-cookie.gradle
diff --git a/samples/javaconfig/custom-cookie/src/integration-test/java/sample/AttributeTests.java b/spring-session-samples/spring-session-sample-javaconfig-custom-cookie/src/integration-test/java/sample/AttributeTests.java
similarity index 100%
rename from samples/javaconfig/custom-cookie/src/integration-test/java/sample/AttributeTests.java
rename to spring-session-samples/spring-session-sample-javaconfig-custom-cookie/src/integration-test/java/sample/AttributeTests.java
diff --git a/samples/javaconfig/custom-cookie/src/integration-test/java/sample/pages/HomePage.java b/spring-session-samples/spring-session-sample-javaconfig-custom-cookie/src/integration-test/java/sample/pages/HomePage.java
similarity index 100%
rename from samples/javaconfig/custom-cookie/src/integration-test/java/sample/pages/HomePage.java
rename to spring-session-samples/spring-session-sample-javaconfig-custom-cookie/src/integration-test/java/sample/pages/HomePage.java
diff --git a/samples/javaconfig/custom-cookie/src/main/java/sample/Config.java b/spring-session-samples/spring-session-sample-javaconfig-custom-cookie/src/main/java/sample/Config.java
similarity index 100%
rename from samples/javaconfig/custom-cookie/src/main/java/sample/Config.java
rename to spring-session-samples/spring-session-sample-javaconfig-custom-cookie/src/main/java/sample/Config.java
diff --git a/samples/javaconfig/custom-cookie/src/main/java/sample/EmbeddedRedisConfig.java b/spring-session-samples/spring-session-sample-javaconfig-custom-cookie/src/main/java/sample/EmbeddedRedisConfig.java
similarity index 100%
rename from samples/javaconfig/custom-cookie/src/main/java/sample/EmbeddedRedisConfig.java
rename to spring-session-samples/spring-session-sample-javaconfig-custom-cookie/src/main/java/sample/EmbeddedRedisConfig.java
diff --git a/samples/javaconfig/custom-cookie/src/main/java/sample/Initializer.java b/spring-session-samples/spring-session-sample-javaconfig-custom-cookie/src/main/java/sample/Initializer.java
similarity index 100%
rename from samples/javaconfig/custom-cookie/src/main/java/sample/Initializer.java
rename to spring-session-samples/spring-session-sample-javaconfig-custom-cookie/src/main/java/sample/Initializer.java
diff --git a/samples/javaconfig/custom-cookie/src/main/java/sample/SessionServlet.java b/spring-session-samples/spring-session-sample-javaconfig-custom-cookie/src/main/java/sample/SessionServlet.java
similarity index 100%
rename from samples/javaconfig/custom-cookie/src/main/java/sample/SessionServlet.java
rename to spring-session-samples/spring-session-sample-javaconfig-custom-cookie/src/main/java/sample/SessionServlet.java
diff --git a/samples/javaconfig/custom-cookie/src/main/resources/logback.xml b/spring-session-samples/spring-session-sample-javaconfig-custom-cookie/src/main/resources/logback.xml
similarity index 100%
rename from samples/javaconfig/custom-cookie/src/main/resources/logback.xml
rename to spring-session-samples/spring-session-sample-javaconfig-custom-cookie/src/main/resources/logback.xml
diff --git a/samples/javaconfig/custom-cookie/src/main/resources/testcontainers.properties b/spring-session-samples/spring-session-sample-javaconfig-custom-cookie/src/main/resources/testcontainers.properties
similarity index 100%
rename from samples/javaconfig/custom-cookie/src/main/resources/testcontainers.properties
rename to spring-session-samples/spring-session-sample-javaconfig-custom-cookie/src/main/resources/testcontainers.properties
diff --git a/samples/javaconfig/custom-cookie/src/main/webapp/META-INF/MANIFEST.MF b/spring-session-samples/spring-session-sample-javaconfig-custom-cookie/src/main/webapp/META-INF/MANIFEST.MF
similarity index 100%
rename from samples/javaconfig/custom-cookie/src/main/webapp/META-INF/MANIFEST.MF
rename to spring-session-samples/spring-session-sample-javaconfig-custom-cookie/src/main/webapp/META-INF/MANIFEST.MF
diff --git a/samples/javaconfig/custom-cookie/src/main/webapp/index.jsp b/spring-session-samples/spring-session-sample-javaconfig-custom-cookie/src/main/webapp/index.jsp
similarity index 100%
rename from samples/javaconfig/custom-cookie/src/main/webapp/index.jsp
rename to spring-session-samples/spring-session-sample-javaconfig-custom-cookie/src/main/webapp/index.jsp
diff --git a/samples/javaconfig/hazelcast/spring-session-sample-javaconfig-hazelcast.gradle b/spring-session-samples/spring-session-sample-javaconfig-hazelcast/spring-session-sample-javaconfig-hazelcast.gradle
similarity index 100%
rename from samples/javaconfig/hazelcast/spring-session-sample-javaconfig-hazelcast.gradle
rename to spring-session-samples/spring-session-sample-javaconfig-hazelcast/spring-session-sample-javaconfig-hazelcast.gradle
diff --git a/samples/javaconfig/hazelcast/src/integration-test/java/sample/HazelcastSpringTests.java b/spring-session-samples/spring-session-sample-javaconfig-hazelcast/src/integration-test/java/sample/HazelcastSpringTests.java
similarity index 100%
rename from samples/javaconfig/hazelcast/src/integration-test/java/sample/HazelcastSpringTests.java
rename to spring-session-samples/spring-session-sample-javaconfig-hazelcast/src/integration-test/java/sample/HazelcastSpringTests.java
diff --git a/samples/javaconfig/hazelcast/src/integration-test/java/sample/pages/BasePage.java b/spring-session-samples/spring-session-sample-javaconfig-hazelcast/src/integration-test/java/sample/pages/BasePage.java
similarity index 100%
rename from samples/javaconfig/hazelcast/src/integration-test/java/sample/pages/BasePage.java
rename to spring-session-samples/spring-session-sample-javaconfig-hazelcast/src/integration-test/java/sample/pages/BasePage.java
diff --git a/samples/javaconfig/hazelcast/src/integration-test/java/sample/pages/HomePage.java b/spring-session-samples/spring-session-sample-javaconfig-hazelcast/src/integration-test/java/sample/pages/HomePage.java
similarity index 100%
rename from samples/javaconfig/hazelcast/src/integration-test/java/sample/pages/HomePage.java
rename to spring-session-samples/spring-session-sample-javaconfig-hazelcast/src/integration-test/java/sample/pages/HomePage.java
diff --git a/samples/javaconfig/hazelcast/src/integration-test/java/sample/pages/LoginPage.java b/spring-session-samples/spring-session-sample-javaconfig-hazelcast/src/integration-test/java/sample/pages/LoginPage.java
similarity index 100%
rename from samples/javaconfig/hazelcast/src/integration-test/java/sample/pages/LoginPage.java
rename to spring-session-samples/spring-session-sample-javaconfig-hazelcast/src/integration-test/java/sample/pages/LoginPage.java
diff --git a/samples/javaconfig/hazelcast/src/main/java/sample/Initializer.java b/spring-session-samples/spring-session-sample-javaconfig-hazelcast/src/main/java/sample/Initializer.java
similarity index 100%
rename from samples/javaconfig/hazelcast/src/main/java/sample/Initializer.java
rename to spring-session-samples/spring-session-sample-javaconfig-hazelcast/src/main/java/sample/Initializer.java
diff --git a/samples/javaconfig/hazelcast/src/main/java/sample/ObjectStreamSerializer.java b/spring-session-samples/spring-session-sample-javaconfig-hazelcast/src/main/java/sample/ObjectStreamSerializer.java
similarity index 100%
rename from samples/javaconfig/hazelcast/src/main/java/sample/ObjectStreamSerializer.java
rename to spring-session-samples/spring-session-sample-javaconfig-hazelcast/src/main/java/sample/ObjectStreamSerializer.java
diff --git a/samples/javaconfig/hazelcast/src/main/java/sample/SecurityConfig.java b/spring-session-samples/spring-session-sample-javaconfig-hazelcast/src/main/java/sample/SecurityConfig.java
similarity index 100%
rename from samples/javaconfig/hazelcast/src/main/java/sample/SecurityConfig.java
rename to spring-session-samples/spring-session-sample-javaconfig-hazelcast/src/main/java/sample/SecurityConfig.java
diff --git a/samples/javaconfig/hazelcast/src/main/java/sample/SecurityInitializer.java b/spring-session-samples/spring-session-sample-javaconfig-hazelcast/src/main/java/sample/SecurityInitializer.java
similarity index 100%
rename from samples/javaconfig/hazelcast/src/main/java/sample/SecurityInitializer.java
rename to spring-session-samples/spring-session-sample-javaconfig-hazelcast/src/main/java/sample/SecurityInitializer.java
diff --git a/samples/javaconfig/hazelcast/src/main/java/sample/SessionConfig.java b/spring-session-samples/spring-session-sample-javaconfig-hazelcast/src/main/java/sample/SessionConfig.java
similarity index 100%
rename from samples/javaconfig/hazelcast/src/main/java/sample/SessionConfig.java
rename to spring-session-samples/spring-session-sample-javaconfig-hazelcast/src/main/java/sample/SessionConfig.java
diff --git a/samples/javaconfig/hazelcast/src/main/java/sample/SessionServlet.java b/spring-session-samples/spring-session-sample-javaconfig-hazelcast/src/main/java/sample/SessionServlet.java
similarity index 100%
rename from samples/javaconfig/hazelcast/src/main/java/sample/SessionServlet.java
rename to spring-session-samples/spring-session-sample-javaconfig-hazelcast/src/main/java/sample/SessionServlet.java
diff --git a/samples/javaconfig/hazelcast/src/main/resources/logback.xml b/spring-session-samples/spring-session-sample-javaconfig-hazelcast/src/main/resources/logback.xml
similarity index 100%
rename from samples/javaconfig/hazelcast/src/main/resources/logback.xml
rename to spring-session-samples/spring-session-sample-javaconfig-hazelcast/src/main/resources/logback.xml
diff --git a/samples/javaconfig/hazelcast/src/main/webapp/META-INF/MANIFEST.MF b/spring-session-samples/spring-session-sample-javaconfig-hazelcast/src/main/webapp/META-INF/MANIFEST.MF
similarity index 100%
rename from samples/javaconfig/hazelcast/src/main/webapp/META-INF/MANIFEST.MF
rename to spring-session-samples/spring-session-sample-javaconfig-hazelcast/src/main/webapp/META-INF/MANIFEST.MF
diff --git a/samples/javaconfig/hazelcast/src/main/webapp/index.jsp b/spring-session-samples/spring-session-sample-javaconfig-hazelcast/src/main/webapp/index.jsp
similarity index 100%
rename from samples/javaconfig/hazelcast/src/main/webapp/index.jsp
rename to spring-session-samples/spring-session-sample-javaconfig-hazelcast/src/main/webapp/index.jsp
diff --git a/samples/javaconfig/jdbc/spring-session-sample-javaconfig-jdbc.gradle b/spring-session-samples/spring-session-sample-javaconfig-jdbc/spring-session-sample-javaconfig-jdbc.gradle
similarity index 100%
rename from samples/javaconfig/jdbc/spring-session-sample-javaconfig-jdbc.gradle
rename to spring-session-samples/spring-session-sample-javaconfig-jdbc/spring-session-sample-javaconfig-jdbc.gradle
diff --git a/samples/javaconfig/jdbc/src/integration-test/java/sample/AttributeTests.java b/spring-session-samples/spring-session-sample-javaconfig-jdbc/src/integration-test/java/sample/AttributeTests.java
similarity index 100%
rename from samples/javaconfig/jdbc/src/integration-test/java/sample/AttributeTests.java
rename to spring-session-samples/spring-session-sample-javaconfig-jdbc/src/integration-test/java/sample/AttributeTests.java
diff --git a/samples/javaconfig/jdbc/src/integration-test/java/sample/pages/HomePage.java b/spring-session-samples/spring-session-sample-javaconfig-jdbc/src/integration-test/java/sample/pages/HomePage.java
similarity index 100%
rename from samples/javaconfig/jdbc/src/integration-test/java/sample/pages/HomePage.java
rename to spring-session-samples/spring-session-sample-javaconfig-jdbc/src/integration-test/java/sample/pages/HomePage.java
diff --git a/samples/javaconfig/jdbc/src/main/java/sample/Config.java b/spring-session-samples/spring-session-sample-javaconfig-jdbc/src/main/java/sample/Config.java
similarity index 100%
rename from samples/javaconfig/jdbc/src/main/java/sample/Config.java
rename to spring-session-samples/spring-session-sample-javaconfig-jdbc/src/main/java/sample/Config.java
diff --git a/samples/javaconfig/jdbc/src/main/java/sample/H2ConsoleInitializer.java b/spring-session-samples/spring-session-sample-javaconfig-jdbc/src/main/java/sample/H2ConsoleInitializer.java
similarity index 100%
rename from samples/javaconfig/jdbc/src/main/java/sample/H2ConsoleInitializer.java
rename to spring-session-samples/spring-session-sample-javaconfig-jdbc/src/main/java/sample/H2ConsoleInitializer.java
diff --git a/samples/javaconfig/jdbc/src/main/java/sample/Initializer.java b/spring-session-samples/spring-session-sample-javaconfig-jdbc/src/main/java/sample/Initializer.java
similarity index 100%
rename from samples/javaconfig/jdbc/src/main/java/sample/Initializer.java
rename to spring-session-samples/spring-session-sample-javaconfig-jdbc/src/main/java/sample/Initializer.java
diff --git a/samples/javaconfig/jdbc/src/main/java/sample/SessionServlet.java b/spring-session-samples/spring-session-sample-javaconfig-jdbc/src/main/java/sample/SessionServlet.java
similarity index 100%
rename from samples/javaconfig/jdbc/src/main/java/sample/SessionServlet.java
rename to spring-session-samples/spring-session-sample-javaconfig-jdbc/src/main/java/sample/SessionServlet.java
diff --git a/samples/javaconfig/jdbc/src/main/resources/logback.xml b/spring-session-samples/spring-session-sample-javaconfig-jdbc/src/main/resources/logback.xml
similarity index 100%
rename from samples/javaconfig/jdbc/src/main/resources/logback.xml
rename to spring-session-samples/spring-session-sample-javaconfig-jdbc/src/main/resources/logback.xml
diff --git a/samples/javaconfig/jdbc/src/main/webapp/META-INF/MANIFEST.MF b/spring-session-samples/spring-session-sample-javaconfig-jdbc/src/main/webapp/META-INF/MANIFEST.MF
similarity index 100%
rename from samples/javaconfig/jdbc/src/main/webapp/META-INF/MANIFEST.MF
rename to spring-session-samples/spring-session-sample-javaconfig-jdbc/src/main/webapp/META-INF/MANIFEST.MF
diff --git a/samples/javaconfig/jdbc/src/main/webapp/index.jsp b/spring-session-samples/spring-session-sample-javaconfig-jdbc/src/main/webapp/index.jsp
similarity index 100%
rename from samples/javaconfig/jdbc/src/main/webapp/index.jsp
rename to spring-session-samples/spring-session-sample-javaconfig-jdbc/src/main/webapp/index.jsp
diff --git a/samples/javaconfig/redis/spring-session-sample-javaconfig-redis.gradle b/spring-session-samples/spring-session-sample-javaconfig-redis/spring-session-sample-javaconfig-redis.gradle
similarity index 100%
rename from samples/javaconfig/redis/spring-session-sample-javaconfig-redis.gradle
rename to spring-session-samples/spring-session-sample-javaconfig-redis/spring-session-sample-javaconfig-redis.gradle
diff --git a/samples/javaconfig/redis/src/integration-test/java/sample/AttributeTests.java b/spring-session-samples/spring-session-sample-javaconfig-redis/src/integration-test/java/sample/AttributeTests.java
similarity index 100%
rename from samples/javaconfig/redis/src/integration-test/java/sample/AttributeTests.java
rename to spring-session-samples/spring-session-sample-javaconfig-redis/src/integration-test/java/sample/AttributeTests.java
diff --git a/samples/javaconfig/redis/src/integration-test/java/sample/pages/HomePage.java b/spring-session-samples/spring-session-sample-javaconfig-redis/src/integration-test/java/sample/pages/HomePage.java
similarity index 100%
rename from samples/javaconfig/redis/src/integration-test/java/sample/pages/HomePage.java
rename to spring-session-samples/spring-session-sample-javaconfig-redis/src/integration-test/java/sample/pages/HomePage.java
diff --git a/samples/javaconfig/redis/src/main/java/sample/Config.java b/spring-session-samples/spring-session-sample-javaconfig-redis/src/main/java/sample/Config.java
similarity index 100%
rename from samples/javaconfig/redis/src/main/java/sample/Config.java
rename to spring-session-samples/spring-session-sample-javaconfig-redis/src/main/java/sample/Config.java
diff --git a/samples/javaconfig/redis/src/main/java/sample/EmbeddedRedisConfig.java b/spring-session-samples/spring-session-sample-javaconfig-redis/src/main/java/sample/EmbeddedRedisConfig.java
similarity index 100%
rename from samples/javaconfig/redis/src/main/java/sample/EmbeddedRedisConfig.java
rename to spring-session-samples/spring-session-sample-javaconfig-redis/src/main/java/sample/EmbeddedRedisConfig.java
diff --git a/samples/javaconfig/redis/src/main/java/sample/Initializer.java b/spring-session-samples/spring-session-sample-javaconfig-redis/src/main/java/sample/Initializer.java
similarity index 100%
rename from samples/javaconfig/redis/src/main/java/sample/Initializer.java
rename to spring-session-samples/spring-session-sample-javaconfig-redis/src/main/java/sample/Initializer.java
diff --git a/samples/javaconfig/redis/src/main/java/sample/SessionServlet.java b/spring-session-samples/spring-session-sample-javaconfig-redis/src/main/java/sample/SessionServlet.java
similarity index 100%
rename from samples/javaconfig/redis/src/main/java/sample/SessionServlet.java
rename to spring-session-samples/spring-session-sample-javaconfig-redis/src/main/java/sample/SessionServlet.java
diff --git a/samples/javaconfig/redis/src/main/resources/logback.xml b/spring-session-samples/spring-session-sample-javaconfig-redis/src/main/resources/logback.xml
similarity index 100%
rename from samples/javaconfig/redis/src/main/resources/logback.xml
rename to spring-session-samples/spring-session-sample-javaconfig-redis/src/main/resources/logback.xml
diff --git a/samples/javaconfig/redis/src/main/resources/testcontainers.properties b/spring-session-samples/spring-session-sample-javaconfig-redis/src/main/resources/testcontainers.properties
similarity index 100%
rename from samples/javaconfig/redis/src/main/resources/testcontainers.properties
rename to spring-session-samples/spring-session-sample-javaconfig-redis/src/main/resources/testcontainers.properties
diff --git a/samples/javaconfig/redis/src/main/webapp/META-INF/MANIFEST.MF b/spring-session-samples/spring-session-sample-javaconfig-redis/src/main/webapp/META-INF/MANIFEST.MF
similarity index 100%
rename from samples/javaconfig/redis/src/main/webapp/META-INF/MANIFEST.MF
rename to spring-session-samples/spring-session-sample-javaconfig-redis/src/main/webapp/META-INF/MANIFEST.MF
diff --git a/samples/javaconfig/redis/src/main/webapp/index.jsp b/spring-session-samples/spring-session-sample-javaconfig-redis/src/main/webapp/index.jsp
similarity index 100%
rename from samples/javaconfig/redis/src/main/webapp/index.jsp
rename to spring-session-samples/spring-session-sample-javaconfig-redis/src/main/webapp/index.jsp
diff --git a/samples/javaconfig/rest/spring-session-sample-javaconfig-rest.gradle b/spring-session-samples/spring-session-sample-javaconfig-rest/spring-session-sample-javaconfig-rest.gradle
similarity index 100%
rename from samples/javaconfig/rest/spring-session-sample-javaconfig-rest.gradle
rename to spring-session-samples/spring-session-sample-javaconfig-rest/spring-session-sample-javaconfig-rest.gradle
diff --git a/samples/javaconfig/rest/src/integration-test/java/rest/RestMockMvcTests.java b/spring-session-samples/spring-session-sample-javaconfig-rest/src/integration-test/java/rest/RestMockMvcTests.java
similarity index 100%
rename from samples/javaconfig/rest/src/integration-test/java/rest/RestMockMvcTests.java
rename to spring-session-samples/spring-session-sample-javaconfig-rest/src/integration-test/java/rest/RestMockMvcTests.java
diff --git a/samples/javaconfig/rest/src/integration-test/java/sample/RestTests.java b/spring-session-samples/spring-session-sample-javaconfig-rest/src/integration-test/java/sample/RestTests.java
similarity index 100%
rename from samples/javaconfig/rest/src/integration-test/java/sample/RestTests.java
rename to spring-session-samples/spring-session-sample-javaconfig-rest/src/integration-test/java/sample/RestTests.java
diff --git a/samples/javaconfig/rest/src/integration-test/java/sample/User.java b/spring-session-samples/spring-session-sample-javaconfig-rest/src/integration-test/java/sample/User.java
similarity index 100%
rename from samples/javaconfig/rest/src/integration-test/java/sample/User.java
rename to spring-session-samples/spring-session-sample-javaconfig-rest/src/integration-test/java/sample/User.java
diff --git a/samples/javaconfig/rest/src/main/java/sample/EmbeddedRedisConfig.java b/spring-session-samples/spring-session-sample-javaconfig-rest/src/main/java/sample/EmbeddedRedisConfig.java
similarity index 100%
rename from samples/javaconfig/rest/src/main/java/sample/EmbeddedRedisConfig.java
rename to spring-session-samples/spring-session-sample-javaconfig-rest/src/main/java/sample/EmbeddedRedisConfig.java
diff --git a/samples/javaconfig/rest/src/main/java/sample/HttpSessionConfig.java b/spring-session-samples/spring-session-sample-javaconfig-rest/src/main/java/sample/HttpSessionConfig.java
similarity index 100%
rename from samples/javaconfig/rest/src/main/java/sample/HttpSessionConfig.java
rename to spring-session-samples/spring-session-sample-javaconfig-rest/src/main/java/sample/HttpSessionConfig.java
diff --git a/samples/javaconfig/rest/src/main/java/sample/Initializer.java b/spring-session-samples/spring-session-sample-javaconfig-rest/src/main/java/sample/Initializer.java
similarity index 100%
rename from samples/javaconfig/rest/src/main/java/sample/Initializer.java
rename to spring-session-samples/spring-session-sample-javaconfig-rest/src/main/java/sample/Initializer.java
diff --git a/samples/javaconfig/rest/src/main/java/sample/SecurityConfig.java b/spring-session-samples/spring-session-sample-javaconfig-rest/src/main/java/sample/SecurityConfig.java
similarity index 100%
rename from samples/javaconfig/rest/src/main/java/sample/SecurityConfig.java
rename to spring-session-samples/spring-session-sample-javaconfig-rest/src/main/java/sample/SecurityConfig.java
diff --git a/samples/javaconfig/rest/src/main/java/sample/SecurityInitializer.java b/spring-session-samples/spring-session-sample-javaconfig-rest/src/main/java/sample/SecurityInitializer.java
similarity index 100%
rename from samples/javaconfig/rest/src/main/java/sample/SecurityInitializer.java
rename to spring-session-samples/spring-session-sample-javaconfig-rest/src/main/java/sample/SecurityInitializer.java
diff --git a/samples/javaconfig/rest/src/main/java/sample/mvc/MvcConfig.java b/spring-session-samples/spring-session-sample-javaconfig-rest/src/main/java/sample/mvc/MvcConfig.java
similarity index 100%
rename from samples/javaconfig/rest/src/main/java/sample/mvc/MvcConfig.java
rename to spring-session-samples/spring-session-sample-javaconfig-rest/src/main/java/sample/mvc/MvcConfig.java
diff --git a/samples/javaconfig/rest/src/main/java/sample/mvc/MvcInitializer.java b/spring-session-samples/spring-session-sample-javaconfig-rest/src/main/java/sample/mvc/MvcInitializer.java
similarity index 100%
rename from samples/javaconfig/rest/src/main/java/sample/mvc/MvcInitializer.java
rename to spring-session-samples/spring-session-sample-javaconfig-rest/src/main/java/sample/mvc/MvcInitializer.java
diff --git a/samples/javaconfig/rest/src/main/java/sample/mvc/RestDemoController.java b/spring-session-samples/spring-session-sample-javaconfig-rest/src/main/java/sample/mvc/RestDemoController.java
similarity index 100%
rename from samples/javaconfig/rest/src/main/java/sample/mvc/RestDemoController.java
rename to spring-session-samples/spring-session-sample-javaconfig-rest/src/main/java/sample/mvc/RestDemoController.java
diff --git a/samples/javaconfig/rest/src/main/resources/logback.xml b/spring-session-samples/spring-session-sample-javaconfig-rest/src/main/resources/logback.xml
similarity index 100%
rename from samples/javaconfig/rest/src/main/resources/logback.xml
rename to spring-session-samples/spring-session-sample-javaconfig-rest/src/main/resources/logback.xml
diff --git a/samples/javaconfig/rest/src/main/resources/testcontainers.properties b/spring-session-samples/spring-session-sample-javaconfig-rest/src/main/resources/testcontainers.properties
similarity index 100%
rename from samples/javaconfig/rest/src/main/resources/testcontainers.properties
rename to spring-session-samples/spring-session-sample-javaconfig-rest/src/main/resources/testcontainers.properties
diff --git a/samples/javaconfig/rest/src/main/webapp/META-INF/MANIFEST.MF b/spring-session-samples/spring-session-sample-javaconfig-rest/src/main/webapp/META-INF/MANIFEST.MF
similarity index 100%
rename from samples/javaconfig/rest/src/main/webapp/META-INF/MANIFEST.MF
rename to spring-session-samples/spring-session-sample-javaconfig-rest/src/main/webapp/META-INF/MANIFEST.MF
diff --git a/samples/javaconfig/security/spring-session-sample-javaconfig-security.gradle b/spring-session-samples/spring-session-sample-javaconfig-security/spring-session-sample-javaconfig-security.gradle
similarity index 100%
rename from samples/javaconfig/security/spring-session-sample-javaconfig-security.gradle
rename to spring-session-samples/spring-session-sample-javaconfig-security/spring-session-sample-javaconfig-security.gradle
diff --git a/samples/javaconfig/security/src/integration-test/java/sample/SecurityTests.java b/spring-session-samples/spring-session-sample-javaconfig-security/src/integration-test/java/sample/SecurityTests.java
similarity index 100%
rename from samples/javaconfig/security/src/integration-test/java/sample/SecurityTests.java
rename to spring-session-samples/spring-session-sample-javaconfig-security/src/integration-test/java/sample/SecurityTests.java
diff --git a/samples/javaconfig/security/src/integration-test/java/sample/pages/BasePage.java b/spring-session-samples/spring-session-sample-javaconfig-security/src/integration-test/java/sample/pages/BasePage.java
similarity index 100%
rename from samples/javaconfig/security/src/integration-test/java/sample/pages/BasePage.java
rename to spring-session-samples/spring-session-sample-javaconfig-security/src/integration-test/java/sample/pages/BasePage.java
diff --git a/samples/javaconfig/security/src/integration-test/java/sample/pages/HomePage.java b/spring-session-samples/spring-session-sample-javaconfig-security/src/integration-test/java/sample/pages/HomePage.java
similarity index 100%
rename from samples/javaconfig/security/src/integration-test/java/sample/pages/HomePage.java
rename to spring-session-samples/spring-session-sample-javaconfig-security/src/integration-test/java/sample/pages/HomePage.java
diff --git a/samples/javaconfig/security/src/integration-test/java/sample/pages/LoginPage.java b/spring-session-samples/spring-session-sample-javaconfig-security/src/integration-test/java/sample/pages/LoginPage.java
similarity index 100%
rename from samples/javaconfig/security/src/integration-test/java/sample/pages/LoginPage.java
rename to spring-session-samples/spring-session-sample-javaconfig-security/src/integration-test/java/sample/pages/LoginPage.java
diff --git a/samples/javaconfig/security/src/main/java/sample/Config.java b/spring-session-samples/spring-session-sample-javaconfig-security/src/main/java/sample/Config.java
similarity index 100%
rename from samples/javaconfig/security/src/main/java/sample/Config.java
rename to spring-session-samples/spring-session-sample-javaconfig-security/src/main/java/sample/Config.java
diff --git a/samples/javaconfig/security/src/main/java/sample/EmbeddedRedisConfig.java b/spring-session-samples/spring-session-sample-javaconfig-security/src/main/java/sample/EmbeddedRedisConfig.java
similarity index 100%
rename from samples/javaconfig/security/src/main/java/sample/EmbeddedRedisConfig.java
rename to spring-session-samples/spring-session-sample-javaconfig-security/src/main/java/sample/EmbeddedRedisConfig.java
diff --git a/samples/javaconfig/security/src/main/java/sample/Initializer.java b/spring-session-samples/spring-session-sample-javaconfig-security/src/main/java/sample/Initializer.java
similarity index 100%
rename from samples/javaconfig/security/src/main/java/sample/Initializer.java
rename to spring-session-samples/spring-session-sample-javaconfig-security/src/main/java/sample/Initializer.java
diff --git a/samples/javaconfig/security/src/main/java/sample/SecurityConfig.java b/spring-session-samples/spring-session-sample-javaconfig-security/src/main/java/sample/SecurityConfig.java
similarity index 100%
rename from samples/javaconfig/security/src/main/java/sample/SecurityConfig.java
rename to spring-session-samples/spring-session-sample-javaconfig-security/src/main/java/sample/SecurityConfig.java
diff --git a/samples/javaconfig/security/src/main/java/sample/SecurityInitializer.java b/spring-session-samples/spring-session-sample-javaconfig-security/src/main/java/sample/SecurityInitializer.java
similarity index 100%
rename from samples/javaconfig/security/src/main/java/sample/SecurityInitializer.java
rename to spring-session-samples/spring-session-sample-javaconfig-security/src/main/java/sample/SecurityInitializer.java
diff --git a/samples/javaconfig/security/src/main/java/sample/SessionServlet.java b/spring-session-samples/spring-session-sample-javaconfig-security/src/main/java/sample/SessionServlet.java
similarity index 100%
rename from samples/javaconfig/security/src/main/java/sample/SessionServlet.java
rename to spring-session-samples/spring-session-sample-javaconfig-security/src/main/java/sample/SessionServlet.java
diff --git a/samples/javaconfig/security/src/main/resources/logback.xml b/spring-session-samples/spring-session-sample-javaconfig-security/src/main/resources/logback.xml
similarity index 100%
rename from samples/javaconfig/security/src/main/resources/logback.xml
rename to spring-session-samples/spring-session-sample-javaconfig-security/src/main/resources/logback.xml
diff --git a/samples/javaconfig/security/src/main/resources/testcontainers.properties b/spring-session-samples/spring-session-sample-javaconfig-security/src/main/resources/testcontainers.properties
similarity index 100%
rename from samples/javaconfig/security/src/main/resources/testcontainers.properties
rename to spring-session-samples/spring-session-sample-javaconfig-security/src/main/resources/testcontainers.properties
diff --git a/samples/javaconfig/security/src/main/webapp/META-INF/MANIFEST.MF b/spring-session-samples/spring-session-sample-javaconfig-security/src/main/webapp/META-INF/MANIFEST.MF
similarity index 100%
rename from samples/javaconfig/security/src/main/webapp/META-INF/MANIFEST.MF
rename to spring-session-samples/spring-session-sample-javaconfig-security/src/main/webapp/META-INF/MANIFEST.MF
diff --git a/samples/javaconfig/security/src/main/webapp/index.jsp b/spring-session-samples/spring-session-sample-javaconfig-security/src/main/webapp/index.jsp
similarity index 100%
rename from samples/javaconfig/security/src/main/webapp/index.jsp
rename to spring-session-samples/spring-session-sample-javaconfig-security/src/main/webapp/index.jsp
diff --git a/samples/misc/hazelcast/spring-session-sample-misc-hazelcast.gradle b/spring-session-samples/spring-session-sample-misc-hazelcast/spring-session-sample-misc-hazelcast.gradle
similarity index 100%
rename from samples/misc/hazelcast/spring-session-sample-misc-hazelcast.gradle
rename to spring-session-samples/spring-session-sample-misc-hazelcast/spring-session-sample-misc-hazelcast.gradle
diff --git a/samples/misc/hazelcast/src/integration-test/java/sample/AttributeTests.java b/spring-session-samples/spring-session-sample-misc-hazelcast/src/integration-test/java/sample/AttributeTests.java
similarity index 100%
rename from samples/misc/hazelcast/src/integration-test/java/sample/AttributeTests.java
rename to spring-session-samples/spring-session-sample-misc-hazelcast/src/integration-test/java/sample/AttributeTests.java
diff --git a/samples/misc/hazelcast/src/integration-test/java/sample/pages/HomePage.java b/spring-session-samples/spring-session-sample-misc-hazelcast/src/integration-test/java/sample/pages/HomePage.java
similarity index 100%
rename from samples/misc/hazelcast/src/integration-test/java/sample/pages/HomePage.java
rename to spring-session-samples/spring-session-sample-misc-hazelcast/src/integration-test/java/sample/pages/HomePage.java
diff --git a/samples/misc/hazelcast/src/main/java/sample/Initializer.java b/spring-session-samples/spring-session-sample-misc-hazelcast/src/main/java/sample/Initializer.java
similarity index 100%
rename from samples/misc/hazelcast/src/main/java/sample/Initializer.java
rename to spring-session-samples/spring-session-sample-misc-hazelcast/src/main/java/sample/Initializer.java
diff --git a/samples/misc/hazelcast/src/main/java/sample/SessionServlet.java b/spring-session-samples/spring-session-sample-misc-hazelcast/src/main/java/sample/SessionServlet.java
similarity index 100%
rename from samples/misc/hazelcast/src/main/java/sample/SessionServlet.java
rename to spring-session-samples/spring-session-sample-misc-hazelcast/src/main/java/sample/SessionServlet.java
diff --git a/samples/misc/grails3/src/main/resources/logback.xml b/spring-session-samples/spring-session-sample-misc-hazelcast/src/main/resources/logback.xml
similarity index 100%
rename from samples/misc/grails3/src/main/resources/logback.xml
rename to spring-session-samples/spring-session-sample-misc-hazelcast/src/main/resources/logback.xml
diff --git a/samples/misc/hazelcast/src/main/webapp/META-INF/MANIFEST.MF b/spring-session-samples/spring-session-sample-misc-hazelcast/src/main/webapp/META-INF/MANIFEST.MF
similarity index 100%
rename from samples/misc/hazelcast/src/main/webapp/META-INF/MANIFEST.MF
rename to spring-session-samples/spring-session-sample-misc-hazelcast/src/main/webapp/META-INF/MANIFEST.MF
diff --git a/samples/misc/hazelcast/src/main/webapp/index.jsp b/spring-session-samples/spring-session-sample-misc-hazelcast/src/main/webapp/index.jsp
similarity index 100%
rename from samples/misc/hazelcast/src/main/webapp/index.jsp
rename to spring-session-samples/spring-session-sample-misc-hazelcast/src/main/webapp/index.jsp
diff --git a/samples/xml/jdbc/spring-session-sample-xml-jdbc.gradle b/spring-session-samples/spring-session-sample-xml-jdbc/spring-session-sample-xml-jdbc.gradle
similarity index 100%
rename from samples/xml/jdbc/spring-session-sample-xml-jdbc.gradle
rename to spring-session-samples/spring-session-sample-xml-jdbc/spring-session-sample-xml-jdbc.gradle
diff --git a/samples/xml/jdbc/src/integration-test/java/sample/AttributeTests.java b/spring-session-samples/spring-session-sample-xml-jdbc/src/integration-test/java/sample/AttributeTests.java
similarity index 100%
rename from samples/xml/jdbc/src/integration-test/java/sample/AttributeTests.java
rename to spring-session-samples/spring-session-sample-xml-jdbc/src/integration-test/java/sample/AttributeTests.java
diff --git a/samples/xml/jdbc/src/integration-test/java/sample/pages/HomePage.java b/spring-session-samples/spring-session-sample-xml-jdbc/src/integration-test/java/sample/pages/HomePage.java
similarity index 100%
rename from samples/xml/jdbc/src/integration-test/java/sample/pages/HomePage.java
rename to spring-session-samples/spring-session-sample-xml-jdbc/src/integration-test/java/sample/pages/HomePage.java
diff --git a/samples/xml/jdbc/src/main/java/sample/SessionServlet.java b/spring-session-samples/spring-session-sample-xml-jdbc/src/main/java/sample/SessionServlet.java
similarity index 100%
rename from samples/xml/jdbc/src/main/java/sample/SessionServlet.java
rename to spring-session-samples/spring-session-sample-xml-jdbc/src/main/java/sample/SessionServlet.java
diff --git a/samples/misc/hazelcast/src/main/resources/logback.xml b/spring-session-samples/spring-session-sample-xml-jdbc/src/main/resources/logback.xml
similarity index 100%
rename from samples/misc/hazelcast/src/main/resources/logback.xml
rename to spring-session-samples/spring-session-sample-xml-jdbc/src/main/resources/logback.xml
diff --git a/samples/xml/jdbc/src/main/webapp/META-INF/MANIFEST.MF b/spring-session-samples/spring-session-sample-xml-jdbc/src/main/webapp/META-INF/MANIFEST.MF
similarity index 100%
rename from samples/xml/jdbc/src/main/webapp/META-INF/MANIFEST.MF
rename to spring-session-samples/spring-session-sample-xml-jdbc/src/main/webapp/META-INF/MANIFEST.MF
diff --git a/samples/xml/jdbc/src/main/webapp/WEB-INF/spring/session.xml b/spring-session-samples/spring-session-sample-xml-jdbc/src/main/webapp/WEB-INF/spring/session.xml
similarity index 100%
rename from samples/xml/jdbc/src/main/webapp/WEB-INF/spring/session.xml
rename to spring-session-samples/spring-session-sample-xml-jdbc/src/main/webapp/WEB-INF/spring/session.xml
diff --git a/samples/xml/jdbc/src/main/webapp/WEB-INF/web.xml b/spring-session-samples/spring-session-sample-xml-jdbc/src/main/webapp/WEB-INF/web.xml
similarity index 98%
rename from samples/xml/jdbc/src/main/webapp/WEB-INF/web.xml
rename to spring-session-samples/spring-session-sample-xml-jdbc/src/main/webapp/WEB-INF/web.xml
index 9d693fbc..029b68d2 100644
--- a/samples/xml/jdbc/src/main/webapp/WEB-INF/web.xml
+++ b/spring-session-samples/spring-session-sample-xml-jdbc/src/main/webapp/WEB-INF/web.xml
@@ -10,7 +10,7 @@
contextConfigLocation
- /WEB-INF/spring/*.xml
+ /WEB-INF/spring/session.xml
diff --git a/samples/xml/jdbc/src/main/webapp/index.jsp b/spring-session-samples/spring-session-sample-xml-jdbc/src/main/webapp/index.jsp
similarity index 100%
rename from samples/xml/jdbc/src/main/webapp/index.jsp
rename to spring-session-samples/spring-session-sample-xml-jdbc/src/main/webapp/index.jsp
diff --git a/samples/xml/redis/spring-session-sample-xml-redis.gradle b/spring-session-samples/spring-session-sample-xml-redis/spring-session-sample-xml-redis.gradle
similarity index 100%
rename from samples/xml/redis/spring-session-sample-xml-redis.gradle
rename to spring-session-samples/spring-session-sample-xml-redis/spring-session-sample-xml-redis.gradle
diff --git a/samples/xml/redis/src/integration-test/java/sample/AttributeTests.java b/spring-session-samples/spring-session-sample-xml-redis/src/integration-test/java/sample/AttributeTests.java
similarity index 100%
rename from samples/xml/redis/src/integration-test/java/sample/AttributeTests.java
rename to spring-session-samples/spring-session-sample-xml-redis/src/integration-test/java/sample/AttributeTests.java
diff --git a/samples/xml/redis/src/integration-test/java/sample/pages/HomePage.java b/spring-session-samples/spring-session-sample-xml-redis/src/integration-test/java/sample/pages/HomePage.java
similarity index 100%
rename from samples/xml/redis/src/integration-test/java/sample/pages/HomePage.java
rename to spring-session-samples/spring-session-sample-xml-redis/src/integration-test/java/sample/pages/HomePage.java
diff --git a/samples/xml/redis/src/main/java/sample/EmbeddedRedisConfig.java b/spring-session-samples/spring-session-sample-xml-redis/src/main/java/sample/EmbeddedRedisConfig.java
similarity index 100%
rename from samples/xml/redis/src/main/java/sample/EmbeddedRedisConfig.java
rename to spring-session-samples/spring-session-sample-xml-redis/src/main/java/sample/EmbeddedRedisConfig.java
diff --git a/samples/xml/redis/src/main/java/sample/SessionServlet.java b/spring-session-samples/spring-session-sample-xml-redis/src/main/java/sample/SessionServlet.java
similarity index 100%
rename from samples/xml/redis/src/main/java/sample/SessionServlet.java
rename to spring-session-samples/spring-session-sample-xml-redis/src/main/java/sample/SessionServlet.java
diff --git a/samples/xml/jdbc/src/main/resources/logback.xml b/spring-session-samples/spring-session-sample-xml-redis/src/main/resources/logback.xml
similarity index 100%
rename from samples/xml/jdbc/src/main/resources/logback.xml
rename to spring-session-samples/spring-session-sample-xml-redis/src/main/resources/logback.xml
diff --git a/samples/xml/redis/src/main/resources/testcontainers.properties b/spring-session-samples/spring-session-sample-xml-redis/src/main/resources/testcontainers.properties
similarity index 100%
rename from samples/xml/redis/src/main/resources/testcontainers.properties
rename to spring-session-samples/spring-session-sample-xml-redis/src/main/resources/testcontainers.properties
diff --git a/samples/xml/redis/src/main/webapp/META-INF/MANIFEST.MF b/spring-session-samples/spring-session-sample-xml-redis/src/main/webapp/META-INF/MANIFEST.MF
similarity index 100%
rename from samples/xml/redis/src/main/webapp/META-INF/MANIFEST.MF
rename to spring-session-samples/spring-session-sample-xml-redis/src/main/webapp/META-INF/MANIFEST.MF
diff --git a/samples/xml/redis/src/main/webapp/WEB-INF/spring/session.xml b/spring-session-samples/spring-session-sample-xml-redis/src/main/webapp/WEB-INF/spring/session.xml
similarity index 100%
rename from samples/xml/redis/src/main/webapp/WEB-INF/spring/session.xml
rename to spring-session-samples/spring-session-sample-xml-redis/src/main/webapp/WEB-INF/spring/session.xml
diff --git a/samples/xml/redis/src/main/webapp/WEB-INF/web.xml b/spring-session-samples/spring-session-sample-xml-redis/src/main/webapp/WEB-INF/web.xml
similarity index 98%
rename from samples/xml/redis/src/main/webapp/WEB-INF/web.xml
rename to spring-session-samples/spring-session-sample-xml-redis/src/main/webapp/WEB-INF/web.xml
index dfe804f9..a9996f16 100644
--- a/samples/xml/redis/src/main/webapp/WEB-INF/web.xml
+++ b/spring-session-samples/spring-session-sample-xml-redis/src/main/webapp/WEB-INF/web.xml
@@ -10,7 +10,7 @@
contextConfigLocation
- /WEB-INF/spring/*.xml
+ /WEB-INF/spring/session.xml
diff --git a/samples/xml/redis/src/main/webapp/index.jsp b/spring-session-samples/spring-session-sample-xml-redis/src/main/webapp/index.jsp
similarity index 100%
rename from samples/xml/redis/src/main/webapp/index.jsp
rename to spring-session-samples/spring-session-sample-xml-redis/src/main/webapp/index.jsp