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 [EMAIL PROTECTED] 
org.apache.tapestry5.hibernate.HibernateConfigurer} is defined, then
+     * an contribution to the [EMAIL PROTECTED] 
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
 {


Reply via email to