You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by me...@apache.org on 2007/02/16 03:11:06 UTC
svn commit: r508282 - in /incubator/tuscany/java/sca:
core-samples/standalone/calculator/
core-samples/standalone/calculator/src/main/java/calculator/
core-samples/standalone/calculator/src/main/resources/META-INF/sca/
kernel/core/src/main/java/org/apa...
Author: meerajk
Date: Thu Feb 15 18:11:05 2007
New Revision: 508282
URL: http://svn.apache.org/viewvc?view=rev&rev=508282
Log:
Getting the launcher to work with calculator client
Modified:
incubator/tuscany/java/sca/core-samples/standalone/calculator/pom.xml
incubator/tuscany/java/sca/core-samples/standalone/calculator/src/main/java/calculator/CalculatorClient.java
incubator/tuscany/java/sca/core-samples/standalone/calculator/src/main/resources/META-INF/sca/default.scdl
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/LoaderRegistryImpl.java
incubator/tuscany/java/sca/runtime/standalone/assembly/src/main/assembly/profiles/launcher/system.scdl
incubator/tuscany/java/sca/runtime/standalone/launcher/src/main/java/org/apache/tuscany/launcher/Main.java
incubator/tuscany/java/sca/runtime/standalone/standalone-api/src/main/java/org/apache/tuscany/runtime/standalone/StandaloneRuntime.java
incubator/tuscany/java/sca/runtime/standalone/standalone-host/src/main/java/org/apache/tuscany/runtime/standalone/host/StandaloneRuntimeImpl.java
incubator/tuscany/java/sca/runtime/standalone/standalone-host/src/main/java/org/apache/tuscany/runtime/standalone/host/implementation/launched/LaunchedLoader.java
Modified: incubator/tuscany/java/sca/core-samples/standalone/calculator/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/core-samples/standalone/calculator/pom.xml?view=diff&rev=508282&r1=508281&r2=508282
==============================================================================
--- incubator/tuscany/java/sca/core-samples/standalone/calculator/pom.xml (original)
+++ incubator/tuscany/java/sca/core-samples/standalone/calculator/pom.xml Thu Feb 15 18:11:05 2007
@@ -45,7 +45,8 @@
<defaultGoal>install</defaultGoal>
<finalName>${artifactId}</finalName>
- <plugins>
+ <!-- TODO Uncomment after launcher loader is added to the itest SCDL -->
+ <!--plugins>
<plugin>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-itest-plugin</artifactId>
@@ -57,6 +58,6 @@
</execution>
</executions>
</plugin>
- </plugins>
+ </plugins-->
</build>
</project>
Modified: incubator/tuscany/java/sca/core-samples/standalone/calculator/src/main/java/calculator/CalculatorClient.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/core-samples/standalone/calculator/src/main/java/calculator/CalculatorClient.java?view=diff&rev=508282&r1=508281&r2=508282
==============================================================================
--- incubator/tuscany/java/sca/core-samples/standalone/calculator/src/main/java/calculator/CalculatorClient.java (original)
+++ incubator/tuscany/java/sca/core-samples/standalone/calculator/src/main/java/calculator/CalculatorClient.java Thu Feb 15 18:11:05 2007
@@ -23,19 +23,30 @@
* locate the Calculator service and invoke it.
*/
public class CalculatorClient {
-/*
- public static void main(String[] args) throws Exception {
-
- CompositeContext context = CurrentCompositeContext.getContext();
- CalculatorService calculatorService =
- context.locateService(CalculatorService.class, "CalculatorServiceComponent");
-
- // Calculate
- System.out.println("3 + 2=" + calculatorService.add(3, 2));
- System.out.println("3 - 2=" + calculatorService.subtract(3, 2));
- System.out.println("3 * 2=" + calculatorService.multiply(3, 2));
- System.out.println("3 / 2=" + calculatorService.divide(3, 2));
+
+ private CalculatorService calculatorService;
+
+ public void setCalculatorService(CalculatorService calculatorService) {
+ this.calculatorService = calculatorService;
+ }
+
+ public Object main(Object ... args) throws Exception {
+
+ if(args.length != 3) {
+ throw new IllegalArgumentException("Usage <add|substract|multiply|divide> <operand1> <operand2>");
+ }
+
+ if("add".equals(args[0])) {
+ return calculatorService.add(Double.parseDouble((String)args[1]), Double.parseDouble((String)args[2]));
+ } else if("substract".equals(args[0])) {
+ return calculatorService.subtract(Double.parseDouble((String)args[1]), Double.parseDouble((String)args[2]));
+ } else if("multiply".equals(args[0])) {
+ return calculatorService.multiply(Double.parseDouble((String)args[1]), Double.parseDouble((String)args[2]));
+ } else if("divide".equals(args[0])) {
+ return calculatorService.divide(Double.parseDouble((String)args[1]), Double.parseDouble((String)args[2]));
+ }
+ throw new IllegalArgumentException("Usage <add|substract|multiply|divide> <operand1> <operand2>");
}
-*/
+
}
Modified: incubator/tuscany/java/sca/core-samples/standalone/calculator/src/main/resources/META-INF/sca/default.scdl
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/core-samples/standalone/calculator/src/main/resources/META-INF/sca/default.scdl?view=diff&rev=508282&r1=508281&r2=508282
==============================================================================
--- incubator/tuscany/java/sca/core-samples/standalone/calculator/src/main/resources/META-INF/sca/default.scdl (original)
+++ incubator/tuscany/java/sca/core-samples/standalone/calculator/src/main/resources/META-INF/sca/default.scdl Thu Feb 15 18:11:05 2007
@@ -18,15 +18,14 @@
* under the License.
-->
<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ xmlns:launched="http://tuscany.apache.org/xmlns/sca/1.0"
name="CalculatorComposite">
-<!--
- <service name="CalculatorService">
- <interface.java interface="calculator.CalculatorService"/>
- <reference>CalculatorServiceComponent</reference>
- </service>
--->
-
+ <component name="CalculatorClient">
+ <launched:launched class="calculator.CalculatorClient"/>
+ <reference name="calculatorService">CalculatorServiceComponent</reference>
+ </component>
+
<component name="CalculatorServiceComponent">
<implementation.java class="calculator.CalculatorServiceImpl"/>
<reference name="addService">AddServiceComponent</reference>
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/LoaderRegistryImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/LoaderRegistryImpl.java?view=diff&rev=508282&r1=508281&r2=508282
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/LoaderRegistryImpl.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/LoaderRegistryImpl.java Thu Feb 15 18:11:05 2007
@@ -79,6 +79,7 @@
monitor.elementLoad(name);
StAXElementLoader<? extends ModelObject> loader = loaders.get(name);
if (loader == null) {
+ System.err.println(name);
throw new UnrecognizedElementException(name);
}
return loader.load(parent, object, reader, deploymentContext);
Modified: incubator/tuscany/java/sca/runtime/standalone/assembly/src/main/assembly/profiles/launcher/system.scdl
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/runtime/standalone/assembly/src/main/assembly/profiles/launcher/system.scdl?view=diff&rev=508282&r1=508281&r2=508282
==============================================================================
--- incubator/tuscany/java/sca/runtime/standalone/assembly/src/main/assembly/profiles/launcher/system.scdl (original)
+++ incubator/tuscany/java/sca/runtime/standalone/assembly/src/main/assembly/profiles/launcher/system.scdl Thu Feb 15 18:11:05 2007
@@ -161,5 +161,9 @@
<system:implementation.system class="org.apache.tuscany.core.services.artifact.LocalMavenRepository"/>
<property name="repository">.m2/repository</property>
</component>
+
+ <component name="launchedLoader">
+ <system:implementation.system class="org.apache.tuscany.runtime.standalone.host.implementation.launched.LaunchedLoader"/>
+ </component>
</composite>
Modified: incubator/tuscany/java/sca/runtime/standalone/launcher/src/main/java/org/apache/tuscany/launcher/Main.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/runtime/standalone/launcher/src/main/java/org/apache/tuscany/launcher/Main.java?view=diff&rev=508282&r1=508281&r2=508282
==============================================================================
--- incubator/tuscany/java/sca/runtime/standalone/launcher/src/main/java/org/apache/tuscany/launcher/Main.java (original)
+++ incubator/tuscany/java/sca/runtime/standalone/launcher/src/main/java/org/apache/tuscany/launcher/Main.java Thu Feb 15 18:11:05 2007
@@ -59,8 +59,7 @@
StandaloneRuntime runtime = (StandaloneRuntime)DirectoryHelper.createRuntime(runtimeInfo);
runtime.initialize();
- ComponentContext componentContext = deployApplication(args, runtime);
- // TODO lookup implementation.lauched and do the rest
+ deployAndRunApplication(args, runtime);
}
@@ -68,7 +67,7 @@
/**
* @deprecated Hack for deployment.
*/
- private static ComponentContext deployApplication(String[] args, StandaloneRuntime runtime)
+ private static void deployAndRunApplication(String[] args, StandaloneRuntime runtime)
throws Exception {
URI compositeUri = new URI("/test/composite");
@@ -76,7 +75,7 @@
ClassLoader applicationClassLoader =
new URLClassLoader(new URL[] {applicationJar}, runtime.getHostClassLoader());
URL applicationScdl = applicationClassLoader.getResource("META-INF/sca/default.scdl");
- return runtime.deploy(compositeUri, applicationScdl, applicationClassLoader);
+ runtime.deployAndRun(compositeUri, applicationScdl, applicationClassLoader);
}
Modified: incubator/tuscany/java/sca/runtime/standalone/standalone-api/src/main/java/org/apache/tuscany/runtime/standalone/StandaloneRuntime.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/runtime/standalone/standalone-api/src/main/java/org/apache/tuscany/runtime/standalone/StandaloneRuntime.java?view=diff&rev=508282&r1=508281&r2=508282
==============================================================================
--- incubator/tuscany/java/sca/runtime/standalone/standalone-api/src/main/java/org/apache/tuscany/runtime/standalone/StandaloneRuntime.java (original)
+++ incubator/tuscany/java/sca/runtime/standalone/standalone-api/src/main/java/org/apache/tuscany/runtime/standalone/StandaloneRuntime.java Thu Feb 15 18:11:05 2007
@@ -22,7 +22,6 @@
import java.net.URL;
import org.apache.tuscany.host.runtime.TuscanyRuntime;
-import org.osoa.sca.ComponentContext;
/**
* Extends the tuscany runtime to add the behavious to deploy an
@@ -34,14 +33,13 @@
public interface StandaloneRuntime extends TuscanyRuntime {
/**
- * Deploys the specified application SCDL.
+ * Deploys the specified application SCDL and runs the lauched component within the deployed composite.
*
* @param compositeUri URI by which the composite is deployed.
* @param applicationScdl Application SCDL that implements the composite.
* @param applicationClassLoader Classloader used to deploy the composite.
- * @return The component context for the deployed composite.
* @deprecated This is a hack for deployment and should be removed.
*/
- ComponentContext deploy(URI compositeUri, URL applicationScdl, ClassLoader applicationClassLoader) throws Exception;
+ void deployAndRun(URI compositeUri, URL applicationScdl, ClassLoader applicationClassLoader) throws Exception;
}
Modified: incubator/tuscany/java/sca/runtime/standalone/standalone-host/src/main/java/org/apache/tuscany/runtime/standalone/host/StandaloneRuntimeImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/runtime/standalone/standalone-host/src/main/java/org/apache/tuscany/runtime/standalone/host/StandaloneRuntimeImpl.java?view=diff&rev=508282&r1=508281&r2=508282
==============================================================================
--- incubator/tuscany/java/sca/runtime/standalone/standalone-host/src/main/java/org/apache/tuscany/runtime/standalone/host/StandaloneRuntimeImpl.java (original)
+++ incubator/tuscany/java/sca/runtime/standalone/standalone-host/src/main/java/org/apache/tuscany/runtime/standalone/host/StandaloneRuntimeImpl.java Thu Feb 15 18:11:05 2007
@@ -20,13 +20,17 @@
import java.net.URI;
import java.net.URL;
+import java.util.Map;
import org.apache.tuscany.spi.component.AtomicComponent;
+import org.apache.tuscany.spi.component.Component;
import org.apache.tuscany.spi.component.RegistrationException;
import org.apache.tuscany.spi.component.TargetResolutionException;
import org.apache.tuscany.spi.deployer.Deployer;
import org.apache.tuscany.spi.model.ComponentDefinition;
+import org.apache.tuscany.spi.model.CompositeComponentType;
import org.apache.tuscany.spi.model.CompositeImplementation;
+import org.apache.tuscany.spi.model.Implementation;
import org.apache.tuscany.core.runtime.AbstractRuntime;
import org.apache.tuscany.host.runtime.InitializationException;
@@ -51,15 +55,14 @@
}
/**
- * Deploys the specified application SCDL.
+ * Deploys the specified application SCDL and runs the lauched component within the deployed composite.
*
* @param compositeUri URI by which the composite is deployed.
* @param applicationScdl Application SCDL that implements the composite.
* @param applicationClassLoader Classloader used to deploy the composite.
- * @return The component context for the deployed composite.
* @deprecated This is a hack for deployment and should be removed.
*/
- public ComponentContext deploy(URI compositeUri, URL applicationScdl, ClassLoader applicationClassLoader) throws Exception {
+ public void deployAndRun(URI compositeUri, URL applicationScdl, ClassLoader applicationClassLoader) throws Exception {
CompositeImplementation impl = new CompositeImplementation();
impl.setScdlLocation(applicationScdl);
@@ -67,8 +70,16 @@
ComponentDefinition<CompositeImplementation> definition =
new ComponentDefinition<CompositeImplementation>(compositeUri, impl);
+ Component component = getDeployer().deploy(null, definition);
- return getDeployer().deploy(null, definition).getComponentContext();
+ CompositeComponentType<?,?,?> componentType = impl.getComponentType();
+ Map<String, ComponentDefinition<? extends Implementation<?>>> components = componentType.getComponents();
+ for (Map.Entry<String, ComponentDefinition<? extends Implementation<?>>> entry : components.entrySet()) {
+ String name = entry.getKey();
+ ComponentDefinition<? extends Implementation<?>> junitDefinition = entry.getValue();
+ Implementation<?> implementation = junitDefinition.getImplementation();
+ System.err.println(implementation.getClass());
+ }
}
protected Deployer getDeployer() {
Modified: incubator/tuscany/java/sca/runtime/standalone/standalone-host/src/main/java/org/apache/tuscany/runtime/standalone/host/implementation/launched/LaunchedLoader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/runtime/standalone/standalone-host/src/main/java/org/apache/tuscany/runtime/standalone/host/implementation/launched/LaunchedLoader.java?view=diff&rev=508282&r1=508281&r2=508282
==============================================================================
--- incubator/tuscany/java/sca/runtime/standalone/standalone-host/src/main/java/org/apache/tuscany/runtime/standalone/host/implementation/launched/LaunchedLoader.java (original)
+++ incubator/tuscany/java/sca/runtime/standalone/standalone-host/src/main/java/org/apache/tuscany/runtime/standalone/host/implementation/launched/LaunchedLoader.java Thu Feb 15 18:11:05 2007
@@ -22,6 +22,7 @@
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamReader;
+import org.apache.tuscany.spi.annotation.Autowire;
import org.apache.tuscany.spi.component.CompositeComponent;
import org.apache.tuscany.spi.deployer.DeploymentContext;
import org.apache.tuscany.spi.extension.LoaderExtension;
@@ -35,7 +36,7 @@
public class LaunchedLoader extends LoaderExtension<Launched> {
private static final QName LAUNCHED = new QName("http://tuscany.apache.org/xmlns/sca/1.0", "launched");
- public LaunchedLoader(LoaderRegistry registry) {
+ public LaunchedLoader(@Autowire LoaderRegistry registry) {
super(registry);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org