From: Mathieu Baudier Date: Mon, 23 Feb 2009 09:09:44 +0000 (+0000) Subject: Adapt to OSGi X-Git-Tag: argeo-slc-2.1.7~2134 X-Git-Url: http://git.argeo.org/?a=commitdiff_plain;h=49d1ccd3b9f4d55d90de5e956a44bdbe83f600ef;hp=52560a6872812e76183ef04db1a0f2b1fe8c0e48;p=gpl%2Fargeo-slc.git Adapt to OSGi git-svn-id: https://svn.argeo.org/slc/trunk@2165 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- diff --git a/org.argeo.slc/pom.xml b/org.argeo.slc/pom.xml index fdc14c7be..54e1ecaad 100644 --- a/org.argeo.slc/pom.xml +++ b/org.argeo.slc/pom.xml @@ -6,7 +6,6 @@ pom Argeo SLC 0.11.3-SNAPSHOT - SLC Distribution http://www.argeo.org/projects/slc/${project.artifactId}/${project.version} @@ -292,6 +291,11 @@ limitations under the License. org.argeo.slc.server ${project.version} + + org.argeo.slc.runtime + org.argeo.slc.execution + ${project.version} + org.argeo.slc.runtime org.argeo.slc.support.ws.client diff --git a/runtime/org.argeo.slc.execution/pom.xml b/runtime/org.argeo.slc.execution/pom.xml index 8cfd1b9f8..4fc28d3f1 100644 --- a/runtime/org.argeo.slc.execution/pom.xml +++ b/runtime/org.argeo.slc.execution/pom.xml @@ -17,6 +17,18 @@ maven-jar-plugin + + org.apache.felix + maven-bundle-plugin + ${version.maven-bundle-plugin} + + + + org.argeo.slc.execution.* + + + + @@ -42,15 +54,15 @@ com.springsource.org.codehaus.groovy 1.5.7 - - org.beanshell - com.springsource.bsh - 2.0.0.b4 - net.sourceforge.cglib com.springsource.net.sf.cglib 2.1.3 + + org.objectweb.asm + com.springsource.org.objectweb.asm.attrs + 2.2.0 + diff --git a/runtime/org.argeo.slc.execution/src/main/java/org/argeo/slc/execution/ExecutionScope.java b/runtime/org.argeo.slc.execution/src/main/java/org/argeo/slc/execution/ExecutionScope.java index 0970ac853..936c6307c 100644 --- a/runtime/org.argeo.slc.execution/src/main/java/org/argeo/slc/execution/ExecutionScope.java +++ b/runtime/org.argeo.slc.execution/src/main/java/org/argeo/slc/execution/ExecutionScope.java @@ -36,7 +36,8 @@ public class ExecutionScope implements Scope { } public void registerDestructionCallback(String name, Runnable callback) { - throw new UnsupportedOperationException(); + // TODO: implement it + //throw new UnsupportedOperationException(); } public Object remove(String name) { diff --git a/runtime/org.argeo.slc.execution/src/main/java/org/argeo/slc/execution/SimpleExecutionFlow.java b/runtime/org.argeo.slc.execution/src/main/java/org/argeo/slc/execution/SimpleExecutionFlow.java index 34018ee9b..5c62cdfff 100644 --- a/runtime/org.argeo.slc.execution/src/main/java/org/argeo/slc/execution/SimpleExecutionFlow.java +++ b/runtime/org.argeo.slc.execution/src/main/java/org/argeo/slc/execution/SimpleExecutionFlow.java @@ -22,6 +22,14 @@ public class SimpleExecutionFlow implements ExecutionFlow, InitializingBean, private List executables = new ArrayList(); private final String uuid = UUID.randomUUID().toString(); + + public SimpleExecutionFlow(){ + + } + + public SimpleExecutionFlow(Map parameters){ + this.parameters.putAll(parameters); + } public void execute() { for (Executable executable : executables) { diff --git a/runtime/org.argeo.slc.execution/src/main/java/org/argeo/slc/execution/SimpleExecutionSpec.java b/runtime/org.argeo.slc.execution/src/main/java/org/argeo/slc/execution/SimpleExecutionSpec.java index 8d460ff2c..3399a78e7 100644 --- a/runtime/org.argeo.slc.execution/src/main/java/org/argeo/slc/execution/SimpleExecutionSpec.java +++ b/runtime/org.argeo.slc.execution/src/main/java/org/argeo/slc/execution/SimpleExecutionSpec.java @@ -27,7 +27,7 @@ public class SimpleExecutionSpec implements ExecutionSpec, BeanNameAware { if (flow == null) throw new SlcException("No flow is currently initializing." + " Declare flow refs as inner beans or prototypes."); - +/* RefSpecAttribute refSpecAttribute = (RefSpecAttribute) attributes .get(name); Class targetClass = refSpecAttribute.getTargetClass(); @@ -38,7 +38,8 @@ public class SimpleExecutionSpec implements ExecutionSpec, BeanNameAware { proxyFactory.setProxyTargetClass(true); proxyFactory.setTargetSource(targetSource); - return proxyFactory.getProxy(); + return proxyFactory.getProxy();*/ + return flow.getParameter(name); } public void setBeanName(String name) { diff --git a/runtime/org.argeo.slc.execution/src/main/java/org/argeo/slc/execution/TestLaunch.java b/runtime/org.argeo.slc.execution/src/main/java/org/argeo/slc/execution/TestLaunch.java new file mode 100644 index 000000000..c65c8538c --- /dev/null +++ b/runtime/org.argeo.slc.execution/src/main/java/org/argeo/slc/execution/TestLaunch.java @@ -0,0 +1,31 @@ +package org.argeo.slc.execution; + +import org.argeo.slc.process.SlcExecution; +import org.springframework.beans.factory.annotation.Required; +import org.springframework.context.ApplicationEventPublisher; +import org.springframework.context.ApplicationEventPublisherAware; + +public class TestLaunch implements ApplicationEventPublisherAware { + private ApplicationEventPublisher applicationEventPublisher; + + private String flowName; + + public void launch() { + SlcExecution slcExecution = new SlcExecution(); + slcExecution.getAttributes().put("slc.flows", flowName); + applicationEventPublisher.publishEvent(new NewExecutionEvent(this, + slcExecution)); + + } + + @Required + public void setFlowName(String flowName) { + this.flowName = flowName; + } + + public void setApplicationEventPublisher( + ApplicationEventPublisher applicationEventPublisher) { + this.applicationEventPublisher = applicationEventPublisher; + } + +} diff --git a/runtime/org.argeo.slc.launcher/src/main/java/org/argeo/slc/cli/SlcMain.java b/runtime/org.argeo.slc.launcher/src/main/java/org/argeo/slc/cli/SlcMain.java index 04caaab9e..08d4d9db0 100644 --- a/runtime/org.argeo.slc.launcher/src/main/java/org/argeo/slc/cli/SlcMain.java +++ b/runtime/org.argeo.slc.launcher/src/main/java/org/argeo/slc/cli/SlcMain.java @@ -25,7 +25,7 @@ import org.springframework.context.support.FileSystemXmlApplicationContext; public class SlcMain { public enum Mode { - single, agent + single, agent, osgi } private static Log log = null; @@ -187,6 +187,20 @@ public class SlcMain { applicationContext.start(); log.info("SLC Agent context started."); } + // OSGi + else if (mode.equals(Mode.osgi)) { + final ConfigurableApplicationContext applicationContext; + if (runtimeStr == null) { + applicationContext = new ClassPathXmlApplicationContext( + DEFAULT_AGENT_CONTEXT); + } else { + applicationContext = new FileSystemXmlApplicationContext( + runtimeStr); + } + applicationContext.registerShutdownHook(); + applicationContext.start(); + log.info("SLC Agent context started."); + } } public static void printUsage() { diff --git a/runtime/org.argeo.slc.support.simple/pom.xml b/runtime/org.argeo.slc.support.simple/pom.xml index 13c2eefa3..cf50f1e23 100644 --- a/runtime/org.argeo.slc.support.simple/pom.xml +++ b/runtime/org.argeo.slc.support.simple/pom.xml @@ -35,7 +35,7 @@ - org.argeo.slc.* + org.argeo.slc.*,org.argeo.slc.core.test.spring *,org.apache.commons.logging;version="1.1", org.dbunit;resolution:="optional",