You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by jb...@apache.org on 2007/03/11 06:09:18 UTC
svn commit: r516854 - in /incubator/tuscany/java/sca/kernel:
core/src/main/java/org/apache/tuscany/core/component/
core/src/main/java/org/apache/tuscany/core/component/scope/
core/src/main/java/org/apache/tuscany/core/implementation/
core/src/main/java...
Author: jboynes
Date: Sat Mar 10 21:09:17 2007
New Revision: 516854
URL: http://svn.apache.org/viewvc?view=rev&rev=516854
Log:
remove init and destroy methods from AtomicComponent as they are no longer needed
Modified:
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/component/SystemSingletonAtomicComponent.java
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainer.java
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/PojoAtomicComponent.java
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponent.java
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicCompositeScopeTestCase.java
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainerDestroyOnExpirationTestCase.java
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/PojoAtomicComponentTestCase.java
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/component/SystemAtomicComponentTestCase.java
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/AtomicComponent.java
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/AtomicComponentExtension.java
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/component/SystemSingletonAtomicComponent.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/component/SystemSingletonAtomicComponent.java?view=diff&rev=516854&r1=516853&r2=516854
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/component/SystemSingletonAtomicComponent.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/component/SystemSingletonAtomicComponent.java Sat Mar 10 21:09:17 2007
@@ -25,8 +25,6 @@
import org.apache.tuscany.spi.ObjectCreationException;
import org.apache.tuscany.spi.idl.java.JavaServiceContract;
import org.apache.tuscany.spi.component.AtomicComponent;
-import org.apache.tuscany.spi.component.TargetDestructionException;
-import org.apache.tuscany.spi.component.TargetInitializationException;
import org.apache.tuscany.spi.component.TargetResolutionException;
import org.apache.tuscany.spi.component.TargetInvokerCreationException;
import org.apache.tuscany.spi.component.InstanceWrapper;
@@ -92,14 +90,6 @@
public Object getAssociatedTargetInstance() throws TargetResolutionException {
return instance;
- }
-
- public void init(Object instance) throws TargetInitializationException {
-
- }
-
- public void destroy(Object instance) throws TargetDestructionException {
-
}
public Object createInstance() throws ObjectCreationException {
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainer.java?view=diff&rev=516854&r1=516853&r2=516854
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainer.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainer.java Sat Mar 10 21:09:17 2007
@@ -22,15 +22,13 @@
import java.util.concurrent.ConcurrentHashMap;
import org.apache.tuscany.spi.component.AtomicComponent;
+import org.apache.tuscany.spi.component.InstanceWrapper;
import org.apache.tuscany.spi.component.PersistenceException;
-import org.apache.tuscany.spi.component.SCAObject;
import org.apache.tuscany.spi.component.ScopeContainer;
import org.apache.tuscany.spi.component.ScopeContainerMonitor;
import org.apache.tuscany.spi.component.TargetDestructionException;
-import org.apache.tuscany.spi.component.TargetNotFoundException;
import org.apache.tuscany.spi.component.TargetResolutionException;
import org.apache.tuscany.spi.component.WorkContext;
-import org.apache.tuscany.spi.component.InstanceWrapper;
import org.apache.tuscany.spi.event.Event;
import org.apache.tuscany.spi.event.RuntimeEventListener;
import org.apache.tuscany.spi.model.Scope;
@@ -81,62 +79,6 @@
component.addListener(this);
}
-/*
- @Override
- public Object getInstance(AtomicComponent component) throws TargetResolutionException {
- String conversationId = getConversationId();
- try {
- workContext.setCurrentAtomicComponent(component);
- Object instance = nonDurableStore.readRecord(component, conversationId);
- if (instance != null) {
- if (component.getMaxIdleTime() > 0) {
- // update expiration
- long expire = System.currentTimeMillis() + component.getMaxIdleTime();
- nonDurableStore.updateRecord(component, conversationId, instance, expire);
- }
- } else {
- // FIXME should the store really be persisting the wrappers
- InstanceWrapper wrapper = component.createInstanceWrapper();
- wrapper.start();
- instance = wrapper.getInstance();
- long expire = calculateExpiration(component);
- nonDurableStore.insertRecord(component, conversationId, instance, expire);
- }
- return instance;
- } catch (StoreReadException e) {
- throw new TargetResolutionException("Error retrieving target instance", e);
- } catch (StoreWriteException e) {
- throw new TargetResolutionException("Error persisting target instance", e);
- } finally {
- workContext.setCurrentAtomicComponent(null);
- }
- }
-
- public Object getAssociatedInstance(AtomicComponent component) throws TargetResolutionException {
- String conversationId = getConversationId();
- try {
- workContext.setCurrentAtomicComponent(component);
- Object instance = nonDurableStore.readRecord(component, conversationId);
- if (instance != null) {
- if (component.getMaxIdleTime() > 0) {
- // update expiration
- long expire = System.currentTimeMillis() + component.getMaxIdleTime();
- nonDurableStore.updateRecord(component, conversationId, instance, expire);
- }
- return instance;
- } else {
- throw new TargetNotFoundException(component.getUri().toString());
- }
- } catch (StoreReadException e) {
- throw new TargetResolutionException("Error retrieving target instance", e);
- } catch (StoreWriteException e) {
- throw new TargetResolutionException("Error persisting target instance", e);
- } finally {
- workContext.setCurrentAtomicComponent(null);
- }
- }
-*/
-
public void persistNew(AtomicComponent component, String id, Object instance, long expiration)
throws PersistenceException {
try {
@@ -233,11 +175,9 @@
public void onEvent(Event event) {
if (event instanceof StoreExpirationEvent) {
StoreExpirationEvent expiration = (StoreExpirationEvent) event;
- SCAObject object = expiration.getOwner();
- assert object instanceof AtomicComponent;
- AtomicComponent owner = (AtomicComponent) object;
+ InstanceWrapper wrapper = (InstanceWrapper) expiration.getInstance();
try {
- owner.destroy(expiration.getInstance());
+ wrapper.stop();
} catch (TargetDestructionException e) {
monitor.destructionError(e);
}
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/PojoAtomicComponent.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/PojoAtomicComponent.java?view=diff&rev=516854&r1=516853&r2=516854
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/PojoAtomicComponent.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/PojoAtomicComponent.java Sat Mar 10 21:09:17 2007
@@ -35,7 +35,6 @@
import org.apache.tuscany.spi.ObjectCreationException;
import org.apache.tuscany.spi.ObjectFactory;
import org.apache.tuscany.spi.component.TargetDestructionException;
-import org.apache.tuscany.spi.component.TargetInitializationException;
import org.apache.tuscany.spi.component.TargetResolutionException;
import org.apache.tuscany.spi.component.InstanceWrapper;
import org.apache.tuscany.spi.extension.AtomicComponentExtension;
@@ -115,17 +114,6 @@
public boolean isDestroyable() {
return destroyInvoker != null;
- }
-
- public void init(Object instance) throws TargetInitializationException {
- if (initInvoker != null) {
- try {
- initInvoker.invokeEvent(instance);
- } catch (ObjectCallbackException e) {
- String uri = getUri().toString();
- throw new TargetInitializationException("Error initializing component instance", uri, e);
- }
- }
}
public void destroy(Object instance) throws TargetDestructionException {
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponent.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponent.java?view=diff&rev=516854&r1=516853&r2=516854
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponent.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponent.java Sat Mar 10 21:09:17 2007
@@ -33,8 +33,6 @@
import org.apache.tuscany.spi.component.RegistrationException;
import org.apache.tuscany.spi.component.ScopeContainer;
import org.apache.tuscany.spi.component.Service;
-import org.apache.tuscany.spi.component.TargetDestructionException;
-import org.apache.tuscany.spi.component.TargetInitializationException;
import org.apache.tuscany.spi.component.TargetInvokerCreationException;
import org.apache.tuscany.spi.component.TargetResolutionException;
import org.apache.tuscany.spi.component.WorkContext;
@@ -231,14 +229,6 @@
public long getMaxAge() {
return 0;
- }
-
- public void init(Object instance) throws TargetInitializationException {
-
- }
-
- public void destroy(Object instance) throws TargetDestructionException {
-
}
public Object createInstance() throws ObjectCreationException {
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicCompositeScopeTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicCompositeScopeTestCase.java?view=diff&rev=516854&r1=516853&r2=516854
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicCompositeScopeTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicCompositeScopeTestCase.java Sat Mar 10 21:09:17 2007
@@ -19,7 +19,6 @@
package org.apache.tuscany.core.component.scope;
import java.net.URI;
-import java.lang.reflect.Method;
import org.apache.tuscany.spi.component.AtomicComponent;
import org.apache.tuscany.spi.component.ScopeContainer;
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainerDestroyOnExpirationTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainerDestroyOnExpirationTestCase.java?view=diff&rev=516854&r1=516853&r2=516854
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainerDestroyOnExpirationTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainerDestroyOnExpirationTestCase.java Sat Mar 10 21:09:17 2007
@@ -18,29 +18,26 @@
*/
package org.apache.tuscany.core.component.scope;
+import junit.framework.TestCase;
+import org.easymock.EasyMock;
+import org.easymock.IAnswer;
+
+import org.apache.tuscany.core.component.WorkContextImpl;
import org.apache.tuscany.spi.component.AtomicComponent;
-import org.apache.tuscany.spi.component.SCAObject;
-import org.apache.tuscany.spi.component.ScopeContainer;
+import org.apache.tuscany.spi.component.InstanceWrapper;
import org.apache.tuscany.spi.component.WorkContext;
-import org.apache.tuscany.spi.event.Event;
-import org.apache.tuscany.spi.event.EventFilter;
import org.apache.tuscany.spi.event.RuntimeEventListener;
-import org.apache.tuscany.spi.services.store.RecoveryListener;
import org.apache.tuscany.spi.services.store.Store;
import org.apache.tuscany.spi.services.store.StoreExpirationEvent;
-import org.apache.tuscany.spi.services.store.StoreReadException;
-import org.apache.tuscany.spi.services.store.StoreWriteException;
-
-import junit.framework.TestCase;
-import org.apache.tuscany.core.component.WorkContextImpl;
-import org.easymock.EasyMock;
/**
* @version $Rev$ $Date$
*/
public class ConversationalScopeContainerDestroyOnExpirationTestCase extends TestCase {
- private ScopeContainer container;
- private TestStore store;
+ private Store store;
+ private RuntimeEventListener listener;
+ private WorkContext context;
+ private InstanceWrapper wrapper;
private AtomicComponent component;
/**
@@ -48,74 +45,28 @@
* conversational instance expires
*/
public void testDestroyNotification() throws Exception {
- store.getListener().onEvent(new StoreExpirationEvent(this, component, new Object()));
- EasyMock.verify(component);
+ store.addListener(EasyMock.isA(RuntimeEventListener.class));
+ EasyMock.expectLastCall().andStubAnswer(new IAnswer<Object>(){
+ public Object answer() throws Throwable {
+ listener = (RuntimeEventListener) EasyMock.getCurrentArguments()[0];
+ return null;
+ }
+ });
+ wrapper.stop();
+ EasyMock.replay(store);
+ EasyMock.replay(wrapper);
+
+ new ConversationalScopeContainer(store, context, null);
+ listener.onEvent(new StoreExpirationEvent(this, component, wrapper));
+ EasyMock.verify(store);
+ EasyMock.verify(wrapper);
}
protected void setUp() throws Exception {
super.setUp();
+ store = EasyMock.createMock(Store.class);
+ wrapper = EasyMock.createMock(InstanceWrapper.class);
component = EasyMock.createMock(AtomicComponent.class);
- component.destroy(EasyMock.isA(Object.class));
- EasyMock.replay(component);
- store = new TestStore();
- WorkContext context = new WorkContextImpl();
- container = new ConversationalScopeContainer(store, context, null);
- container.start();
- }
-
- protected void tearDown() throws Exception {
- super.tearDown();
- container.stop();
- }
-
- private class TestStore implements Store {
- private RuntimeEventListener listener;
-
- public RuntimeEventListener getListener() {
- return listener;
- }
-
- public void insertRecord(SCAObject owner, String id, Object object, long expiration)
- throws StoreWriteException {
-
- }
-
- public void updateRecord(SCAObject owner, String id, Object object, long expiration)
- throws StoreWriteException {
-
- }
-
- public Object readRecord(SCAObject owner, String id) throws StoreReadException {
- return null;
- }
-
- public void removeRecord(SCAObject owner, String id) throws StoreWriteException {
-
- }
-
- public void removeRecords() throws StoreWriteException {
-
- }
-
- public void recover(RecoveryListener listener) throws StoreReadException {
-
- }
-
- public void publish(Event object) {
-
- }
-
- public void addListener(RuntimeEventListener listener) {
- this.listener = listener;
- }
-
- public void addListener(EventFilter filter, RuntimeEventListener listener) {
-
- }
-
- public void removeListener(RuntimeEventListener listener) {
-
- }
+ context = new WorkContextImpl();
}
-
}
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/PojoAtomicComponentTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/PojoAtomicComponentTestCase.java?view=diff&rev=516854&r1=516853&r2=516854
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/PojoAtomicComponentTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/PojoAtomicComponentTestCase.java Sat Mar 10 21:09:17 2007
@@ -42,18 +42,6 @@
private PojoConfiguration config;
@SuppressWarnings({"unchecked"})
- public void testDestroy() throws Exception {
- EventInvoker<Object> invoker = EasyMock.createMock(EventInvoker.class);
- invoker.invokeEvent(EasyMock.notNull());
- EasyMock.replay(invoker);
- config.setDestroyInvoker(invoker);
- AtomicComponent component = new TestAtomicComponent(config);
- assertTrue(component.isDestroyable());
- component.destroy(new Object());
- EasyMock.verify(invoker);
- }
-
- @SuppressWarnings({"unchecked"})
public void testNoCallbackWires() throws Exception {
ScopeContainer container = EasyMock.createMock(ScopeContainer.class);
EasyMock.expect(container.getScope()).andReturn(Scope.CONVERSATION);
@@ -64,17 +52,6 @@
component.setScopeContainer(container);
component.start();
EasyMock.verify(container);
- }
-
- @SuppressWarnings({"unchecked"})
- public void testInit() throws Exception {
- EventInvoker<Object> invoker = EasyMock.createMock(EventInvoker.class);
- invoker.invokeEvent(EasyMock.notNull());
- EasyMock.replay(invoker);
- config.setInitInvoker(invoker);
- AtomicComponent component = new TestAtomicComponent(config);
- component.init(new Object());
- EasyMock.verify(invoker);
}
public void testOptimizable() throws Exception {
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/component/SystemAtomicComponentTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/component/SystemAtomicComponentTestCase.java?view=diff&rev=516854&r1=516853&r2=516854
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/component/SystemAtomicComponentTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/component/SystemAtomicComponentTestCase.java Sat Mar 10 21:09:17 2007
@@ -40,18 +40,6 @@
private EventInvoker<Object> initInvoker;
private EventInvoker<Object> destroyInvoker;
- public void testDefaultCreationAndInit() throws Exception {
- PojoObjectFactory<Foo> factory = new PojoObjectFactory<Foo>(Foo.class.getConstructor((Class[]) null));
- PojoConfiguration configuration = new PojoConfiguration();
- configuration.setInstanceFactory(factory);
- configuration.setInitInvoker(initInvoker);
- configuration.setName(new URI("foo"));
- SystemAtomicComponentImpl component = new SystemAtomicComponentImpl(configuration);
- Foo foo = (Foo) component.createInstance();
- component.init(foo);
- assertTrue(foo.initialized);
- }
-
public void testDestroy() throws Exception {
PojoObjectFactory<Foo> factory = new PojoObjectFactory<Foo>(Foo.class.getConstructor((Class[]) null));
PojoConfiguration configuration = new PojoConfiguration();
Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/AtomicComponent.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/AtomicComponent.java?view=diff&rev=516854&r1=516853&r2=516854
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/AtomicComponent.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/AtomicComponent.java Sat Mar 10 21:09:17 2007
@@ -64,22 +64,6 @@
long getMaxAge();
/**
- * Notifies the given instance of an initialization event.
- *
- * @throws TargetInitializationException
- */
- @Deprecated
- void init(Object instance) throws TargetInitializationException;
-
- /**
- * Notifies the given instance of a destroy event.
- *
- * @throws TargetDestructionException
- */
- @Deprecated
- void destroy(Object instance) throws TargetDestructionException;
-
- /**
* Creates a new implementation instance, generally used as a callback by a {@link
* org.apache.tuscany.spi.component.ScopeContainer}.
*
Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/AtomicComponentExtension.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/AtomicComponentExtension.java?view=diff&rev=516854&r1=516853&r2=516854
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/AtomicComponentExtension.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/AtomicComponentExtension.java Sat Mar 10 21:09:17 2007
@@ -24,8 +24,6 @@
import org.apache.tuscany.spi.component.AtomicComponent;
import org.apache.tuscany.spi.component.ComponentException;
import org.apache.tuscany.spi.component.ScopeContainer;
-import org.apache.tuscany.spi.component.TargetDestructionException;
-import org.apache.tuscany.spi.component.TargetInitializationException;
import org.apache.tuscany.spi.component.WorkContext;
import org.apache.tuscany.spi.model.Scope;
import org.apache.tuscany.spi.wire.ProxyService;
@@ -95,14 +93,6 @@
public void start() throws CoreRuntimeException {
super.start();
scopeContainer.register(this);
- }
-
- public void init(Object instance) throws TargetInitializationException {
-
- }
-
- public void destroy(Object instance) throws TargetDestructionException {
-
}
public void removeInstance() throws ComponentException {
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org