Include HTML Form in custom module

Hi, I am trying to include HTML Form generated through HTML Form Entry module in my module. I only want to display the htmlform without the patient information in my module. I am using OpenMRS 1.11.4, HTML Form Entry 3.3.0, HTML Form Entry Extensions for OpenMRS 1.9 Module 1.6.1, HTML Form Entry UI Framework Integration Module 1.3, OpenMRS UI Framework 3.4

I went through how to embed HTML Form in your custom module, I am unable to get the command model attribute working in the fragment controller and gsp view page. Therefore i copied the few lines of the codes just to see if i am able to display the html form that i generated.

In my fragment controller:

public void controller(FragmentModel model) throws Exception { Patient patient = null; Form form = null; HtmlForm htmlForm = null; form = Context.getFormService() .getForm(7); htmlForm = HtmlFormEntryUtil.getService() .getHtmlFormByForm(form); patient = Context.getPatientService() .getPatient(2); FormEntrySession session = new FormEntrySession(patient, htmlForm); session.getHtmlToDisplay(); model.addAttribute(“session”, session); }

In my view gsp file:

${session.htmlToDisplay}

I am getting following error message:

ERROR - PageController.handlePath(150) |2016-10-25 22:40:41,078| Error rendering page view for adminInitialize. Model properties: sessionContext featureToggles patient ui context contextPath session param out org.openmrs.ui.framework.ViewException: Error rendering page view for adminInitialize. Model properties: sessionContext featureToggles patient ui context contextPath session param out at org.openmrs.ui.framework.page.GroovyPageView.render(GroovyPageView.java:55) at org.openmrs.ui.framework.page.PageFactory.processThisFragment(PageFactory.java:185) at org.openmrs.ui.framework.page.PageFactory.process(PageFactory.java:114) at org.openmrs.ui.framework.page.PageFactory.handle(PageFactory.java:84) at org.openmrs.module.uiframework.PageController.handlePath(PageController.java:115) at org.openmrs.module.uiframework.PageController.handleUrlWithDotPage(PageController.java:82) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176) at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:440) at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:428) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:925) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:953) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:844) at javax.servlet.http.HttpServlet.service(HttpServlet.java:735) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:829) at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:698) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1506) at org.openmrs.module.web.filter.ForcePasswordChangeFilter.doFilter(ForcePasswordChangeFilter.java:61) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494) at org.openmrs.module.web.filter.ModuleFilterChain.doFilter(ModuleFilterChain.java:72) at org.openmrs.module.web.filter.ModuleFilter.doFilter(ModuleFilter.java:54) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494) at org.openmrs.web.filter.OpenmrsFilter.doFilterInternal(OpenmrsFilter.java:109) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494) at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:230) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494) at org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:105) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494) at org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:105) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494) at org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:105) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1486) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:503) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:138) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:564) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:213) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1094) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:432) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:175) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1028) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:136) at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:258) at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:109) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) at org.eclipse.jetty.server.Server.handle(Server.java:445) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:267) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:224) at org.eclipse.jetty.io.AbstractConnection$ReadCallback.run(AbstractConnection.java:358) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:601) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:532) at java.lang.Thread.run(Thread.java:745) Caused by: org.openmrs.ui.framework.UiFrameworkException: Exception in controller method at org.openmrs.ui.framework.UiFrameworkUtil.invokeMethodWithArguments(UiFrameworkUtil.java:123) at org.openmrs.ui.framework.UiFrameworkUtil.executeControllerMethod(UiFrameworkUtil.java:68) at org.openmrs.ui.framework.fragment.FragmentFactory.handleRequestWithController(FragmentFactory.java:232) at org.openmrs.ui.framework.fragment.FragmentFactory.processThisFragment(FragmentFactory.java:152) at org.openmrs.ui.framework.fragment.FragmentFactory.process(FragmentFactory.java:116) at org.openmrs.ui.framework.page.PageContext.includeFragment(PageContext.java:75) at org.openmrs.ui.framework.UiUtils.includeFragment(UiUtils.java:151) at sun.reflect.GeneratedMethodAccessor559.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoCachedMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:229) at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:52) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:128) at SimpleTemplateScript14.run(SimpleTemplateScript14.groovy:12) at groovy.text.SimpleTemplateEngine$SimpleTemplate$1.writeTo(SimpleTemplateEngine.java:165) at groovy.text.SimpleTemplateEngine$SimpleTemplate$1.toString(SimpleTemplateEngine.java:177) at org.openmrs.ui.framework.page.GroovyPageView.render(GroovyPageView.java:43) … 60 more Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.openmrs.ui.framework.UiFrameworkUtil.invokeMethodWithArguments(UiFrameworkUtil.java:109) … 78 more Caused by: java.lang.NoSuchMethodError: org.openmrs.module.htmlformentry.FormEntrySession.(Lorg/openmrs/Patient;Lorg/openmrs/module/htmlformentry/HtmlForm;)V at org.openmrs.module.radiology.fragment.controller.ModalitylistFragmentController.controller(ModalitylistFragmentController.java:97) … 83 more

