To create a dynamic template that you can plug in to a custom-state bundle, configure the State SDK SmappTemplateProvider class as a Spring bean.
This example configures the SmappTemplateProvider class for the GetDate.xml file, which contains an application that demonstrates how to use the custom state Get Date. To configure the SmappTemplateProvider class, edit both the beans-context.xml and the services-context.xml files.
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd"> <!-- *********************************** Beans Configuration *********************************** --> <bean id="SampleState" class="com.sap.example.SampleState"> <property name="country" value="${sample.country}"/> </bean> <!-- Template --> <bean id="SampleApplication" class= "com.sybase365.mobiliser.brand.template.SmappTemplateProvider"> <property name="name" value="Sample Get Date Application" /> <property name="description" value="Type: Training. A sample application to demonstrate the Get Date state." /> <property name="resource" value="classpath:META-INF/template/GetDate.xml" /> </bean> </beans>
<?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:osgi="http://www.eclipse.org/gemini/blueprint/schema/blueprint" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.eclipse.org/gemini/blueprint/schema/blueprint http://www.eclipse.org/gemini/blueprint/schema/blueprint/gemini-blueprint-1.0.xsd"> <!-- *********************************** Register state as OSGi Service *********************************** --> <osgi:service id="SampleStateService" ref="SampleState" interface= "com.sybase365.mobiliser.brand.plugins.api.smapp.StatePlugin"/> <!-- Template Service --> <osgi:service id="SampleApplicationService" ref="SampleApplication" interface= "com.sybase365.mobiliser.brand.plugins.api.smapp.SmappTemplate" context-class-loader="service-provider"/> </beans>