You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by th...@apache.org on 2020/09/12 14:56:30 UTC

[tapestry-5] 03/04: TAP5-2641: fixing Hibernate-related split packages

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

thiagohp pushed a commit to branch java9modules
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git

commit bce0b6c2d83a7ba04532a61ad2435efe2ee2092d
Author: Thiago H. de Paula Figueiredo <th...@arsmachina.com.br>
AuthorDate: Sun Sep 6 19:40:19 2020 -0300

    TAP5-2641: fixing Hibernate-related split packages
---
 .../AbstractSessionPersistentFieldStrategy.java    |  4 ++--
 .../internal}/DefaultHibernateConfigurer.java      |  2 +-
 .../internal}/HibernateSessionManagerImpl.java     |  2 +-
 .../internal}/HibernateSessionSourceImpl.java      |  2 +-
 .../internal}/HibernateTransactionAdvisorImpl.java |  2 +-
 .../HibernateTransactionDecoratorImpl.java         |  2 +-
 .../internal}/PackageNameHibernateConfigurer.java  |  2 +-
 .../hibernate/modules/HibernateCoreModule.java     |  2 +-
 .../DefaultHibernateConfigurerFilterTest.java      |  1 +
 .../hibernate/HibernateSessionSourceImplTest.java  |  3 +++
 .../HibernateTransactionDecoratorImplTest.java     |  2 ++
 tapestry-hibernate/build.gradle                    |  2 +-
 .../{ => web}/HibernateGridDataSource.java         |  2 +-
 .../{ => web}/HibernatePersistenceConstants.java   |  2 +-
 .../web/internal}/CommitAfterWorker.java           |  2 +-
 .../EntityApplicationStatePersistenceStrategy.java |  4 ++--
 .../internal}/EntityPersistentFieldStrategy.java   |  8 ++++----
 .../web/internal}/HibernateEntityValueEncoder.java |  2 +-
 .../web/internal}/PersistedEntity.java             |  2 +-
 .../web/internal}/PersistedTransientEntity.java    |  2 +-
 .../web/internal}/SessionRestorable.java           |  2 +-
 .../web/internal}/package-info.java                |  2 +-
 .../{ => web}/modules/HibernateModule.java         | 22 +++++++++++++++-------
 .../web}/pages/HibernateStatistics.java            |  2 +-
 .../web}/pages/HibernateStatistics.properties      |  0
 .../web}/pages/HibernateStatistics.tml             |  0
 .../TapestryHibernateIntegrationTests.java         |  6 +++---
 .../EntityPersistentFieldStrategyTest.java         |  4 +++-
 .../internal}/HibernateEntityValueEncoderTest.java |  3 ++-
 .../web/internal}/SampleEntity.java                |  4 ++--
 .../test/java/org/example/app0/pages/GridDemo.java |  2 +-
 .../java/org/example/app0/services/AppModule.java  |  2 +-
 .../jpa/EntityPersistentFieldStrategy.java         |  4 ++--
 33 files changed, 60 insertions(+), 43 deletions(-)

diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AbstractSessionPersistentFieldStrategy.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AbstractSessionPersistentFieldStrategy.java
index 5c0141d..75b343d 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AbstractSessionPersistentFieldStrategy.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/AbstractSessionPersistentFieldStrategy.java
@@ -141,7 +141,7 @@ public abstract class AbstractSessionPersistentFieldStrategy implements Persiste
      * @return persisted value
      * @see #convertPersistedToApplicationValue(Object)
      */
-    protected Object convertApplicationValueToPersisted(Object newValue)
+    public Object convertApplicationValueToPersisted(Object newValue)
     {
         return newValue;
     }
@@ -154,7 +154,7 @@ public abstract class AbstractSessionPersistentFieldStrategy implements Persiste
      * @return application value
      * @see #convertPersistedToApplicationValue(Object)
      */
-    protected Object convertPersistedToApplicationValue(Object persistedValue)
+    public Object convertPersistedToApplicationValue(Object persistedValue)
     {
         return persistedValue;
     }
diff --git a/tapestry-hibernate-core/src/main/java/org/apache/tapestry5/internal/hibernate/DefaultHibernateConfigurer.java b/tapestry-hibernate-core/src/main/java/org/apache/tapestry5/hibernate/internal/DefaultHibernateConfigurer.java
similarity index 96%
rename from tapestry-hibernate-core/src/main/java/org/apache/tapestry5/internal/hibernate/DefaultHibernateConfigurer.java
rename to tapestry-hibernate-core/src/main/java/org/apache/tapestry5/hibernate/internal/DefaultHibernateConfigurer.java
index a9a2cb0..b0723d0 100644
--- a/tapestry-hibernate-core/src/main/java/org/apache/tapestry5/internal/hibernate/DefaultHibernateConfigurer.java
+++ b/tapestry-hibernate-core/src/main/java/org/apache/tapestry5/hibernate/internal/DefaultHibernateConfigurer.java
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.tapestry5.internal.hibernate;
+package org.apache.tapestry5.hibernate.internal;
 
 import org.apache.tapestry5.hibernate.HibernateConfigurer;
 import org.apache.tapestry5.hibernate.HibernateSymbols;
