Update service versions
authorMathieu Baudier <mbaudier@argeo.org>
Tue, 28 Apr 2009 13:05:48 +0000 (13:05 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Tue, 28 Apr 2009 13:05:48 +0000 (13:05 +0000)
Improve JMS

git-svn-id: https://svn.argeo.org/slc/trunk@2389 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

47 files changed:
demo/pom.xml
demo/site/org.argeo.slc.demo.basic/conf/basic.xml
demo/site/org.argeo.slc.demo.basic/conf/common.xml [deleted file]
demo/site/org.argeo.slc.demo.basic/conf/osgi.xml
org.argeo.slc/pom.xml
runtime/org.argeo.slc.osgiboot/src/main/java/org/argeo/slc/osgiboot/Activator.java
runtime/org.argeo.slc.server/.springBeans
runtime/org.argeo.slc.server/src/main/java/org/argeo/slc/services/impl/runtime/AgentServiceImpl.java
runtime/org.argeo.slc.server/src/main/resources/org/argeo/slc/server/spring/activemq.xml [deleted file]
runtime/org.argeo.slc.server/src/main/resources/org/argeo/slc/server/spring/db.xml [deleted file]
runtime/org.argeo.slc.server/src/main/resources/org/argeo/slc/server/spring/servletContext.xml [deleted file]
runtime/org.argeo.slc.server/src/main/resources/org/argeo/slc/server/spring/slc-doc-servlet.xml [deleted file]
runtime/org.argeo.slc.server/src/main/resources/org/argeo/slc/server/spring/slc-service-servlet.xml [deleted file]
runtime/org.argeo.slc.server/src/main/resources/org/argeo/slc/server/spring/slc-ws-servlet.xml [deleted file]
runtime/org.argeo.slc.server/src/main/resources/org/argeo/slc/server/spring/slc-xslt-servlet.xml [deleted file]
runtime/org.argeo.slc.server/src/main/resources/org/argeo/slc/server/spring/transaction.xml [deleted file]
runtime/org.argeo.slc.specs/src/main/java/org/argeo/slc/runtime/SlcAgentFactory.java
runtime/org.argeo.slc.support.activemq/src/main/java/org/argeo/slc/jms/JmsAgent.java
runtime/org.argeo.slc.support.activemq/src/main/java/org/argeo/slc/jms/JmsAgentProxy.java
runtime/org.argeo.slc.support.activemq/src/main/java/org/argeo/slc/jms/JmsAgentProxyFactory.java
runtime/org.argeo.slc.support.activemq/src/main/resources/org/argeo/slc/activemq/destinations.xml
runtime/org.argeo.slc.support.simple/src/main/java/org/argeo/slc/msg/ReferenceList.java
server/org.argeo.slc.siteserver/bundles/org.argeo.slc.agent/META-INF/MANIFEST.MF
server/org.argeo.slc.siteserver/bundles/org.argeo.slc.agent/META-INF/spring/jms.xml
server/org.argeo.slc.siteserver/bundles/org.argeo.slc.server.activemq/META-INF/MANIFEST.MF
server/org.argeo.slc.siteserver/bundles/org.argeo.slc.server.activemq/META-INF/spring/activemq-osgi.xml
server/org.argeo.slc.siteserver/bundles/org.argeo.slc.server.activemq/META-INF/spring/activemq.xml
server/org.argeo.slc.siteserver/bundles/org.argeo.slc.server.catalina/META-INF/MANIFEST.MF
server/org.argeo.slc.siteserver/bundles/org.argeo.slc.server.hibernate/META-INF/MANIFEST.MF
server/org.argeo.slc.siteserver/bundles/org.argeo.slc.server.hibernate/META-INF/spring/transaction-osgi.xml
server/org.argeo.slc.siteserver/bundles/org.argeo.slc.server.hibernate/META-INF/spring/transaction.xml
server/org.argeo.slc.siteserver/bundles/org.argeo.slc.server.hsqldb/META-INF/MANIFEST.MF
server/org.argeo.slc.siteserver/bundles/org.argeo.slc.server.jdbc/META-INF/MANIFEST.MF
server/org.argeo.slc.siteserver/bundles/org.argeo.slc.server.jms/META-INF/MANIFEST.MF
server/org.argeo.slc.siteserver/bundles/org.argeo.slc.server.jms/META-INF/spring/jms-osgi.xml
server/org.argeo.slc.siteserver/bundles/org.argeo.slc.server.jms/META-INF/spring/jms.xml
server/org.argeo.slc.siteserver/bundles/org.argeo.slc.server.mysql/META-INF/MANIFEST.MF
server/org.argeo.slc.siteserver/bundles/org.argeo.slc.server.services/META-INF/MANIFEST.MF
server/org.argeo.slc.siteserver/bundles/org.argeo.slc.server.tomcat/META-INF/MANIFEST.MF
server/org.argeo.slc.siteserver/bundles/org.argeo.slc.webapp.war/META-INF/MANIFEST.MF
server/org.argeo.slc.siteserver/bundles/org.argeo.slc.webapp.war/WEB-INF/doc-servlet.xml
server/org.argeo.slc.siteserver/bundles/org.argeo.slc.webapp.war/WEB-INF/osgi.xml
server/org.argeo.slc.siteserver/bundles/org.argeo.slc.webapp.war/WEB-INF/slc-service-servlet.xml
server/org.argeo.slc.siteserver/bundles/org.argeo.slc.webapp.war/WEB-INF/slc-ws-servlet.xml
server/org.argeo.slc.siteserver/bundles/org.argeo.slc.webapp.war/WEB-INF/xslt-servlet.xml
server/org.argeo.slc.siteserver/bundles/pom.xml
server/org.argeo.slc.siteserver/bundles/simple-webapp.war/META-INF/MANIFEST.MF

index 7265e29fca6d6c69cf628e7d1b29f63942d14070..7f39cced41671ba34ee6b0f3357f4d9bc24bf0b1 100644 (file)
@@ -76,6 +76,8 @@
                                                                        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>
index 6cb92172c1c752f5cd008c0bd4a7700dfe60ee2f..efc83dc81ce18126db3045b7cee28aba2bfd6e51 100644 (file)
                </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
diff --git a/demo/site/org.argeo.slc.demo.basic/conf/common.xml b/demo/site/org.argeo.slc.demo.basic/conf/common.xml
deleted file mode 100644 (file)
index e7dcd63..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-<?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
index 94ae50a67539ead80e82d1e9d14c0b4252a9f27d..050e4c771dd6939083a81f9aa903ea6c60118306 100644 (file)
@@ -9,5 +9,5 @@
        <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
index 8b31203665338ef7f2ddafbc15d02f679d382b13..fc33ff5eaa7ac0510c1189f615e21f531fdab3b3 100644 (file)
@@ -21,7 +21,7 @@
                <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>
index c5f23e5012aae2a76e0a01dfa95248359f2d7e92..78d6024f93798f26309b740d8f2cbf81c6a5f293 100644 (file)
@@ -24,20 +24,23 @@ public class Activator implements BundleActivator {
        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);
 
@@ -56,13 +59,11 @@ public class Activator implements BundleActivator {
                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)
@@ -80,6 +81,7 @@ public class Activator implements BundleActivator {
        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;
@@ -88,7 +90,7 @@ public class Activator implements BundleActivator {
                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;
        }
@@ -330,8 +332,14 @@ public class Activator implements BundleActivator {
        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;
        }
 
@@ -368,14 +376,23 @@ public class Activator implements BundleActivator {
                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);
        }
@@ -386,10 +403,11 @@ public class Activator implements BundleActivator {
        }
 
        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 {
index 76d11cb51b1c774483047ec44075f094d71242d7..c11d814860ade8dba00c82079d3507a8a3952aee 100644 (file)
@@ -1,13 +1,12 @@
 <?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>
index 1f2397a09be8f55f94281a19b6e214c5091f78f4..fd3b42045f8abe8104e132bd6d16c9a0355ea274 100644 (file)
@@ -74,6 +74,12 @@ public class AgentServiceImpl implements AgentService, InitializingBean,
                                        }
                                }
 