Please let me know. Thank you.

Are your changes somewhere on github?

Hi Daniel, Yes, here is the github link https://github.com/WangchukSFSU/Radiology Thanks

Which is the commit of interest?

Controller and GSP file: Fragment Controller is fragment/controller/ModalitylistFragmentController.java GSP File is webapp/fragments/modalitylist.gsp

Thanks

If you remove ${session.htmlToDisplay}, does the page load well?

I removed the ${session.htmlToDisplay} from GSP file.

still getting the same error. Caused by: java.lang.NoSuchMethodError: org.openmrs.module.htmlformentry.FormEntrySession.(Lorg/openmrs/Patient;Lorg/openmrs/module/htmlformentry/HtmlForm;)V at org.openmrs.module.radiology.fragment.controller.ModalitylistFragmentController.controller(ModalitylistFragmentController.java:46) … 84 more 2016-10-26 07:53:21.777:INFO:/openmrs:qtp1654589039-23: Initializing Spring FrameworkServlet ‘openmrs_static_content’ ERROR - CommonsLoggingOutput.error(75) |2016-10-26 07:53:24,080| Parameter mismatch parsing signatures section in dwr.xml on line: DWREncounterService.findEncounters(String phrase, Integer patientId, boolean includeVoided) ERROR - CommonsLoggingOutput.error(75) |2016-10-26 07:53:24,405| Line=124 The content of element type “dwr” must match “(init?,allow?,signatures?)”. ERROR - CommonsLoggingOutput.error(75) |2016-10-26 07:53:24,422| Parameter mismatch parsing signatures section in dwr.xml on line: DWRAtlasService.disableAtlasModule() ERROR - CommonsLoggingOutput.error(75) |2016-10-26 07:53:24,477| Parameter mismatch parsing signatures section in dwr.xml on line: DWRHtmlFormEntryService.checkIfLoggedIn()

Add the provided scope for all your module dependencies in the pom files and try again.

In all my pom files:

I added provided scope if there is no scope.

When i ran the server again, i get following error:

