Wiki Spaces

Documentation
Projects
Resources

Get Help from Others

Q&A: Ask OpenMRS
Discussion: OpenMRS Talk
Real-Time: IRC Chat | Slack

Documentation

Page tree
Skip to end of metadata
Go to start of metadata

You should no longer need the config snippets on this page.

The Maven module creation archetype will generate all these configuration snippets for you.

The @Controller, @Component, and @RequestMapping annotations will ensure Spring automatically registers them without config file entries.

Various things you might want to copy-and-paste while creating a module.

config.xml (common values)

<updateURL>https://modules.openmrs.org/modules/download/@MODULE_ID@/update.rdf</updateURL>

<require_modules>
	<require_module>org.openmrs.module.htmlformentry</require_module>
</require_modules>

<mappingFiles>
	AccountRequest.hbm.xml
</mappingFiles>

<messages>
	<lang>en</lang>
	<file>messages.properties</file>
</messages>

moduleApplicationContext.xml (minimal with annotation-driven MVC)

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"
	   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	   xmlns:context="http://www.springframework.org/schema/context"
	   xmlns:util="http://www.springframework.org/schema/util"
	   xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
           http://www.springframework.org/schema/context
           http://www.springframework.org/schema/context/spring-context-2.5.xsd
           http://www.springframework.org/schema/util
           http://www.springframework.org/schema/util/spring-util-2.0.xsd">

    <context:component-scan base-package="@MODULE_PACKAGE@" />

</beans>

moduleApplicationContext.xml (minimal with old-style MVC)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<!-- Beans to add to the current Application context definition -->
<beans>
    <bean id="@MODULE_ID@UrlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
    	<property name="order"><value>1</value></property>
    	<property name="mappings">
            <props>
            	<prop key="module/@MODULE_ID@/something.form">someController</prop>
	    </props>
	</property>
    </bean>

    <bean id="someController" class="@MODULE_PACKAGE@.web.controller.SomeController">
    	<property name="sessionForm"><value>false</value></property>
	<property name="commandName"><value>command</value></property>
	<property name="formView"><value>/module/@MODULE_ID@/someList</value></property>
	<property name="successView"><value>someForm.list</value></property>
    </bean>
</beans>

moduleApplicationContext service creation

<bean parent="serviceContext">
	<property name="moduleService">
		<list>
			<value>@MODULE_PACKAGE@.___Service</value> <!-- service interface name -->
			<bean class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
				<property name="transactionManager"><ref bean="transactionManager"/></property>
				<property name="target">
					<bean class="@MODULE_PACKAGE@.impl.___ServiceImpl">
						<property name="___DAO">
							<bean class="@MODULE_PACKAGE@.db.hibernate.Hibernate___DAO">
								<property name="sessionFactory"><ref bean="sessionFactory"/></property>
							</bean>
						</property>
					</bean>
				</property>
				<property name="preInterceptors">
					<ref bean="serviceInterceptors"/>
				</property>
				<property name="transactionAttributeSource">
					<bean class="org.springframework.transaction.annotation.AnnotationTransactionAttributeSource"/>
				</property>
			</bean>
		</list>
	</property>
</bean>

Form controller annotations

@RequestMapping("/module/@MODULE_ID@/urlToMap")

Sqldiff.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqldiff PUBLIC "-//OpenMRS//DTD OpenMRS SQL Diff Config 1.0//EN" "http://resources.openmrs.org/doctype/sqldiff-1.0.dtd">

<sqldiff version="1.0">
	<help></help>

	<diff>
		<version>0.1</version>
		<author></author>
		<date>Jan 1st 2009</date>
		<description>

		</description>
		<sql>

		</sql>
	</diff>

</sqldiff>
  • No labels