+                               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);
diff --git a/runtime/org.argeo.slc.server/src/main/resources/org/argeo/slc/server/spring/activemq.xml b/runtime/org.argeo.slc.server/src/main/resources/org/argeo/slc/server/spring/activemq.xml
deleted file mode 100644 (file)
index 71dfbed..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<?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
diff --git a/runtime/org.argeo.slc.server/src/main/resources/org/argeo/slc/server/spring/db.xml b/runtime/org.argeo.slc.server/src/main/resources/org/argeo/slc/server/spring/db.xml
deleted file mode 100644 (file)
index f18ed82..0000000
+++ /dev/null
@@ -1,122 +0,0 @@
-<?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
diff --git a/runtime/org.argeo.slc.server/src/main/resources/org/argeo/slc/server/spring/servletContext.xml b/runtime/org.argeo.slc.server/src/main/resources/org/argeo/slc/server/spring/servletContext.xml
deleted file mode 100644 (file)
index bb28fd6..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-<?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
diff --git a/runtime/org.argeo.slc.server/src/main/resources/org/argeo/slc/server/spring/slc-doc-servlet.xml b/runtime/org.argeo.slc.server/src/main/resources/org/argeo/slc/server/spring/slc-doc-servlet.xml
deleted file mode 100644 (file)
index 9b58275..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-<?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
diff --git a/runtime/org.argeo.slc.server/src/main/resources/org/argeo/slc/server/spring/slc-service-servlet.xml b/runtime/org.argeo.slc.server/src/main/resources/org/argeo/slc/server/spring/slc-service-servlet.xml
deleted file mode 100644 (file)
index 8262be9..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-<?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
diff --git a/runtime/org.argeo.slc.server/src/main/resources/org/argeo/slc/server/spring/slc-ws-servlet.xml b/runtime/org.argeo.slc.server/src/main/resources/org/argeo/slc/server/spring/slc-ws-servlet.xml
deleted file mode 100644 (file)
index e5300af..0000000
+++ /dev/null
@@ -1,119 +0,0 @@
-<?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
diff --git a/runtime/org.argeo.slc.server/src/main/resources/org/argeo/slc/server/spring/slc-xslt-servlet.xml b/runtime/org.argeo.slc.server/src/main/resources/org/argeo/slc/server/spring/slc-xslt-servlet.xml
deleted file mode 100644 (file)
index b085218..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-<?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
diff --git a/runtime/org.argeo.slc.server/src/main/resources/org/argeo/slc/server/spring/transaction.xml b/runtime/org.argeo.slc.server/src/main/resources/org/argeo/slc/server/spring/transaction.xml
deleted file mode 100644 (file)
index 7e6d0ad..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-<?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
index 3ca566640bf83224c117134bb6a6f12045b19d0c..19354ae21f8268e49df596b88f061ad24ec511d5 100644 (file)
@@ -1,5 +1,9 @@
 package org.argeo.slc.runtime;
 