INFO - ServiceContext.startRefreshingContext(902) |2016-10-26 08:58:42,742| Refreshing Context INFO - ServiceContext.doneRefreshingContext(913) |2016-10-26 08:58:50,114| Done refreshing Context ERROR - Listener.performWebStartOfModules(643) |2016-10-26 08:58:50,119| Unable to refresh the spring application context. Root Cause was: java.io.FileNotFoundException: class path resource [ca/uhn/hl7v2/model/v231/message/ORM_O01.class] cannot be opened because it does not exist at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:157) at org.springframework.core.type.classreading.SimpleMetadataReader.(SimpleMetadataReader.java:50) at org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:80) at org.springframework.core.type.classreading.CachingMetadataReaderFactory.getMetadataReader(CachingMetadataReaderFactory.java:102) at org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:76) at org.springframework.core.type.filter.AbstractTypeHierarchyTraversingFilter.match(AbstractTypeHierarchyTraversingFilter.java:105) at org.springframework.core.type.filter.AbstractTypeHierarchyTraversingFilter.match(AbstractTypeHierarchyTraversingFilter.java:76) at org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.isCandidateComponent(ClassPathScanningCandidateComponentProvider.java:333) at org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.findCandidateComponents(ClassPathScanningCandidateComponentProvider.java:267) at org.springframework.context.annotation.ClassPathBeanDefinitionScanner.doScan(ClassPathBeanDefinitionScanner.java:242) at org.springframework.context.annotation.ComponentScanBeanDefinitionParser.parse(ComponentScanBeanDefinitionParser.java:84) at org.springframework.beans.factory.xml.NamespaceHandlerSupport.parse(NamespaceHandlerSupport.java:73) at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1438) at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1428) at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:195) at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.doRegisterBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:139) at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:108) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:493) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:390) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302) at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:174) at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:209) at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:180) at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:125) at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:94) at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:130) at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:537) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:451) at org.openmrs.module.ModuleUtil.refreshApplicationContext(ModuleUtil.java:832) at org.openmrs.module.web.WebModuleUtil.refreshWAC(WebModuleUtil.java:962) at org.openmrs.web.Listener.performWebStartOfModules(Listener.java:630) at org.openmrs.web.Listener.performWebStartOfModules(Listener.java:609) at org.openmrs.web.Listener.startOpenmrs(Listener.java:252) at org.openmrs.web.WebDaemon$1.run(WebDaemon.java:42) WARN - Listener.performWebStartOfModules(672) |2016-10-26 08:58:50,156| caught another error: org.openmrs.api.APIException: Service not found: interface org.openmrs.scheduler.SchedulerService at org.openmrs.api.context.ServiceContext.getService(ServiceContext.java:755) at org.openmrs.api.context.ServiceContext.getSchedulerService(ServiceContext.java:310) at org.openmrs.api.context.Context.getSchedulerService(Context.java:529) at org.openmrs.module.web.WebModuleUtil.stopTasks(WebModuleUtil.java:382) at org.openmrs.module.web.WebModuleUtil.stopModule(WebModuleUtil.java:861) at org.openmrs.module.web.WebModuleUtil.shutdownModules(WebModuleUtil.java:804) at org.openmrs.web.Listener.performWebStartOfModules(Listener.java:649) at org.openmrs.web.Listener.performWebStartOfModules(Listener.java:609) at org.openmrs.web.Listener.startOpenmrs(Listener.java:252) at org.openmrs.web.WebDaemon$1.run(WebDaemon.java:42) WARN - ModuleFactory.stopModule(1097) |2016-10-26 08:58:50,160| Unable to call module’s Activator.willStop() method org.openmrs.api.APIException: Service not found: interface org.openmrs.module.atlas.AtlasService at org.openmrs.api.context.ServiceContext.getService(ServiceContext.java:755) at org.openmrs.api.context.Context.getService(Context.java:974) at org.openmrs.module.atlas.AtlasModuleActivator.willStop(AtlasModuleActivator.java:66) at org.openmrs.module.ModuleFactory.stopModule(ModuleFactory.java:1094) at org.openmrs.module.ModuleUtil.shutdown(ModuleUtil.java:161) at org.openmrs.api.context.Context.shutdown(Context.java:942) at org.openmrs.web.Listener.startOpenmrs(Listener.java:258) at org.openmrs.web.WebDaemon$1.run(WebDaemon.java:42) WARN - ModuleFactory.stopModule(1203) |2016-10-26 08:58:50,207| Unable to call module’s Activator.shutdown() method org.openmrs.api.APIException: Service not found: interface org.openmrs.module.appframework.service.AppFrameworkService at org.openmrs.api.context.ServiceContext.getService(ServiceContext.java:755) at org.openmrs.api.context.Context.getService(Context.java:974) at org.openmrs.module.referenceapplication.ReferenceApplicationActivator.stopped(ReferenceApplicationActivator.java:230) at org.openmrs.module.ModuleFactory.stopModule(ModuleFactory.java:1198) at org.openmrs.module.ModuleFactory.stopModule(ModuleFactory.java:1121) at org.openmrs.module.ModuleFactory.stopModule(ModuleFactory.java:1121) at org.openmrs.module.ModuleFactory.stopModule(ModuleFactory.java:1121) at org.openmrs.module.ModuleUtil.shutdown(ModuleUtil.java:161) at org.openmrs.api.context.Context.shutdown(Context.java:942) at org.openmrs.web.Listener.startOpenmrs(Listener.java:258) at org.openmrs.web.WebDaemon$1.run(WebDaemon.java:42) WARN - ModuleFactory.stopModule(1203) |2016-10-26 08:58:50,242| Unable to call module’s Activator.shutdown() method java.lang.NullPointerException at org.openmrs.api.context.ServiceContext.getRegisteredComponents(ServiceContext.java:986) at org.openmrs.api.context.ServiceContext.getRegisteredComponents(ServiceContext.java:950) at org.openmrs.api.context.Context.getRegisteredComponents(Context.java:1274) at org.openmrs.module.chartsearch.ChartSearchActivator.getComponent(ChartSearchActivator.java:76) at org.openmrs.module.chartsearch.ChartSearchActivator.stopped(ChartSearchActivator.java:71) at org.openmrs.module.ModuleFactory.stopModule(ModuleFactory.java:1198) at org.openmrs.module.ModuleFactory.stopModule(ModuleFactory.java:1121) at org.openmrs.module.ModuleFactory.stopModule(ModuleFactory.java:1121) at org.openmrs.module.ModuleFactory.stopModule(ModuleFactory.java:1121) at org.openmrs.module.ModuleUtil.shutdown(ModuleUtil.java:161) at org.openmrs.api.context.Context.shutdown(Context.java:942) at org.openmrs.web.Listener.startOpenmrs(Listener.java:258) at org.openmrs.web.WebDaemon$1.run(WebDaemon.java:42) WARN - ModuleFactory.stopModule(1203) |2016-10-26 08:58:50,373| Unable to call module’s Activator.shutdown() method org.openmrs.api.APIException: Service not found: interface org.openmrs.module.reporting.dataset.definition.service.DataSetDefinitionService at org.openmrs.api.context.ServiceContext.getService(ServiceContext.java:755) at org.openmrs.api.context.Context.getService(Context.java:974) at org.openmrs.module.appointmentschedulingui.AppointmentSchedulingUIActivator.removeDataSetDefinitions(AppointmentSchedulingUIActivator.java:107) at org.openmrs.module.appointmentschedulingui.AppointmentSchedulingUIActivator.stopped(AppointmentSchedulingUIActivator.java:95) at org.openmrs.module.ModuleFactory.stopModule(ModuleFactory.java:1198) at org.openmrs.module.ModuleFactory.stopModule(ModuleFactory.java:1121) at org.openmrs.module.ModuleFactory.stopModule(ModuleFactory.java:1121) at org.openmrs.module.ModuleFactory.stopModule(ModuleFactory.java:1121) at org.openmrs.module.ModuleUtil.shutdown(ModuleUtil.java:161) at org.openmrs.api.context.Context.shutdown(Context.java:942) at org.openmrs.web.Listener.startOpenmrs(Listener.java:258) at org.openmrs.web.WebDaemon$1.run(WebDaemon.java:42) WARN - ModuleFactory.stopModule(1203) |2016-10-26 08:58:50,436| Unable to call module’s Activator.shutdown() method java.lang.NullPointerException at org.openmrs.module.radiology.RadiologyActivator.stopDicomOrderFiller(RadiologyActivator.java:86) at org.openmrs.module.radiology.RadiologyActivator.stopped(RadiologyActivator.java:49) at org.openmrs.module.ModuleFactory.stopModule(ModuleFactory.java:1198) at org.openmrs.module.ModuleFactory.stopModule(ModuleFactory.java:1121) at org.openmrs.module.ModuleFactory.stopModule(ModuleFactory.java:1121) at org.openmrs.module.ModuleUtil.shutdown(ModuleUtil.java:161) at org.openmrs.api.context.Context.shutdown(Context.java:942) at org.openmrs.web.Listener.startOpenmrs(Listener.java:258) at org.openmrs.web.WebDaemon$1.run(WebDaemon.java:42) WARN - ModuleFactory.stopModule(1097) |2016-10-26 08:58:50,490| Unable to call module’s Activator.willStop() method java.lang.NullPointerException at org.openmrs.api.context.ServiceContext.getRegisteredComponents(ServiceContext.java:986) at org.openmrs.api.context.ServiceContext.getRegisteredComponents(ServiceContext.java:950) at org.openmrs.api.context.Context.getRegisteredComponents(Context.java:1274) at org.openmrs.module.reporting.ReportingModuleActivator.cancelAllScheduledTasks(ReportingModuleActivator.java:65) at org.openmrs.module.reporting.ReportingModuleActivator.willStop(ReportingModuleActivator.java:47) at org.openmrs.module.ModuleFactory.stopModule(ModuleFactory.java:1094) at org.openmrs.module.ModuleUtil.shutdown(ModuleUtil.java:161) at org.openmrs.api.context.Context.shutdown(Context.java:942) at org.openmrs.web.Listener.startOpenmrs(Listener.java:258) at org.openmrs.web.WebDaemon$1.run(WebDaemon.java:42) WARN - ModuleFactory.stopModule(1203) |2016-10-26 08:58:50,659| Unable to call module’s Activator.shutdown() method org.openmrs.api.APIException: Service not found: interface org.openmrs.module.htmlformentry.HtmlFormEntryService at org.openmrs.api.context.ServiceContext.getService(ServiceContext.java:755) at org.openmrs.api.context.Context.getService(Context.java:974) at org.openmrs.module.htmlformentry19ext.HTMLFormEntryExtensions19Activator.stopped(HTMLFormEntryExtensions19Activator.java:43) at org.openmrs.module.ModuleFactory.stopModule(ModuleFactory.java:1198) at org.openmrs.module.ModuleUtil.shutdown(ModuleUtil.java:161) at org.openmrs.api.context.Context.shutdown(Context.java:942) at org.openmrs.web.Listener.startOpenmrs(Listener.java:258) at org.openmrs.web.WebDaemon$1.run(WebDaemon.java:42) WARN - ModuleFactory.stopModule(1203) |2016-10-26 08:58:50,663| Unable to call module’s Activator.shutdown() method java.lang.NullPointerException at org.openmrs.api.context.ServiceContext.getRegisteredComponents(ServiceContext.java:986) at org.openmrs.api.context.ServiceContext.getRegisteredComponents(ServiceContext.java:950) at org.openmrs.api.context.Context.getRegisteredComponents(Context.java:1274) at org.openmrs.util.HandlerUtil.getHandlersForType(HandlerUtil.java:116) at org.openmrs.module.event.EventActivator.stopped(EventActivator.java:89) at org.openmrs.module.ModuleFactory.stopModule(ModuleFactory.java:1198) at org.openmrs.module.ModuleUtil.shutdown(ModuleUtil.java:161) at org.openmrs.api.context.Context.shutdown(Context.java:942) at org.openmrs.web.Listener.startOpenmrs(Listener.java:258) at org.openmrs.web.WebDaemon$1.run(WebDaemon.java:42) INFO - HibernateContextDAO.showUsageStatistics(359) |2016-10-26 08:58:50,701| QUERY: from Role r order by r.role INFO - HibernateContextDAO.showUsageStatistics(361) |2016-10-26 08:58:50,706| Cache Hit Count : 0 INFO - HibernateContextDAO.showUsageStatistics(362) |2016-10-26 08:58:50,706| Cache Miss Count: 0 INFO - HibernateContextDAO.showUsageStatistics(363) |2016-10-26 08:58:50,706| Cache Put Count : 0 INFO - HibernateContextDAO.showUsageStatistics(364) |2016-10-26 08:58:50,706| Execution Count : 22 INFO - HibernateContextDAO.showUsageStatistics(365) |2016-10-26 08:58:50,707| Average time : 177 INFO - HibernateContextDAO.showUsageStatistics(366) |2016-10-26 08:58:50,707| Row Count : 682 INFO - HibernateContextDAO.showUsageStatistics(359) |2016-10-26 08:58:50,707| QUERY: from Privilege p order by p.privilege INFO - HibernateContextDAO.showUsageStatistics(361) |2016-10-26 08:58:50,708| Cache Hit Count : 0 INFO - HibernateContextDAO.showUsageStatistics(362) |2016-10-26 08:58:50,724| Cache Miss Count: 0 INFO - HibernateContextDAO.showUsageStatistics(363) |2016-10-26 08:58:50,724| Cache Put Count : 0 INFO - HibernateContextDAO.showUsageStatistics(364) |2016-10-26 08:58:50,724| Execution Count : 22 INFO - HibernateContextDAO.showUsageStatistics(365) |2016-10-26 08:58:50,727| Average time : 2 INFO - HibernateContextDAO.showUsageStatistics(366) |2016-10-26 08:58:50,728| Row Count : 6490 INFO - HibernateContextDAO.showUsageStatistics(359) |2016-10-26 08:58:50,728| QUERY: from User u where u.uuid = :uuid INFO - HibernateContextDAO.showUsageStatistics(361) |2016-10-26 08:58:50,728| Cache Hit Count : 0 INFO - HibernateContextDAO.showUsageStatistics(362) |2016-10-26 08:58:50,728| Cache Miss Count: 0 INFO - HibernateContextDAO.showUsageStatistics(363) |2016-10-26 08:58:50,728| Cache Put Count : 0 INFO - HibernateContextDAO.showUsageStatistics(364) |2016-10-26 08:58:50,728| Execution Count : 534 INFO - HibernateContextDAO.showUsageStatistics(365) |2016-10-26 08:58:50,728| Average time : 2 INFO - HibernateContextDAO.showUsageStatistics(366) |2016-10-26 08:58:50,728| Row Count : 534 ERROR - Listener.contextInitialized(188) |2016-10-26 08:58:50,730| Got exception while starting up: org.openmrs.module.ModuleException: Unable to start OpenMRS. Error thrown was: org.openmrs.api.APIException: Service not found: interface org.openmrs.scheduler.SchedulerService at org.openmrs.web.WebDaemon.startOpenmrs(WebDaemon.java:64) at org.openmrs.web.Listener.contextInitialized(Listener.java:180) at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:787) at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:434) at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:779) at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:284) at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1322) at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:731) at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:490) at org.eclipse.jetty.maven.plugin.JettyWebAppContext.doStart(JettyWebAppContext.java:280) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:69) at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:108) at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:90) at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:58) at org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:175) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:69) at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:108) at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:90) at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:58) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:69) at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:108) at org.eclipse.jetty.server.Server.start(Server.java:342) at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:90) at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:58) at org.eclipse.jetty.server.Server.doStart(Server.java:290) at org.eclipse.jetty.maven.plugin.JettyServer.doStart(JettyServer.java:68) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:69) at org.eclipse.jetty.maven.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:556) at org.eclipse.jetty.maven.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:352) at org.eclipse.jetty.maven.plugin.JettyRunWarMojo.execute(JettyRunWarMojo.java:69) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101) at org.twdata.maven.mojoexecutor.MojoExecutor.executeMojo(MojoExecutor.java:94) at org.openmrs.maven.plugins.Run.execute(Run.java:134) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156) at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196) at org.apache.maven.cli.MavenCli.main(MavenCli.java:141) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415) at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356) Caused by: javax.servlet.ServletException: org.openmrs.api.APIException: Service not found: interface org.openmrs.scheduler.SchedulerService at org.openmrs.web.Listener.startOpenmrs(Listener.java:260) at org.openmrs.web.WebDaemon$1.run(WebDaemon.java:42) Caused by: org.openmrs.api.APIException: Service not found: interface org.openmrs.scheduler.SchedulerService at org.openmrs.api.context.ServiceContext.getService(ServiceContext.java:755) at org.openmrs.api.context.ServiceContext.getSchedulerService(ServiceContext.java:310) at org.openmrs.api.context.Context.getSchedulerService(Context.java:529) at org.openmrs.module.web.WebModuleUtil.stopTasks(WebModuleUtil.java:382) at org.openmrs.module.web.WebModuleUtil.stopModule(WebModuleUtil.java:861) at org.openmrs.module.web.WebModuleUtil.shutdownModules(WebModuleUtil.java:804) at org.openmrs.web.Listener.performWebStartOfModules(Listener.java:649) at org.openmrs.web.Listener.performWebStartOfModules(Listener.java:609) at org.openmrs.web.Listener.startOpenmrs(Listener.java:252) … 1 more WARN - OpenmrsUtil.getRuntimePropertiesFilePathName(2669) |2016-10-26 08:58:51,117| Unable to find a runtime properties file at /home/youdon/Desktop/Tenzin/Radiology/openmrs-runtime.properties INFO 10/26/16 8:58 AM:liquibase: Reading from liquibasechangelog WARNING 10/26/16 8:58 AM:liquibase: modifyDataType will lose primary key/autoincrement/not null settings for mysql. Use and re-specify all configuration if this is the case WARNING 10/26/16 8:58 AM:liquibase: modifyDataType will lose primary key/autoincrement/not null settings for mysql. Use and re-specify all configuration if this is the case WARNING 10/26/16 8:58 AM:liquibase: modifyDataType will lose primary key/autoincrement/not null settings for mysql. Use and re-specify all configuration if this is the case INFO 10/26/16 8:58 AM:liquibase: Reading from liquibasechangelog WARNING 10/26/16 8:58 AM:liquibase: modifyDataType will lose primary key/autoincrement/not null settings for mysql. Use and re-specify all configuration if this is the case WARNING 10/26/16 8:58 AM:liquibase: modifyDataType will lose primary key/autoincrement/not null settings for mysql. Use and re-specify all configuration if this is the case WARNING 10/26/16 8:58 AM:liquibase: modifyDataType will lose primary key/autoincrement/not null settings for mysql. Use and re-specify all configuration if this is the case 2016-10-26 08:58:52.004:INFO:oejsh.ContextHandler:main: Started o.e.j.m.p.JettyWebAppContext@55ecbafe{/openmrs,file:/home/youdon/openmrs/ttttt/tmp/webapp/,AVAILABLE}{/home/youdon/openmrs/ttttt/openmrs-1.11.4.war}