diff --git a/tapestry-hibernate-core/src/main/java/org/apache/tapestry5/internal/hibernate/HibernateSessionManagerImpl.java b/tapestry-hibernate-core/src/main/java/org/apache/tapestry5/hibernate/internal/HibernateSessionManagerImpl.java
similarity index 97%
rename from tapestry-hibernate-core/src/main/java/org/apache/tapestry5/internal/hibernate/HibernateSessionManagerImpl.java
rename to tapestry-hibernate-core/src/main/java/org/apache/tapestry5/hibernate/internal/HibernateSessionManagerImpl.java
index 7dd1476..fedde7d 100644
--- a/tapestry-hibernate-core/src/main/java/org/apache/tapestry5/internal/hibernate/HibernateSessionManagerImpl.java
+++ b/tapestry-hibernate-core/src/main/java/org/apache/tapestry5/hibernate/internal/HibernateSessionManagerImpl.java
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.tapestry5.internal.hibernate;
+package org.apache.tapestry5.hibernate.internal;
 
 import org.apache.tapestry5.hibernate.HibernateSessionManager;
 import org.apache.tapestry5.hibernate.HibernateSessionSource;
diff --git a/tapestry-hibernate-core/src/main/java/org/apache/tapestry5/internal/hibernate/HibernateSessionSourceImpl.java b/tapestry-hibernate-core/src/main/java/org/apache/tapestry5/hibernate/internal/HibernateSessionSourceImpl.java
similarity index 98%
rename from tapestry-hibernate-core/src/main/java/org/apache/tapestry5/internal/hibernate/HibernateSessionSourceImpl.java
rename to tapestry-hibernate-core/src/main/java/org/apache/tapestry5/hibernate/internal/HibernateSessionSourceImpl.java
index abe08d2..e8bab72 100644
--- a/tapestry-hibernate-core/src/main/java/org/apache/tapestry5/internal/hibernate/HibernateSessionSourceImpl.java
+++ b/tapestry-hibernate-core/src/main/java/org/apache/tapestry5/hibernate/internal/HibernateSessionSourceImpl.java
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.tapestry5.internal.hibernate;
+package org.apache.tapestry5.hibernate.internal;
 
 import org.apache.tapestry5.hibernate.HibernateConfigurer;
 import org.apache.tapestry5.hibernate.HibernateSessionSource;
diff --git a/tapestry-hibernate-core/src/main/java/org/apache/tapestry5/internal/hibernate/HibernateTransactionAdvisorImpl.java b/tapestry-hibernate-core/src/main/java/org/apache/tapestry5/hibernate/internal/HibernateTransactionAdvisorImpl.java
similarity index 97%
rename from tapestry-hibernate-core/src/main/java/org/apache/tapestry5/internal/hibernate/HibernateTransactionAdvisorImpl.java
rename to tapestry-hibernate-core/src/main/java/org/apache/tapestry5/hibernate/internal/HibernateTransactionAdvisorImpl.java
index 68c0ec3..be7ddf5 100644
--- a/tapestry-hibernate-core/src/main/java/org/apache/tapestry5/internal/hibernate/HibernateTransactionAdvisorImpl.java
+++ b/tapestry-hibernate-core/src/main/java/org/apache/tapestry5/hibernate/internal/HibernateTransactionAdvisorImpl.java
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.tapestry5.internal.hibernate;
+package org.apache.tapestry5.hibernate.internal;
 
 import org.apache.tapestry5.hibernate.HibernateSessionManager;
 import org.apache.tapestry5.hibernate.HibernateTransactionAdvisor;
diff --git a/tapestry-hibernate-core/src/main/java/org/apache/tapestry5/internal/hibernate/HibernateTransactionDecoratorImpl.java b/tapestry-hibernate-core/src/main/java/org/apache/tapestry5/hibernate/internal/HibernateTransactionDecoratorImpl.java
similarity index 97%
rename from tapestry-hibernate-core/src/main/java/org/apache/tapestry5/internal/hibernate/HibernateTransactionDecoratorImpl.java
rename to tapestry-hibernate-core/src/main/java/org/apache/tapestry5/hibernate/internal/HibernateTransactionDecoratorImpl.java
index 151ad99..1e197e3 100644
--- a/tapestry-hibernate-core/src/main/java/org/apache/tapestry5/internal/hibernate/HibernateTransactionDecoratorImpl.java
+++ b/tapestry-hibernate-core/src/main/java/org/apache/tapestry5/hibernate/internal/HibernateTransactionDecoratorImpl.java
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.tapestry5.internal.hibernate;
+package org.apache.tapestry5.hibernate.internal;
 
 import org.apache.tapestry5.hibernate.HibernateTransactionAdvisor;
 import org.apache.tapestry5.hibernate.HibernateTransactionDecorator;
