From 9bed5ae38c581999db465b42b504026a7097af95 Mon Sep 17 00:00:00 2001 From: lresende Date: Wed, 11 Nov 2009 23:11:56 +0000 Subject: Moving 1.x branches git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@835141 13f79535-47bb-0310-9956-ffa450edef68 --- .../org/apache/tuscany/test/ArtifactFactory.java | 154 ----------------- .../java/org/apache/tuscany/test/SCATestCase.java | 183 --------------------- .../java/org/apache/tuscany/test/TestLauncher.java | 34 ---- .../tuscany/test/binding/TestBindingBuilder.java | 53 ------ .../test/binding/TestBindingDefinition.java | 32 ---- .../tuscany/test/binding/TestBindingLoader.java | 57 ------- .../test/binding/TestBindingRuntimeException.java | 24 --- .../test/binding/TestBindingServiceBinding.java | 43 ----- .../apache/tuscany/test/binding/TestInvoker.java | 49 ------ .../tuscany/test/binding/TestReferenceBinding.java | 30 ---- .../test/binding/TestSocketBindingBuilder.java | 37 ----- .../test/binding/TestSocketBindingDefinition.java | 27 --- .../test/binding/TestSocketBindingLoader.java | 46 ------ .../binding/TestSocketBindingServiceBinding.java | 129 --------------- .../tuscany/test/binding/TestSocketInvoker.java | 123 -------------- .../test/binding/TestSocketReferenceBinding.java | 38 ----- .../main/resources/META-INF/sca/test.default.scdl | 44 ----- .../main/resources/META-INF/tuscany/system.scdl | 163 ------------------ .../META-INF/tuscany/test.binding.system.scdl | 44 ----- .../apache/tuscany/test/SCATestCaseTestCase.java | 35 ---- 20 files changed, 1345 deletions(-) delete mode 100644 branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/ArtifactFactory.java delete mode 100644 branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/SCATestCase.java delete mode 100644 branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/TestLauncher.java delete mode 100644 branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/binding/TestBindingBuilder.java delete mode 100644 branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/binding/TestBindingDefinition.java delete mode 100644 branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/binding/TestBindingLoader.java delete mode 100644 branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/binding/TestBindingRuntimeException.java delete mode 100644 branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/binding/TestBindingServiceBinding.java delete mode 100644 branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/binding/TestInvoker.java delete mode 100644 branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/binding/TestReferenceBinding.java delete mode 100644 branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/binding/TestSocketBindingBuilder.java delete mode 100644 branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/binding/TestSocketBindingDefinition.java delete mode 100644 branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/binding/TestSocketBindingLoader.java delete mode 100644 branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/binding/TestSocketBindingServiceBinding.java delete mode 100644 branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/binding/TestSocketInvoker.java delete mode 100644 branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/binding/TestSocketReferenceBinding.java delete mode 100644 branches/pre-spec-changes/test/src/main/resources/META-INF/sca/test.default.scdl delete mode 100644 branches/pre-spec-changes/test/src/main/resources/META-INF/tuscany/system.scdl delete mode 100644 branches/pre-spec-changes/test/src/main/resources/META-INF/tuscany/test.binding.system.scdl delete mode 100644 branches/pre-spec-changes/test/src/test/java/org/apache/tuscany/test/SCATestCaseTestCase.java (limited to 'branches/pre-spec-changes/test/src') diff --git a/branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/ArtifactFactory.java b/branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/ArtifactFactory.java deleted file mode 100644 index a7dbe0f90f..0000000000 --- a/branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/ArtifactFactory.java +++ /dev/null @@ -1,154 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.test; - -import java.util.HashMap; -import java.util.Map; - -import org.apache.tuscany.spi.builder.Connector; -import org.apache.tuscany.spi.component.CompositeComponent; -import org.apache.tuscany.spi.component.Service; -import org.apache.tuscany.spi.idl.InvalidServiceContractException; -import org.apache.tuscany.spi.idl.java.JavaInterfaceProcessorRegistry; -import org.apache.tuscany.spi.model.Operation; -import org.apache.tuscany.spi.model.ServiceContract; -import org.apache.tuscany.spi.wire.InboundInvocationChain; -import org.apache.tuscany.spi.wire.InboundWire; -import org.apache.tuscany.spi.wire.OutboundInvocationChain; -import org.apache.tuscany.spi.wire.OutboundWire; -import org.apache.tuscany.spi.wire.WireService; - -import org.apache.tuscany.core.builder.ConnectorImpl; -import org.apache.tuscany.core.component.WorkContextImpl; -import org.apache.tuscany.core.idl.java.JavaInterfaceProcessorRegistryImpl; -import org.apache.tuscany.core.implementation.composite.ServiceImpl; -import org.apache.tuscany.core.wire.InboundInvocationChainImpl; -import org.apache.tuscany.core.wire.InboundWireImpl; -import org.apache.tuscany.core.wire.InvokerInterceptor; -import org.apache.tuscany.core.wire.OutboundInvocationChainImpl; -import org.apache.tuscany.core.wire.OutboundWireImpl; -import org.apache.tuscany.core.wire.jdk.JDKWireService; - -/** - * A factory for creating runtime artifacts to facilitate testing without directly instantiating core implementation - * classes - * - * @version $$Rev$$ $$Date$$ - */ -public final class ArtifactFactory { - - private ArtifactFactory() { - } - - public static Connector createConnector() { - return new ConnectorImpl(createWireService(), null, null, null); - } - - public static WireService createWireService() { - return new JDKWireService(new WorkContextImpl(), null); - } - - public static Service createService(String name, CompositeComponent parent, ServiceContract contract) { - return new ServiceImpl(name, parent, contract); - } - - /** - * Creates an inbound wire. After a wire is returned, client code must call {@link - * #terminateWire(org.apache.tuscany.spi.wire.InboundWire)}. These two methods have been separated to allow wires to - * be decorated with interceptors or handlers prior to their completion - * - * @param serviceName the service name associated with the wire - * @param interfaze the interface associated with the wire - */ - public static InboundWire createLocalInboundWire(String serviceName, Class interfaze) - throws InvalidServiceContractException { - InboundWire wire = new InboundWireImpl(); - JavaInterfaceProcessorRegistry registry = new JavaInterfaceProcessorRegistryImpl(); - ServiceContract contract = registry.introspect(interfaze); - wire.setServiceContract(contract); - wire.setServiceName(serviceName); - wire.addInvocationChains(createInboundChains(interfaze)); - return wire; - } - - /** - * Creates an outbound wire. After a wire is returned, client code must call {@link - * #terminateWire(org.apache.tuscany.spi.wire.OutboundWire)}. These two methods have been separated to allow wires - * to be decorated with interceptors or handlers prior to their completion - * - * @param refName the reference name the wire is associated with on the client - * @param interfaze the interface associated with the wire - */ - public static OutboundWire createLocalOutboundWire(String refName, Class interfaze) - throws InvalidServiceContractException { - OutboundWire wire = new OutboundWireImpl(); - wire.setReferenceName(refName); - wire.addInvocationChains(createOutboundChains(interfaze)); - JavaInterfaceProcessorRegistry registry = new JavaInterfaceProcessorRegistryImpl(); - ServiceContract contract = registry.introspect(interfaze); - wire.setServiceContract(contract); - return wire; - } - - - /** - * Finalizes the target wire - */ - public static void terminateWire(InboundWire wire) { - for (InboundInvocationChain chain : wire.getInvocationChains().values()) { - // add tail interceptor - chain.addInterceptor(new InvokerInterceptor()); - } - } - - public static void terminateWire(OutboundWire wire) { - for (OutboundInvocationChain chain : wire.getInvocationChains().values()) { - // add tail interceptor - chain.addInterceptor(new InvokerInterceptor()); - } - } - - private static Map, OutboundInvocationChain> createOutboundChains(Class interfaze) - throws InvalidServiceContractException { - Map, OutboundInvocationChain> invocations = new HashMap, OutboundInvocationChain>(); - JavaInterfaceProcessorRegistry registry = new JavaInterfaceProcessorRegistryImpl(); - ServiceContract contract = registry.introspect(interfaze); - for (Operation operation : contract.getOperations().values()) { - OutboundInvocationChain chain = new OutboundInvocationChainImpl(operation); - invocations.put(operation, chain); - } - return invocations; - } - - private static Map, InboundInvocationChain> createInboundChains(Class interfaze) - throws InvalidServiceContractException { - Map, InboundInvocationChain> invocations = new HashMap, InboundInvocationChain>(); - JavaInterfaceProcessorRegistry registry = new JavaInterfaceProcessorRegistryImpl(); - ServiceContract contract = registry.introspect(interfaze); - for (Operation operation : contract.getOperations().values()) { - InboundInvocationChain chain = new InboundInvocationChainImpl(operation); - // add tail interceptor - //chain.addInterceptor(new InvokerInterceptor()); - invocations.put(operation, chain); - } - return invocations; - } - - -} diff --git a/branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/SCATestCase.java b/branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/SCATestCase.java deleted file mode 100644 index 829f99b6f9..0000000000 --- a/branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/SCATestCase.java +++ /dev/null @@ -1,183 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.test; - -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLClassLoader; -import java.util.HashMap; -import java.util.Map; - -import org.apache.tuscany.spi.bootstrap.ComponentNames; -import org.apache.tuscany.spi.builder.BuilderException; -import org.apache.tuscany.spi.component.AtomicComponent; -import org.apache.tuscany.spi.component.Component; -import org.apache.tuscany.spi.component.ComponentException; -import org.apache.tuscany.spi.component.CompositeComponent; -import org.apache.tuscany.spi.component.SCAObject; -import org.apache.tuscany.spi.deployer.Deployer; -import org.apache.tuscany.spi.deployer.DeploymentMonitor; -import org.apache.tuscany.spi.loader.LoaderException; -import org.apache.tuscany.spi.model.ComponentDefinition; -import org.apache.tuscany.spi.wire.WireService; - -import junit.framework.TestCase; -import org.apache.tuscany.api.TuscanyException; -import org.apache.tuscany.core.implementation.system.model.SystemCompositeImplementation; -import org.apache.tuscany.core.launcher.CompositeContextImpl; -import org.apache.tuscany.core.launcher.LauncherImpl; -import org.apache.tuscany.core.monitor.JavaLoggingMonitorFactory; -import org.apache.tuscany.host.MonitorFactory; -import org.apache.tuscany.host.runtime.InitializationException; - -import org.osoa.sca.CurrentCompositeContext; - -/** - * Base class for JUnit tests that want to run in an SCA client environment. - * - * @version $Rev$ $Date$ - */ -public abstract class SCATestCase extends TestCase { - protected CompositeComponent component; - private CompositeContextImpl context; - private Map extensions = new HashMap(); - private URL applicationSCDL; - private LauncherImpl launcher; - private MonitorFactory monitorFactory; - - protected void setUp() throws Exception { - super.setUp(); - if (monitorFactory == null) { - monitorFactory = new JavaLoggingMonitorFactory(); - } - ClassLoader cl = getClass().getClassLoader(); - launcher = new LauncherImpl(); - launcher.setApplicationLoader(cl); - URL scdl = cl.getResource(LauncherImpl.METAINF_SYSTEM_SCDL_PATH); - - try { - CompositeComponent composite = launcher.bootRuntime(scdl, monitorFactory); - for (String extensionName : extensions.keySet()) { - deployExtension(composite, extensionName, extensions.get(extensionName)); - } - - SCAObject wireServiceComponent = composite.getSystemChild(ComponentNames.TUSCANY_WIRE_SERVICE); - if (!(wireServiceComponent instanceof AtomicComponent)) { - throw new InitializationException("WireService must be an atomic component"); - } - - WireService wireService = (WireService) ((AtomicComponent) wireServiceComponent).getTargetInstance(); - - if (applicationSCDL == null) { - throw new RuntimeException("application SCDL not found: " + applicationSCDL); - } - component = launcher.bootApplication("application", applicationSCDL); - component.start(); - context = new CompositeContextImpl(component, wireService); - CurrentCompositeContext.setContext(context); - } catch (TuscanyException e) { - DeploymentMonitor monitor = monitorFactory.getMonitor(DeploymentMonitor.class); - monitor.deploymentError(e); - throw e; - } - - } - - /** - * A TestCase can use this to overide the default SCDL location of "META-INF/sca/default.scdl" - */ - protected void setApplicationSCDL(URL applicationSCDL) { - this.applicationSCDL = applicationSCDL; - } - - /** - * Set the application scdl based on the classpath entry for a class. Normally this will be a class in the - * production code associated with this test case. - * - * @param aClass a Class from which to determine the resource base url - * @param path location of the application SCDL relative to the base class - * @throws MalformedURLException if the path is malformed - */ - protected void setApplicationSCDL(Class aClass, String path) throws MalformedURLException { - URL root = getRoot(aClass); - setApplicationSCDL(new URL(root, path)); - } - - /** - * A TestCase can use this to add the SCDL location of an extention to be deployed to the runtime - */ - protected void addExtension(String extensionName, URL extentionSCDL) { - extensions.put(extensionName, extentionSCDL); - } - - - /** - * Sets the monitor factory to use - * - * @param monitorFactory the monitor factory to use - */ - protected void setMonitorFactory(MonitorFactory monitorFactory) { - this.monitorFactory = monitorFactory; - } - - protected void deployExtension(CompositeComponent composite, String extensionName, URL scdlURL) - throws LoaderException, BuilderException, ComponentException, InitializationException { - SystemCompositeImplementation implementation = new SystemCompositeImplementation(); - implementation.setScdlLocation(scdlURL); - implementation.setClassLoader(new URLClassLoader(new URL[]{scdlURL}, getClass().getClassLoader())); - - ComponentDefinition definition = - new ComponentDefinition(extensionName, implementation); - - - SCAObject child = composite.getSystemChild(ComponentNames.TUSCANY_DEPLOYER); - if (!(child instanceof AtomicComponent)) { - throw new InitializationException("Deployer must be an atomic component"); - } - Deployer deployer = (Deployer) ((AtomicComponent) child).getTargetInstance(); - Component component = deployer.deploy(composite, definition); - component.start(); - } - - - protected static URL getRoot(Class aClass) { - String name = aClass.getName(); - String classPath = "/" + name.replace('.', '/') + ".class"; - URL classURL = aClass.getResource(classPath); - assert classURL != null; - StringBuilder prefix = new StringBuilder(); - for (int i = 0; i < name.length(); i++) { - if (name.charAt(i) == '.') { - prefix.append("../"); - } - } - try { - return new URL(classURL, prefix.toString()); - } catch (MalformedURLException e) { - throw new AssertionError(); - } - } - - protected void tearDown() throws Exception { - CurrentCompositeContext.setContext(null); - component.stop(); - launcher.shutdownRuntime(); - super.tearDown(); - } -} diff --git a/branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/TestLauncher.java b/branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/TestLauncher.java deleted file mode 100644 index b66716bac0..0000000000 --- a/branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/TestLauncher.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.test; - -import java.io.File; - -import org.apache.tuscany.core.launcher.LauncherImpl; - -/** - * @version $Rev$ $Date$ - */ -public class TestLauncher extends LauncherImpl { - - public File getInstallDirectory() { - return new File("."); - } - -} diff --git a/branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/binding/TestBindingBuilder.java b/branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/binding/TestBindingBuilder.java deleted file mode 100644 index 8354b0710a..0000000000 --- a/branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/binding/TestBindingBuilder.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.test.binding; - -import org.apache.tuscany.spi.component.CompositeComponent; -import org.apache.tuscany.spi.component.ReferenceBinding; -import org.apache.tuscany.spi.component.ServiceBinding; -import org.apache.tuscany.spi.deployer.DeploymentContext; -import org.apache.tuscany.spi.extension.BindingBuilderExtension; -import org.apache.tuscany.spi.model.BoundReferenceDefinition; -import org.apache.tuscany.spi.model.BoundServiceDefinition; - -/** - * @version $Rev$ $Date$ - */ -public class TestBindingBuilder extends BindingBuilderExtension { - - @SuppressWarnings("unchecked") - public ServiceBinding build(CompositeComponent parent, - BoundServiceDefinition definition, - TestBindingDefinition bindingDefinition, - DeploymentContext ctx) { - return new TestBindingServiceBinding(definition.getName(), parent); - } - - public ReferenceBinding build(CompositeComponent parent, - BoundReferenceDefinition definition, - TestBindingDefinition bindingDefinition, - DeploymentContext ctx) { - String name = definition.getName(); - return new TestReferenceBinding(name, parent); - } - - protected Class getBindingType() { - return TestBindingDefinition.class; - } -} diff --git a/branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/binding/TestBindingDefinition.java b/branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/binding/TestBindingDefinition.java deleted file mode 100644 index 19228fd86a..0000000000 --- a/branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/binding/TestBindingDefinition.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.test.binding; - -import org.apache.tuscany.spi.model.BindingDefinition; - - -/** - * A simple binding for test purposes. - * - * @version $$Rev$$ $$Date$$ - */ -public class TestBindingDefinition extends BindingDefinition { - - -} diff --git a/branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/binding/TestBindingLoader.java b/branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/binding/TestBindingLoader.java deleted file mode 100644 index ef7a0ebb6f..0000000000 --- a/branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/binding/TestBindingLoader.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.test.binding; - -import javax.xml.namespace.QName; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; - -import org.osoa.sca.Version; -import org.osoa.sca.annotations.Constructor; - -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; -import org.apache.tuscany.spi.loader.LoaderException; -import org.apache.tuscany.spi.loader.LoaderRegistry; -import org.apache.tuscany.spi.model.ModelObject; - -/** - * @version $Rev$ $Date$ - */ -public class TestBindingLoader extends LoaderExtension { - - public static final QName BINDING_TEST = new QName(Version.XML_NAMESPACE_1_0, "binding.test"); - - @Constructor - public TestBindingLoader(@Autowire LoaderRegistry registry) { - super(registry); - } - - public QName getXMLType() { - return BINDING_TEST; - } - - public TestBindingDefinition load(CompositeComponent parent, - ModelObject object, XMLStreamReader reader, - DeploymentContext context) throws XMLStreamException, LoaderException { - return new TestBindingDefinition(); - } -} diff --git a/branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/binding/TestBindingRuntimeException.java b/branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/binding/TestBindingRuntimeException.java deleted file mode 100644 index 88c62d1420..0000000000 --- a/branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/binding/TestBindingRuntimeException.java +++ /dev/null @@ -1,24 +0,0 @@ -package org.apache.tuscany.test.binding; - -import org.apache.tuscany.api.TuscanyRuntimeException; - -/** - * @version $Rev$ $Date$ - */ -public class TestBindingRuntimeException extends TuscanyRuntimeException { - - public TestBindingRuntimeException() { - } - - public TestBindingRuntimeException(String message) { - super(message); - } - - public TestBindingRuntimeException(String message, Throwable cause) { - super(message, cause); - } - - public TestBindingRuntimeException(Throwable cause) { - super(cause); - } -} diff --git a/branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/binding/TestBindingServiceBinding.java b/branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/binding/TestBindingServiceBinding.java deleted file mode 100644 index 341be523a3..0000000000 --- a/branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/binding/TestBindingServiceBinding.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.test.binding; - -import javax.xml.namespace.QName; - -import org.osoa.sca.Version; - -import org.apache.tuscany.spi.CoreRuntimeException; -import org.apache.tuscany.spi.component.CompositeComponent; -import org.apache.tuscany.spi.extension.ServiceBindingExtension; - -/** - * @version $Rev$ $Date$ - */ -public class TestBindingServiceBinding extends ServiceBindingExtension { - private static final QName BINDING_TEST = new QName(Version.XML_NAMESPACE_1_0, "binding.socket"); - - public TestBindingServiceBinding(String name, CompositeComponent parent) throws CoreRuntimeException { - super(name, parent); - // do nothing, but this could register with the host environment - } - - public QName getBindingType() { - return BINDING_TEST; - } -} diff --git a/branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/binding/TestInvoker.java b/branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/binding/TestInvoker.java deleted file mode 100644 index c3b02024af..0000000000 --- a/branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/binding/TestInvoker.java +++ /dev/null @@ -1,49 +0,0 @@ -package org.apache.tuscany.test.binding; - -import java.lang.reflect.InvocationTargetException; - -import org.apache.tuscany.spi.wire.InvocationRuntimeException; -import org.apache.tuscany.spi.wire.Message; -import org.apache.tuscany.spi.wire.TargetInvoker; - -/** - * @version $Rev$ $Date$ - */ -public class TestInvoker implements TargetInvoker { - - private boolean cacheable; - - public boolean isCacheable() { - return cacheable; - } - - public void setCacheable(boolean cacheable) { - this.cacheable = cacheable; - } - - public boolean isOptimizable() { - return isCacheable(); - } - - public Object invokeTarget(final Object payload, final short sequence) throws InvocationTargetException { - // echo back the result, a real binding would invoke some API for flowing the request - return ((Object[]) payload)[0]; - } - - public Message invoke(Message msg) throws InvocationRuntimeException { - try { - Object resp = invokeTarget(msg.getBody(), TargetInvoker.NONE); - msg.setBody(resp); - } catch (InvocationTargetException e) { - msg.setBodyWithFault(e.getCause()); - } catch (Throwable e) { - msg.setBodyWithFault(e); - } - return msg; - } - - public Object clone() throws CloneNotSupportedException { - return super.clone(); - } - -} diff --git a/branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/binding/TestReferenceBinding.java b/branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/binding/TestReferenceBinding.java deleted file mode 100644 index 025cfb1e1e..0000000000 --- a/branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/binding/TestReferenceBinding.java +++ /dev/null @@ -1,30 +0,0 @@ -package org.apache.tuscany.test.binding; - -import javax.xml.namespace.QName; - -import org.osoa.sca.Version; - -import org.apache.tuscany.spi.component.CompositeComponent; -import org.apache.tuscany.spi.extension.ReferenceBindingExtension; -import org.apache.tuscany.spi.model.Operation; -import org.apache.tuscany.spi.model.ServiceContract; -import org.apache.tuscany.spi.wire.TargetInvoker; - -/** - * @version $Rev$ $Date$ - */ -public class TestReferenceBinding extends ReferenceBindingExtension { - private static final QName BINDING_TEST = new QName(Version.XML_NAMESPACE_1_0, "binding.socket"); - - public TestReferenceBinding(String name, CompositeComponent parent) { - super(name, parent); - } - - public QName getBindingType() { - return BINDING_TEST; - } - - public TargetInvoker createTargetInvoker(ServiceContract contract, Operation operation) { - return new TestInvoker(); - } -} diff --git a/branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/binding/TestSocketBindingBuilder.java b/branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/binding/TestSocketBindingBuilder.java deleted file mode 100644 index 020bdd3ef9..0000000000 --- a/branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/binding/TestSocketBindingBuilder.java +++ /dev/null @@ -1,37 +0,0 @@ -package org.apache.tuscany.test.binding; - -import org.apache.tuscany.spi.component.CompositeComponent; -import org.apache.tuscany.spi.component.ReferenceBinding; -import org.apache.tuscany.spi.component.ServiceBinding; -import org.apache.tuscany.spi.deployer.DeploymentContext; -import org.apache.tuscany.spi.extension.BindingBuilderExtension; -import org.apache.tuscany.spi.model.BoundReferenceDefinition; -import org.apache.tuscany.spi.model.BoundServiceDefinition; - -/** - * @version $Rev$ $Date$ - */ -public class TestSocketBindingBuilder extends BindingBuilderExtension { - - public ServiceBinding build(CompositeComponent parent, - BoundServiceDefinition definition, - TestSocketBindingDefinition bindingDefinition, - DeploymentContext ctx) { - int port = bindingDefinition.getPort(); - return new TestSocketBindingServiceBinding(definition.getName(), port, parent); - } - - public ReferenceBinding build(CompositeComponent parent, - BoundReferenceDefinition definition, - TestSocketBindingDefinition bindingDefinition, - DeploymentContext ctx) { - String name = definition.getName(); - int port = bindingDefinition.getPort(); - String host = bindingDefinition.getHost(); - return new TestSocketReferenceBinding(name, host, port, parent); - } - - protected Class getBindingType() { - return TestSocketBindingDefinition.class; - } -} diff --git a/branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/binding/TestSocketBindingDefinition.java b/branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/binding/TestSocketBindingDefinition.java deleted file mode 100644 index fa5f7b2c57..0000000000 --- a/branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/binding/TestSocketBindingDefinition.java +++ /dev/null @@ -1,27 +0,0 @@ -package org.apache.tuscany.test.binding; - -import org.apache.tuscany.spi.model.BindingDefinition; - -/** - * A simple socket-based binding. Service operations may onyl take one parameter that is Serializable - * - * @version $$Rev$$ $$Date$$ - */ -public class TestSocketBindingDefinition extends BindingDefinition { - private String host; - private int port; - - public TestSocketBindingDefinition(String host, int port) { - this.host = host; - this.port = port; - } - - public String getHost() { - return host; - } - - public int getPort() { - return port; - } - -} diff --git a/branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/binding/TestSocketBindingLoader.java b/branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/binding/TestSocketBindingLoader.java deleted file mode 100644 index cdec616c35..0000000000 --- a/branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/binding/TestSocketBindingLoader.java +++ /dev/null @@ -1,46 +0,0 @@ -package org.apache.tuscany.test.binding; - -import javax.xml.namespace.QName; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; - -import org.osoa.sca.Version; -import org.osoa.sca.annotations.Constructor; - -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; -import org.apache.tuscany.spi.loader.LoaderException; -import org.apache.tuscany.spi.loader.LoaderRegistry; -import org.apache.tuscany.spi.model.ModelObject; - -/** - * @version $Rev$ $Date$ - */ -public class TestSocketBindingLoader extends LoaderExtension { - - public static final QName BINDING_TEST = new QName(Version.XML_NAMESPACE_1_0, "binding.socket"); - - @Constructor - public TestSocketBindingLoader(@Autowire LoaderRegistry registry) { - super(registry); - } - - public QName getXMLType() { - return TestSocketBindingLoader.BINDING_TEST; - } - - public TestSocketBindingDefinition load(CompositeComponent parent, - ModelObject object, XMLStreamReader reader, - DeploymentContext context) throws XMLStreamException, LoaderException { - String host = reader.getAttributeValue(null, "host"); - int port; - try { - port = Integer.parseInt(reader.getAttributeValue(null, "port")); - } catch (NumberFormatException e) { - throw new LoaderException("Invalid port specified", e); - } - return new TestSocketBindingDefinition(host, port); - } -} diff --git a/branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/binding/TestSocketBindingServiceBinding.java b/branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/binding/TestSocketBindingServiceBinding.java deleted file mode 100644 index a1531b6f5f..0000000000 --- a/branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/binding/TestSocketBindingServiceBinding.java +++ /dev/null @@ -1,129 +0,0 @@ -package org.apache.tuscany.test.binding; - -import java.io.IOException; -import java.io.ObjectInputStream; -import java.io.ObjectOutputStream; -import java.net.ServerSocket; -import java.net.Socket; -import java.util.Map; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; - -import javax.xml.namespace.QName; - -import org.osoa.sca.Version; - -import org.apache.tuscany.spi.CoreRuntimeException; -import org.apache.tuscany.spi.component.CompositeComponent; -import org.apache.tuscany.spi.extension.ServiceBindingExtension; -import org.apache.tuscany.spi.model.Operation; -import org.apache.tuscany.spi.wire.InboundInvocationChain; -import org.apache.tuscany.spi.wire.Message; -import org.apache.tuscany.spi.wire.MessageImpl; - -/** - * Implements a very simple remote, socket-based binding for test purposes. This binding exposes serviceBindings using a socket - * on a given port. Service operations must take only one paramter that is Serializable. - * - * @version $Rev$ $Date$ - */ -public class TestSocketBindingServiceBinding extends ServiceBindingExtension { - private static final QName BINDING_TEST = new QName(Version.XML_NAMESPACE_1_0, "binding.socket"); - private int port; - private ServerSocket socket; - private ExecutorService executor; - private TestSocketBindingServiceBinding.ServerRunnable runnable; - - public TestSocketBindingServiceBinding(String name, int port, CompositeComponent parent) throws CoreRuntimeException { - super(name, parent); - this.port = port; - } - - public QName getBindingType() { - return BINDING_TEST; - } - - public void start() { - executor = Executors.newSingleThreadExecutor(); - // create a listener, note that a work scheduler should normally be used to spawn work in different threads - runnable = new ServerRunnable(); - executor.execute(runnable); - } - - public void stop() { - try { - runnable.setEnd(true); - socket.close(); - executor.shutdownNow(); - } catch (IOException e) { - throw new TestBindingRuntimeException(e); - } - } - - /** - * Creates a socket listener in another thread which handles one client at a time. For a real binding, a work - * scheduler should be used - */ - private class ServerRunnable implements Runnable { - - private boolean end; - - public void setEnd(boolean end) { - this.end = end; - } - - public void run() { - Socket clientSocket; - ObjectInputStream is = null; - ObjectOutputStream os = null; - try { - socket = new ServerSocket(port); - } catch (IOException e) { - throw new TestBindingRuntimeException(e); - } - while (!end) { - try { - clientSocket = socket.accept(); - is = new ObjectInputStream(clientSocket.getInputStream()); - String operation = is.readUTF(); - int argn = is.readInt(); - Object[] args = new Object[argn]; - for (int i = 0; i < argn; i++) { - args[i] = is.readObject(); - } - Map, InboundInvocationChain> chains = getInboundWire().getInvocationChains(); - for (InboundInvocationChain chain : chains.values()) { - if (chain.getOperation().getName().equals(operation)) { - Message message = new MessageImpl(); - message.setTargetInvoker(chain.getTargetInvoker()); - message.setBody(args); - message = chain.getHeadInterceptor().invoke(message); - os = new ObjectOutputStream(clientSocket.getOutputStream()); - os.writeObject(message.getBody()); - os.flush(); - } - } - } catch (IOException e) { - throw new TestBindingRuntimeException(e); - } catch (ClassNotFoundException e) { - throw new TestBindingRuntimeException(e); - } finally { - if (os != null) { - try { - os.close(); - } catch (IOException e) { - // ingore - } - } - if (is != null) { - try { - is.close(); - } catch (IOException e) { - // ignore - } - } - } - } - } - } -} diff --git a/branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/binding/TestSocketInvoker.java b/branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/binding/TestSocketInvoker.java deleted file mode 100644 index 15ebd672df..0000000000 --- a/branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/binding/TestSocketInvoker.java +++ /dev/null @@ -1,123 +0,0 @@ -package org.apache.tuscany.test.binding; - -import java.io.IOException; -import java.io.ObjectInputStream; -import java.io.ObjectOutputStream; -import java.lang.reflect.InvocationTargetException; -import java.net.Socket; -import java.net.UnknownHostException; - -import org.apache.tuscany.spi.wire.InvocationRuntimeException; -import org.apache.tuscany.spi.wire.Message; -import org.apache.tuscany.spi.wire.TargetInvoker; - -/** - * Responsible for serializing an operation parameter flowing the invocation through the socket - * - * @version $Rev$ $Date$ - */ -public class TestSocketInvoker implements TargetInvoker { - private String host; - private int port; - private String operation; - - private boolean cacheable; - - public TestSocketInvoker(String host, int port, String operation) { - this.host = host; - this.port = port; - this.operation = operation; - } - - public boolean isCacheable() { - return cacheable; - } - - public void setCacheable(boolean cacheable) { - this.cacheable = cacheable; - } - - public boolean isOptimizable() { - return isCacheable(); - } - - public Message invoke(Message msg) throws InvocationRuntimeException { - try { - Object resp = invokeTarget(msg.getBody(), TargetInvoker.NONE); - msg.setBody(resp); - } catch (InvocationTargetException e) { - msg.setBodyWithFault(e.getCause()); - } catch (Throwable e) { - msg.setBodyWithFault(e); - } - return msg; - } - - /** - * Sends the payload over a socket - */ - public Object invokeTarget(final Object object, final short sequence) throws InvocationTargetException { - int argn; - if (object == null) { - argn = 0; - } else if (!object.getClass().isArray()) { - argn = 1; - } else { - argn = ((Object[])object).length; - } - - Socket socket = null; - ObjectOutputStream os = null; - ObjectInputStream is = null; - try { - socket = new Socket(host, port); - os = new ObjectOutputStream(socket.getOutputStream()); - os.writeUTF(operation); - os.writeInt(argn); - for (int i=0; i - - - - - - - - - - - - - - - - - - - - - diff --git a/branches/pre-spec-changes/test/src/main/resources/META-INF/tuscany/system.scdl b/branches/pre-spec-changes/test/src/main/resources/META-INF/tuscany/system.scdl deleted file mode 100644 index da82b3b0b4..0000000000 --- a/branches/pre-spec-changes/test/src/main/resources/META-INF/tuscany/system.scdl +++ /dev/null @@ -1,163 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .m2/repository - - - - - - 10 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/branches/pre-spec-changes/test/src/main/resources/META-INF/tuscany/test.binding.system.scdl b/branches/pre-spec-changes/test/src/main/resources/META-INF/tuscany/test.binding.system.scdl deleted file mode 100644 index e6ffb7300b..0000000000 --- a/branches/pre-spec-changes/test/src/main/resources/META-INF/tuscany/test.binding.system.scdl +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/branches/pre-spec-changes/test/src/test/java/org/apache/tuscany/test/SCATestCaseTestCase.java b/branches/pre-spec-changes/test/src/test/java/org/apache/tuscany/test/SCATestCaseTestCase.java deleted file mode 100644 index fac190b02e..0000000000 --- a/branches/pre-spec-changes/test/src/test/java/org/apache/tuscany/test/SCATestCaseTestCase.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.test; - -import java.net.URL; -import java.net.MalformedURLException; - -import junit.framework.TestCase; - -/** - * @version $Rev$ $Date$ - */ -public class SCATestCaseTestCase extends TestCase { - public void testGetRoot() throws MalformedURLException { - URL classUrl = getClass().getResource("SCATestCaseTestCase.class"); - URL root = SCATestCase.getRoot(getClass()); - assertEquals(classUrl, new URL(root, "org/apache/tuscany/test/SCATestCaseTestCase.class")); - } -} -- cgit v1.2.3