+import java.util.List;
+
 public interface SlcAgentFactory {
        public SlcAgent getAgent(String uuid);
+
+       public void pingAll(List<String> activeAgentIds);
 }
index 6882ebaa45b3e16bb7be69d8cf05fac52b285dfc..90818a572d0524c87a2bd7241560313af0204aa4 100644 (file)
@@ -10,7 +10,6 @@ import javax.jms.Destination;
 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;
@@ -19,6 +18,7 @@ import org.argeo.slc.core.runtime.AbstractAgent;
 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;
@@ -33,6 +33,8 @@ public class JmsAgent extends AbstractAgent implements SlcAgent,
        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;
@@ -114,31 +116,44 @@ public class JmsAgent extends AbstractAgent implements SlcAgent,
                        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();
 
@@ -175,8 +190,12 @@ public class JmsAgent extends AbstractAgent implements SlcAgent,
                }
        }
 
-       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) {
index 8837a8155993cdc4c9a04954f45e228c848e3961..e70af24a849263f550944b4822ef5b4c849de4eb 100644 (file)
@@ -7,7 +7,6 @@ import javax.jms.Destination;
 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;
@@ -19,7 +18,6 @@ import org.argeo.slc.runtime.SlcAgent;
 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);
@@ -28,16 +26,13 @@ public class JmsAgentProxy implements SlcAgent {
        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(
@@ -138,7 +133,7 @@ public class JmsAgentProxy implements SlcAgent {
                                        + 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
@@ -146,6 +141,15 @@ public class JmsAgentProxy implements SlcAgent {
                }
        }
 
+       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;
@@ -169,7 +173,7 @@ public class JmsAgentProxy implements SlcAgent {
                        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);
index 1f625e13fb3e0a292a8af21204ddccd8f297b8c8..abe854112ea9d58e0785693b21ddba1483d3e3d6 100644 (file)
@@ -1,21 +1,43 @@
 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) {
@@ -30,8 +52,8 @@ public class JmsAgentProxyFactory implements SlcAgentFactory {
                this.jmsTemplate = jmsTemplate;
        }
 
-       public void setMessageConverter(MessageConverter messageConverter) {
-               this.messageConverter = messageConverter;
+       public void setPingAllDestination(Destination pingAllDestination) {
+               this.pingAllDestination = pingAllDestination;
        }
 
 }
index 80f844d039c3fafa181d33de6c3256c0e4633ffa..453b1ade4a7ad1c2c908cfc52d92e2d6725b80c6 100644 (file)
@@ -17,6 +17,8 @@
                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"
index 44fc403e9b08a61f9f1bf3fc510505a48f4254e8..ccd728c80e30d6518ddd10e8ace8d3faf740538c 100644 (file)
@@ -6,6 +6,13 @@ import java.util.List;
 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;
        }
index ec56b18780b739069f5ef39acc40b13d30561fe5..f7a716560de199052e4976e013efc353cbe933d3 100644 (file)
@@ -1,5 +1,5 @@
 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,
index f128d3e261f1280eaf496663df9c7a41dc1ddeed..7c95e7d2fbc3b4ccef73207c8362082e5db5ae18 100644 (file)
@@ -7,7 +7,7 @@
        <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" />
@@ -61,5 +54,8 @@
                <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
index e7fa0c18a20b982de9750c184af18b23d7865f76..c365ba04311d939e785c4d9134cd4431da1a2faa 100644 (file)
@@ -1,18 +1,19 @@
 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
index f617c281b817cb32f9c71f936c9e29aaf0b73085..28f8c0a0090fbbd560ae3ae32913ac7ba9cf861f 100644 (file)
@@ -7,6 +7,8 @@
        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
index f3c4b3194b2186b96740b5e02dba817c634f9a18..55165d84b1483ab081bdd8c18a5057c500b9aa28 100644 (file)
        </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>
 
 
index 600490a54302b7a05c9806e61f03ae322f30fb5c..95ed13c45386e2cc01dc50bc9592af3ec26e0ad2 100644 (file)
@@ -1,3 +1,3 @@
 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)"
