To clarify, modules ought to have two application context xml files. Spring combines all those plus the core ones into a single ApplicationContext.
-Darius On Fri, Nov 4, 2011 at 7:13 AM, Friedman, Roger (CDC/CGH/DGHA) (CTR) < [email protected]> wrote: > So what happens when a module has a dependency on another module, or > when multiple modules are loaded? Do we end up with 3, 4, 5 application > contexts?**** > > ** ** > > *From:* [email protected] [mailto:[email protected]] *On Behalf Of *Michael > Seaton > *Sent:* Friday, November 04, 2011 9:33 AM > > *To:* [email protected] > *Subject:* Re: [OPENMRS-DEV] FW: HTML form entry changes**** > > ** ** > > Hey Rowan, > > > I think we should encourage (or require) 2 application context's per > module. It is already supported (moduleApplicationContext.xml and > webModuleApplicationContext.xml) - you can see how we did this in the > reporting module here: > http://svn.openmrs.org/openmrs-modules/reporting/trunk/metadata/ > > I would say yes about going ahead and checking in htmlformentry with those > failing unit tests, as we work on getting the external dependencies sorted > out for fixing them. > > Mike > > > On 11/04/2011 04:17 AM, Rowan Seymour wrote: **** > > 1. So we'd have two application context's per module? One in the API for > services etc and one in the OMOD for controllers etc? **** > > 2. Can someone put logic 0.4 into the OpenMRS maven repos**** > > 3. Can I check htmlformentry into SVN now that we're down to a mere 3 > failing tests? **** > > ** ** > > On 3 November 2011 21:36, Darius Jazayeri <[email protected]> wrote: > **** > > +2. **** > > ** ** > > Ben, Matt, etc, is there a reason we did things the way we did? (I.e. did > something force us to put things in the omod project that don't really > belong there?)**** > > ** ** > > -Darius**** > > ** ** > > On Thu, Nov 3, 2011 at 12:15 PM, Burke Mamlin <[email protected]> > wrote: > > **** > > +1 **** > > > > On Thursday, November 3, 2011, Nyoman Ribeka <[email protected]> wrote: > > Hi, > > > > I think the workaround Rowan did by adding the mapping manually reveal > > a problem with the way we package the module. Right now what we have > > in the API layer for a mavenized module is just the class file only > > and the output from the API layer for a module is just the java class > > file for that module. With the current approach, we won't be able to > > do unit testing on the API layer because there's no configuration to > > wire the DAO and Service layer. And if we want to include the API > > layer of another module, we will end up with the same situation as > > above (maybe adding the omod as dependency, instead of the api would > > fix the above problem!) > > > > I think the better way to package the module is putting the class > > files and hbm and spring configuration in the api layer. With this > > approach we will have a better separation between the API and the web > > layer for the module itself. API will contains all the beans for that > > module and omod will contains the API jar file and the web layer for > > the module. > > > > Somewhat related question from me in the answers website: > > > https://answers.openmrs.org/questions/85/how-does-maven-replace-hbm-filenames-in-test-hibernatecfgxml > > > > On Thu, Nov 3, 2011 at 12:04 PM, Rowan Seymour <[email protected]> > wrote: > >> I edited test-hibernate.cfg.xml to explicitly include > the TokenRegistration > >> mapping file and that seems to fix the unknown entity exception, i.e. > >> > >> <hibernate-configuration> > >> <session-factory> > >> ${hbmConfig} > >> <mapping resource="TokenRegistration.hbm.xml" /> > >> </session-factory> > >> </hibernate-configuration> > >> > >> But now those 3 unit tests are failing with another exception... > >> java.lang.NoSuchMethodError: > >> > org.openmrs.logic.LogicContext.eval(Ljava/lang/Integer;Lorg/openmrs/logic/LogicCriteria;Ljava/util/Map;)Lorg/openmrs/logic/result/Result; > >> I've looked at the source for LogicContext and it appears that between > >> OpenMRS 1.7 and 1.8 it's eval methods switched from using Patient > objects as > >> parameters, to using integers. The same switch occurred > in LogicContextImpl > >> in the logic module between 0.4 and 0.5 > >> So I need to depend on version 0.4 of the logic module which isn't in > the > >> maven repository. Can someone who knows more about this module put it in > >> maven? Does html form entry work with OpenMRS 1.8? > >> On 3 November 2011 15:50, Rowan Seymour <[email protected]> wrote: > >>> > >>> It's using logic 0.5 same as Mark just showed. The 3 failing tests are: > >>> > >>> > applyExcludes_shouldReturnCorrectXmlAfterApplyExcludeIfTag(org.openmrs.module.htmlformentry.HtmlFormEntryGeneratorTest): > >>> Unknown entity: org.openmrs.logic.token.TokenRegistration > >>> > >>> > applyIncludes_shouldReturnCorrectXmlAfterApplyIncludeTag(org.openmrs.module.htmlformentry.HtmlFormEntryGeneratorTest): > >>> Unknown entity: org.openmrs.logic.token.TokenRegistration > >>> > >>> > processIncludeLogic_shouldReturnACorrectBooleanValueForLogicTestString(org.openmrs.module.htmlformentry.HtmlFormEntryGeneratorTest): > >>> Unknown entity: org.openmrs.logic.token.TokenRegistration > >>> Stack trace just shows that it didn't recognize TokenRegistration as an > >>> entity.... > >>> > >>> > applyExcludes_shouldReturnCorrectXmlAfterApplyExcludeIfTag(org.openmrs.module.htmlformentry.HtmlFormEntryGeneratorTest) > >>> Time elapsed: 0.255 sec <<< ERROR! > >>> org.hibernate.MappingException: Unknown entity: > >>> org.openmrs.logic.token.TokenRegistration > >>> at > >>> > org.hibernate.impl.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:550) > >>> at > >>> > org.hibernate.impl.SessionImpl.getEntityPersister(SessionImpl.java:1338) > >>> at org.hibernate.engine.ForeignKeys.isTransient(ForeignKeys.java:180) > >>> at > >>> > org.hibernate.event.def.AbstractSaveEventListener.getEntityState(AbstractSaveEventListener.java:512) > >>> at > >>> > org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:80) > >>> at > >>> > org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70) > >>> at > org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:507) > >>> at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:499) > >>> at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:495) > >>> at > >>> > org.openmrs.logic.token.db.hibernate.HibernateTokenDAO.saveTokenRegistration(HibernateTokenDAO.java:118) > >>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > >>> at > >>> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > >>> at > >>> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > >>> at java.lang.reflect.Method.invoke(Method.java:597) > >>> at > >>> > org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307) > >>> at**** > > >>> org.springframework.aop.framework.ReflectiveMethodIn-- ** ** > > > > Thanks, > > > > Nyoman Ribeka > > > > _________________________________________ > > > > To unsubscribe from OpenMRS Developers' mailing list, send an e-mail to > [email protected] with "SIGNOFF openmrs-devel-l" in the body > (not the subject) of your e-mail. > > > > [mailto:[email protected]?body=SIGNOFF%20openmrs-devel-l] > > > > **** > ------------------------------ > > Click here to > unsubscribe<[email protected]?body=SIGNOFF%20openmrs-devel-l>from > OpenMRS Developers' mailing list > **** > > ** ** > ------------------------------ > > Click here to > unsubscribe<[email protected]?body=SIGNOFF%20openmrs-devel-l>from > OpenMRS Developers' mailing list > **** > > > > **** > > ** ** > > -- > *Rowan Seymour* > tel: +250 783835665 > http://twitter.com/rowanseymour**** > ------------------------------ > > Click here to > unsubscribe<[email protected]?body=SIGNOFF%20openmrs-devel-l>from > OpenMRS Developers' mailing list > **** > ------------------------------ > > Click here to > unsubscribe<[email protected]?body=SIGNOFF%20openmrs-devel-l>from > OpenMRS Developers' mailing list > **** > ------------------------------ > Click here to > unsubscribe<[email protected]?body=SIGNOFF%20openmrs-devel-l>from > OpenMRS Developers' mailing list > _________________________________________ To unsubscribe from OpenMRS Developers' mailing list, send an e-mail to [email protected] with "SIGNOFF openmrs-devel-l" in the body (not the subject) of your e-mail. [mailto:[email protected]?body=SIGNOFF%20openmrs-devel-l]