The provided scope should be only for openmrs modules. Not for other dependencies which you actually need to have bundled with your module.

HI, I added scope provide to the following omod pom files:

org.openmrs.module htmlformentry 1.8.1 jar provided org.openmrs.module htmlformentry-api 3.3.1-SNAPSHOT jar provided

I am getting error message: [INFO] Started Jetty Server 2016-10-26 12:50:49.450:INFO:/openmrs:qtp1340634558-15: Initializing Spring FrameworkServlet ‘openmrs’ ERROR - PageController.handlePath(150) |2016-10-26 12:54:22,179| Error rendering page view for adminInitialize. Model properties: sessionContext featureToggles patient ui context contextPath session param out org.openmrs.ui.framework.ViewException: Error rendering page view for adminInitialize. Model properties: sessionContext featureToggles patient ui context contextPath session param out at org.openmrs.ui.framework.page.GroovyPageView.render(GroovyPageView.java:55) at org.openmrs.ui.framework.page.PageFactory.processThisFragment(PageFactory.java:185) at org.openmrs.ui.framework.page.PageFactory.process(PageFactory.java:114) at org.openmrs.ui.framework.page.PageFactory.handle(PageFactory.java:84) at org.openmrs.module.uiframework.PageController.handlePath(PageController.java:115) at org.openmrs.module.uiframework.PageController.handleUrlWithDotPage(PageController.java:82) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176) at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:440) at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:428) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:925) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:953) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:844) at javax.servlet.http.HttpServlet.service(HttpServlet.java:735) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:829) at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:698) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1506) at org.openmrs.module.web.filter.ForcePasswordChangeFilter.doFilter(ForcePasswordChangeFilter.java:61) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494) at org.openmrs.module.web.filter.ModuleFilterChain.doFilter(ModuleFilterChain.java:72) at org.openmrs.module.web.filter.ModuleFilter.doFilter(ModuleFilter.java:54) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494) at org.openmrs.web.filter.OpenmrsFilter.doFilterInternal(OpenmrsFilter.java:109) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494) at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:230) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494) at org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:105) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494) at org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:105) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494) at org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:105) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1486) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:503) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:138) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:564) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:213) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1094) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:432) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:175) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1028) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:136) at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:258) at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:109) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) at org.eclipse.jetty.server.Server.handle(Server.java:445) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:267) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:224) at org.eclipse.jetty.io.AbstractConnection$ReadCallback.run(AbstractConnection.java:358) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:601) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:532) at java.lang.Thread.run(Thread.java:745) Caused by: org.openmrs.ui.framework.UiFrameworkException: Exception in controller method at org.openmrs.ui.framework.UiFrameworkUtil.invokeMethodWithArguments(UiFrameworkUtil.java:123) at org.openmrs.ui.framework.UiFrameworkUtil.executeControllerMethod(UiFrameworkUtil.java:68) at org.openmrs.ui.framework.fragment.FragmentFactory.handleRequestWithController(FragmentFactory.java:232) at org.openmrs.ui.framework.fragment.FragmentFactory.processThisFragment(FragmentFactory.java:152) at org.openmrs.ui.framework.fragment.FragmentFactory.process(FragmentFactory.java:116) at org.openmrs.ui.framework.page.PageContext.includeFragment(PageContext.java:75) at org.openmrs.ui.framework.UiUtils.includeFragment(UiUtils.java:151) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoCachedMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:229) at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:52) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:128) at SimpleTemplateScript9.run(SimpleTemplateScript9.groovy:12) at groovy.text.SimpleTemplateEngine$SimpleTemplate$1.writeTo(SimpleTemplateEngine.java:165) at groovy.text.SimpleTemplateEngine$SimpleTemplate$1.toString(SimpleTemplateEngine.java:177) at org.openmrs.ui.framework.page.GroovyPageView.render(GroovyPageView.java:43) … 60 more Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.openmrs.ui.framework.UiFrameworkUtil.invokeMethodWithArguments(UiFrameworkUtil.java:109) … 79 more Caused by: java.lang.NoSuchMethodError: org.openmrs.module.htmlformentry.FormEntrySession.(Lorg/openmrs/Patient;Lorg/openmrs/module/htmlformentry/HtmlForm;)V at org.openmrs.module.radiology.fragment.controller.ModalitylistFragmentController.controller(ModalitylistFragmentController.java:46) … 84 more 2016-10-26 12:54:32.758:INFO:/openmrs:qtp1340634558-290: Initializing Spring FrameworkServlet ‘openmrs_static_content’ ERROR - CommonsLoggingOutput.error(75) |2016-10-26 12:54:35,221| Parameter mismatch parsing signatures section in dwr.xml on line: DWREncounterService.findEncounters(String phrase, Integer patientId, boolean includeVoided) ERROR - CommonsLoggingOutput.error(75) |2016-10-26 12:54:35,578| Line=124 The content of element type “dwr” must match “(init?,allow?,signatures?)”. ERROR - CommonsLoggingOutput.error(75) |2016-10-26 12:54:35,585| Parameter mismatch parsing signatures section in dwr.xml on line: DWRAtlasService.disableAtlasModule() ERROR - CommonsLoggingOutput.error(75) |2016-10-26 12:54:35,654| Parameter mismatch parsing signatures section in dwr.xml on line: DWRHtmlFormEntryService.checkIfLoggedIn()

