You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by jm...@apache.org on 2006/08/14 20:49:13 UTC
svn commit: r431408 - in
/incubator/tuscany/java/sca/containers/container.spring: ./
src/main/java/org/apache/tuscany/container/spring/
src/test/java/org/apache/tuscany/container/spring/
Author: jmarino
Date: Mon Aug 14 11:49:12 2006
New Revision: 431408
URL: http://svn.apache.org/viewvc?rev=431408&view=rev
Log:
move unit tests to EasyMock; sourcecheck cleanup
Modified:
incubator/tuscany/java/sca/containers/container.spring/pom.xml
incubator/tuscany/java/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringCompositeBuilder.java
incubator/tuscany/java/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringImplementation.java
incubator/tuscany/java/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringImplementationLoader.java
incubator/tuscany/java/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/ReferenceInvocationTestCase.java
incubator/tuscany/java/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/SpringCompositeBuilderTestCase.java
incubator/tuscany/java/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/SpringInvocationTestCase.java
Modified: incubator/tuscany/java/sca/containers/container.spring/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/containers/container.spring/pom.xml?rev=431408&r1=431407&r2=431408&view=diff
==============================================================================
--- incubator/tuscany/java/sca/containers/container.spring/pom.xml (original)
+++ incubator/tuscany/java/sca/containers/container.spring/pom.xml Mon Aug 14 11:49:12 2006
@@ -58,6 +58,11 @@
<version>${sca.version}</version>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.easymock</groupId>
+ <artifactId>easymock</artifactId>
+ </dependency>
+
</dependencies>
</project>
Modified: incubator/tuscany/java/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringCompositeBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringCompositeBuilder.java?rev=431408&r1=431407&r2=431408&view=diff
==============================================================================
--- incubator/tuscany/java/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringCompositeBuilder.java (original)
+++ incubator/tuscany/java/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringCompositeBuilder.java Mon Aug 14 11:49:12 2006
@@ -18,6 +18,9 @@
*/
package org.apache.tuscany.container.spring;
+import java.net.URL;
+
+import org.apache.tuscany.spi.QualifiedName;
import org.apache.tuscany.spi.builder.BuilderConfigException;
import org.apache.tuscany.spi.component.Component;
import org.apache.tuscany.spi.component.CompositeComponent;
@@ -32,19 +35,14 @@
import org.apache.tuscany.spi.model.Property;
import org.apache.tuscany.spi.model.ReferenceDefinition;
import org.apache.tuscany.spi.model.ReferenceTarget;
-import org.apache.tuscany.spi.wire.InboundWire;
import org.apache.tuscany.spi.wire.InboundInvocationChain;
-import org.apache.tuscany.spi.QualifiedName;
+import org.apache.tuscany.spi.wire.InboundWire;
+import org.springframework.beans.factory.xml.XmlBeanDefinitionReader;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.support.GenericApplicationContext;
-import org.springframework.beans.factory.xml.XmlBeanDefinitionReader;
-import org.springframework.beans.factory.support.PropertiesBeanDefinitionReader;
-import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.UrlResource;
-import java.net.URL;
-
/**
* Creates a {@link SpringCompositeComponent} from an assembly model
*
@@ -58,7 +56,8 @@
DeploymentContext deploymentContext) throws BuilderConfigException {
String name = componentDefinition.getName();
SpringImplementation implementation = componentDefinition.getImplementation();
- ConfigurableApplicationContext applicationContext = createApplicationContext(implementation.getApplicationXml());
+ ConfigurableApplicationContext applicationContext =
+ createApplicationContext(implementation.getApplicationXml());
SpringCompositeComponent component =
new SpringCompositeComponent(name, applicationContext, parent, null);
@@ -72,7 +71,7 @@
for (BoundServiceDefinition<? extends Binding> serviceDefinition : componentType.getServices().values()) {
// call back into builder registry to handle building of services
Service<?> service = (Service) builderRegistry.build(parent, serviceDefinition, deploymentContext);
- // wire serviceDefinition to bean invokers
+ // wire serviceDefinition to bean invokers
InboundWire<?> wire = service.getInboundWire();
QualifiedName targetName = new QualifiedName(serviceDefinition.getTarget().getPath());
for (InboundInvocationChain chain : wire.getInvocationChains().values()) {
Modified: incubator/tuscany/java/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringImplementation.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringImplementation.java?rev=431408&r1=431407&r2=431408&view=diff
==============================================================================
--- incubator/tuscany/java/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringImplementation.java (original)
+++ incubator/tuscany/java/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringImplementation.java Mon Aug 14 11:49:12 2006
@@ -18,7 +18,7 @@
*/
package org.apache.tuscany.container.spring;
-import org.springframework.context.ConfigurableApplicationContext;
+import java.net.URL;
import org.apache.tuscany.spi.model.Binding;
import org.apache.tuscany.spi.model.BoundReferenceDefinition;
@@ -27,16 +27,14 @@
import org.apache.tuscany.spi.model.Implementation;
import org.apache.tuscany.spi.model.Property;
-import java.net.URL;
-
/**
* @version $$Rev$$ $$Date$$
*/
public class SpringImplementation extends Implementation<
- CompositeComponentType<
- BoundServiceDefinition<? extends Binding>,
- BoundReferenceDefinition<? extends Binding>,
- ? extends Property>> {
+ CompositeComponentType<
+ BoundServiceDefinition<? extends Binding>,
+ BoundReferenceDefinition<? extends Binding>,
+ ? extends Property>> {
private String location;
private URL applicationXml;
@@ -45,9 +43,9 @@
}
public SpringImplementation(CompositeComponentType<
- BoundServiceDefinition<? extends Binding>,
- BoundReferenceDefinition<? extends Binding>,
- ? extends Property> componentType) {
+ BoundServiceDefinition<? extends Binding>,
+ BoundReferenceDefinition<? extends Binding>,
+ ? extends Property> componentType) {
super(componentType);
}
Modified: incubator/tuscany/java/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringImplementationLoader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringImplementationLoader.java?rev=431408&r1=431407&r2=431408&view=diff
==============================================================================
--- incubator/tuscany/java/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringImplementationLoader.java (original)
+++ incubator/tuscany/java/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringImplementationLoader.java Mon Aug 14 11:49:12 2006
@@ -35,37 +35,40 @@
* limitations under the License.
*/
-import org.apache.tuscany.spi.extension.LoaderExtension;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.net.URL;
+import java.util.jar.Attributes;
+import java.util.jar.JarEntry;
+import java.util.jar.JarFile;
+import java.util.jar.Manifest;
+import javax.xml.namespace.QName;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
+
+import org.osoa.sca.annotations.Constructor;
+
import org.apache.tuscany.spi.annotation.Autowire;
-import org.apache.tuscany.spi.loader.LoaderRegistry;
-import org.apache.tuscany.spi.loader.LoaderException;
-import org.apache.tuscany.spi.loader.MissingResourceException;
-import org.apache.tuscany.spi.loader.LoaderUtil;
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.loader.LoaderUtil;
+import org.apache.tuscany.spi.loader.MissingResourceException;
import org.apache.tuscany.spi.services.info.RuntimeInfo;
-import org.osoa.sca.annotations.Constructor;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamException;
-import java.net.URL;
-import java.io.*;
-import java.util.jar.JarFile;
-import java.util.jar.Manifest;
-import java.util.jar.Attributes;
-import java.util.jar.JarEntry;
-import java.util.Map;
/**
* Loader for handling Spring <spring:implementation.spring> elements.
*/
public class SpringImplementationLoader extends LoaderExtension<SpringImplementation> {
- private static final QName IMPLEMENTATION_SPRING = new QName("http://tuscany.apache.org/xmlns/spring/1.0", "implementation.spring");
+ private static final QName IMPLEMENTATION_SPRING = new QName("http://tuscany.apache.org/xmlns/spring/1.0",
+ "implementation.spring");
private final RuntimeInfo runtimeInfo;
- @Constructor({"registry"})
+ @Constructor
public SpringImplementationLoader(@Autowire LoaderRegistry registry, @Autowire RuntimeInfo runtimeInfo) {
super(registry);
this.runtimeInfo = runtimeInfo;
@@ -75,8 +78,9 @@
return IMPLEMENTATION_SPRING;
}
- public SpringImplementation load(CompositeComponent parent, XMLStreamReader reader, DeploymentContext deploymentContext)
- throws XMLStreamException, LoaderException {
+ public SpringImplementation load(CompositeComponent parent, XMLStreamReader reader,
+ DeploymentContext deploymentContext)
+ throws XMLStreamException, LoaderException {
String locationAttr = reader.getAttributeValue(null, "location");
if (locationAttr == null) {
@@ -95,11 +99,10 @@
protected URL getApplicationContextUrl(String locationAttr) throws LoaderException {
assert runtimeInfo != null;
-
File manifestFile = null;
- File appXmlFile = null;
-
+ File appXmlFile;
File locationFile = new File(locationAttr);
+
if (!locationFile.isAbsolute()) {
locationFile = new File(runtimeInfo.getApplicationRootDirectory(), locationAttr);
}
@@ -133,7 +136,7 @@
} else {
try {
JarFile jf = new JarFile(locationFile);
- JarEntry je = null;
+ JarEntry je;
Manifest mf = jf.getManifest();
if (mf != null) {
Attributes mainAttrs = mf.getMainAttributes();
Modified: incubator/tuscany/java/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/ReferenceInvocationTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/ReferenceInvocationTestCase.java?rev=431408&r1=431407&r2=431408&view=diff
==============================================================================
--- incubator/tuscany/java/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/ReferenceInvocationTestCase.java (original)
+++ incubator/tuscany/java/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/ReferenceInvocationTestCase.java Mon Aug 14 11:49:12 2006
@@ -18,35 +18,38 @@
*/
package org.apache.tuscany.container.spring;
+import org.apache.tuscany.spi.component.Reference;
+
+import junit.framework.TestCase;
import org.apache.tuscany.container.spring.mock.TestBean;
import org.apache.tuscany.container.spring.mock.TestBeanImpl;
-import org.apache.tuscany.spi.component.Reference;
-import org.jmock.Mock;
-import org.jmock.MockObjectTestCase;
+import static org.easymock.EasyMock.createMock;
+import static org.easymock.EasyMock.expect;
+import static org.easymock.EasyMock.replay;
import org.springframework.beans.PropertyValue;
import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.beans.factory.config.RuntimeBeanReference;
import org.springframework.beans.factory.support.RootBeanDefinition;
-import org.springframework.context.support.StaticApplicationContext;
import org.springframework.context.ConfigurableApplicationContext;
+import org.springframework.context.support.StaticApplicationContext;
/**
* Verifies wiring from a Spring bean to an SCA composite reference
*
* @version $$Rev$$ $$Date$$
*/
-public class ReferenceInvocationTestCase extends MockObjectTestCase {
+public class ReferenceInvocationTestCase extends TestCase {
public void testInvocation() throws Exception {
ConfigurableApplicationContext ctx = createSpringContext();
SpringCompositeComponent parent = new SpringCompositeComponent("spring", ctx, null, null);
parent.start();
TestBean referenceTarget = new TestBeanImpl();
- Mock mock = mock(Reference.class);
- mock.stubs().method("getName").will(returnValue("bar"));
- mock.stubs().method("getInterface").will(returnValue(TestBean.class));
- mock.expects(atLeastOnce()).method("getServiceInstance").will(returnValue(referenceTarget));
- Reference reference = (Reference) mock.proxy();
+ Reference reference = createMock(Reference.class);
+ expect(reference.getName()).andReturn("bar").anyTimes();
+ expect(reference.getInterface()).andReturn(TestBean.class);
+ expect(reference.getServiceInstance()).andStubReturn(referenceTarget);
+ replay(reference);
parent.register(reference);
ctx.getBean("foo");
}
Modified: incubator/tuscany/java/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/SpringCompositeBuilderTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/SpringCompositeBuilderTestCase.java?rev=431408&r1=431407&r2=431408&view=diff
==============================================================================
--- incubator/tuscany/java/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/SpringCompositeBuilderTestCase.java (original)
+++ incubator/tuscany/java/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/SpringCompositeBuilderTestCase.java Mon Aug 14 11:49:12 2006
@@ -18,18 +18,18 @@
*/
package org.apache.tuscany.container.spring;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.net.URL;
-import java.net.MalformedURLException;
import java.io.File;
-import java.io.IOException;
import java.io.FileWriter;
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.net.URI;
+import java.net.URISyntaxException;
import org.apache.tuscany.spi.builder.BuilderRegistry;
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.deployer.DeploymentContext;
import org.apache.tuscany.spi.extension.ServiceExtension;
import org.apache.tuscany.spi.model.BoundServiceDefinition;
import org.apache.tuscany.spi.model.ComponentDefinition;
@@ -39,38 +39,38 @@
import org.apache.tuscany.spi.wire.OutboundWire;
import org.apache.tuscany.spi.wire.WireService;
+import junit.framework.TestCase;
import org.apache.tuscany.container.spring.mock.TestBean;
-import org.apache.tuscany.container.spring.mock.TestBeanImpl;
import org.apache.tuscany.container.spring.mock.VMBinding;
import org.apache.tuscany.test.ArtifactFactory;
-import org.jmock.Mock;
-import org.jmock.MockObjectTestCase;
+import static org.easymock.EasyMock.createMock;
+import static org.easymock.EasyMock.createNiceMock;
+import static org.easymock.EasyMock.expect;
+import static org.easymock.EasyMock.isA;
+import static org.easymock.EasyMock.replay;
import org.jmock.core.Constraint;
import org.jmock.core.Formatting;
-import org.springframework.beans.factory.config.BeanDefinition;
-import org.springframework.beans.factory.support.RootBeanDefinition;
-import org.springframework.context.ConfigurableApplicationContext;
-import org.springframework.context.support.StaticApplicationContext;
/**
* @version $$Rev$$ $$Date$$
*/
-public class SpringCompositeBuilderTestCase extends MockObjectTestCase {
+public class SpringCompositeBuilderTestCase extends TestCase {
private final String appXml =
- "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
- "<beans xmlns=\"http://www.springframework.org/schema/beans\"\n" +
- " xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n" +
- " xsi:schemaLocation=\"\n" +
- "http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd \n" +
-// "http://www.springframework.org/schema/sca http://www.springframework.org/schema/sca/SpringSCA.xsd" +
- "\">\n" +
- "\n" +
-// "<sca:service name=\"fooService\" type=\"org.apache.tuscany.container.spring.mock.TestBean\" target=\"fooBean\"/>" +
- "\n" +
- "<bean id=\"fooBean\" class=\"org.apache.tuscany.container.spring.mock.TestBeanImpl\">\n" +
- "</bean>\n" +
- "\n" +
- "</beans>\n";
+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+ + "<beans xmlns=\"http://www.springframework.org/schema/beans\"\n"
+ + " xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+ + " xsi:schemaLocation=\"\n"
+ + "http://www.springframework.org/schema/beans "
+ + "http://www.springframework.org/schema/beans/spring-beans.xsd \n"
+// "http://www.springframework.org/schema/sca http://www.springframework.org/schema/sca/SpringSCA.xsd" +
+ + "\">\n"
+ + "\n"
+// "<sca:service name=\"fooService\" type=\"org.apache.tuscany.container.spring.mock.TestBean\" target=\"fooBean\"/>" +
+ + "\n"
+ + "<bean id=\"fooBean\" class=\"org.apache.tuscany.container.spring.mock.TestBeanImpl\">\n"
+ + "</bean>\n"
+ + "\n"
+ + "</beans>\n";
public void testBuildImplicit() throws Exception {
@@ -97,18 +97,20 @@
connector.connect(inboundWire, outboundWire, true);
// Configure the mock builder registry
- Mock mock = mock(BuilderRegistry.class);
- mock.expects(atLeastOnce()).method("build").with(ANYTHING, serviceIsNamed("fooService"), ANYTHING)
- .will(returnValue(serviceContext));
-
+ BuilderRegistry registry = createMock(BuilderRegistry.class);
+ expect(registry.build(isA(CompositeComponent.class),
+ isA(BoundServiceDefinition.class),
+ isA(DeploymentContext.class))).andStubReturn(serviceContext);
+ replay(registry);
// Test the SpringCompositeBuilder
SpringCompositeBuilder builder = new SpringCompositeBuilder();
builder.setWireService(wireService);
- builder.setBuilderRegistry((BuilderRegistry) mock.proxy());
- CompositeComponent component = (CompositeComponent) builder.build(null, componentDefinition, null);
+ builder.setBuilderRegistry(registry);
+ CompositeComponent component = (CompositeComponent) builder.build(createNiceMock(CompositeComponent.class),
+ componentDefinition,
+ createNiceMock(DeploymentContext.class));
Service service = component.getService("fooService");
TestBean bean = (TestBean) service.getServiceInstance();
-
assertEquals("call foo", bean.echo("call foo"));
}
Modified: incubator/tuscany/java/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/SpringInvocationTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/SpringInvocationTestCase.java?rev=431408&r1=431407&r2=431408&view=diff
==============================================================================
--- incubator/tuscany/java/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/SpringInvocationTestCase.java (original)
+++ incubator/tuscany/java/sca/containers/container.spring/src/test/java/org/apache/tuscany/container/spring/SpringInvocationTestCase.java Mon Aug 14 11:49:12 2006
@@ -18,10 +18,12 @@
*/
package org.apache.tuscany.container.spring;
+import junit.framework.TestCase;
import org.apache.tuscany.container.spring.mock.TestBean;
import org.apache.tuscany.container.spring.mock.TestBeanImpl;
-import org.jmock.Mock;
-import org.jmock.MockObjectTestCase;
+import static org.easymock.EasyMock.createMock;
+import static org.easymock.EasyMock.expect;
+import static org.easymock.EasyMock.replay;
import org.springframework.context.ConfigurableApplicationContext;
/**
@@ -29,12 +31,12 @@
*
* @version $$Rev$$ $$Date$$
*/
-public class SpringInvocationTestCase extends MockObjectTestCase {
+public class SpringInvocationTestCase extends TestCase {
public void testSpringInvocation() throws Exception {
- Mock mock = mock(ConfigurableApplicationContext.class);
- mock.expects(atLeastOnce()).method("getBean").with(eq("foo")).will(returnValue(new TestBeanImpl()));
- ConfigurableApplicationContext ctx = (ConfigurableApplicationContext) mock.proxy();
+ ConfigurableApplicationContext ctx = createMock(ConfigurableApplicationContext.class);
+ expect(ctx.getBean("foo")).andStubReturn(new TestBeanImpl());
+ replay(ctx);
SpringInvoker invoker = new SpringInvoker("foo", TestBean.class.getMethod("echo", String.class), ctx);
assertEquals("call foo", invoker.invokeTarget(new String[]{"call foo"}));
}
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org