+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 > _________________________________________ 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]

