[Building Sakai] content-review is broken in 2.7?
Charles Hedrick
hedrick at rutgers.edu
Mon Mar 29 12:11:47 PDT 2010
Here's the error:
2010-03-29 15:10:36,851 INFO main org.sakaiproject.assignment.impl.BaseAssignmentService - org.sakaiproject.assignment.impl.DbAssignmentService at 20fd9967 init()
2010-03-29 15:10:36,956 WARN main org.sakaiproject.component.impl.SpringCompMgr - get(org.sakaiproject.contentreview.service.ContentReviewService):
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.sakaiproject.contentreview.service.ContentReviewService' defined in file [/Volumes/MacintoshHD2/users/sakai/test-27/apache-tomcat-5.5.28/components/sakai-content-review-pack/WEB-INF/components.xml]: Initialization of bean failed; nested exception is org.springframework.beans.TypeMismatchException: Failed to convert property value of type [$Proxy38 implementing org.springframework.beans.factory.InitializingBean,org.springframework.aop.SpringProxy,org.springframework.aop.framework.Advised] to required type [org.sakaiproject.contentreview.dao.impl.ContentReviewDao] for property 'dao'; nested exception is java.lang.IllegalArgumentException: Cannot convert value of type [$Proxy38 implementing org.springframework.beans.factory.InitializingBean,org.springframework.aop.SpringProxy,org.springframework.aop.framework.Advised] to required type [org.sakaiproject.contentreview.dao.impl.ContentReviewDao] for property 'dao': no matching editors or conversion strategy found
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:480)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
at java.security.AccessController.doPrivileged(Native Method)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
at org.sakaiproject.util.NoisierDefaultListableBeanFactory.getBean(NoisierDefaultListableBeanFactory.java:11
On Mar 29, 2010, at 2:28:59 PM, Charles Hedrick wrote:
> We use the turnitin content-review module. In 2.7, something has been done to ContentReviewDao that I can't make sense of.
>
> <!-- This wraps our DAO so that the transactions are managed -->^M
> <bean id="org.sakaiproject.contentreview.dao.ContentReviewDao"
> class="org.sakaiproject.genericdao.springutil.CurrentClassLoaderTxProxyFactoryBean">
> <property name="transactionManager"
> ref="org.sakaiproject.springframework.orm.hibernate.GlobalTransactionManager" />
> <property name="target"
> ref="org.sakaiproject.contentreview.dao.impl.ContentReviewDaoTarget" />
> ...
>
> The problem is that the code wants to do
>
> <bean
> id="org.sakaiproject.contentreview.service.ContentReviewService"
> class="org.sakaiproject.contentreview.impl.turnitin.TurnitinReviewServiceImpl"
> init-method="init">^M
> <property name="dao"
> ref="org.sakaiproject.contentreview.dao.ContentReviewDao" />^M
> <property name="toolManager"
> ref="org.sakaiproject.tool.api.ToolManager" />^M
>
> But that can't work, because org.sakaiproject.contentreview.dao.ContentReviewDao is now an interceptor, not the actual ContentReviewDao, and so
>
> public void setDao(ContentReviewDao dao) {
> super.setDao(dao);
> this.dao = dao;
> }
>
> no longer works. I have been unable to this particular method of wrapping in documentation, so I can't tell how it was intended to work,, and it doesn't appear that any other part of Sakai uses org.sakaiproject.genericdao.springutil.CurrentClassLoaderTxProxyFactoryBean. Could whoever invented this monster please tell me how it's supposed to be used?
>
> _______________________________________________
> sakai-dev mailing list
> sakai-dev at collab.sakaiproject.org
> http://collab.sakaiproject.org/mailman/listinfo/sakai-dev
>
> TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe at collab.sakaiproject.org with a subject of "unsubscribe"
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2421 bytes
Desc: not available
Url : http://collab.sakaiproject.org/pipermail/sakai-dev/attachments/20100329/8741c869/attachment.bin
More information about the sakai-dev
mailing list