index 24a6f92a68808002ae3c9b78f03aef2d28a118e8..28c9d15fe9929774ec7b88bccbca5296ffe9a21f 100644 (file)
@@ -1,5 +1,5 @@
 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,
index d74c5d5f0f30452aff1a15215c8ac88e6c12ebfa..f9513808c1c74d5761ced630581430f869851a97 100644 (file)
@@ -7,7 +7,7 @@
        http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
 
 
-       <service ref="transactionManager"
+       <service ref="hibernateTransactionManager"
                interface="org.springframework.transaction.PlatformTransactionManager" />
 
 
index 7e6d0ad5c17b2e00b1762d1ddb786430ad609449..6051065e9bbd71abd93b5344eba1bbda91db9508 100644 (file)
@@ -8,7 +8,7 @@
        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" />
@@ -39,7 +39,7 @@
                <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" />
index fbb0e4feef42002f30c5a1435858a5d3febb31d5..9331415e1a125fe840339ac7683a57a48a690b32 100644 (file)
@@ -1,5 +1,5 @@
 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
index e5f2aca31656879c41c8008d6b3305c358b39cf9..5c23db0396c5145f9f26ac50f84f2d73aa301fc9 100644 (file)
@@ -1,5 +1,5 @@
 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,
index fbee184ee23f1cbf245ea1431ef3f8a7dbde3150..1a263df56758cc774eeb24f00afeead894e9cb49 100644 (file)
@@ -1,8 +1,9 @@
 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,
