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] <mailto:djazayeri%[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] <mailto:[email protected]>> wrote:

        +1


        On Thursday, November 3, 2011, Nyoman Ribeka
        <[email protected] <mailto:[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] <mailto:[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] <mailto:[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]
        <mailto:[email protected]> with "SIGNOFF
        openmrs-devel-l" in the  body (not the subject) of your e-mail.
        >
        > [mailto:[email protected]
        <mailto:[email protected]>?body=SIGNOFF%20openmrs-devel-l]
        >
        >
        ------------------------------------------------------------------------
        Click here to unsubscribe
        <mailto:[email protected]?body=SIGNOFF%20openmrs-devel-l>
        from OpenMRS Developers' mailing list


    ------------------------------------------------------------------------
    Click here to unsubscribe
    <mailto:[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 <mailto:[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]

Reply via email to