Author: jmarino
Date: Fri Apr 14 13:14:27 2006
New Revision: 394183
URL: http://svn.apache.org/viewcvs?rev=394183&view=rev
Log:
rename JavaComponentContext to JavaAtomicContext and unit tests
Added:
incubator/tuscany/java/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/context/JavaAtomicContext.java
(contents, props changed)
- copied, changed from r394171,
incubator/tuscany/java/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/context/JavaComponentContext.java
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/JavaAtomicContextLifecycleTestCase.java
(contents, props changed)
- copied, changed from r394173,
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/PojoLifecycleTestCase.java
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/JavaAtomicContextMetadataInjectionTestCase.java
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/JavaAtomicContextNegativeMetadataTestCase.java
(contents, props changed)
- copied, changed from r394171,
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/BadPojoTestCase.java
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/JavaAtomicContextScopeTestCase.java
(contents, props changed)
- copied, changed from r394171,
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/PojoTestCase.java
Removed:
incubator/tuscany/java/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/context/JavaComponentContext.java
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/BadPojoTestCase.java
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/PojoLifecycleTestCase.java
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/PojoTestCase.java
Modified:
incubator/tuscany/java/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/config/JavaContextFactory.java
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/mock/MockFactory.java
Modified:
incubator/tuscany/java/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/config/JavaContextFactory.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/config/JavaContextFactory.java?rev=394183&r1=394182&r2=394183&view=diff
==============================================================================
---
incubator/tuscany/java/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/config/JavaContextFactory.java
(original)
+++
incubator/tuscany/java/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/config/JavaContextFactory.java
Fri Apr 14 13:14:27 2006
@@ -19,7 +19,7 @@
import java.util.List;
import java.util.Map;
-import org.apache.tuscany.container.java.context.JavaComponentContext;
+import org.apache.tuscany.container.java.context.JavaAtomicContext;
import org.apache.tuscany.core.builder.ContextCreationException;
import org.apache.tuscany.core.builder.ContextResolver;
import org.apache.tuscany.core.builder.ContextFactory;
@@ -99,7 +99,7 @@
public AtomicContext createContext() throws ContextCreationException {
PojoObjectFactory<?> objectFactory = new
PojoObjectFactory<Object>(ctr, null, setters);
- return new JavaComponentContext(name, objectFactory, eagerInit, init,
destroy, stateless);
+ return new JavaAtomicContext(name, objectFactory, eagerInit, init,
destroy, stateless);
}
private Map<String, ProxyFactory> targetProxyFactories = new
HashMap<String, ProxyFactory>();
Copied:
incubator/tuscany/java/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/context/JavaAtomicContext.java
(from r394171,
incubator/tuscany/java/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/context/JavaComponentContext.java)
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/context/JavaAtomicContext.java?p2=incubator/tuscany/java/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/context/JavaAtomicContext.java&p1=incubator/tuscany/java/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/context/JavaComponentContext.java&r1=394171&r2=394183&rev=394183&view=diff
==============================================================================
---
incubator/tuscany/java/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/context/JavaComponentContext.java
(original)
+++
incubator/tuscany/java/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/context/JavaAtomicContext.java
Fri Apr 14 13:14:27 2006
@@ -28,11 +28,11 @@
import org.apache.tuscany.core.injection.ObjectCreationException;
/**
- * Manages Java service component implementation instances
+ * Manages Java component implementation instances
*
* @version $Rev$ $Date$
*/
-public class JavaComponentContext extends AbstractContext implements
AtomicContext {
+public class JavaAtomicContext extends AbstractContext implements
AtomicContext {
private boolean eagerInit;
@@ -48,8 +48,8 @@
// creates a new implementation instance with injected references and
properties
private ObjectFactory objectFactory;
- public JavaComponentContext(String name, ObjectFactory objectFactory,
boolean eagerInit, EventInvoker<Object> initInvoker,
- EventInvoker<Object> destroyInvoker, boolean
stateless) {
+ public JavaAtomicContext(String name, ObjectFactory objectFactory, boolean
eagerInit, EventInvoker<Object> initInvoker,
+ EventInvoker<Object> destroyInvoker, boolean
stateless) {
super(name);
assert (objectFactory != null) : "Object factory was null";
if (eagerInit && initInvoker == null) {
Propchange:
incubator/tuscany/java/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/context/JavaAtomicContext.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
incubator/tuscany/java/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/context/JavaAtomicContext.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Copied:
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/JavaAtomicContextLifecycleTestCase.java
(from r394173,
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/PojoLifecycleTestCase.java)
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/JavaAtomicContextLifecycleTestCase.java?p2=incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/JavaAtomicContextLifecycleTestCase.java&p1=incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/PojoLifecycleTestCase.java&r1=394173&r2=394183&rev=394183&view=diff
==============================================================================
---
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/PojoLifecycleTestCase.java
(original)
+++
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/JavaAtomicContextLifecycleTestCase.java
Fri Apr 14 13:14:27 2006
@@ -27,16 +27,16 @@
import org.apache.tuscany.model.assembly.Scope;
/**
- * Tests <code>@Init</code> method called, <code>@Context</code> set for
ModuleContext, <code>@ComponentName</code> set
+ * Tests init and destroy lifecycle callbacks are handled properly
*
* @version $Rev$ $Date$
*/
-public class PojoLifecycleTestCase extends TestCase {
+public class JavaAtomicContextLifecycleTestCase extends TestCase {
public void testComponentNameSet() throws Exception {
CompositeContext mc = new CompositeContextImpl();
mc.setName("mc");
- JavaComponentContext context =
MockFactory.createPojoContext("TestServiceInit",
+ JavaAtomicContext context =
MockFactory.createPojoContext("TestServiceInit",
ModuleScopeInitOnlyComponent.class, Scope.MODULE, mc);
context.start();
ModuleScopeInitOnlyComponent instance = (ModuleScopeInitOnlyComponent)
context.getInstance(null);
@@ -48,38 +48,12 @@
public void testModuleContextSet() throws Exception {
CompositeContext mc = new CompositeContextImpl();
mc.setName("mc");
- JavaComponentContext context =
MockFactory.createPojoContext("TestServiceInit",
+ JavaAtomicContext context =
MockFactory.createPojoContext("TestServiceInit",
ModuleScopeInitOnlyComponent.class, Scope.MODULE, mc);
context.start();
ModuleScopeInitOnlyComponent instance = (ModuleScopeInitOnlyComponent)
context.getInstance(null);
Assert.assertNotNull(instance);
Assert.assertEquals(mc, instance.getModuleContext());
- context.stop();
- }
-
- public void testInit() throws Exception {
- CompositeContext mc = new CompositeContextImpl();
- mc.setName("mc");
- JavaComponentContext context =
MockFactory.createPojoContext("TestServiceInit",
- ModuleScopeInitOnlyComponent.class, Scope.MODULE, mc);
- context.start();
- ModuleScopeInitOnlyComponent instance = (ModuleScopeInitOnlyComponent)
context.getInstance(null);
- Assert.assertNotNull(instance);
- Assert.assertTrue(instance.isInitialized());
- context.stop();
- }
-
-
- public void testDestroy() throws Exception {
- CompositeContext mc = new CompositeContextImpl();
- mc.setName("mc");
- JavaComponentContext context =
MockFactory.createPojoContext("TestServiceInit",
- ModuleScopeInitDestroyComponent.class, Scope.MODULE, mc);
- context.start();
- ModuleScopeInitDestroyComponent instance =
(ModuleScopeInitDestroyComponent) context.getInstance(null);
- Assert.assertNotNull(instance);
- context.destroy();
- Assert.assertTrue(instance.isDestroyed());
context.stop();
}
}
Propchange:
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/JavaAtomicContextLifecycleTestCase.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added:
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/JavaAtomicContextMetadataInjectionTestCase.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/JavaAtomicContextMetadataInjectionTestCase.java?rev=394183&view=auto
==============================================================================
---
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/JavaAtomicContextMetadataInjectionTestCase.java
(added)
+++
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/JavaAtomicContextMetadataInjectionTestCase.java
Fri Apr 14 13:14:27 2006
@@ -0,0 +1,42 @@
+package org.apache.tuscany.container.java.context;
+
+import junit.framework.TestCase;
+import junit.framework.Assert;
+import org.apache.tuscany.core.context.CompositeContext;
+import org.apache.tuscany.core.context.impl.CompositeContextImpl;
+import org.apache.tuscany.container.java.mock.MockFactory;
+import
org.apache.tuscany.container.java.mock.components.ModuleScopeInitOnlyComponent;
+import
org.apache.tuscany.container.java.mock.components.ModuleScopeInitDestroyComponent;
+import org.apache.tuscany.model.assembly.Scope;
+
+/**
+ * Tests SCA metadata such as <code>@ComponentName</code> and
<code>@Context</code> are handled properly
+ *
+ * @version $Rev: 394173 $ $Date: 2006-04-14 11:54:59 -0700 (Fri, 14 Apr 2006)
$
+ */
+public class JavaAtomicContextMetadataInjectionTestCase extends TestCase {
+
+ public void testComponentNameSet() throws Exception {
+ CompositeContext mc = new CompositeContextImpl();
+ mc.setName("mc");
+ JavaAtomicContext context =
MockFactory.createPojoContext("TestServiceInit",
+ ModuleScopeInitOnlyComponent.class, Scope.MODULE, mc);
+ context.start();
+ ModuleScopeInitOnlyComponent instance = (ModuleScopeInitOnlyComponent)
context.getInstance(null);
+ Assert.assertNotNull(instance);
+ Assert.assertEquals("TestServiceInit", instance.getName());
+ context.stop();
+ }
+
+ public void testModuleContextSet() throws Exception {
+ CompositeContext mc = new CompositeContextImpl();
+ mc.setName("mc");
+ JavaAtomicContext context =
MockFactory.createPojoContext("TestServiceInit",
+ ModuleScopeInitOnlyComponent.class, Scope.MODULE, mc);
+ context.start();
+ ModuleScopeInitOnlyComponent instance = (ModuleScopeInitOnlyComponent)
context.getInstance(null);
+ Assert.assertNotNull(instance);
+ Assert.assertEquals(mc, instance.getModuleContext());
+ context.stop();
+ }
+}
Copied:
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/JavaAtomicContextNegativeMetadataTestCase.java
(from r394171,
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/BadPojoTestCase.java)
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/JavaAtomicContextNegativeMetadataTestCase.java?p2=incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/JavaAtomicContextNegativeMetadataTestCase.java&p1=incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/BadPojoTestCase.java&r1=394171&r2=394183&rev=394183&view=diff
==============================================================================
---
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/BadPojoTestCase.java
(original)
+++
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/JavaAtomicContextNegativeMetadataTestCase.java
Fri Apr 14 13:14:27 2006
@@ -25,7 +25,12 @@
import org.apache.tuscany.core.context.impl.CompositeContextImpl;
import org.apache.tuscany.model.assembly.Scope;
-public class BadPojoTestCase extends TestCase {
+/**
+ * Performs rudimentary negative testing by using malformed metadata on a POJO
+ *
+ * @version $Rev $Date
+ */
+public class JavaAtomicContextNegativeMetadataTestCase extends TestCase {
/**
* Tests that a pojo with <code>@ComponentName</code> specified on a
non-String type generates an error.
@@ -37,8 +42,7 @@
CompositeContext mc = new CompositeContextImpl();
mc.setName("mc");
try {
- JavaComponentContext context =
MockFactory.createPojoContext("BadNamePojo", BadNamePojo.class,
- Scope.MODULE, mc);
+ MockFactory.createPojoContext("BadNamePojo", BadNamePojo.class,
Scope.MODULE, mc);
} catch (NoSuchMethodException e) {
if (e.getMessage().indexOf("@ComponentName") < 0) {
throw e;
@@ -57,8 +61,7 @@
CompositeContext mc = new CompositeContextImpl();
mc.setName("mc");
try {
- JavaComponentContext context =
MockFactory.createPojoContext("BadContextPojo", BadContextPojo.class,
- Scope.MODULE, mc);
+ MockFactory.createPojoContext("BadContextPojo",
BadContextPojo.class, Scope.MODULE, mc);
} catch (NoSuchMethodException e) {
if (e.getMessage().indexOf("@Context") < 0) {
throw e;
Propchange:
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/JavaAtomicContextNegativeMetadataTestCase.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Copied:
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/JavaAtomicContextScopeTestCase.java
(from r394171,
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/PojoTestCase.java)
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/JavaAtomicContextScopeTestCase.java?p2=incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/JavaAtomicContextScopeTestCase.java&p1=incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/PojoTestCase.java&r1=394171&r2=394183&rev=394183&view=diff
==============================================================================
---
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/PojoTestCase.java
(original)
+++
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/JavaAtomicContextScopeTestCase.java
Fri Apr 14 13:14:27 2006
@@ -32,16 +32,18 @@
import org.apache.tuscany.core.injection.PojoObjectFactory;
/**
+ * Tests [EMAIL PROTECTED] JavaAtomicContext} to ensure it handles component
scopes properly
+ *
* @version $Rev$ $Date$
*/
-public class PojoTestCase extends TestCase {
+public class JavaAtomicContextScopeTestCase extends TestCase {
JavaAssemblyFactory factory = new JavaAssemblyFactoryImpl();
public void testGetModuleInstance() throws Exception {
CompositeContext mc = new CompositeContextImpl();
mc.setName("mc");
- JavaComponentContext c = new JavaComponentContext("foo", new
PojoObjectFactory<ModuleScopeComponentImpl>(JavaIntrospectionHelper
+ JavaAtomicContext c = new JavaAtomicContext("foo", new
PojoObjectFactory<ModuleScopeComponentImpl>(JavaIntrospectionHelper
.getDefaultConstructor(ModuleScopeComponentImpl.class), null,
null), false, null, null, false);
GenericComponent service = (GenericComponent) c.getInstance(null);
Assert.assertNotNull(service);
@@ -54,7 +56,7 @@
public void testGetSessionInstance() throws Exception {
CompositeContext mc = new CompositeContextImpl();
mc.setName("mc");
- JavaComponentContext c = new JavaComponentContext("foo", new
PojoObjectFactory<SessionScopeComponentImpl>(JavaIntrospectionHelper
+ JavaAtomicContext c = new JavaAtomicContext("foo", new
PojoObjectFactory<SessionScopeComponentImpl>(JavaIntrospectionHelper
.getDefaultConstructor(SessionScopeComponentImpl.class), null,
null), false, null, null, false);
GenericComponent service = (GenericComponent) c.getInstance(null);
Assert.assertNotNull(service);
@@ -67,7 +69,7 @@
public void testGetRequestInstance() throws Exception {
CompositeContext mc = new CompositeContextImpl();
mc.setName("mc");
- JavaComponentContext c = new JavaComponentContext("foo", new
PojoObjectFactory<RequestScopeComponentImpl>(JavaIntrospectionHelper
+ JavaAtomicContext c = new JavaAtomicContext("foo", new
PojoObjectFactory<RequestScopeComponentImpl>(JavaIntrospectionHelper
.getDefaultConstructor(RequestScopeComponentImpl.class), null,
null), false, null, null, false);
GenericComponent service = (GenericComponent) c.getInstance(null);
Assert.assertNotNull(service);
@@ -80,7 +82,7 @@
public void testGetStatelessInstance() throws Exception {
CompositeContext mc = new CompositeContextImpl();
mc.setName("fooContext");
- JavaComponentContext c = new JavaComponentContext("foo", new
PojoObjectFactory<StatelessComponentImpl>(JavaIntrospectionHelper
+ JavaAtomicContext c = new JavaAtomicContext("foo", new
PojoObjectFactory<StatelessComponentImpl>(JavaIntrospectionHelper
.getDefaultConstructor(StatelessComponentImpl.class), null,
null), false, null, null, true);
GenericComponent service = (GenericComponent) c.getInstance(null);
Assert.assertNotNull(service);
Propchange:
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/context/JavaAtomicContextScopeTestCase.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Modified:
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/mock/MockFactory.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/mock/MockFactory.java?rev=394183&r1=394182&r2=394183&view=diff
==============================================================================
---
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/mock/MockFactory.java
(original)
+++
incubator/tuscany/java/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/mock/MockFactory.java
Fri Apr 14 13:14:27 2006
@@ -31,7 +31,7 @@
import org.apache.tuscany.container.java.assembly.mock.HelloWorldService;
import org.apache.tuscany.container.java.builder.JavaContextFactoryBuilder;
import org.apache.tuscany.container.java.builder.JavaTargetWireBuilder;
-import org.apache.tuscany.container.java.context.JavaComponentContext;
+import org.apache.tuscany.container.java.context.JavaAtomicContext;
import org.apache.tuscany.container.java.mock.binding.foo.FooBinding;
import org.apache.tuscany.container.java.mock.binding.foo.FooBindingBuilder;
import
org.apache.tuscany.container.java.mock.binding.foo.FooBindingWireBuilder;
@@ -602,7 +602,7 @@
* @param moduleComponentContext the containing composite context
* @throws NoSuchMethodException if the POJO does not have a default
noi-args constructor
*/
- public static JavaComponentContext createPojoContext(String name, Class
implType, Scope scope,
+ public static JavaAtomicContext createPojoContext(String name, Class
implType, Scope scope,
CompositeContext
moduleComponentContext) throws NoSuchMethodException {
AtomicComponent component = createComponent(name, implType, scope);
@@ -650,7 +650,7 @@
}
}
boolean stateless = (scope == Scope.INSTANCE);
- JavaComponentContext context = new JavaComponentContext("foo", new
PojoObjectFactory(JavaIntrospectionHelper
+ JavaAtomicContext context = new JavaAtomicContext("foo", new
PojoObjectFactory(JavaIntrospectionHelper
.getDefaultConstructor(implType), null, injectors), eagerInit,
initInvoker, destroyInvoker, stateless);
return context;
}