AddableSessionFactoryBean is not prepared for hierarchical contexts in getBeanNamesForType, invalid cast
Description
is depended on by
Activity
Ian Boston August 28, 2008 at 10:52 AM
If this is still required, please can it be made to work with Gradebook.
Otherwise I am leaving it as incomplete.
Thanks
Lance Speelmon February 29, 2008 at 1:39 PM
Breaks gradebook at startup - backed out change.
Antranig Basman November 16, 2007 at 10:31 AM
Index: E:/Source/sakai-cafe-2.4/db/db-impl/ext/src/java/org/sakaiproject/springframework/orm/hibernate/AddableSessionFactoryBean.java
===================================================================
— E:/Source/sakai-cafe-2.4/db/db-impl/ext/src/java/org/sakaiproject/springframework/orm/hibernate/AddableSessionFactoryBean.java (revision 38152)
+++ E:/Source/sakai-cafe-2.4/db/db-impl/ext/src/java/org/sakaiproject/springframework/orm/hibernate/AddableSessionFactoryBean.java (working copy)
@@ -36,6 +36,7 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.BeansException;
+import org.springframework.beans.factory.BeanFactoryUtils;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.orm.hibernate3.LocalSessionFactoryBean;
@@ -58,8 +59,8 @@
{
super.postProcessConfiguration(config);
- String[] names = applicationContext.getBeanNamesForType(AdditionalHibernateMappings.class, false, false);
-
+ // String[] names = applicationContext.getBeanNamesForType(AdditionalHibernateMappings.class, false, false);
+ String[] names = BeanFactoryUtils.beanNamesForTypeIncludingAncestors(applicationContext, AdditionalHibernateMappings.class, false, false);
try
{
List beans = new ArrayList();
Index: E:/Source/sakai-cafe-2.4/db/db-impl/ext/src/java/org/sakaiproject/springframework/orm/hibernate/AdditionalHibernateMappings.java
===================================================================
— E:/Source/sakai-cafe-2.4/db/db-impl/ext/src/java/org/sakaiproject/springframework/orm/hibernate/AdditionalHibernateMappings.java (revision 38152)
+++ E:/Source/sakai-cafe-2.4/db/db-impl/ext/src/java/org/sakaiproject/springframework/orm/hibernate/AdditionalHibernateMappings.java (working copy)
@@ -29,4 +29,6 @@
public interface AdditionalHibernateMappings
{
void processConfig(Configuration config) throws IOException, MappingException;
+
+ public Integer getSortOrder();
}
Index: E:/Source/sakai-cafe-2.4/db/db-impl/ext/src/java/org/sakaiproject/springframework/orm/hibernate/impl/AdditionalHibernateMappingsImpl.java
===================================================================
— E:/Source/sakai-cafe-2.4/db/db-impl/ext/src/java/org/sakaiproject/springframework/orm/hibernate/impl/AdditionalHibernateMappingsImpl.java (revision 38152)
+++ E:/Source/sakai-cafe-2.4/db/db-impl/ext/src/java/org/sakaiproject/springframework/orm/hibernate/impl/AdditionalHibernateMappingsImpl.java (working copy)
@@ -31,7 +31,7 @@
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
-public class AdditionalHibernateMappingsImpl implements AdditionalHibernateMappings, Comparable
+public class AdditionalHibernateMappingsImpl implements AdditionalHibernateMappings, Comparable<AdditionalHibernateMappings>
{
protected final transient Log logger = LogFactory.getLog(getClass());
@@ -65,9 +65,9 @@
}
}
- public int compareTo(Object o)
+ public int compareTo(AdditionalHibernateMappings o)
{
- return getSortOrder().compareTo(((AdditionalHibernateMappingsImpl) o).getSortOrder());
+ return getSortOrder().compareTo(o.getSortOrder());
}
public Integer getSortOrder()
SAK-12166 prepares for work where Spring contexts become localised to components (as in webapps) and all beans are not thrown into a single context. Also references returned from the ComponentManager are proxies of the interface type only. This patch prepares db-impl for compatibiliy with this model - when run with the old ComponentManager the patch code is harmless and behaves as before.