You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by hl...@apache.org on 2008/09/08 23:24:37 UTC

svn commit: r693276 - in /tapestry/tapestry5/trunk/tapestry-hibernate/src/main/java/org/apache/tapestry5: hibernate/HibernateModule.java internal/hibernate/DefaultHibernateConfigurer.java

Author: hlship
Date: Mon Sep  8 14:24:37 2008
New Revision: 693276

URL: http://svn.apache.org/viewvc?rev=693276&view=rev
Log:
TAPESTRY-2548: Refactor DefaultHibernateConfigurer as an IOC service for easier overriding

Modified:
    tapestry/tapestry5/trunk/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/HibernateModule.java
    tapestry/tapestry5/trunk/tapestry-hibernate/src/main/java/org/apache/tapestry5/internal/hibernate/DefaultHibernateConfigurer.java

Modified: tapestry/tapestry5/trunk/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/HibernateModule.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/HibernateModule.java?rev=693276&r1=693275&r2=693276&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/HibernateModule.java (original)
+++ tapestry/tapestry5/trunk/tapestry-hibernate/src/main/java/org/apache/tapestry5/hibernate/HibernateModule.java Mon Sep  8 14:24:37 2008
@@ -48,6 +48,7 @@
     public static void bind(ServiceBinder binder)
     {
         binder.bind(HibernateTransactionDecorator.class, HibernateTransactionDecoratorImpl.class);
+        binder.bind(HibernateConfigurer.class, DefaultHibernateConfigurer.class).withId("DefaultHibernateConfigurer");
     }
 
     public static void contributeFactoryDefaults(MappedConfiguration<String, String> configuration)
@@ -131,13 +132,18 @@
     /**
      * Adds the following configurers: <ul> <li>Default - performs default hibernate configuration</li> <li>PackageName
      * - loads entities by package name</li> </ul>
+     * <p/>
+     * Note: if another service implementing {@link org.apache.tapestry5.hibernate.HibernateConfigurer} is defined, then
+     * an contribution to the {@link org.apache.tapestry5.services.Alias} service will be necessary to disambiguate.
      */
     public static void contributeHibernateSessionSource(OrderedConfiguration<HibernateConfigurer> config,
-                                                        final ClassNameLocator classNameLocator,
-                                                        final HibernateEntityPackageManager packageManager)
+
+                                                        HibernateConfigurer defaultHibernateConfigurer,
+
+                                                        ObjectLocator locator)
     {
-        config.add("Default", new DefaultHibernateConfigurer());
-        config.add("PackageName", new PackageNameHibernateConfigurer(packageManager, classNameLocator));
+        config.add("Default", defaultHibernateConfigurer);
+        config.add("PackageName", locator.autobuild(PackageNameHibernateConfigurer.class));
     }
 
     /**

Modified: tapestry/tapestry5/trunk/tapestry-hibernate/src/main/java/org/apache/tapestry5/internal/hibernate/DefaultHibernateConfigurer.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-hibernate/src/main/java/org/apache/tapestry5/internal/hibernate/DefaultHibernateConfigurer.java?rev=693276&r1=693275&r2=693276&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-hibernate/src/main/java/org/apache/tapestry5/internal/hibernate/DefaultHibernateConfigurer.java (original)
+++ tapestry/tapestry5/trunk/tapestry-hibernate/src/main/java/org/apache/tapestry5/internal/hibernate/DefaultHibernateConfigurer.java Mon Sep  8 14:24:37 2008
@@ -1,4 +1,4 @@
-// Copyright 2007 The Apache Software Foundation
+// Copyright 2007, 2008 The Apache Software Foundation
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -18,7 +18,7 @@
 import org.hibernate.cfg.Configuration;
 
 /**
- * Simply calls configure() to do the default Hibernate configuration.
+ * Simply calls configure() to do the default Hibernate configuration.  This will read the hibernate.cfg.xml file.
  */
 public final class DefaultHibernateConfigurer implements HibernateConfigurer
 {