Thanks

Do you have everything committed. If yes, can you describe the exact steps i would take to locally reproduce on my computer?

HI Daniel, Just pushed the latest commit with the updated omod file.

  1. Access Openmrs with username = admin, password Admin123 You will find all apps such as RadiologyOrder ToBeRead, Send RadiologyImage toPACS, … System Administration.
  2. Click on System Administration You will find more sub apps such as Manage Apps, Manage Radiology, OpenMRS Atlas … Advanced Administration.
  3. Click on Manage Radiology which is supposed to show the modality available table.

Following Page and Fragment will be called when click on Manage Radiology app: adminInitialize.page which calls modalitylist fragment. Fragment modalitylist Controller is ModalitylistFragmentController.java GSP File is webapp/fragments/modalitylist.gsp

Note: Just for testing purpose, I have added the HTML Form code in the ModalitylistFragmentController.java. So when clicks on Manage Radiology App, it calls the ModalitylistFragmentController.java. Here I am getting the error message.

Please let me know if this is not clear. Thank you

Hi Daniel, Forgot to mention, you need to change form id and patient id in ModalitylistFragmentController.java.

Thanks

To fix that error, remove this dependency: https://github.com/WangchukSFSU/Radiology/blob/master/omod/pom.xml#L86

HI Daniel, Thanks. I don’t see that error anymore. I am unable to display the form. In ModalitylistFragmentController.java I have the following code:

