Leo, Nothing to do with MVC. To summarize, here is a short explanation of my model : I have a "Process" object which is composed of 1 or many "Action" (oneToMany relashionship) "Action" is a juste represention of processing unit.
Then, actionDao is the Dao defined for an Action object. Jonathan 2008/8/11 Leo Barrientos C. <[EMAIL PROTECTED]> > An actionDao ? ... its make no sense for me (Sorry): Action = Controller > Layer, Dao = Persistence Layer . > > > > Jonathan Dray wrote: > >> Matt, >> >> I have successfully tested my actionDao with an appfuse test case : >> BaseDaoTestCase. >> The problem is that now I want to test my manager which doesn't inherit an >> Appfuse class. >> I tried to test it in an AbstractTransactionalSpringContextTest class. >> >> My manager is no definded as a Spring Bean, thus I need to provide to my >> manager 2 dao instances manually : >> - an actionDao >> - a processDao >> >> These two Daos are defined as beans in my applicationContext and both >> inherit a GenericDao appfuse dao class . >> >> To get these two beans in my manager's test I tried 2 different ways : >> - use 2 private variables actionDao and processDao and use an @Autowired >> annotation and added the necessary configuration to spring to use >> annotations. >> - use 2 private variables actionDao and processDao and implement setters >> these variables. >> >> Both failed with sessionFactory related problem. >> I'm quite new to Hibernate, Spring and Appfuse and may have missed >> something important. >> >> Thanks for your patience. >> Jonathan >> >> >> 2008/8/11 Matt Raible <[EMAIL PROTECTED] <mailto: >> [EMAIL PROTECTED]>> >> >> It looks like your DAO may be the problem. Have you successfully >> written a test for it? You should make sure your >> ActionDaoHibernate extends HibernateTemplate or one of the AppFuse >> base classes. >> >> Matt >> >> >> On Mon, Aug 11, 2008 at 9:14 AM, Jonathan Dray >> <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> wrote: >> >> Hi Matt, >> >> I've tested AbstractTransactionalSpringContextTests and got >> some errors while Spring tries to load my daos : >> >> Error creating bean with name 'actionDao' defined in class >> path resource [ApplicationContext-resources.xml]: Cannot >> resolve reference to bean 'sessionFactory' while setting bean >> property 'sessionFactory'; nested exception is >> org.springframework.beans.factory.NoSuchBeanDefinitionException: >> No bean named 'sessionFactory' is defined >> >> >> Do I have to provide all the informations as if I was >> configuring hibernate with Spring (without appfuse) ? >> - Defining a session factory that uses my datasource? >> - Handling transactions with AOP ? >> >> If it is the case : >> Is there an appfuse base manager class that my manager should >> inherit and that will handle all this ? >> >> Did I miss something ? >> >> Thanks for your help. >> >> Regards, >> Jonathan Dray >> >> >> >> 2008/8/8 Matt Raible <[EMAIL PROTECTED] >> <mailto:[EMAIL PROTECTED]>> >> >> Running your DAOs outside of a transaction is what's >> causing your lazy >> exceptions. By extending the Spring classes, your test >> methods will be >> wrapped in transactions. As for your Managers when running >> in Tomcat, >> if they exist under the "service" package (at any level) >> and they end >> in "Manager", their methods should be wrapped in >> transactions too. >> >> Matt >> >> On Fri, Aug 8, 2008 at 1:20 AM, Jonathan Dray >> <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> >> wrote: >> > Hi Matt, >> > >> > Ok, I will try to extend the spring test class you >> suggested. >> > But what about in my application ? >> > >> > As my manager doesn't extend an Appfuse manager class >> I'll probably have >> > some errors . >> > Do I have to define additional configuration options >> (transactions, lazy >> > loading) in spring or hibernate configuration files ? >> > If it is the case do you some examples on how to do this >> please ? >> > >> > Thank you. >> > Best Regards, >> > >> > Jonathan Dray >> > >> > >> > 2008/8/8 Matt Raible <[EMAIL PROTECTED] >> <mailto:[EMAIL PROTECTED]>> >> >> >> >> You should change your test class to extend Spring's >> >> AbstractTransactionalDataSourceSpringContextTests (or >> something like >> >> that). >> >> >> >> Matt >> >> >> >> On Thu, Aug 7, 2008 at 5:34 PM, Jonathan Dray >> <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> >> >> >> wrote: >> >> > Hi, >> >> > >> >> > We are working with Appfuse and we really appreciate it. >> >> > We have defined a custom manager that uses several daos. >> >> > It does not extends any of appfuse manager classes. >> >> > >> >> > It perfectly works in a test case when the test class >> used extends one >> >> > of >> >> > Appfuse test classes available. >> >> > We followed indications found in this thread : >> >> > >> >> > >> >> http://www.nabble.com/-Appfuse2.0--Best-Practise-Design-Pattern-for-Multiple-Dao-Access-from-managers-td14116309s2369.html#a14370264 >> >> > >> >> > But, we get some errors when we try to test the same >> manager with a >> >> > Junit or >> >> > a Spring Test Case. >> >> > The errors are about lazy loading. >> >> > >> >> > How should we define our custom manager so that it >> works without a >> >> > specific >> >> > appfuse context ? >> >> > There must be some best practices to do this with >> appfuse. Could you >> >> > please >> >> > give us more information on how to handle this ? >> >> > >> >> > Thank you. >> >> > >> >> > Regards, >> >> > Jonathan Dray >> >> > >> >> >> >> >> >> --------------------------------------------------------------------- >> >> To unsubscribe, e-mail: >> [EMAIL PROTECTED] >> <mailto:[EMAIL PROTECTED]> >> >> For additional commands, e-mail: >> [EMAIL PROTECTED] >> <mailto:[EMAIL PROTECTED]> >> >> >> > >> > >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: >> [EMAIL PROTECTED] >> <mailto:[EMAIL PROTECTED]> >> For additional commands, e-mail: >> [EMAIL PROTECTED] >> <mailto:[EMAIL PROTECTED]> >> >> >> >> >> > > -- > Leo Barrientos C. > Master en IngenierÃa de Software. > > Open Sistemas de Información Internet > Fono: +34 902 10 73 96 > Correo: [EMAIL PROTECTED] > Web: http://www.opensistemas.com > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >
