org.argeo.slc.webapp,
org.argeo.slc.ria
</slc.osgi.start>
+ <slc.server.services.pingCycle>0</slc.server.services.pingCycle>
+ <slc.osgiboot.debug>true</slc.osgiboot.debug>
</systemProperties>
</configuration>
</plugin>
</property>\r
</bean>\r
\r
-<!-- <bean id="basic.ref" factory-bean="basic.spec" factory-method="createRef"\r
- abstract="true" />-->\r
+ <!--\r
+ <bean id="basic.ref" factory-bean="basic.spec"\r
+ factory-method="createRef" abstract="true" />\r
+ -->\r
\r
<bean id="basic.flowTemplate" parent="slcTemplate.simpleFlow"\r
abstract="true">\r
<property name="message" value="From basic @{testedComponentId}" />\r
<aop:scoped-proxy />\r
</bean>\r
- <bean parent="testRun">\r
- <property name="testDefinition" ref="testDef" />\r
+ <bean parent="basic.testRun">\r
+ <property name="testDefinition" ref="basic.testDef" />\r
<property name="testData">\r
<bean parent="parameterRef">\r
<constructor-arg value="testData1" />\r
</bean>\r
</property>\r
</bean>\r
- <bean parent="testRun">\r
- <property name="testDefinition" ref="testDef" />\r
+ <bean parent="basic.testRun">\r
+ <property name="testDefinition" ref="basic.testDef" />\r
<property name="testData" ref="ref1" />\r
</bean>\r
+\r
+ <bean parent="task.closeTestResult" scope="execution">\r
+ <property name="testResult" ref="basic.testResult" />\r
+ </bean>\r
</list>\r
</property>\r
</bean>\r
<property name="reached" value="tata" />\r
</bean>\r
\r
+ <bean id="basic.testDef" class="org.argeo.slc.core.test.BasicTestDefinition"\r
+ scope="prototype" />\r
+\r
+ <bean id="basic.testResult" parent="slcDefault.test.basicTreeTestResult"\r
+ scope="execution">\r
+ <property name="listeners" ref="resultListeners" />\r
+ <aop:scoped-proxy />\r
+ </bean>\r
+\r
+ <bean id="basic.testRun" class="org.argeo.slc.core.test.SimpleTestRun"\r
+ abstract="true">\r
+ <property name="testResult" ref="basic.testResult" />\r
+ </bean>\r
+\r
+\r
</beans>
\ No newline at end of file
+++ /dev/null
-<?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-2.5.xsd">
-
- <bean id="testDef" class="org.argeo.slc.core.test.BasicTestDefinition"
- scope="prototype" />
-
- <bean id="testResult" parent="slcDefault.test.basicTreeTestResult">
- <!-- <property name="listeners" ref="resultListeners" /> -->
- </bean>
-
- <bean id="testRun" class="org.argeo.slc.core.test.SimpleTestRun"
- abstract="true">
- <property name="testResult" ref="testResult" />
- </bean>
-
-</beans>
\ No newline at end of file
<service interface="org.argeo.slc.execution.ExecutionModule"\r
ref="executionModule" />\r
\r
- <!-- <list id="resultListeners" interface="org.argeo.slc.test.TestResultListener" /> -->\r
+ <list id="resultListeners" interface="org.argeo.slc.test.TestResultListener" />\r
</beans:beans>
\ No newline at end of file
<version.maven-bundle-plugin>2.0.0</version.maven-bundle-plugin>
<version.activemq>5.2.0.0006</version.activemq>
<version.activemq-web>5.2.0.0005</version.activemq-web>
- <version.maven-argeo-osgi>0.1.7</version.maven-argeo-osgi>
+ <version.maven-argeo-osgi>0.1.8</version.maven-argeo-osgi>
</properties>
<scm>
<connection>scm:svn:https://www.argeo.org/svn/slc/trunk/org.argeo.slc</connection>
public final static String PROP_SLC_OSGI_DEV_BASES = "slc.osgi.devBases";
public final static String PROP_SLC_OSGI_DEV_PATTERNS = "slc.osgi.devPatterns";
public final static String PROP_SLC_OSGI_LOCATIONS = "slc.osgi.locations";
+ public final static String PROP_SLC_OSGI_BASE_URL = "slc.osgi.baseUrl";
public final static String PROP_SLC_MAVEN_DEPENDENCY_FILE = "slc.maven.dependencyFile";
+ public final static String PROP_SLC_OSGIBOOT_DEBUG = "slc.osgiboot.debug";
- private static Boolean debug = false;
+ private static Boolean debug = Boolean.parseBoolean(System.getProperty(
+ PROP_SLC_OSGIBOOT_DEBUG, "false"));
public void start(BundleContext bundleContext) throws Exception {
try {
info("SLC OSGi bootstrap starting...");
- installUrls(bundleContext, getDevLocationsUrls());
+// installUrls(bundleContext, getDevLocationsUrls());
installUrls(bundleContext, getLocationsUrls());
+
installUrls(bundleContext, getBundlesUrls());
- List<String> urls = getMavenUrls();
- installUrls(bundleContext, urls);
+ installUrls(bundleContext, getMavenUrls());
startBundles(bundleContext);
Map<String, Bundle> installedBundles = getInstalledBundles(bundleContext);
for (String url : urls) {
try {
-
if (installedBundles.containsKey(url)) {
Bundle bundle = installedBundles.get(url);
// bundle.update();
- if (debug)
- debug("Bundle " + bundle.getSymbolicName()
- + " already installed from " + url);
+ info("Bundle " + bundle.getSymbolicName()
+ + " already installed from " + url);
} else {
Bundle bundle = bundleContext.installBundle(url);
if (debug)
protected List<String> getLocationsUrls() {
List<String> urlsProvided = new ArrayList<String>();
+ String baseUrl = getProperty(PROP_SLC_OSGI_BASE_URL, "reference:file:");
String bundlesList = getProperty(PROP_SLC_OSGI_LOCATIONS);
if (bundlesList == null)
return urlsProvided;
StringTokenizer st = new StringTokenizer(bundlesList,
File.pathSeparator);
while (st.hasMoreTokens()) {
- urlsProvided.add("reference:file:" + st.nextToken().trim());
+ urlsProvided.add(baseUrl + st.nextToken().trim());
}
return urlsProvided;
}
protected static Map<String, Bundle> getInstalledBundles(
BundleContext bundleContext) {
Map<String, Bundle> installedBundles = new HashMap<String, Bundle>();
- for (Bundle bundle : bundleContext.getBundles())
- installedBundles.put(bundle.getLocation(), bundle);
+
+ for (Bundle bundle : bundleContext.getBundles()) {
+ String key = bundle.getSymbolicName();
+ if (key == null) {
+ key = bundle.getLocation();
+ }
+ installedBundles.put(key, bundle);
+ }
return installedBundles;
}
return component;
}
- protected String getProperty(String name) {
- String value = System.getProperty(name);
+ protected static String getProperty(String name, String defaultValue) {
+ final String value;
+ if (defaultValue != null)
+ value = System.getProperty(name, defaultValue);
+ else
+ value = System.getProperty(name);
+
if (value == null || value.equals(""))
return null;
else
return value;
}
+ protected static String getProperty(String name) {
+ return getProperty(name, null);
+ }
+
private static void info(Object obj) {
System.out.println("# INFO " + obj);
}
}
private static void warn(Object obj) {
- if (System.getProperty("os.name").contains("Windows"))
- System.out.println("# WARN " + obj);
- else
- System.err.println("# WARN " + obj);
+ System.out.println("# WARN " + obj);
+ // if (System.getProperty("os.name").contains("Windows"))
+ // System.out.println("# WARN " + obj);
+ // else
+ // System.err.println("# WARN " + obj);
}
static class MavenFile {
<?xml version="1.0" encoding="UTF-8"?>
<beansProjectDescription>
<version>1</version>
- <pluginVersion><![CDATA[2.2.0.v200809261800]]></pluginVersion>
+ <pluginVersion><![CDATA[2.2.1.v200811281800]]></pluginVersion>
<configSuffixes>
<configSuffix><![CDATA[xml]]></configSuffix>
</configSuffixes>
<enableImports><![CDATA[true]]></enableImports>
<configs>
- <config>src/main/resources/org/argeo/slc/server/spring/servletContext.xml</config>
</configs>
<configSets>
</configSets>
}
}
+ lst = slcAgentDescriptorDao.listSlcAgentDescriptors();
+ agentIds = new ArrayList<String>();
+ for (SlcAgentDescriptor ad : lst)
+ agentIds.add(ad.getUuid());
+ agentFactory.pingAll(agentIds);
+
synchronized (AgentServiceImpl.this) {
try {
AgentServiceImpl.this.wait(pingCycle);
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:amq="http://activemq.apache.org/schema/core" 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-2.5.xsd
- http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd">
-
- <import resource="classpath:org/argeo/slc/activemq/spring.xml" />
-
- <!-- Create embedded broker -->
- <amq:broker useJmx="false" persistent="false">
- <amq:transportConnectors>
- <amq:transportConnector uri="tcp://localhost:61616" />
- </amq:transportConnectors>
- </amq:broker>
-
- <bean id="template.jms.listenerContainer" parent="slcTemplate.jms.listenerContainer"
- abstract="true">
- </bean>
-
- <bean id="template.jms.listenerAdapter" parent="slcTemplate.jms.listenerAdapterCastor"
- abstract="true">
- </bean>
-
-</beans>
\ No newline at end of file
+++ /dev/null
-<?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:aop="http://www.springframework.org/schema/aop"
- xmlns:tx="http://www.springframework.org/schema/tx"
- xsi:schemaLocation="
- http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
- http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
- http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd"
- default-lazy-init="true">
-
- <import
- resource="classpath:/org/argeo/slc/hibernate/spring/applicationContext.xml" />
-
- <!-- Use session factories -->
- <bean id="sessionFactory" parent="${sessionFactoryParentBean}" />
-
- <!-- JNDI data source -->
- <bean id="slcDefault.jndiTemplate" class="org.springframework.jndi.JndiTemplate">
- </bean>
-
- <bean id="slcDefaut.dataSourceJndi" class="org.springframework.jndi.JndiObjectFactoryBean">
- <property name="jndiTemplate" ref="slcDefault.jndiTemplate" />
- <property name="jndiName" value="java:comp/env/jdbc/mainDs" />
- </bean>
-
- <!-- DB types -->
- <bean id="slcServerDefault.sessionFactory.HSQL" parent="slcTemplates.sessionFactory.hibernateBasic">
- <property name="dataSource" ref="slcDefaut.dataSourceJndi" />
- <property name="hibernateProperties">
- <value><![CDATA[
- hibernate.dialect=org.hibernate.dialect.HSQLDialect
- hibernate.hbm2ddl.auto=update
- hibernate.connection.autocommit=false
- ]]></value>
- </property>
- </bean>
-
- <bean id="slcServerDefault.sessionFactory.HSQLTest" parent="slcTemplates.sessionFactory.hibernateBasic">
- <property name="dataSource" ref="slcDefaut.dataSourceJndi" />
- <property name="hibernateProperties">
- <value><![CDATA[
- hibernate.dialect=org.hibernate.dialect.HSQLDialect
- hibernate.hbm2ddl.auto=create
- hibernate.generate_statistics=true
- hibernate.connection.autocommit=false
- ]]></value>
- </property>
- </bean>
-
- <bean id="slcServerDefault.sessionFactory.MySQL" parent="slcTemplates.sessionFactory.hibernateBasic">
- <property name="dataSource" ref="slcDefaut.dataSourceJndi" />
- <property name="hibernateProperties">
- <value><![CDATA[
- hibernate.dialect=org.hibernate.dialect.MySQLDialect
- hibernate.hbm2ddl.auto=update
- hibernate.connection.autocommit=false
- ]]></value>
- </property>
- </bean>
-
- <bean id="slcServerDefault.sessionFactory.MySQL5" parent="slcTemplates.sessionFactory.hibernateBasic">
- <property name="dataSource" ref="slcDefaut.dataSourceJndi" />
- <property name="hibernateProperties">
- <value><![CDATA[
- hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
- hibernate.hbm2ddl.auto=update
- hibernate.connection.autocommit=false
- ]]></value>
- </property>
- </bean>
-
- <bean id="slcServerDefault.sessionFactory.Sybase" parent="slcTemplates.sessionFactory.hibernateBasic">
- <property name="dataSource" ref="slcDefaut.dataSourceJndi" />
- <property name="hibernateProperties">
- <value><![CDATA[
- hibernate.dialect=org.hibernate.dialect.SybaseDialect
- hibernate.hbm2ddl.auto=update
- hibernate.connection.autocommit=false
- ]]></value>
- </property>
- </bean>
-
- <!-- DAOs -->
- <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
- <property name="sessionFactory" ref="sessionFactory" />
- <property name="allowCreate" value="false" />
- </bean>
-
- <bean id="testResultDao" parent="slcTemplates.dao.testResultDao">
- <property name="hibernateTemplate" ref="hibernateTemplate" />
- </bean>
-
- <bean id="testResultCollectionDao" parent="slcTemplates.dao.testResultCollectionDao">
- <property name="hibernateTemplate" ref="hibernateTemplate" />
- </bean>
-
- <bean id="testRunDescriptorDao" parent="slcTemplates.dao.testRunDescriptorDao">
- <property name="hibernateTemplate" ref="hibernateTemplate" />
- </bean>
-
- <bean id="slcExecutionDao" parent="slcTemplates.dao.slcExecutionDao">
- <property name="hibernateTemplate" ref="hibernateTemplate" />
- </bean>
-
- <bean id="slcAgentDescriptorDao" parent="slcTemplates.dao.slcAgentDescriptorDao">
- <property name="hibernateTemplate" ref="hibernateTemplate" />
- </bean>
-
- <!-- Hibernate instrumentation -->
- <bean id="osivInterceptor"
- class="org.springframework.orm.hibernate3.support.OpenSessionInViewInterceptor">
- <property name="sessionFactory" ref="sessionFactory" />
- </bean>
-
- <!-- Transaction -->
- <bean id="transactionManager"
- class="org.springframework.orm.hibernate3.HibernateTransactionManager"
- lazy-init="false">
- <property name="sessionFactory" ref="sessionFactory" />
- </bean>
-
-</beans>
\ No newline at end of file
+++ /dev/null
-<?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:aop="http://www.springframework.org/schema/aop"
- xmlns:tx="http://www.springframework.org/schema/tx"
- xsi:schemaLocation="
- http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
- http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
- http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd"
- default-lazy-init="false">
-
- <!-- Properties -->
- <bean
- class="org.springframework.web.context.support.ServletContextPropertyPlaceholderConfigurer"
- lazy-init="false">
- <property name="contextOverride" value="true" />
- <property name="properties">
- <props>
- <prop key="sessionFactoryParentBean">
- slcServerDefault.sessionFactory.HSQL
- </prop>
- </props>
- </property>
- <property name="ignoreUnresolvablePlaceholders" value="true" />
- </bean>
-
- <import resource="transaction.xml" />
- <import resource="db.xml" />
- <import resource="activemq.xml" />
-
- <!-- Services -->
- <bean id="testManagerService" class="org.argeo.slc.services.impl.test.TestManagerServiceImpl">
- <constructor-arg ref="testResultDao" />
- <constructor-arg ref="testRunDescriptorDao" />
- <constructor-arg ref="slcExecutionDao" />
- <constructor-arg ref="testResultCollectionDao" />
- </bean>
-
- <bean id="agentService" class="org.argeo.slc.services.impl.runtime.AgentServiceImpl">
- <constructor-arg ref="slcAgentDescriptorDao" />
- </bean>
-
- <bean id="agentService.jmsContainer.register" parent="template.jms.listenerContainer">
- <property name="destination" ref="slcJms.destination.agent.register" />
- <property name="messageListener">
- <bean parent="template.jms.listenerAdapter">
- <constructor-arg ref="agentService" />
- <property name="defaultListenerMethod" value="register" />
- </bean>
- </property>
- </bean>
-
- <bean id="agentService.jmsContainer.unregister" parent="template.jms.listenerContainer">
- <property name="destination" ref="slcJms.destination.agent.unregister" />
- <property name="messageListener">
- <bean parent="template.jms.listenerAdapter">
- <constructor-arg ref="agentService" />
- <property name="defaultListenerMethod" value="unregister" />
- </bean>
- </property>
- </bean>
-
-</beans>
\ No newline at end of file
+++ /dev/null
-<?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:aop="http://www.springframework.org/schema/aop"
- xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">
-
- <bean name="/resultView.xls" class="org.argeo.slc.web.mvc.result.GetResultController">
- <constructor-arg ref="testResultDao" />
- <property name="viewName" value="resultExcelView" />
- </bean>
-
- <bean name="resultExcelView" class="org.argeo.slc.web.mvc.result.ResultExcelView">
- </bean>
-
- <bean name="/resultView.pdf" class="org.argeo.slc.web.mvc.result.GetResultController">
- <constructor-arg ref="testResultDao" />
- <property name="viewName" value="resultPdfView" />
- </bean>
-
- <bean name="resultPdfView" class="org.argeo.slc.web.mvc.result.ResultPdfView">
- </bean>
-
- <bean
- class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping">
- <property name="interceptors">
- <list>
- <ref bean="osivInterceptor" />
- </list>
- </property>
- </bean>
-
-
- <bean id="viewResolverXls"
- class="org.springframework.web.servlet.view.BeanNameViewResolver">
- </bean>
-
-</beans>
\ No newline at end of file
+++ /dev/null
-<?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:aop="http://www.springframework.org/schema/aop"
- xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">
-
- <import resource="classpath:/org/argeo/slc/castor/spring/applicationContext.xml" />
-
- <bean name="/getResult.service" class="org.argeo.slc.web.mvc.result.GetResultController">
- <constructor-arg ref="testResultDao" />
- </bean>
-
- <bean name="/addResultToCollection.service"
- class="org.argeo.slc.web.mvc.result.AddResultToCollectionController">
- <constructor-arg ref="testManagerService" />
- </bean>
-
- <bean name="/removeResultFromCollection.service"
- class="org.argeo.slc.web.mvc.result.RemoveResultFromCollectionController">
- <constructor-arg ref="testResultCollectionDao" />
- <constructor-arg ref="testManagerService" />
- </bean>
-
- <bean name="/listCollectionRefs.service"
- class="org.argeo.slc.web.mvc.result.ResultCollectionReferencesController">
- <constructor-arg ref="testResultCollectionDao" />
- </bean>
-
- <bean name="/listResultAttributes.service"
- class="org.argeo.slc.web.mvc.result.ListResultAttributesController">
- <constructor-arg ref="testResultCollectionDao" />
- </bean>
-
- <bean name="/listResults.service" class="org.argeo.slc.web.mvc.result.ListResultsController">
- <constructor-arg ref="testResultCollectionDao" />
- </bean>
-
- <bean name="/copyCollectionToCollection.service"
- class="org.argeo.slc.web.mvc.result.CopyCollectionToCollectionController">
- <constructor-arg ref="testResultCollectionDao" />
- <constructor-arg ref="testManagerService" />
- </bean>
-
- <bean name="/listAgents.service" class="org.argeo.slc.web.mvc.runtime.ListAgentsController">
- <constructor-arg ref="slcAgentDescriptorDao" />
- </bean>
-
- <bean name="/cleanAgents.service" class="org.argeo.slc.web.mvc.runtime.CleanAgentsController">
- <constructor-arg ref="slcAgentDescriptorDao" />
- </bean>
-
- <bean name="/listSlcExecutions.service"
- class="org.argeo.slc.web.mvc.process.ListSlcExecutionsController">
- <constructor-arg ref="slcExecutionDao" />
- </bean>
-
- <bean name="/getExecutionDescriptor.service"
- class="org.argeo.slc.web.mvc.execution.GetModuleDescriptor">
- <property name="agentFactory" ref="agentFactory" />
- </bean>
-
- <bean name="/listModulesDescriptors.service"
- class="org.argeo.slc.web.mvc.execution.ListModulesDescriptors">
- <property name="agentFactory" ref="agentFactory" />
- </bean>
-
- <bean id="handlerMapping"
- class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping">
- <property name="interceptors">
- <list>
- <ref bean="osivInterceptor" />
- </list>
- </property>
- </bean>
-
- <bean id="viewResolver" class="org.argeo.slc.web.mvc.MarshallerViewResolver">
- <constructor-arg ref="slcDefault.castor.marshaller" />
- </bean>
-
-
-</beans>
\ No newline at end of file
+++ /dev/null
-<?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:aop="http://www.springframework.org/schema/aop"
- xmlns:tx="http://www.springframework.org/schema/tx"
- xsi:schemaLocation="
- http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
- http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
- http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">
-
- <import
- resource="classpath:/org/argeo/slc/castor/spring/applicationContext.xml" />
- <import
- resource="classpath:/org/argeo/slc/xml/spring/applicationContext.xml" />
-
- <bean name="slcExecutionRequestEp"
- class="org.argeo.slc.ws.process.SlcExecutionRequestEp">
- <constructor-arg ref="slcExecutionDao" />
- <property name="marshaller" ref="slcDefault.castor.marshaller" />
- <property name="unmarshaller"
- ref="slcDefault.castor.marshaller" />
- </bean>
-
- <bean name="slcExecutionStepsRequestEp"
- class="org.argeo.slc.ws.process.SlcExecutionStepsRequestEp">
- <constructor-arg ref="slcExecutionDao" />
- <property name="marshaller" ref="slcDefault.castor.marshaller" />
- <property name="unmarshaller"
- ref="slcDefault.castor.marshaller" />
- </bean>
-
- <bean name="createTreeTestResultRequestEp"
- class="org.argeo.slc.ws.test.tree.CreateTreeTestResultRequestEp">
- <constructor-arg ref="testResultDao" />
- <constructor-arg ref="testManagerService" />
- <property name="marshaller" ref="slcDefault.castor.marshaller" />
- <property name="unmarshaller"
- ref="slcDefault.castor.marshaller" />
- </bean>
-
- <bean name="closeTreeTestResultRequestEp"
- class="org.argeo.slc.ws.test.tree.CloseTreeTestResultRequestEp">
- <constructor-arg ref="testResultDao" />
- <property name="marshaller" ref="slcDefault.castor.marshaller" />
- <property name="unmarshaller"
- ref="slcDefault.castor.marshaller" />
- </bean>
-
- <bean name="resultPartRequestEp"
- class="org.argeo.slc.ws.test.tree.ResultPartRequestEp">
- <constructor-arg ref="testResultDao" />
- <constructor-arg ref="testManagerService" />
- <property name="marshaller" ref="slcDefault.castor.marshaller" />
- <property name="unmarshaller"
- ref="slcDefault.castor.marshaller" />
- </bean>
-
- <bean id="endPointMapping"
- class="org.springframework.ws.server.endpoint.mapping.PayloadRootQNameEndpointMapping">
- <property name="mappings">
-
- <props>
- <prop
- key="{http://argeo.org/projects/slc/schemas}slc-execution-request">
- slcExecutionRequestEp
- </prop>
- <prop
- key="{http://argeo.org/projects/slc/schemas}slc-execution-status-request">
- slcExecutionRequestEp
- </prop>
- <prop
- key="{http://argeo.org/projects/slc/schemas}slc-execution-steps-request">
- slcExecutionStepsRequestEp
- </prop>
- <prop
- key="{http://argeo.org/projects/slc/schemas}create-tree-test-result-request">
- createTreeTestResultRequestEp
- </prop>
- <prop
- key="{http://argeo.org/projects/slc/schemas}close-tree-test-result-request">
- closeTreeTestResultRequestEp
- </prop>
- <prop
- key="{http://argeo.org/projects/slc/schemas}result-part-request">
- resultPartRequestEp
- </prop>
- </props>
- </property>
-
- <property name="interceptors">
- <bean
- class="org.springframework.ws.server.endpoint.interceptor.PayloadLoggingInterceptor" />
- </property>
- </bean>
-
- <bean id="slcDefinition"
- class="org.springframework.ws.wsdl.wsdl11.DefaultWsdl11Definition">
- <property name="schema" ref="slcDefault.xml.xsdSchema" />
- <property name="portTypeName" value="Slc" />
- <property name="targetNamespace"
- value="http://argeo.org/projects/slc/definitions" />
- <property name="requestSuffix" value="-request" />
- </bean>
-
- <bean class="org.argeo.slc.ws.CustomSoapExceptionResolver" />
-
- <!-- Web Services transactions -->
- <aop:config>
- <aop:pointcut id="epMethods"
- expression="execution(* org.springframework.ws.server.endpoint.MessageEndpoint.invoke(..))" />
- <aop:advisor advice-ref="epAdvice" pointcut-ref="epMethods" />
- </aop:config>
-
- <tx:advice id="epAdvice" transaction-manager="transactionManager">
- <tx:attributes>
- <tx:method name="*" propagation="REQUIRED" />
- </tx:attributes>
- </tx:advice>
-</beans>
\ No newline at end of file
+++ /dev/null
-<?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:aop="http://www.springframework.org/schema/aop"
- xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">
-
- <import resource="classpath:/org/argeo/slc/castor/spring/applicationContext.xml" />
-
- <bean
- class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping">
- <property name="interceptors">
- <list>
- <ref bean="osivInterceptor" />
- </list>
- </property>
- </bean>
-
-
- <bean id="viewResolverXslt" class="org.argeo.slc.web.mvc.XsltMarshallerViewResolver">
- <property name="viewClass">
- <value>org.argeo.slc.web.mvc.XsltMarshallerView
- </value>
- </property>
- <property name="prefix">
- <value>WEB-INF/xslt/</value>
- </property>
- <property name="suffix">
- <value>.xsl</value>
- </property>
- <property name="marshaller" ref="slcDefault.castor.marshaller" />
- </bean>
-
-</beans>
\ No newline at end of file
+++ /dev/null
-<?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:aop="http://www.springframework.org/schema/aop"
- xmlns:tx="http://www.springframework.org/schema/tx"
- xsi:schemaLocation="
- http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
- http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
- http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">
-
- <!-- Transaction -->
- <bean id="transactionManager"
- class="org.springframework.orm.hibernate3.HibernateTransactionManager"
- lazy-init="false">
- <property name="sessionFactory" ref="sessionFactory" />
- </bean>
-
- <!-- DAO transactions -->
- <aop:config>
- <aop:pointcut id="daoProcessMethods"
- expression="execution(* org.argeo.slc.dao.process.*.*(..))" />
- <aop:advisor advice-ref="daoAdvice" pointcut-ref="daoProcessMethods" />
- </aop:config>
-
- <aop:config>
- <aop:pointcut id="daoRuntimeMethods"
- expression="execution(* org.argeo.slc.dao.runtime.*.*(..))" />
- <aop:advisor advice-ref="daoAdvice" pointcut-ref="daoRuntimeMethods" />
- </aop:config>
-
- <aop:config>
- <aop:pointcut id="daoTestMethods"
- expression="execution(* org.argeo.slc.dao.test.*.*(..))" />
- <aop:advisor advice-ref="daoAdvice" pointcut-ref="daoTestMethods" />
- </aop:config>
-
- <aop:config>
- <aop:pointcut id="daoTestTreeMethods"
- expression="execution(* org.argeo.slc.dao.test.tree.*.*(..))" />
- <aop:advisor advice-ref="daoAdvice" pointcut-ref="daoTestTreeMethods" />
- </aop:config>
-
- <tx:advice id="daoAdvice" transaction-manager="transactionManager">
- <tx:attributes>
- <tx:method name="get*" propagation="REQUIRED" read-only="true" />
- <tx:method name="list*" propagation="REQUIRED" read-only="true" />
- <tx:method name="*" propagation="REQUIRED" />
- </tx:attributes>
- </tx:advice>
-<!--
- <aop:config>
- <aop:pointcut id="pointcut.services.allMethods"
- expression="execution(* org.argeo.slc.services.*.*.*(..))" />
- <aop:advisor advice-ref="advice.allMethodsRequired"
- pointcut-ref="pointcut.services.allMethods" />
- </aop:config>
-
- <tx:advice id="advice.allMethodsRequired"
- transaction-manager="transactionManager">
- <tx:attributes>
- <tx:method name="*" propagation="REQUIRED" />
- </tx:attributes>
- </tx:advice>
- -->
-</beans>
\ No newline at end of file
package org.argeo.slc.runtime;
+import java.util.List;
+
public interface SlcAgentFactory {
public SlcAgent getAgent(String uuid);
+
+ public void pingAll(List<String> activeAgentIds);
}
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageListener;
-import javax.jms.TextMessage;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.argeo.slc.execution.ExecutionModule;
import org.argeo.slc.execution.ExecutionModuleDescriptor;
import org.argeo.slc.msg.ExecutionAnswer;
+import org.argeo.slc.msg.ReferenceList;
import org.argeo.slc.process.SlcExecution;
import org.argeo.slc.runtime.SlcAgent;
import org.argeo.slc.runtime.SlcAgentDescriptor;
public final static String PROPERTY_QUERY = "query";
public final static String PROPERTY_SLC_AGENT_ID = "slc_agentId";
+ public final static String QUERY_PING_ALL = "pingAll";
+
private final static Log log = LogFactory.getLog(JmsAgent.class);
private final SlcAgentDescriptor agentDescriptor;
throw new SlcException("Cannot analyze incoming message " + message);
}
- final Object response = process(query, message);
+ final Object response;
+ final Destination destinationSend;
+ if (QUERY_PING_ALL.equals(query)) {
+ ReferenceList refList = (ReferenceList) convertFrom(message);
+ if (!refList.getReferences().contains(agentDescriptor.getUuid())) {
+ response = agentDescriptor;
+ destinationSend = agentRegister;
+ log.info("Agent #" + agentDescriptor.getUuid()
+ + " registering to " + agentRegister
+ + " in reply to a " + QUERY_PING_ALL + " query");
+ } else {
+ return;
+ }
+ } else {
+ response = process(query, message);
+ destinationSend = responseDestination;
+ }
new Thread() {
public void run() {
// Send response
- jmsTemplate.convertAndSend(responseDestination, response,
+ jmsTemplate.convertAndSend(destinationSend, response,
new MessagePostProcessor() {
public Message postProcessMessage(
Message messageToSend) throws JMSException {
- messageToSend
- .setStringProperty(
- PROPERTY_QUERY,
- message
- .getStringProperty(PROPERTY_QUERY));
+ messageToSend.setStringProperty(PROPERTY_QUERY,
+ query);
messageToSend.setStringProperty(
PROPERTY_SLC_AGENT_ID, agentDescriptor
.getUuid());
- messageToSend.setJMSCorrelationID(message
- .getJMSCorrelationID());
+ messageToSend
+ .setJMSCorrelationID(correlationId);
return messageToSend;
}
});
if (log.isDebugEnabled())
- log.debug("Sent response to query " + query
- + " with correlationId " + correlationId);
+ log.debug("Sent response to query '" + query
+ + "' with correlationId " + correlationId);
}
}.start();
}
}
- protected Object convertFrom(Message message) throws JMSException {
- return jmsTemplate.getMessageConverter().fromMessage(message);
+ protected Object convertFrom(Message message) {
+ try {
+ return jmsTemplate.getMessageConverter().fromMessage(message);
+ } catch (JMSException e) {
+ throw new SlcException("Cannot convert message", e);
+ }
}
public void setResponseDestination(Destination responseDestination) {
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.Session;
-import javax.jms.TextMessage;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.argeo.slc.runtime.SlcAgentDescriptor;
import org.springframework.jms.core.JmsTemplate;
import org.springframework.jms.core.MessageCreator;
-import org.springframework.jms.support.converter.MessageConverter;
public class JmsAgentProxy implements SlcAgent {
private final static Log log = LogFactory.getLog(JmsAgentProxy.class);
private final Destination requestDestination;
private final Destination responseDestination;
private final JmsTemplate jmsTemplate;
- private final MessageConverter messageConverter;
public JmsAgentProxy(String agentUuid, Destination requestDestination,
- Destination responseDestination, JmsTemplate jmsTemplate,
- MessageConverter messageConverter) {
+ Destination responseDestination, JmsTemplate jmsTemplate) {
this.agentUuid = agentUuid;
this.requestDestination = requestDestination;
this.responseDestination = responseDestination;
this.jmsTemplate = jmsTemplate;
- this.messageConverter = messageConverter;
}
public ExecutionModuleDescriptor getExecutionModuleDescriptor(
+ agentUuid);
try {
- return messageConverter.fromMessage(responseMsg);
+ return fromMessage(responseMsg);
} catch (Exception e) {
throw new SlcException("Could not convert response from agent "
+ agentUuid + " with correlationId " + correlationId
}
}
+ protected Object fromMessage(Message message) throws JMSException {
+ return jmsTemplate.getMessageConverter().fromMessage(message);
+ }
+
+ protected Message toMessage(Object obj, Session session)
+ throws JMSException {
+ return jmsTemplate.getMessageConverter().toMessage(obj, session);
+ }
+
protected class AgentMC implements MessageCreator {
private final String query;
private Object body = null;
if (body == null)
msg = session.createTextMessage();
else
- msg = messageConverter.toMessage(body, session);
+ msg = toMessage(body, session);
msg.setStringProperty(JmsAgent.PROPERTY_SLC_AGENT_ID, agentUuid);
msg.setStringProperty(JmsAgent.PROPERTY_QUERY, query);
msg.setJMSCorrelationID(correlationId);
package org.argeo.slc.jms;
+import java.util.List;
+import java.util.UUID;
+
import javax.jms.Destination;
+import javax.jms.JMSException;
+import javax.jms.Message;
+import org.argeo.slc.msg.ReferenceList;
import org.argeo.slc.runtime.SlcAgent;
import org.argeo.slc.runtime.SlcAgentFactory;
import org.springframework.jms.core.JmsTemplate;
-import org.springframework.jms.support.converter.MessageConverter;
+import org.springframework.jms.core.MessagePostProcessor;
public class JmsAgentProxyFactory implements SlcAgentFactory {
private Destination requestDestination;
private Destination responseDestination;
+ private Destination pingAllDestination;
private JmsTemplate jmsTemplate;
- private MessageConverter messageConverter;
public SlcAgent getAgent(String uuid) {
return new JmsAgentProxy(uuid, requestDestination, responseDestination,
- jmsTemplate, messageConverter);
+ jmsTemplate);
+ }
+
+ public void pingAll(List<String> activeAgentIds) {
+ ReferenceList referenceList = new ReferenceList(activeAgentIds);
+ jmsTemplate.convertAndSend(pingAllDestination, referenceList,
+ new MessagePostProcessor() {
+
+ public Message postProcessMessage(Message message)
+ throws JMSException {
+ message.setJMSCorrelationID(UUID.randomUUID()
+ .toString());
+ message.setStringProperty(JmsAgent.PROPERTY_QUERY,
+ JmsAgent.QUERY_PING_ALL);
+ return message;
+ }
+ });
}
public void setRequestDestination(Destination requestDestination) {
this.jmsTemplate = jmsTemplate;
}
- public void setMessageConverter(MessageConverter messageConverter) {
- this.messageConverter = messageConverter;
+ public void setPingAllDestination(Destination pingAllDestination) {
+ this.pingAllDestination = pingAllDestination;
}
}
parent="slcJms.amTopic" />
<bean id="slcJms.destination.agent.response" p:physicalName="agent.response"
parent="slcJms.amTopic" />
+ <bean id="slcJms.destination.agent.pingAll" p:physicalName="agent.pingAll"
+ parent="slcJms.amTopic" />
<!-- Test result service -->
<bean id="slcJms.destination.test.create" p:physicalName="test.create"
public class ReferenceList {
private List<String> references = new ArrayList<String>();
+ public ReferenceList() {
+ }
+
+ public ReferenceList(List<String> references) {
+ this.references = references;
+ }
+
public List<String> getReferences() {
return references;
}
Bundle-SymbolicName: org.argeo.slc.agent
-Bundle-Version: 0.11.3.qualifier
+Bundle-Version: 0.11.3.SNAPSHOT
Bundle-Name: Argeo SLC Agent
Import-Package:
javax.jms,
<import resource="classpath:org/argeo/slc/activemq/spring.xml" />
- <bean
+ <bean id="jmsAgent.listener.request"
class="org.springframework.jms.listener.DefaultMessageListenerContainer">
<property name="connectionFactory" ref="jmsConnectionFactory" />
<property name="destination" ref="slcJms.destination.agent.request" />
<property name="messageSelector">
<bean factory-bean="jmsAgent" factory-method="getMessageSelector" />
</property>
+ <property name="transactionManager" ref="jmsTransactionManager" />
</bean>
-<!-- <bean id="jmsAgent.listener.newExecution"
+ <bean id="jmsAgent.listener.pingAll"
class="org.springframework.jms.listener.DefaultMessageListenerContainer">
<property name="connectionFactory" ref="jmsConnectionFactory" />
- <property name="destination" ref="slcJms.destination.agent.newExecution" />
- <property name="messageListener" ref="jmsAgent" /> -->
- <!-- <property name="messageListener">
- <bean parent="slcTemplate.jms.listenerAdapterCastor">
- <constructor-arg ref="jmsAgent" />
- <property name="defaultListenerMethod" value="runSlcExecution" />
- </bean>
- </property> -->
- <!-- <property name="messageSelector">
- <bean factory-bean="jmsAgent" factory-method="getMessageSelector" />
- </property>
- </bean> -->
+ <property name="destination" ref="slcJms.destination.agent.pingAll" />
+ <property name="messageListener" ref="jmsAgent" />
+ <property name="transactionManager" ref="jmsTransactionManager" />
+ </bean>
<bean id="jmsAgent" class="org.argeo.slc.jms.JmsAgent">
<property name="agentRegister" ref="slcJms.destination.agent.register" />
<property name="connectionFactory" ref="jmsConnectionFactory" />
</bean>
-
+ <bean id="jmsTransactionManager"
+ class="org.springframework.jms.connection.JmsTransactionManager">
+ <property name="connectionFactory" ref="jmsConnectionFactory" />
+ </bean>
</beans>
\ No newline at end of file
Bundle-SymbolicName: org.argeo.slc.server.activemq
-Bundle-Version: 0.11.3.qualifier
+Bundle-Version: 0.11.3.SNAPSHOT
Import-Package: javax.jms,
javax.management.j2ee.statistics,
org.apache.commons.logging,
org.apache.activemq.pool,
- org.apache.commons.pool
+ org.apache.commons.pool,
+ org.springframework.transaction
Require-Bundle:
org.argeo.slc.specs,
org.argeo.slc.server,
org.argeo.slc.support.activemq,
+ com.springsource.org.castor,
org.springframework.core,
org.springframework.context,
org.springframework.beans,
org.springframework.oxm,
org.springframework.jms,
- com.springsource.org.castor,
org.argeo.dep.osgi.activemq
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">\r
\r
<service ref="jmsConnectionFactory" interface="javax.jms.ConnectionFactory" />\r
+ <service ref="jmsTransactionManager"\r
+ interface="org.springframework.transaction.PlatformTransactionManager" />\r
\r
<service ref="agentFactory" interface="org.argeo.slc.runtime.SlcAgentFactory" />\r
\r
</bean>
<!-- Embedded broker -->
- <amq:broker useJmx="false" persistent="false">
+ <amq:broker id="broker" useJmx="false" persistent="false">
<amq:transportConnectors>
<amq:transportConnector uri="${slc.server.jms.url}" />
</amq:transportConnectors>
</amq:broker>
<!-- Connection Factory -->
- <!--
- <bean id="jmsConnectionFactory"
- class="org.springframework.jms.connection.SingleConnectionFactory">
- <property name="targetConnectionFactory"> <bean
- id="slcDefault.jms.amqConnectionFactory"
- class="org.apache.activemq.ActiveMQConnectionFactory"> <property
- name="brokerURL"> <value>vm://localhost</value> </property> </bean>
- </property> </bean>
- -->
-
<bean id="jmsConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory"
- destroy-method="stop">
+ destroy-method="stop" depends-on="broker">
<property name="connectionFactory">
<bean class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL">
</property>
</bean>
+ <bean id="jmsTransactionManager"
+ class="org.springframework.jms.connection.JmsTransactionManager">
+ <property name="connectionFactory" ref="jmsConnectionFactory" />
+ </bean>
+
+ <!-- Agent Factory -->
<bean id="agentFactory" class="org.argeo.slc.jms.JmsAgentProxyFactory">
<property name="jmsTemplate">
<bean class="org.springframework.jms.core.JmsTemplate">
<property name="connectionFactory" ref="jmsConnectionFactory" />
+ <property name="messageConverter" ref="slcDefault.jms.castorMessageConverter" />
<property name="receiveTimeout" value="${slc.server.jms.agentProxy.timeout}" />
</bean>
</property>
- <property name="messageConverter" ref="slcDefault.jms.castorMessageConverter" />
<property name="requestDestination" ref="slcJms.destination.agent.request" />
<property name="responseDestination" ref="slcJms.destination.agent.response" />
+ <property name="pingAllDestination" ref="slcJms.destination.agent.pingAll" />
</bean>
Bundle-SymbolicName: org.argeo.slc.server.catalina
-Bundle-Version: 0.11.3.qualifier
+Bundle-Version: 0.11.3.SNAPSHOT
Fragment-Host: com.springsource.org.apache.catalina;bundle-version="[6.0.16,7.0.0)"
Bundle-SymbolicName: org.argeo.slc.server.hibernate
-Bundle-Version: 0.11.3.qualifier
+Bundle-Version: 0.11.3.SNAPSHOT
Import-Package:
org.aopalliance.aop,
org.hibernate,
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
- <service ref="transactionManager"
+ <service ref="hibernateTransactionManager"
interface="org.springframework.transaction.PlatformTransactionManager" />
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">
<!-- Transaction -->
- <bean id="transactionManager"
+ <bean id="hibernateTransactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager"
lazy-init="false">
<property name="sessionFactory" ref="sessionFactory" />
<aop:advisor advice-ref="daoAdvice" pointcut-ref="daoTestTreeMethods" />
</aop:config>
- <tx:advice id="daoAdvice" transaction-manager="transactionManager">
+ <tx:advice id="daoAdvice" transaction-manager="hibernateTransactionManager">
<tx:attributes>
<tx:method name="get*" propagation="REQUIRED" read-only="true" />
<tx:method name="list*" propagation="REQUIRED" read-only="true" />
Bundle-SymbolicName: org.argeo.slc.server.hsqldb
-Bundle-Version: 0.11.3.qualifier
+Bundle-Version: 0.11.3.SNAPSHOT
Require-Bundle: org.argeo.slc.server,
org.argeo.slc.specs,
org.argeo.slc.support.simple
Bundle-SymbolicName: org.argeo.slc.server.jdbc
-Bundle-Version: 0.11.3.qualifier
+Bundle-Version: 0.11.3.SNAPSHOT
Fragment-Host: org.springframework.jdbc
Import-Package:
com.mysql.jdbc;resolution:=optional,
Bundle-SymbolicName: org.argeo.slc.server.jms
-Bundle-Version: 0.11.3.qualifier
+Bundle-Version: 0.11.3.SNAPSHOT
Import-Package: javax.jms,
javax.management.j2ee.statistics,
- org.apache.commons.logging
+ org.apache.commons.logging,
+ org.springframework.transaction
Require-Bundle:
org.argeo.slc.specs,
org.argeo.slc.server,
interface="org.argeo.slc.services.process.SlcExecutionService" />
<reference id="jmsConnectionFactory" interface="javax.jms.ConnectionFactory" />
+ <reference id="jmsTransactionManager"
+ interface="org.springframework.transaction.PlatformTransactionManager"
+ bean-name="jmsTransactionManager" />
<reference id="agentFactory" interface="org.argeo.slc.runtime.SlcAgentFactory" />
</beans:beans>
\ No newline at end of file
class="org.springframework.jms.listener.DefaultMessageListenerContainer"
abstract="true">
<property name="connectionFactory" ref="jmsConnectionFactory" />
+ <property name="transactionManager" ref="jmsTransactionManager" />
</bean>
<bean id="listenerAdapterCastor"
Bundle-Name: Argeo SLC MySQL
Bundle-SymbolicName: org.argeo.slc.server.mysql
-Bundle-Version: 0.11.3.qualifier
+Bundle-Version: 0.11.3.SNAPSHOT
Import-Package:
com.mysql.jdbc,
net.sf.ehcache.hibernate,
Bundle-Name: SLC Server Services
Bundle-SymbolicName: org.argeo.slc.server.services
-Bundle-Version: 0.11.3.qualifier
+Bundle-Version: 0.11.3.SNAPSHOT
Import-Package: org.hibernate.jdbc,
org.springframework.transaction,
org.springframework.aop,
Bundle-SymbolicName: org.argeo.slc.server.tomcat
-Bundle-Version: 0.11.3.qualifier
+Bundle-Version: 0.11.3.SNAPSHOT
Fragment-Host: org.argeo.dep.osgi.catalina.start
Web-ContextPath: org.argeo.slc.webapp
Bundle-Name: SLC Webapp
Bundle-SymbolicName: org.argeo.slc.webapp
-Bundle-Version: 0.11.3.qualifier
+Bundle-Version: 0.11.3.SNAPSHOT
Bundle-ClassPath: WEB-INF/classes
Import-Package: com.sun.xml.messaging.saaj.soap;optional=true,
javax.servlet,
<?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:aop="http://www.springframework.org/schema/aop"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">
- <import
- resource="classpath:/org/argeo/slc/server/spring/slc-doc-servlet.xml" />
+ <bean name="/resultView.xls" class="org.argeo.slc.web.mvc.result.GetResultController">
+ <constructor-arg ref="testResultDao" />
+ <property name="viewName" value="resultExcelView" />
+ </bean>
+
+ <bean name="resultExcelView" class="org.argeo.slc.web.mvc.result.ResultExcelView">
+ </bean>
+
+ <bean name="/resultView.pdf" class="org.argeo.slc.web.mvc.result.GetResultController">
+ <constructor-arg ref="testResultDao" />
+ <property name="viewName" value="resultPdfView" />
+ </bean>
+
+ <bean name="resultPdfView" class="org.argeo.slc.web.mvc.result.ResultPdfView">
+ </bean>
+
+ <bean
+ class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping">
+ <property name="interceptors">
+ <list>
+ <ref bean="osivInterceptor" />
+ </list>
+ </property>
+ </bean>
+
+
+ <bean id="viewResolverXls"
+ class="org.springframework.web.servlet.view.BeanNameViewResolver">
+ </bean>
+
</beans>
\ No newline at end of file
\r
<reference interface="org.hibernate.SessionFactory" id="sessionFactory" />\r
\r
-<!-- \r
- <reference interface="org.argeo.slc.execution.ExecutionModulesManager"\r
+ <!--\r
+ <reference interface="org.argeo.slc.execution.ExecutionModulesManager"\r
id="modulesManager" />\r
- -->\r
+ -->\r
<reference id="testManagerService"\r
interface="org.argeo.slc.services.test.TestManagerService" />\r
<reference id="agentService" interface="org.argeo.slc.services.runtime.AgentService" />\r
\r
- <reference id="transactionManager"\r
- interface="org.springframework.transaction.PlatformTransactionManager" />\r
+ <reference id="hibernateTransactionManager"\r
+ interface="org.springframework.transaction.PlatformTransactionManager"\r
+ bean-name="hibernateTransactionManager" />\r
\r
<reference id="agentFactory" interface="org.argeo.slc.runtime.SlcAgentFactory" />\r
\r
<?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:aop="http://www.springframework.org/schema/aop"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">
- <import
- resource="classpath:/org/argeo/slc/server/spring/slc-service-servlet.xml" />
+ <import resource="classpath:/org/argeo/slc/castor/spring/applicationContext.xml" />
+
+ <bean name="/getResult.service" class="org.argeo.slc.web.mvc.result.GetResultController">
+ <constructor-arg ref="testResultDao" />
+ </bean>
+
+ <bean name="/addResultToCollection.service"
+ class="org.argeo.slc.web.mvc.result.AddResultToCollectionController">
+ <constructor-arg ref="testManagerService" />
+ </bean>
+
+ <bean name="/removeResultFromCollection.service"
+ class="org.argeo.slc.web.mvc.result.RemoveResultFromCollectionController">
+ <constructor-arg ref="testResultCollectionDao" />
+ <constructor-arg ref="testManagerService" />
+ </bean>
+
+ <bean name="/listCollectionRefs.service"
+ class="org.argeo.slc.web.mvc.result.ResultCollectionReferencesController">
+ <constructor-arg ref="testResultCollectionDao" />
+ </bean>
+
+ <bean name="/listResultAttributes.service"
+ class="org.argeo.slc.web.mvc.result.ListResultAttributesController">
+ <constructor-arg ref="testResultCollectionDao" />
+ </bean>
+
+ <bean name="/listResults.service" class="org.argeo.slc.web.mvc.result.ListResultsController">
+ <constructor-arg ref="testResultCollectionDao" />
+ </bean>
+
+ <bean name="/copyCollectionToCollection.service"
+ class="org.argeo.slc.web.mvc.result.CopyCollectionToCollectionController">
+ <constructor-arg ref="testResultCollectionDao" />
+ <constructor-arg ref="testManagerService" />
+ </bean>
+
+ <bean name="/listAgents.service" class="org.argeo.slc.web.mvc.runtime.ListAgentsController">
+ <constructor-arg ref="slcAgentDescriptorDao" />
+ </bean>
+
+ <bean name="/cleanAgents.service" class="org.argeo.slc.web.mvc.runtime.CleanAgentsController">
+ <constructor-arg ref="slcAgentDescriptorDao" />
+ </bean>
+
+ <bean name="/listSlcExecutions.service"
+ class="org.argeo.slc.web.mvc.process.ListSlcExecutionsController">
+ <constructor-arg ref="slcExecutionDao" />
+ </bean>
+
+ <bean name="/getExecutionDescriptor.service" class="org.argeo.slc.web.mvc.execution.GetModuleDescriptor">
+ <property name="agentFactory" ref="agentFactory" />
+ </bean>
+
+ <bean name="/listModulesDescriptors.service"
+ class="org.argeo.slc.web.mvc.execution.ListModulesDescriptors">
+ <property name="agentFactory" ref="agentFactory" />
+ </bean>
+
+ <bean id="handlerMapping"
+ class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping">
+ <property name="interceptors">
+ <list>
+ <ref bean="osivInterceptor" />
+ </list>
+ </property>
+ </bean>
+
+ <bean id="viewResolver" class="org.argeo.slc.web.mvc.MarshallerViewResolver">
+ <constructor-arg ref="slcDefault.castor.marshaller" />
+ </bean>
+
+
</beans>
\ No newline at end of file
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">\r
\r
- <import resource="classpath:/org/argeo/slc/server/spring/slc-ws-servlet.xml"/>
+ <import\r
+ resource="classpath:/org/argeo/slc/castor/spring/applicationContext.xml" />\r
+ <import\r
+ resource="classpath:/org/argeo/slc/xml/spring/applicationContext.xml" />\r
+\r
+ <bean name="slcExecutionRequestEp"\r
+ class="org.argeo.slc.ws.process.SlcExecutionRequestEp">\r
+ <constructor-arg ref="slcExecutionDao" />\r
+ <property name="marshaller" ref="slcDefault.castor.marshaller" />\r
+ <property name="unmarshaller"\r
+ ref="slcDefault.castor.marshaller" />\r
+ </bean>\r
+\r
+ <bean name="slcExecutionStepsRequestEp"\r
+ class="org.argeo.slc.ws.process.SlcExecutionStepsRequestEp">\r
+ <constructor-arg ref="slcExecutionDao" />\r
+ <property name="marshaller" ref="slcDefault.castor.marshaller" />\r
+ <property name="unmarshaller"\r
+ ref="slcDefault.castor.marshaller" />\r
+ </bean>\r
+\r
+ <bean name="createTreeTestResultRequestEp"\r
+ class="org.argeo.slc.ws.test.tree.CreateTreeTestResultRequestEp">\r
+ <constructor-arg ref="testResultDao" />\r
+ <constructor-arg ref="testManagerService" />\r
+ <property name="marshaller" ref="slcDefault.castor.marshaller" />\r
+ <property name="unmarshaller"\r
+ ref="slcDefault.castor.marshaller" />\r
+ </bean>\r
+\r
+ <bean name="closeTreeTestResultRequestEp"\r
+ class="org.argeo.slc.ws.test.tree.CloseTreeTestResultRequestEp">\r
+ <constructor-arg ref="testResultDao" />\r
+ <property name="marshaller" ref="slcDefault.castor.marshaller" />\r
+ <property name="unmarshaller"\r
+ ref="slcDefault.castor.marshaller" />\r
+ </bean>\r
+\r
+ <bean name="resultPartRequestEp"\r
+ class="org.argeo.slc.ws.test.tree.ResultPartRequestEp">\r
+ <constructor-arg ref="testResultDao" />\r
+ <constructor-arg ref="testManagerService" />\r
+ <property name="marshaller" ref="slcDefault.castor.marshaller" />\r
+ <property name="unmarshaller"\r
+ ref="slcDefault.castor.marshaller" />\r
+ </bean>\r
+\r
+ <bean id="endPointMapping"\r
+ class="org.springframework.ws.server.endpoint.mapping.PayloadRootQNameEndpointMapping">\r
+ <property name="mappings">\r
+\r
+ <props>\r
+ <prop\r
+ key="{http://argeo.org/projects/slc/schemas}slc-execution-request">\r
+ slcExecutionRequestEp\r
+ </prop>\r
+ <prop\r
+ key="{http://argeo.org/projects/slc/schemas}slc-execution-status-request">\r
+ slcExecutionRequestEp\r
+ </prop>\r
+ <prop\r
+ key="{http://argeo.org/projects/slc/schemas}slc-execution-steps-request">\r
+ slcExecutionStepsRequestEp\r
+ </prop>\r
+ <prop\r
+ key="{http://argeo.org/projects/slc/schemas}create-tree-test-result-request">\r
+ createTreeTestResultRequestEp\r
+ </prop>\r
+ <prop\r
+ key="{http://argeo.org/projects/slc/schemas}close-tree-test-result-request">\r
+ closeTreeTestResultRequestEp\r
+ </prop>\r
+ <prop\r
+ key="{http://argeo.org/projects/slc/schemas}result-part-request">\r
+ resultPartRequestEp\r
+ </prop>\r
+ </props>\r
+ </property>\r
+\r
+ <property name="interceptors">\r
+ <bean\r
+ class="org.springframework.ws.server.endpoint.interceptor.PayloadLoggingInterceptor" />\r
+ </property>\r
+ </bean>\r
+\r
+ <bean id="slcDefinition"\r
+ class="org.springframework.ws.wsdl.wsdl11.DefaultWsdl11Definition">\r
+ <property name="schema" ref="slcDefault.xml.xsdSchema" />\r
+ <property name="portTypeName" value="Slc" />\r
+ <property name="targetNamespace"\r
+ value="http://argeo.org/projects/slc/definitions" />\r
+ <property name="requestSuffix" value="-request" />\r
+ </bean>\r
+\r
+ <bean class="org.argeo.slc.ws.CustomSoapExceptionResolver" />\r
+ \r
+ <!-- Web Services transactions -->\r
+ <aop:config>\r
+ <aop:pointcut id="epMethods"\r
+ expression="execution(* org.springframework.ws.server.endpoint.MessageEndpoint.invoke(..))" />\r
+ <aop:advisor advice-ref="epAdvice" pointcut-ref="epMethods" />\r
+ </aop:config>\r
+\r
+ <tx:advice id="epAdvice" transaction-manager="hibernateTransactionManager">\r
+ <tx:attributes>\r
+ <tx:method name="*" propagation="REQUIRED" />\r
+ </tx:attributes>\r
+ </tx:advice>\r
</beans>
\ No newline at end of file
<?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:aop="http://www.springframework.org/schema/aop"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">
- <import
- resource="classpath:/org/argeo/slc/server/spring/slc-xslt-servlet.xml" />
+ <import resource="classpath:/org/argeo/slc/castor/spring/applicationContext.xml" />
- <bean name="/resultView.xslt"
- class="org.argeo.slc.web.mvc.result.GetResultController">
+ <bean
+ class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping">
+ <property name="interceptors">
+ <list>
+ <ref bean="osivInterceptor" />
+ </list>
+ </property>
+ </bean>
+
+
+ <bean id="viewResolverXslt" class="org.argeo.slc.web.mvc.XsltMarshallerViewResolver">
+ <property name="viewClass">
+ <value>org.argeo.slc.web.mvc.XsltMarshallerView
+ </value>
+ </property>
+ <property name="prefix">
+ <value>WEB-INF/xslt/</value>
+ </property>
+ <property name="suffix">
+ <value>.xsl</value>
+ </property>
+ <property name="marshaller" ref="slcDefault.castor.marshaller" />
+ </bean>
+
+
+ <bean name="/resultView.xslt" class="org.argeo.slc.web.mvc.result.GetResultController">
<constructor-arg ref="testResultDao" />
<property name="viewName" value="resultView" />
</bean>
- <bean name="/resultViewXml.xslt"
- class="org.argeo.slc.web.mvc.result.GetResultController">
+ <bean name="/resultViewXml.xslt" class="org.argeo.slc.web.mvc.result.GetResultController">
<constructor-arg ref="testResultDao" />
<property name="viewName" value="viewXml" />
</bean>
<groupId>org.argeo.slc.maven</groupId>
<artifactId>maven-argeo-osgi-plugin</artifactId>
<extensions>true</extensions>
+ <configuration>
+ <strictManifestVersion>true</strictManifestVersion>
+ </configuration>
</plugin>
</plugins>
</build>
Web-ContextPath: simple-web-app\r
Bundle-Name: Simple OSGi War\r
Bundle-SymbolicName: org.springframework.osgi.samples.simplewebapp\r
-Bundle-Version: 0.1.0.qualifier\r
+Bundle-Version: 0.11.3.SNAPSHOT\r
Bundle-ClassPath: WEB-INF/classes\r
Import-Package: javax.servlet,\r
javax.servlet.http,\r