In my FormEntrySession session = null; session = new FormEntrySession(patient, htmlForm, mode, null); session.getHtmlToDisplay(); model.addAttribute(“session”, session);

In modalitylist.gsp I have: ${session.htmlToDisplay}

It shows the following error message.

org.openmrs.ui.framework.ViewException: *** In view ‘modalitylist’, could not find property ‘htmlToDisplay’. Passed from controller: sessionContext -> org.openmrs.module.appui.UiSessionContext@18c8bd64 featureToggles -> org.openmrs.module.appframework.feature.FeatureToggleProperties@37b8c829 session -> org.openmrs.ui.framework.session.Session@1ff04138 mmm -> [CT modality, XR modality, Ultrasound modality, MRI modality] mod -> [7] patient -> null ui -> org.openmrs.ui.framework.fragment.FragmentUiUtils@65410b2f context -> org.openmrs.api.context.Context@bbedd7e contextPath -> openmrs param -> {} out -> java.io.PrintWriter@25d3b34e config -> {id=fr7076}

If I remove the htmlToDisplay from gsp file, the view only shows this message: org.openmrs.module.appui.UiSessionContext@18c8bd64

Please let me know. Thanks

Hi, If i add the following in the ModalitylistFragmentController.java System.out.println("session " + session.getHtmlToDisplay());

it does print the Html Form in the console.

But in the modalitylist.gsp if i add the following: ${session.htmlToDisplay}

It shows the following error message. org.openmrs.ui.framework.ViewException: *** In view ‘modalitylist’, could not find property ‘htmlToDisplay’.

But in the modalitylist.gsp if i add the following: ${session}

it display the following text: org.openmrs.ui.framework.session.Session@2a988ef7

HI Daniel, I am able to display the HTML form now. Thank you so much for your help.