index 6c41418a6d1164fc10678f4cac9aa60b5097dbff..d644211cfb6741a65e4e9d0b99c1aa6f3db8b2c6 100644 (file)
@@ -13,6 +13,9 @@
                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
index 24cb545bb2974099e0f633b7796eae7775260607..cb7cd2da287a8887acf7070701e0554854eb4544 100644 (file)
@@ -95,6 +95,7 @@
                class="org.springframework.jms.listener.DefaultMessageListenerContainer"
                abstract="true">
                <property name="connectionFactory" ref="jmsConnectionFactory" />
+               <property name="transactionManager" ref="jmsTransactionManager" />
        </bean>
 
        <bean id="listenerAdapterCastor"
index 86720da97f6487b04497ed2864bb04c536a18dda..be865525e6e8860fbd6ba0bc6b7fab68eb31208b 100644 (file)
@@ -1,6 +1,6 @@
 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,
index 6e76992e2cee9e83be42e8c71ba891e7bf436eca..558ab8972efe41a73e2b637f6f4613c26d3719b9 100644 (file)
@@ -1,6 +1,6 @@
 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,
index faad35f3e661a038ecd9b5dc0e8aab0f3ac7b0f1..f5373a49f4bf287e26d53675602119a8a023d27e 100644 (file)
@@ -1,3 +1,3 @@
 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
index 02af45540160effa495f3a388dd2a94bbf543599..9ba6c5a942ebead58eabc83585b852c32cdb7d1b 100644 (file)
@@ -1,7 +1,7 @@
 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,
index 3b1714fcca5bb7d9671f693acd1a491cd1c3498e..ae5bfea03cc5e5e4081b14a8b2d9593da3fb07d4 100644 (file)
@@ -1,10 +1,37 @@
 <?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
index e0d51a803864f6e2ac85623ace4b9badb945a1fd..28612127b30a291136e4a157f15f41f953c1304f 100644 (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
index 11ae5380deebc50eab07b3828d329dc7ba08d854..0f913c85f96a176325041df4c89bcb6a3a0c06b6 100644 (file)
@@ -1,9 +1,79 @@
 <?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
index 18dce9a8a2cc03460055c40607abf1db654e1227..1e0da9382074c6ab1de6ad84198737012746e1b9 100644 (file)
@@ -3,5 +3,112 @@
        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
index ddfd925ce332293b458b802d1bfced7a3d7268c8..1d5e5be93d2bfbe1f90fad7487fba540d876ee1c 100644 (file)
@@ -1,20 +1,41 @@
 <?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>
index d2c3520faa6d62f2669ef7ce55603291d6e58a75..21059d4bd1af50671bd60b30fc574822505d364c 100644 (file)
@@ -17,6 +17,9 @@
                                <groupId>org.argeo.slc.maven</groupId>
                                <artifactId>maven-argeo-osgi-plugin</artifactId>
                                <extensions>true</extensions>
+                               <configuration>
+                                       <strictManifestVersion>true</strictManifestVersion>
+                               </configuration>
                        </plugin>
                </plugins>
        </build>
index ed62199511314570b2a8d371247e9c90bc6c3ebe..0f66c487e53e9dae9babc927372cdc98b6589098 100644 (file)
@@ -1,7 +1,7 @@
 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