diff --git a/tapestry-hibernate-core/src/main/java/org/apache/tapestry5/internal/hibernate/PackageNameHibernateConfigurer.java b/tapestry-hibernate-core/src/main/java/org/apache/tapestry5/hibernate/internal/PackageNameHibernateConfigurer.java
similarity index 97%
rename from tapestry-hibernate-core/src/main/java/org/apache/tapestry5/internal/hibernate/PackageNameHibernateConfigurer.java
rename to tapestry-hibernate-core/src/main/java/org/apache/tapestry5/hibernate/internal/PackageNameHibernateConfigurer.java
index f214f0a..9548bf2 100644
--- a/tapestry-hibernate-core/src/main/java/org/apache/tapestry5/internal/hibernate/PackageNameHibernateConfigurer.java
+++ b/tapestry-hibernate-core/src/main/java/org/apache/tapestry5/hibernate/internal/PackageNameHibernateConfigurer.java
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.tapestry5.internal.hibernate;
+package org.apache.tapestry5.hibernate.internal;
 
 import org.apache.tapestry5.hibernate.HibernateConfigurer;
 import org.apache.tapestry5.hibernate.HibernateEntityPackageManager;
diff --git a/tapestry-hibernate-core/src/main/java/org/apache/tapestry5/hibernate/modules/HibernateCoreModule.java b/tapestry-hibernate-core/src/main/java/org/apache/tapestry5/hibernate/modules/HibernateCoreModule.java
index 5bd1614..beb7a2d 100644
--- a/tapestry-hibernate-core/src/main/java/org/apache/tapestry5/hibernate/modules/HibernateCoreModule.java
+++ b/tapestry-hibernate-core/src/main/java/org/apache/tapestry5/hibernate/modules/HibernateCoreModule.java
@@ -17,7 +17,7 @@ package org.apache.tapestry5.hibernate.modules;
 import org.apache.tapestry5.commons.MappedConfiguration;
 import org.apache.tapestry5.commons.OrderedConfiguration;
 import org.apache.tapestry5.hibernate.*;
-import org.apache.tapestry5.internal.hibernate.*;
+import org.apache.tapestry5.hibernate.internal.*;
 import org.apache.tapestry5.ioc.ScopeConstants;
 import org.apache.tapestry5.ioc.ServiceBinder;
 import org.apache.tapestry5.ioc.annotations.Local;
diff --git a/tapestry-hibernate-core/src/test/java/org/apache/tapestry5/internal/hibernate/DefaultHibernateConfigurerFilterTest.java b/tapestry-hibernate-core/src/test/java/org/apache/tapestry5/internal/hibernate/DefaultHibernateConfigurerFilterTest.java
index 4937f30..2c56dd6 100644
--- a/tapestry-hibernate-core/src/test/java/org/apache/tapestry5/internal/hibernate/DefaultHibernateConfigurerFilterTest.java
+++ b/tapestry-hibernate-core/src/test/java/org/apache/tapestry5/internal/hibernate/DefaultHibernateConfigurerFilterTest.java
@@ -14,6 +14,7 @@
 
 package org.apache.tapestry5.internal.hibernate;
 
+import org.apache.tapestry5.hibernate.internal.DefaultHibernateConfigurer;
 import org.apache.tapestry5.ioc.test.TestBase;
 import org.hibernate.cfg.Configuration;
 import org.testng.annotations.Test;
diff --git a/tapestry-hibernate-core/src/test/java/org/apache/tapestry5/internal/hibernate/HibernateSessionSourceImplTest.java b/tapestry-hibernate-core/src/test/java/org/apache/tapestry5/internal/hibernate/HibernateSessionSourceImplTest.java
index 6e147c5..7ef5d64 100644
--- a/tapestry-hibernate-core/src/test/java/org/apache/tapestry5/internal/hibernate/HibernateSessionSourceImplTest.java
+++ b/tapestry-hibernate-core/src/test/java/org/apache/tapestry5/internal/hibernate/HibernateSessionSourceImplTest.java
@@ -18,6 +18,9 @@ import org.apache.tapestry5.commons.util.CollectionFactory;
 import org.apache.tapestry5.hibernate.HibernateConfigurer;
 import org.apache.tapestry5.hibernate.HibernateEntityPackageManager;
 import org.apache.tapestry5.hibernate.HibernateSessionSource;
+import org.apache.tapestry5.hibernate.internal.DefaultHibernateConfigurer;
+import org.apache.tapestry5.hibernate.internal.HibernateSessionSourceImpl;
+import org.apache.tapestry5.hibernate.internal.PackageNameHibernateConfigurer;
 import org.apache.tapestry5.ioc.internal.services.ClassNameLocatorImpl;
 import org.apache.tapestry5.ioc.internal.services.ClasspathScannerImpl;
 import org.apache.tapestry5.ioc.internal.services.ClasspathURLConverterImpl;
diff --git a/tapestry-hibernate-core/src/test/java/org/apache/tapestry5/internal/hibernate/HibernateTransactionDecoratorImplTest.java b/tapestry-hibernate-core/src/test/java/org/apache/tapestry5/internal/hibernate/HibernateTransactionDecoratorImplTest.java
index 6bbd5e0..e6d9b33 100644
--- a/tapestry-hibernate-core/src/test/java/org/apache/tapestry5/internal/hibernate/HibernateTransactionDecoratorImplTest.java
+++ b/tapestry-hibernate-core/src/test/java/org/apache/tapestry5/internal/hibernate/HibernateTransactionDecoratorImplTest.java
@@ -17,6 +17,8 @@ package org.apache.tapestry5.internal.hibernate;
 import org.apache.tapestry5.hibernate.HibernateSessionManager;
 import org.apache.tapestry5.hibernate.HibernateTransactionDecorator;
 import org.apache.tapestry5.hibernate.annotations.CommitAfter;
+import org.apache.tapestry5.hibernate.internal.HibernateTransactionAdvisorImpl;
+import org.apache.tapestry5.hibernate.internal.HibernateTransactionDecoratorImpl;
 import org.apache.tapestry5.ioc.IOCUtilities;
 import org.apache.tapestry5.ioc.Registry;
 import org.apache.tapestry5.ioc.services.AspectDecorator;
diff --git a/tapestry-hibernate/build.gradle b/tapestry-hibernate/build.gradle
index 2cdc43f..52e2ca3 100644
--- a/tapestry-hibernate/build.gradle
+++ b/tapestry-hibernate/build.gradle
@@ -12,7 +12,7 @@ dependencies {
 
 jar {
     manifest {
-        attributes 'Tapestry-Module-Classes': 'org.apache.tapestry5.hibernate.modules.HibernateModule'
+        attributes 'Tapestry-Module-Classes': 'org.apache.tapestry5.hibernate.web.modules.HibernateModule'
     }
 }
 
diff --git a/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/HibernateGridDataSource.java b/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/HibernateGridDataSource.java
similarity index 99%
rename from tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/HibernateGridDataSource.java
rename to tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/HibernateGridDataSource.java
index 5aa4b7f..3337240 100644
--- a/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/HibernateGridDataSource.java
+++ b/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/HibernateGridDataSource.java
@@ -10,7 +10,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.tapestry5.hibernate;
+package org.apache.tapestry5.hibernate.web;
 
 import org.apache.tapestry5.grid.GridDataSource;
 import org.apache.tapestry5.grid.SortConstraint;
diff --git a/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/HibernatePersistenceConstants.java b/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/HibernatePersistenceConstants.java
similarity index 96%
rename from tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/HibernatePersistenceConstants.java
rename to tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/HibernatePersistenceConstants.java
index d623df6..84220c7 100644
--- a/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/HibernatePersistenceConstants.java
+++ b/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/HibernatePersistenceConstants.java
@@ -11,7 +11,7 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-package org.apache.tapestry5.hibernate;
+package org.apache.tapestry5.hibernate.web;
 
 import org.apache.tapestry5.PersistenceConstants;
 
diff --git a/tapestry-hibernate/src/main/java/org/apache/tapestry5/internal/hibernate/CommitAfterWorker.java b/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/internal/CommitAfterWorker.java
similarity index 98%
rename from tapestry-hibernate/src/main/java/org/apache/tapestry5/internal/hibernate/CommitAfterWorker.java
rename to tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/internal/CommitAfterWorker.java
index ccf3b75..bf83f3f 100644
--- a/tapestry-hibernate/src/main/java/org/apache/tapestry5/internal/hibernate/CommitAfterWorker.java
+++ b/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/internal/CommitAfterWorker.java
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.tapestry5.internal.hibernate;
+package org.apache.tapestry5.hibernate.web.internal;
 
 import org.apache.tapestry5.hibernate.HibernateSessionManager;
 import org.apache.tapestry5.hibernate.annotations.CommitAfter;
diff --git a/tapestry-hibernate/src/main/java/org/apache/tapestry5/internal/hibernate/EntityApplicationStatePersistenceStrategy.java b/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/internal/EntityApplicationStatePersistenceStrategy.java
similarity index 95%
rename from tapestry-hibernate/src/main/java/org/apache/tapestry5/internal/hibernate/EntityApplicationStatePersistenceStrategy.java
rename to tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/internal/EntityApplicationStatePersistenceStrategy.java
index 411ad61..e214546 100644
--- a/tapestry-hibernate/src/main/java/org/apache/tapestry5/internal/hibernate/EntityApplicationStatePersistenceStrategy.java
+++ b/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/internal/EntityApplicationStatePersistenceStrategy.java
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.tapestry5.internal.hibernate;
+package org.apache.tapestry5.hibernate.web.internal;
 
 import org.apache.tapestry5.internal.services.SessionApplicationStatePersistenceStrategy;
 import org.apache.tapestry5.services.ApplicationStateCreator;
@@ -22,7 +22,7 @@ import org.hibernate.Session;
 /**
  * Persists Hibernate entities as SSOs by storing their primary key in the {@link org.apache.tapestry5.services.Session}.
  *
- * @see org.apache.tapestry5.internal.hibernate.PersistedEntity
+ * @see org.apache.tapestry5.hibernate.web.internal.PersistedEntity
  */
 public class EntityApplicationStatePersistenceStrategy extends SessionApplicationStatePersistenceStrategy
 {
diff --git a/tapestry-hibernate/src/main/java/org/apache/tapestry5/internal/hibernate/EntityPersistentFieldStrategy.java b/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/internal/EntityPersistentFieldStrategy.java
similarity index 88%
rename from tapestry-hibernate/src/main/java/org/apache/tapestry5/internal/hibernate/EntityPersistentFieldStrategy.java
rename to tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/internal/EntityPersistentFieldStrategy.java
index 5be27af..719a5e6 100644
--- a/tapestry-hibernate/src/main/java/org/apache/tapestry5/internal/hibernate/EntityPersistentFieldStrategy.java
+++ b/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/internal/EntityPersistentFieldStrategy.java
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.tapestry5.internal.hibernate;
+package org.apache.tapestry5.hibernate.web.internal;
 
 import org.apache.tapestry5.internal.services.AbstractSessionPersistentFieldStrategy;
 import org.apache.tapestry5.services.Request;
@@ -24,7 +24,7 @@ import java.io.Serializable;
 /**
  * Persists Hibernate entities by storing their id in the session.
  *
- * @see org.apache.tapestry5.internal.hibernate.PersistedEntity
+ * @see org.apache.tapestry5.hibernate.web.internal.PersistedEntity
  */
 public class EntityPersistentFieldStrategy extends AbstractSessionPersistentFieldStrategy
 {
@@ -38,7 +38,7 @@ public class EntityPersistentFieldStrategy extends AbstractSessionPersistentFiel
     }
 
     @Override
-    protected Object convertApplicationValueToPersisted(Object newValue)
+    public Object convertApplicationValueToPersisted(Object newValue)
     {
         assert newValue != null;
 
@@ -60,7 +60,7 @@ public class EntityPersistentFieldStrategy extends AbstractSessionPersistentFiel
     }
 
     @Override
-    protected Object convertPersistedToApplicationValue(Object persistedValue)
+    public Object convertPersistedToApplicationValue(Object persistedValue)
     {
         assert persistedValue != null;
 
diff --git a/tapestry-hibernate/src/main/java/org/apache/tapestry5/internal/hibernate/HibernateEntityValueEncoder.java b/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/internal/HibernateEntityValueEncoder.java
similarity index 98%
rename from tapestry-hibernate/src/main/java/org/apache/tapestry5/internal/hibernate/HibernateEntityValueEncoder.java
rename to tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/internal/HibernateEntityValueEncoder.java
index f52607c..e4ea174 100644
--- a/tapestry-hibernate/src/main/java/org/apache/tapestry5/internal/hibernate/HibernateEntityValueEncoder.java
+++ b/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/internal/HibernateEntityValueEncoder.java
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.tapestry5.internal.hibernate;
+package org.apache.tapestry5.hibernate.web.internal;
 
 import org.apache.tapestry5.ValueEncoder;
 import org.apache.tapestry5.commons.services.PropertyAccess;
diff --git a/tapestry-hibernate/src/main/java/org/apache/tapestry5/internal/hibernate/PersistedEntity.java b/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/internal/PersistedEntity.java
similarity index 97%
rename from tapestry-hibernate/src/main/java/org/apache/tapestry5/internal/hibernate/PersistedEntity.java
rename to tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/internal/PersistedEntity.java
index 46b3476..be8ed15 100644
--- a/tapestry-hibernate/src/main/java/org/apache/tapestry5/internal/hibernate/PersistedEntity.java
+++ b/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/internal/PersistedEntity.java
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.tapestry5.internal.hibernate;
+package org.apache.tapestry5.hibernate.web.internal;
 
 import org.apache.tapestry5.annotations.ImmutableSessionPersistedObject;
 import org.apache.tapestry5.ioc.internal.util.InternalUtils;
diff --git a/tapestry-hibernate/src/main/java/org/apache/tapestry5/internal/hibernate/PersistedTransientEntity.java b/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/internal/PersistedTransientEntity.java
similarity index 95%
rename from tapestry-hibernate/src/main/java/org/apache/tapestry5/internal/hibernate/PersistedTransientEntity.java
rename to tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/internal/PersistedTransientEntity.java
index e66401d..f1f3377 100644
--- a/tapestry-hibernate/src/main/java/org/apache/tapestry5/internal/hibernate/PersistedTransientEntity.java
+++ b/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/internal/PersistedTransientEntity.java
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.tapestry5.internal.hibernate;
+package org.apache.tapestry5.hibernate.web.internal;
 
 import org.hibernate.Session;
 
diff --git a/tapestry-hibernate/src/main/java/org/apache/tapestry5/internal/hibernate/SessionRestorable.java b/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/internal/SessionRestorable.java
similarity index 94%
rename from tapestry-hibernate/src/main/java/org/apache/tapestry5/internal/hibernate/SessionRestorable.java
rename to tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/internal/SessionRestorable.java
index c3cf82c..17db06c 100644
--- a/tapestry-hibernate/src/main/java/org/apache/tapestry5/internal/hibernate/SessionRestorable.java
+++ b/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/internal/SessionRestorable.java
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.tapestry5.internal.hibernate;
+package org.apache.tapestry5.hibernate.web.internal;
 
 import org.hibernate.Session;
 
diff --git a/tapestry-hibernate/src/main/java/org/apache/tapestry5/internal/hibernate/package-info.java b/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/internal/package-info.java
similarity index 92%
rename from tapestry-hibernate/src/main/java/org/apache/tapestry5/internal/hibernate/package-info.java
rename to tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/internal/package-info.java
index 1beac55..b1ace33 100644
--- a/tapestry-hibernate/src/main/java/org/apache/tapestry5/internal/hibernate/package-info.java
+++ b/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/internal/package-info.java
@@ -15,4 +15,4 @@
 /**
  * [INTERNAL USE ONLY] support classes for Hibernate integration; API subject to change
  */
-package org.apache.tapestry5.internal.hibernate;
+package org.apache.tapestry5.hibernate.web.internal;
diff --git a/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/modules/HibernateModule.java b/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/modules/HibernateModule.java
similarity index 89%
rename from tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/modules/HibernateModule.java
rename to tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/modules/HibernateModule.java
index 990e059..8f28785 100644
--- a/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/modules/HibernateModule.java
+++ b/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/modules/HibernateModule.java
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.tapestry5.hibernate.modules;
+package org.apache.tapestry5.hibernate.web.modules;
 
 import org.apache.tapestry5.ValueEncoder;
 import org.apache.tapestry5.commons.Configuration;
@@ -21,14 +21,14 @@ import org.apache.tapestry5.commons.OrderedConfiguration;
 import org.apache.tapestry5.commons.services.PropertyAccess;
 import org.apache.tapestry5.commons.services.TypeCoercer;
 import org.apache.tapestry5.hibernate.HibernateCore;
-import org.apache.tapestry5.hibernate.HibernatePersistenceConstants;
 import org.apache.tapestry5.hibernate.HibernateSessionSource;
 import org.apache.tapestry5.hibernate.HibernateSymbols;
+import org.apache.tapestry5.hibernate.web.HibernatePersistenceConstants;
+import org.apache.tapestry5.hibernate.web.internal.CommitAfterWorker;
+import org.apache.tapestry5.hibernate.web.internal.EntityApplicationStatePersistenceStrategy;
+import org.apache.tapestry5.hibernate.web.internal.EntityPersistentFieldStrategy;
+import org.apache.tapestry5.hibernate.web.internal.HibernateEntityValueEncoder;
 import org.apache.tapestry5.internal.InternalConstants;
-import org.apache.tapestry5.internal.hibernate.CommitAfterWorker;
-import org.apache.tapestry5.internal.hibernate.EntityApplicationStatePersistenceStrategy;
-import org.apache.tapestry5.internal.hibernate.EntityPersistentFieldStrategy;
-import org.apache.tapestry5.internal.hibernate.HibernateEntityValueEncoder;
 import org.apache.tapestry5.ioc.LoggerSource;
 import org.apache.tapestry5.ioc.annotations.Contribute;
 import org.apache.tapestry5.ioc.annotations.Primary;
@@ -36,6 +36,8 @@ import org.apache.tapestry5.ioc.annotations.Symbol;
 import org.apache.tapestry5.ioc.services.ServiceOverride;
 import org.apache.tapestry5.services.ApplicationStateContribution;
 import org.apache.tapestry5.services.ApplicationStatePersistenceStrategy;
+import org.apache.tapestry5.services.ComponentClassResolver;
+import org.apache.tapestry5.services.LibraryMapping;
 import org.apache.tapestry5.services.PersistentFieldStrategy;
 import org.apache.tapestry5.services.ValueEncoderFactory;
 import org.apache.tapestry5.services.dashboard.DashboardManager;
@@ -186,6 +188,12 @@ public class HibernateModule
     @Contribute(DashboardManager.class)
     public static void provideHibernateDashboardTab(OrderedConfiguration<DashboardTab> configuration)
     {
-        configuration.add("HibernateStatistics", new DashboardTab("Hibernate", "core/HibernateStatistics"), "after:Services");
+        configuration.add("HibernateStatistics", new DashboardTab("Hibernate", "hibernate/HibernateStatistics"), "after:Services");
+    }
+    
+    @Contribute(ComponentClassResolver.class)
+    public static void provideLibraryMapping(Configuration<LibraryMapping> configuration)
+    {
+        configuration.add(new LibraryMapping("hibernate", "org.apache.tapestry5.hibernate.web"));
     }
 }
diff --git a/tapestry-hibernate/src/main/java/org/apache/tapestry5/corelib/pages/HibernateStatistics.java b/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/pages/HibernateStatistics.java
similarity index 98%
rename from tapestry-hibernate/src/main/java/org/apache/tapestry5/corelib/pages/HibernateStatistics.java
rename to tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/pages/HibernateStatistics.java
index 890f0b3..c13f378 100644
--- a/tapestry-hibernate/src/main/java/org/apache/tapestry5/corelib/pages/HibernateStatistics.java
+++ b/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/web/pages/HibernateStatistics.java
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.tapestry5.corelib.pages;
+package org.apache.tapestry5.hibernate.web.pages;
 
 import org.apache.tapestry5.SymbolConstants;
 import org.apache.tapestry5.annotations.Property;
diff --git a/tapestry-hibernate/src/main/resources/org/apache/tapestry5/corelib/pages/HibernateStatistics.properties b/tapestry-hibernate/src/main/resources/org/apache/tapestry5/hibernate/web/pages/HibernateStatistics.properties
similarity index 100%
rename from tapestry-hibernate/src/main/resources/org/apache/tapestry5/corelib/pages/HibernateStatistics.properties
rename to tapestry-hibernate/src/main/resources/org/apache/tapestry5/hibernate/web/pages/HibernateStatistics.properties
diff --git a/tapestry-hibernate/src/main/resources/org/apache/tapestry5/corelib/pages/HibernateStatistics.tml b/tapestry-hibernate/src/main/resources/org/apache/tapestry5/hibernate/web/pages/HibernateStatistics.tml
similarity index 100%
rename from tapestry-hibernate/src/main/resources/org/apache/tapestry5/corelib/pages/HibernateStatistics.tml
rename to tapestry-hibernate/src/main/resources/org/apache/tapestry5/hibernate/web/pages/HibernateStatistics.tml
diff --git a/tapestry-hibernate/src/test/java/org/apache/tapestry5/hibernate/integration/TapestryHibernateIntegrationTests.java b/tapestry-hibernate/src/test/java/org/apache/tapestry5/hibernate/web/integration/TapestryHibernateIntegrationTests.java
similarity index 96%
rename from tapestry-hibernate/src/test/java/org/apache/tapestry5/hibernate/integration/TapestryHibernateIntegrationTests.java
rename to tapestry-hibernate/src/test/java/org/apache/tapestry5/hibernate/web/integration/TapestryHibernateIntegrationTests.java
index e573704..4070332 100644
--- a/tapestry-hibernate/src/test/java/org/apache/tapestry5/hibernate/integration/TapestryHibernateIntegrationTests.java
+++ b/tapestry-hibernate/src/test/java/org/apache/tapestry5/hibernate/web/integration/TapestryHibernateIntegrationTests.java
@@ -12,10 +12,10 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.tapestry5.hibernate.integration;
+package org.apache.tapestry5.hibernate.web.integration;
 
-import org.apache.tapestry5.internal.hibernate.PersistedEntity;
-import org.apache.tapestry5.internal.hibernate.PersistedTransientEntity;
+import org.apache.tapestry5.hibernate.web.internal.PersistedEntity;
+import org.apache.tapestry5.hibernate.web.internal.PersistedTransientEntity;
 import org.apache.tapestry5.test.SeleniumTestCase;
 import org.apache.tapestry5.test.TapestryTestConfiguration;
 import org.example.app0.entities.User;
diff --git a/tapestry-hibernate/src/test/java/org/apache/tapestry5/internal/hibernate/EntityPersistentFieldStrategyTest.java b/tapestry-hibernate/src/test/java/org/apache/tapestry5/hibernate/web/internal/EntityPersistentFieldStrategyTest.java
similarity index 93%
rename from tapestry-hibernate/src/test/java/org/apache/tapestry5/internal/hibernate/EntityPersistentFieldStrategyTest.java
rename to tapestry-hibernate/src/test/java/org/apache/tapestry5/hibernate/web/internal/EntityPersistentFieldStrategyTest.java
index 5bd2e91..cfe7867 100644
--- a/tapestry-hibernate/src/test/java/org/apache/tapestry5/internal/hibernate/EntityPersistentFieldStrategyTest.java
+++ b/tapestry-hibernate/src/test/java/org/apache/tapestry5/hibernate/web/internal/EntityPersistentFieldStrategyTest.java
@@ -12,8 +12,10 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.tapestry5.internal.hibernate;
+package org.apache.tapestry5.hibernate.web.internal;
 
+import org.apache.tapestry5.hibernate.web.internal.EntityPersistentFieldStrategy;
+import org.apache.tapestry5.hibernate.web.internal.SessionRestorable;
 import org.apache.tapestry5.test.TapestryTestCase;
 import org.hibernate.HibernateException;
 import org.hibernate.Session;
diff --git a/tapestry-hibernate/src/test/java/org/apache/tapestry5/internal/hibernate/HibernateEntityValueEncoderTest.java b/tapestry-hibernate/src/test/java/org/apache/tapestry5/hibernate/web/internal/HibernateEntityValueEncoderTest.java
similarity index 96%
rename from tapestry-hibernate/src/test/java/org/apache/tapestry5/internal/hibernate/HibernateEntityValueEncoderTest.java
rename to tapestry-hibernate/src/test/java/org/apache/tapestry5/hibernate/web/internal/HibernateEntityValueEncoderTest.java
index c387519..52f4897 100644
--- a/tapestry-hibernate/src/test/java/org/apache/tapestry5/internal/hibernate/HibernateEntityValueEncoderTest.java
+++ b/tapestry-hibernate/src/test/java/org/apache/tapestry5/hibernate/web/internal/HibernateEntityValueEncoderTest.java
@@ -12,10 +12,11 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.tapestry5.internal.hibernate;
+package org.apache.tapestry5.hibernate.web.internal;
 
 import org.apache.tapestry5.commons.services.PropertyAccess;
 import org.apache.tapestry5.commons.services.TypeCoercer;
+import org.apache.tapestry5.hibernate.web.internal.HibernateEntityValueEncoder;
 import org.apache.tapestry5.ioc.Registry;
 import org.apache.tapestry5.ioc.test.IOCTestCase;
 import org.hibernate.Session;
diff --git a/tapestry-hibernate/src/test/java/org/apache/tapestry5/internal/hibernate/SampleEntity.java b/tapestry-hibernate/src/test/java/org/apache/tapestry5/hibernate/web/internal/SampleEntity.java
similarity index 84%
rename from tapestry-hibernate/src/test/java/org/apache/tapestry5/internal/hibernate/SampleEntity.java
rename to tapestry-hibernate/src/test/java/org/apache/tapestry5/hibernate/web/internal/SampleEntity.java
index b219279..7452389 100644
--- a/tapestry-hibernate/src/test/java/org/apache/tapestry5/internal/hibernate/SampleEntity.java
+++ b/tapestry-hibernate/src/test/java/org/apache/tapestry5/hibernate/web/internal/SampleEntity.java
@@ -12,13 +12,13 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.tapestry5.internal.hibernate;
+package org.apache.tapestry5.hibernate.web.internal;
 
 import javax.persistence.Entity;
 import javax.persistence.Id;
 
 /**
- * Fake entity used by {@link org.apache.tapestry5.internal.hibernate.HibernateEntityValueEncoderTest}.
+ * Fake entity used by {@link org.apache.tapestry5.hibernate.web.internal.HibernateEntityValueEncoderTest}.
  */
 @Entity
 public class SampleEntity
diff --git a/tapestry-hibernate/src/test/java/org/example/app0/pages/GridDemo.java b/tapestry-hibernate/src/test/java/org/example/app0/pages/GridDemo.java
index 0541116..a1b361b 100644
--- a/tapestry-hibernate/src/test/java/org/example/app0/pages/GridDemo.java
+++ b/tapestry-hibernate/src/test/java/org/example/app0/pages/GridDemo.java
@@ -15,8 +15,8 @@
 package org.example.app0.pages;
 
 import org.apache.tapestry5.grid.GridDataSource;
-import org.apache.tapestry5.hibernate.HibernateGridDataSource;
 import org.apache.tapestry5.hibernate.annotations.CommitAfter;
+import org.apache.tapestry5.hibernate.web.HibernateGridDataSource;
 import org.apache.tapestry5.ioc.annotations.Inject;
 import org.example.app0.entities.User;
 import org.example.app0.services.UserDAO;
diff --git a/tapestry-hibernate/src/test/java/org/example/app0/services/AppModule.java b/tapestry-hibernate/src/test/java/org/example/app0/services/AppModule.java
index ca8743a..bc4db36 100644
--- a/tapestry-hibernate/src/test/java/org/example/app0/services/AppModule.java
+++ b/tapestry-hibernate/src/test/java/org/example/app0/services/AppModule.java
@@ -18,7 +18,7 @@ import org.apache.tapestry5.commons.OrderedConfiguration;
 import org.apache.tapestry5.hibernate.HibernateSymbols;
 import org.apache.tapestry5.hibernate.HibernateTransactionDecorator;
 import org.apache.tapestry5.hibernate.modules.HibernateCoreModule;
-import org.apache.tapestry5.hibernate.modules.HibernateModule;
+import org.apache.tapestry5.hibernate.web.modules.HibernateModule;
 import org.apache.tapestry5.ioc.ServiceBinder;
 import org.apache.tapestry5.ioc.ServiceResources;
 import org.apache.tapestry5.ioc.annotations.Contribute;
diff --git a/tapestry-jpa/src/main/java/org/apache/tapestry5/internal/jpa/EntityPersistentFieldStrategy.java b/tapestry-jpa/src/main/java/org/apache/tapestry5/internal/jpa/EntityPersistentFieldStrategy.java
index 0501657..a8cad76 100644
--- a/tapestry-jpa/src/main/java/org/apache/tapestry5/internal/jpa/EntityPersistentFieldStrategy.java
+++ b/tapestry-jpa/src/main/java/org/apache/tapestry5/internal/jpa/EntityPersistentFieldStrategy.java
@@ -34,13 +34,13 @@ public class EntityPersistentFieldStrategy extends AbstractSessionPersistentFiel
     }
 
     @Override
-    protected Object convertApplicationValueToPersisted(final Object newValue)
+    public Object convertApplicationValueToPersisted(final Object newValue)
     {
         return JpaInternalUtils.convertApplicationValueToPersisted(entityManagerManager, newValue);
     }
 
     @Override
-    protected Object convertPersistedToApplicationValue(final Object persistedValue)
+    public Object convertPersistedToApplicationValue(final Object persistedValue)
     {
         final PersistedEntity persisted = (PersistedEntity) persistedValue;