You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by rf...@apache.org on 2007/04/23 18:36:49 UTC
svn commit: r531525 - in /incubator/tuscany/java/sca/modules:
core-databinding/src/test/java/org/apache/tuscany/core/databinding/wire/
core-spi/src/main/java/org/apache/tuscany/spi/component/
core-spi/src/main/java/org/apache/tuscany/spi/wire/ core/src...
Author: rfeng
Date: Mon Apr 23 09:36:42 2007
New Revision: 531525
URL: http://svn.apache.org/viewvc?view=rev&rev=531525
Log:
Clean up the ScopeContainer
Removed:
incubator/tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/spi/component/ScopeContainerMonitor.java
Modified:
incubator/tuscany/java/sca/modules/core-databinding/src/test/java/org/apache/tuscany/core/databinding/wire/DataBindingWirePostProcessorOptimizationTestCase.java
incubator/tuscany/java/sca/modules/core-databinding/src/test/java/org/apache/tuscany/core/databinding/wire/DataBindingWirePostProcessorTestCase.java
incubator/tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/spi/wire/ChainHolder.java
incubator/tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/spi/wire/Wire.java
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/AbstractScopeContainer.java
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/CompositeScopeContainer.java
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainer.java
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/HttpSessionScopeContainer.java
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/RequestScopeContainer.java
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/StatelessScopeContainer.java
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/deployer/DeployerImpl.java
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/runtime/DefaultBootstrapper.java
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/wire/WireImpl.java
incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/BasicCompositeScopeTestCase.java
incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/BasicConversationalScopeTestCase.java
incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/BasicHttpSessionScopeTestCase.java
incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/BasicRequestScopeTestCase.java
incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/BasicStatelessScopeTestCase.java
incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/CompositeScopeInitDestroyErrorTestCase.java
incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainerDestroyOnExpirationTestCase.java
incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainerMaxAgeTestCase.java
incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainerMaxIdleTimeTestCase.java
incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainerPersistenceTestCase.java
incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/implementation/java/integration/AbstractConversationTestCase.java
Modified: incubator/tuscany/java/sca/modules/core-databinding/src/test/java/org/apache/tuscany/core/databinding/wire/DataBindingWirePostProcessorOptimizationTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core-databinding/src/test/java/org/apache/tuscany/core/databinding/wire/DataBindingWirePostProcessorOptimizationTestCase.java?view=diff&rev=531525&r1=531524&r2=531525
==============================================================================
--- incubator/tuscany/java/sca/modules/core-databinding/src/test/java/org/apache/tuscany/core/databinding/wire/DataBindingWirePostProcessorOptimizationTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/core-databinding/src/test/java/org/apache/tuscany/core/databinding/wire/DataBindingWirePostProcessorOptimizationTestCase.java Mon Apr 23 09:36:42 2007
@@ -90,7 +90,6 @@
chains.add(chain);
wire = EasyMock.createMock(Wire.class);
- expect(wire.getBindingType()).andReturn(Wire.LOCAL_BINDING).anyTimes();
expect(wire.getSourceContract()).andReturn(contract).anyTimes();
expect(wire.getTargetContract()).andReturn(contract).anyTimes();
expect(wire.getInvocationChains()).andReturn(chains).anyTimes();
Modified: incubator/tuscany/java/sca/modules/core-databinding/src/test/java/org/apache/tuscany/core/databinding/wire/DataBindingWirePostProcessorTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core-databinding/src/test/java/org/apache/tuscany/core/databinding/wire/DataBindingWirePostProcessorTestCase.java?view=diff&rev=531525&r1=531524&r2=531525
==============================================================================
--- incubator/tuscany/java/sca/modules/core-databinding/src/test/java/org/apache/tuscany/core/databinding/wire/DataBindingWirePostProcessorTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/core-databinding/src/test/java/org/apache/tuscany/core/databinding/wire/DataBindingWirePostProcessorTestCase.java Mon Apr 23 09:36:42 2007
@@ -26,18 +26,13 @@
import java.net.URI;
import java.util.ArrayList;
-import java.util.HashMap;
import java.util.List;
-import java.util.Map;
-import javax.xml.namespace.QName;
import javax.xml.stream.XMLStreamReader;
import junit.framework.TestCase;
import org.apache.tuscany.databinding.Mediator;
-import org.apache.tuscany.databinding.xml.DOMDataBinding;
-import org.apache.tuscany.databinding.xml.StAXDataBinding;
import org.apache.tuscany.interfacedef.InterfaceContract;
import org.apache.tuscany.interfacedef.InvalidInterfaceException;
import org.apache.tuscany.interfacedef.Operation;
@@ -51,7 +46,6 @@
import org.apache.tuscany.spi.wire.InvocationChain;
import org.apache.tuscany.spi.wire.Wire;
import org.easymock.EasyMock;
-import org.osoa.sca.Constants;
import org.osoa.sca.annotations.Remotable;
import org.w3c.dom.Node;
@@ -59,9 +53,6 @@
* @version $Rev$ $Date$
*/
public class DataBindingWirePostProcessorTestCase extends TestCase {
- private static final QName BINDING_WS = new QName(Constants.SCA_NS, "binding.ws");
- private DataBindingWirePostProcessor processor;
-
/**
* @see junit.framework.TestCase#setUp()
*/
@@ -75,21 +66,23 @@
public void testProcess1() throws Exception {
URI sourceUri = URI.create("/composite1/component1/#reference1");
URI targetUri = URI.create("/composite1/component2/#service1");
-
+
Mediator mediator = createMock(Mediator.class);
ComponentManager componentManager = createMock(ComponentManager.class);
Component component1 = createMock(Component.class);
// expect(component1.getReference("reference1")).andReturn(null);
Component component2 = createMock(Component.class);
// expect(component2.getService("service1")).andReturn(null);
- expect(componentManager.getComponent(URIHelper.getDefragmentedName(sourceUri))).andReturn(component1).anyTimes();
- expect(componentManager.getComponent(URIHelper.getDefragmentedName(targetUri))).andReturn(component2).anyTimes();
+ expect(componentManager.getComponent(URIHelper.getDefragmentedName(sourceUri))).andReturn(component1)
+ .anyTimes();
+ expect(componentManager.getComponent(URIHelper.getDefragmentedName(targetUri))).andReturn(component2)
+ .anyTimes();
replay(mediator, componentManager, component1, component2);
DataBindingWirePostProcessor processor = new DataBindingWirePostProcessor(componentManager, mediator);
- Wire wire = createWire(sourceUri, targetUri, Wire.LOCAL_BINDING);
+ Wire wire = createWire(sourceUri, targetUri);
processor.process(wire);
-
+
verify(mediator, componentManager, component1, component2);
}
@@ -109,12 +102,14 @@
expect(component1.getReference("reference1")).andReturn(null);
Component component2 = createMock(Component.class);
expect(component2.getReference("reference1")).andReturn(null);
- expect(componentManager.getComponent(URIHelper.getDefragmentedName(sourceUri))).andReturn(component1).anyTimes();
- expect(componentManager.getComponent(URIHelper.getDefragmentedName(targetUri))).andReturn(component2).anyTimes();
+ expect(componentManager.getComponent(URIHelper.getDefragmentedName(sourceUri))).andReturn(component1)
+ .anyTimes();
+ expect(componentManager.getComponent(URIHelper.getDefragmentedName(targetUri))).andReturn(component2)
+ .anyTimes();
replay(mediator, componentManager, component1, component2);
DataBindingWirePostProcessor processor = new DataBindingWirePostProcessor(componentManager, mediator);
-
- Wire wire = createWire(sourceUri, targetUri, BINDING_WS);
+
+ Wire wire = createWire(sourceUri, targetUri);
processor.process(wire);
}
@@ -124,32 +119,34 @@
public void testProcess3() throws Exception {
URI sourceUri = URI.create("/composite1/#service1");
URI targetUri = URI.create("/composite1/component1/#service1");
-
+
Mediator mediator = createMock(Mediator.class);
ComponentManager componentManager = createMock(ComponentManager.class);
Component component1 = createMock(Component.class);
expect(component1.getService("service1")).andReturn(null);
Component component2 = createMock(Component.class);
expect(component2.getService("service1")).andReturn(null);
- expect(componentManager.getComponent(URIHelper.getDefragmentedName(sourceUri))).andReturn(component1).anyTimes();
- expect(componentManager.getComponent(URIHelper.getDefragmentedName(targetUri))).andReturn(component2).anyTimes();
+ expect(componentManager.getComponent(URIHelper.getDefragmentedName(sourceUri))).andReturn(component1)
+ .anyTimes();
+ expect(componentManager.getComponent(URIHelper.getDefragmentedName(targetUri))).andReturn(component2)
+ .anyTimes();
replay(mediator, componentManager, component1, component2);
DataBindingWirePostProcessor processor = new DataBindingWirePostProcessor(componentManager, mediator);
-
- Wire wire = createWire(sourceUri, targetUri, BINDING_WS);
+
+ Wire wire = createWire(sourceUri, targetUri);
processor.process(wire);
}
- private Wire createWire(URI sourceUri, URI targetUri, QName bindingType) throws InvalidInterfaceException {
+ private Wire createWire(URI sourceUri, URI targetUri) throws InvalidInterfaceException {
DefaultJavaInterfaceIntrospector introspector = new DefaultJavaInterfaceIntrospector();
JavaInterface interface1 = introspector.introspect(TestInterface1.class);
InterfaceContract contract1 = new JavaInterfaceContractImpl();
contract1.setInterface(interface1);
-// contract1.setDataBinding(DOMDataBinding.NAME);
+ // contract1.setDataBinding(DOMDataBinding.NAME);
JavaInterface interface2 = introspector.introspect(TestInterface2.class);
InterfaceContract contract2 = new JavaInterfaceContractImpl();
contract2.setInterface(interface2);
-// contract2.setDataBinding(StAXDataBinding.NAME);
+ // contract2.setDataBinding(StAXDataBinding.NAME);
List<InvocationChain> chains = new ArrayList<InvocationChain>();
for (Operation op : interface1.getOperations()) {
InvocationChain chain = createMock(InvocationChain.class);
@@ -158,7 +155,7 @@
EasyMock.expect(chain.getTargetOperation()).andReturn(op).anyTimes();
replay(chain);
chains.add(chain);
- }
+ }
List<InvocationChain> callbackChains = new ArrayList<InvocationChain>();
for (Operation op : interface1.getOperations()) {
InvocationChain chain = createMock(InvocationChain.class);
@@ -167,9 +164,8 @@
EasyMock.expect(chain.getTargetOperation()).andReturn(op).anyTimes();
replay(chain);
callbackChains.add(chain);
- }
+ }
Wire wire = EasyMock.createMock(Wire.class);
- expect(wire.getBindingType()).andReturn(bindingType).anyTimes();
expect(wire.getSourceContract()).andReturn(contract1).anyTimes();
expect(wire.getTargetContract()).andReturn(contract2).anyTimes();
expect(wire.getInvocationChains()).andReturn(chains);
@@ -197,7 +193,7 @@
void test3(int i, String s) throws MyException;
}
-
+
private static class MyException extends Exception {
private static final long serialVersionUID = 7203411584939696390L;
Modified: incubator/tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/spi/wire/ChainHolder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/spi/wire/ChainHolder.java?view=diff&rev=531525&r1=531524&r2=531525
==============================================================================
--- incubator/tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/spi/wire/ChainHolder.java (original)
+++ incubator/tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/spi/wire/ChainHolder.java Mon Apr 23 09:36:42 2007
@@ -44,7 +44,6 @@
this.cachedInvoker = invoker;
}
- @SuppressWarnings({"CloneDoesntDeclareCloneNotSupportedException"})
@Override
public ChainHolder clone() {
try {
Modified: incubator/tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/spi/wire/Wire.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/spi/wire/Wire.java?view=diff&rev=531525&r1=531524&r2=531525
==============================================================================
--- incubator/tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/spi/wire/Wire.java (original)
+++ incubator/tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/spi/wire/Wire.java Mon Apr 23 09:36:42 2007
@@ -21,8 +21,6 @@
import java.net.URI;
import java.util.List;
-import javax.xml.namespace.QName;
-
import org.apache.tuscany.interfacedef.InterfaceContract;
import org.apache.tuscany.spi.component.AtomicComponent;
import org.apache.tuscany.spi.component.TargetResolutionException;
@@ -34,8 +32,6 @@
* 2007) $$
*/
public interface Wire {
- QName LOCAL_BINDING = new QName("http://tuscany.apache.org/xmlns/sca/binding/1.0", "binding.local");
-
/**
* Returns the URI of the wire source
*
@@ -63,13 +59,6 @@
* @param uri the URI of the wire target
*/
void setTargetUri(URI uri);
-
- /**
- * Returns the wire binding type
- *
- * @return the wire binding type
- */
- QName getBindingType();
/**
* Returns the service contract associated with the the source side of the
Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/AbstractScopeContainer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/AbstractScopeContainer.java?view=diff&rev=531525&r1=531524&r2=531525
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/AbstractScopeContainer.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/AbstractScopeContainer.java Mon Apr 23 09:36:42 2007
@@ -35,7 +35,6 @@
import org.apache.tuscany.spi.component.InstanceWrapper;
import org.apache.tuscany.spi.component.PersistenceException;
import org.apache.tuscany.spi.component.ScopeContainer;
-import org.apache.tuscany.spi.component.ScopeContainerMonitor;
import org.apache.tuscany.spi.component.ScopeRegistry;
import org.apache.tuscany.spi.component.TargetDestructionException;
import org.apache.tuscany.spi.component.TargetResolutionException;
@@ -70,13 +69,10 @@
protected final Map<URI, List<AtomicComponent<?>>> initQueues =
new HashMap<URI, List<AtomicComponent<?>>>();
- protected final ScopeContainerMonitor monitor;
-
private final Scope scope;
- public AbstractScopeContainer(Scope scope, ScopeContainerMonitor monitor) {
+ public AbstractScopeContainer(Scope scope) {
this.scope = scope;
- this.monitor = monitor;
}
protected void checkInit() {
@@ -191,7 +187,6 @@
toDestroy.stop();
} catch (TargetDestructionException e) {
// log the error from destroy but continue
- monitor.destructionError(e);
}
}
}
Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/CompositeScopeContainer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/CompositeScopeContainer.java?view=diff&rev=531525&r1=531524&r2=531525
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/CompositeScopeContainer.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/CompositeScopeContainer.java Mon Apr 23 09:36:42 2007
@@ -23,11 +23,9 @@
import java.util.concurrent.ConcurrentHashMap;
import org.apache.tuscany.spi.Scope;
-import org.apache.tuscany.spi.annotation.Monitor;
import org.apache.tuscany.spi.component.AtomicComponent;
import org.apache.tuscany.spi.component.InstanceWrapper;
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.TargetInitializationException;
import org.apache.tuscany.spi.component.TargetNotFoundException;
@@ -65,8 +63,8 @@
private final Map<AtomicComponent<?>, InstanceWrapper<?>> instanceWrappers =
new ConcurrentHashMap<AtomicComponent<?>, InstanceWrapper<?>>();
- public CompositeScopeContainer(@Monitor ScopeContainerMonitor monitor) {
- super(Scope.COMPOSITE, monitor);
+ public CompositeScopeContainer() {
+ super(Scope.COMPOSITE);
}
public <T> void register(AtomicComponent<T> component, URI groupId) {
Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainer.java?view=diff&rev=531525&r1=531524&r2=531525
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainer.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainer.java Mon Apr 23 09:36:42 2007
@@ -25,7 +25,6 @@
import org.apache.tuscany.spi.component.InstanceWrapper;
import org.apache.tuscany.spi.component.PersistenceException;
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.TargetResolutionException;
import org.apache.tuscany.spi.component.WorkContext;
@@ -45,12 +44,12 @@
private final WorkContext workContext;
private final Store nonDurableStore;
- public ConversationalScopeContainer(Store store, WorkContext workContext, final ScopeContainerMonitor monitor) {
- super(Scope.CONVERSATION, monitor);
+ public ConversationalScopeContainer(Store store, WorkContext workContext) {
+ super(Scope.CONVERSATION);
this.workContext = workContext;
this.nonDurableStore = store;
if (store != null) {
- store.addListener(new ExpirationListener(monitor));
+ store.addListener(new ExpirationListener());
}
}
@@ -169,10 +168,8 @@
* Receives expiration events from the store and notifies the corresponding atomic component
*/
private static class ExpirationListener implements RuntimeEventListener {
- private final ScopeContainerMonitor monitor;
- public ExpirationListener(ScopeContainerMonitor monitor) {
- this.monitor = monitor;
+ public ExpirationListener() {
}
public void onEvent(Event event) {
@@ -182,7 +179,7 @@
try {
wrapper.stop();
} catch (TargetDestructionException e) {
- monitor.destructionError(e);
+// monitor.destructionError(e);
}
}
}
Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/HttpSessionScopeContainer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/HttpSessionScopeContainer.java?view=diff&rev=531525&r1=531524&r2=531525
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/HttpSessionScopeContainer.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/HttpSessionScopeContainer.java Mon Apr 23 09:36:42 2007
@@ -28,7 +28,6 @@
import org.apache.tuscany.spi.Scope;
import org.apache.tuscany.spi.component.AtomicComponent;
import org.apache.tuscany.spi.component.InstanceWrapper;
-import org.apache.tuscany.spi.component.ScopeContainerMonitor;
import org.apache.tuscany.spi.component.TargetDestructionException;
import org.apache.tuscany.spi.component.TargetResolutionException;
import org.apache.tuscany.spi.component.WorkContext;
@@ -44,8 +43,8 @@
private final Map<AtomicComponent, Map<Object, InstanceWrapper>> contexts;
private final Map<Object, List<InstanceWrapper>> destroyQueues;
- public HttpSessionScopeContainer(WorkContext workContext, ScopeContainerMonitor monitor) {
- super(Scope.SESSION, monitor);
+ public HttpSessionScopeContainer(WorkContext workContext) {
+ super(Scope.SESSION);
this.workContext = workContext;
contexts = new ConcurrentHashMap<AtomicComponent, Map<Object, InstanceWrapper>>();
destroyQueues = new ConcurrentHashMap<Object, List<InstanceWrapper>>();
@@ -130,7 +129,7 @@
try {
iter.previous().stop();
} catch (TargetDestructionException e) {
- monitor.destructionError(e);
+// monitor.destructionError(e);
}
}
}
Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/RequestScopeContainer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/RequestScopeContainer.java?view=diff&rev=531525&r1=531524&r2=531525
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/RequestScopeContainer.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/RequestScopeContainer.java Mon Apr 23 09:36:42 2007
@@ -29,7 +29,6 @@
import org.apache.tuscany.spi.Scope;
import org.apache.tuscany.spi.component.AtomicComponent;
import org.apache.tuscany.spi.component.InstanceWrapper;
-import org.apache.tuscany.spi.component.ScopeContainerMonitor;
import org.apache.tuscany.spi.component.TargetDestructionException;
import org.apache.tuscany.spi.component.TargetResolutionException;
import org.apache.tuscany.spi.event.Event;
@@ -43,8 +42,8 @@
private final Map<AtomicComponent, Map<Thread, InstanceWrapper>> contexts;
private final Map<Thread, List<InstanceWrapper>> destroyQueues;
- public RequestScopeContainer(ScopeContainerMonitor monitor) {
- super(Scope.REQUEST, monitor);
+ public RequestScopeContainer() {
+ super(Scope.REQUEST);
contexts = new ConcurrentHashMap<AtomicComponent, Map<Thread, InstanceWrapper>>();
destroyQueues = new ConcurrentHashMap<Thread, List<InstanceWrapper>>();
}
@@ -119,7 +118,7 @@
try {
iter.previous().stop();
} catch (TargetDestructionException e) {
- monitor.destructionError(e);
+// monitor.destructionError(e);
}
}
}
Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/StatelessScopeContainer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/StatelessScopeContainer.java?view=diff&rev=531525&r1=531524&r2=531525
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/StatelessScopeContainer.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/scope/StatelessScopeContainer.java Mon Apr 23 09:36:42 2007
@@ -19,11 +19,9 @@
package org.apache.tuscany.core.component.scope;
import org.apache.tuscany.spi.Scope;
-import org.apache.tuscany.spi.annotation.Monitor;
import org.apache.tuscany.spi.component.AtomicComponent;
import org.apache.tuscany.spi.component.InstanceWrapper;
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.TargetResolutionException;
import org.osoa.sca.annotations.EagerInit;
@@ -38,8 +36,8 @@
@Service(ScopeContainer.class)
public class StatelessScopeContainer<KEY> extends AbstractScopeContainer<KEY> {
- public StatelessScopeContainer(@Monitor ScopeContainerMonitor monitor) {
- super(Scope.STATELESS, monitor);
+ public StatelessScopeContainer() {
+ super(Scope.STATELESS);
}
public <T> InstanceWrapper<T> getWrapper(AtomicComponent<T> component, KEY contextId)
Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/deployer/DeployerImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/deployer/DeployerImpl.java?view=diff&rev=531525&r1=531524&r2=531525
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/deployer/DeployerImpl.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/deployer/DeployerImpl.java Mon Apr 23 09:36:42 2007
@@ -254,7 +254,7 @@
URI sourceUri = URI.create(source.getUri() + "#" + refName);
Wire wire;
try {
- wire = createWire(sourceUri, targetUri, componentReference.getInterfaceContract(), contract, type);
+ wire = createWire(sourceUri, targetUri, componentReference.getInterfaceContract(), contract);
} catch (IncompatibleInterfaceContractException e1) {
throw new IllegalStateException(e1);
}
@@ -289,7 +289,7 @@
Wire wire;
try {
wire = createWire(sourceURI, targetUri, componentReference.getInterfaceContract(), service
- .getService().getInterfaceContract(), Wire.LOCAL_BINDING);
+ .getService().getInterfaceContract());
} catch (IncompatibleInterfaceContractException e1) {
throw new IncompatibleInterfacesException(sourceURI, targetUri, e1);
}
@@ -344,7 +344,7 @@
sourceContract = targetContract;
}
- Wire wire = createWire(sourceURI, targetURI, sourceContract, targetContract, binding.getBindingType());
+ Wire wire = createWire(sourceURI, targetURI, sourceContract, targetContract);
binding.setWire(wire);
if (postProcessorRegistry != null) {
postProcessorRegistry.process(wire);
@@ -371,9 +371,8 @@
private Wire createWire(URI sourceURI,
URI targetUri,
InterfaceContract sourceContract,
- InterfaceContract targetContract,
- QName bindingType) throws IncompatibleInterfaceContractException {
- Wire wire = new WireImpl(bindingType);
+ InterfaceContract targetContract) throws IncompatibleInterfaceContractException {
+ Wire wire = new WireImpl();
wire.setSourceContract(sourceContract);
wire.setTargetContract(targetContract);
wire.setSourceUri(sourceURI);
Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/runtime/DefaultBootstrapper.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/runtime/DefaultBootstrapper.java?view=diff&rev=531525&r1=531524&r2=531525
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/runtime/DefaultBootstrapper.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/runtime/DefaultBootstrapper.java Mon Apr 23 09:36:42 2007
@@ -36,7 +36,6 @@
import org.apache.tuscany.host.MonitorFactory;
import org.apache.tuscany.spi.builder.BuilderRegistry;
import org.apache.tuscany.spi.component.ComponentManager;
-import org.apache.tuscany.spi.component.ScopeContainerMonitor;
import org.apache.tuscany.spi.component.ScopeRegistry;
import org.apache.tuscany.spi.component.WorkContext;
import org.apache.tuscany.spi.deployer.Deployer;
@@ -125,10 +124,9 @@
*/
private ScopeRegistry createScopeRegistry() {
ScopeRegistry scopeRegistry = new ScopeRegistryImpl();
- ScopeContainerMonitor monitor = monitorFactory.getMonitor(ScopeContainerMonitor.class);
- AbstractScopeContainer[] containers = new AbstractScopeContainer[] {new CompositeScopeContainer(monitor),
- new StatelessScopeContainer(monitor),
- new RequestScopeContainer(monitor),
+ AbstractScopeContainer[] containers = new AbstractScopeContainer[] {new CompositeScopeContainer(),
+ new StatelessScopeContainer(),
+ new RequestScopeContainer(),
// new ConversationalScopeContainer(monitor),
// new HttpSessionScopeContainer(monitor)
};
Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/wire/WireImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/wire/WireImpl.java?view=diff&rev=531525&r1=531524&r2=531525
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/wire/WireImpl.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/wire/WireImpl.java Mon Apr 23 09:36:42 2007
@@ -39,7 +39,6 @@
public class WireImpl implements Wire {
private URI sourceUri;
private URI targetUri;
- private QName bindingType;
private InterfaceContract sourceContract;
private InterfaceContract targetContract;
private boolean optimizable;
@@ -53,15 +52,6 @@
public WireImpl() {
}
- /**
- * Creates a wire with the given binding type
- *
- * @param bindingType the binding type
- */
- public WireImpl(QName bindingType) {
- this.bindingType = bindingType;
- }
-
public URI getSourceUri() {
return sourceUri;
}
@@ -77,11 +67,6 @@
public void setTargetUri(URI targetUri) {
this.targetUri = targetUri;
}
-
- public QName getBindingType() {
- return bindingType;
- }
-
public InterfaceContract getSourceContract() {
return sourceContract;
Modified: incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/BasicCompositeScopeTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/BasicCompositeScopeTestCase.java?view=diff&rev=531525&r1=531524&r2=531525
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/BasicCompositeScopeTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/BasicCompositeScopeTestCase.java Mon Apr 23 09:36:42 2007
@@ -136,7 +136,7 @@
EasyMock.expect(component.isEagerInit()).andStubReturn(false);
wrapper = control.createMock(InstanceWrapper.class);
- scopeContainer = new CompositeScopeContainer<URI>(null);
+ scopeContainer = new CompositeScopeContainer<URI>();
scopeContainer.start();
scopeContainer.startContext(contextId, groupId);
}
Modified: incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/BasicConversationalScopeTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/BasicConversationalScopeTestCase.java?view=diff&rev=531525&r1=531524&r2=531525
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/BasicConversationalScopeTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/BasicConversationalScopeTestCase.java Mon Apr 23 09:36:42 2007
@@ -89,7 +89,7 @@
monitor.stop(EasyMock.isA(String.class));
MemoryStore store = new MemoryStore(monitor);
workContext = new SimpleWorkContext();
- scopeContainer = new ConversationalScopeContainer(store, workContext, null);
+ scopeContainer = new ConversationalScopeContainer(store, workContext);
scopeContainer.start();
}
}
Modified: incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/BasicHttpSessionScopeTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/BasicHttpSessionScopeTestCase.java?view=diff&rev=531525&r1=531524&r2=531525
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/BasicHttpSessionScopeTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/BasicHttpSessionScopeTestCase.java Mon Apr 23 09:36:42 2007
@@ -24,7 +24,6 @@
import org.apache.tuscany.spi.component.AtomicComponent;
import org.apache.tuscany.spi.component.InstanceWrapper;
import org.apache.tuscany.spi.component.ScopeContainer;
-import org.apache.tuscany.spi.component.ScopeContainerMonitor;
import org.apache.tuscany.spi.component.WorkContext;
import org.easymock.EasyMock;
@@ -32,7 +31,6 @@
* @version $$Rev$$ $$Date$$
*/
public abstract class BasicHttpSessionScopeTestCase extends TestCase {
- private ScopeContainerMonitor monitor;
private ScopeContainer scopeContainer;
private AtomicComponent component;
private InstanceWrapper wrapper;
@@ -208,8 +206,7 @@
wrapper = EasyMock.createStrictMock(InstanceWrapper.class);
workContext = new SimpleWorkContext();
- monitor = EasyMock.createStrictMock(ScopeContainerMonitor.class);
- scopeContainer = new HttpSessionScopeContainer(workContext, monitor);
+ scopeContainer = new HttpSessionScopeContainer(workContext);
scopeContainer.start();
component.addListener(scopeContainer);
Modified: incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/BasicRequestScopeTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/BasicRequestScopeTestCase.java?view=diff&rev=531525&r1=531524&r2=531525
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/BasicRequestScopeTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/BasicRequestScopeTestCase.java Mon Apr 23 09:36:42 2007
@@ -19,18 +19,16 @@
package org.apache.tuscany.core.component.scope;
import junit.framework.TestCase;
-import org.easymock.EasyMock;
import org.apache.tuscany.spi.component.AtomicComponent;
import org.apache.tuscany.spi.component.InstanceWrapper;
import org.apache.tuscany.spi.component.ScopeContainer;
-import org.apache.tuscany.spi.component.ScopeContainerMonitor;
+import org.easymock.EasyMock;
/**
* @version $$Rev$$ $$Date$$
*/
public abstract class BasicRequestScopeTestCase extends TestCase {
- private ScopeContainerMonitor monitor;
private ScopeContainer scopeContainer;
private AtomicComponent component;
private InstanceWrapper wrapper;
@@ -155,8 +153,7 @@
super.setUp();
component = EasyMock.createStrictMock(AtomicComponent.class);
wrapper = EasyMock.createStrictMock(InstanceWrapper.class);
- monitor = EasyMock.createStrictMock(ScopeContainerMonitor.class);
- scopeContainer = new RequestScopeContainer(monitor);
+ scopeContainer = new RequestScopeContainer();
scopeContainer.start();
component.addListener(scopeContainer);
Modified: incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/BasicStatelessScopeTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/BasicStatelessScopeTestCase.java?view=diff&rev=531525&r1=531524&r2=531525
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/BasicStatelessScopeTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/BasicStatelessScopeTestCase.java Mon Apr 23 09:36:42 2007
@@ -79,7 +79,7 @@
@SuppressWarnings("unchecked")
protected void setUp() throws Exception {
super.setUp();
- scopeContainer = new StatelessScopeContainer<String>(null);
+ scopeContainer = new StatelessScopeContainer<String>();
contextId = "context";
control = EasyMock.createStrictControl();
Modified: incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/CompositeScopeInitDestroyErrorTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/CompositeScopeInitDestroyErrorTestCase.java?view=diff&rev=531525&r1=531524&r2=531525
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/CompositeScopeInitDestroyErrorTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/CompositeScopeInitDestroyErrorTestCase.java Mon Apr 23 09:36:42 2007
@@ -20,17 +20,13 @@
import java.net.URI;
+import junit.framework.TestCase;
+
import org.apache.tuscany.spi.ObjectCreationException;
import org.apache.tuscany.spi.component.AtomicComponent;
-import org.apache.tuscany.spi.component.ScopeContainerMonitor;
-import org.apache.tuscany.spi.component.TargetDestructionException;
-import org.apache.tuscany.spi.component.InstanceWrapper;
-import org.apache.tuscany.spi.component.TargetResolutionException;
import org.apache.tuscany.spi.component.GroupInitializationException;
-
-import junit.framework.TestCase;
-import org.apache.tuscany.core.component.event.ComponentStart;
-import org.apache.tuscany.core.component.event.ComponentStop;
+import org.apache.tuscany.spi.component.InstanceWrapper;
+import org.apache.tuscany.spi.component.TargetDestructionException;
import org.easymock.EasyMock;
/**
@@ -40,7 +36,7 @@
private URI groupId;
public void testInitializeError() throws Exception {
- CompositeScopeContainer scope = new CompositeScopeContainer(null);
+ CompositeScopeContainer scope = new CompositeScopeContainer();
scope.start();
ObjectCreationException ex = new ObjectCreationException("");
@@ -65,11 +61,7 @@
EasyMock.expectLastCall().andThrow(new TargetDestructionException("", ""));
EasyMock.replay(wrapper);
- ScopeContainerMonitor monitor;
- monitor = EasyMock.createMock(ScopeContainerMonitor.class);
- monitor.destructionError(EasyMock.isA(TargetDestructionException.class));
- EasyMock.replay(monitor);
- CompositeScopeContainer scope = new CompositeScopeContainer(monitor);
+ CompositeScopeContainer scope = new CompositeScopeContainer();
scope.start();
AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
@@ -80,7 +72,6 @@
scope.register(component, groupId);
scope.startContext(groupId, groupId);
scope.stopContext(groupId);
- EasyMock.verify(monitor);
EasyMock.verify(component);
EasyMock.verify(wrapper);
}
Modified: incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainerDestroyOnExpirationTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainerDestroyOnExpirationTestCase.java?view=diff&rev=531525&r1=531524&r2=531525
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainerDestroyOnExpirationTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainerDestroyOnExpirationTestCase.java Mon Apr 23 09:36:42 2007
@@ -56,7 +56,7 @@
EasyMock.replay(store);
EasyMock.replay(wrapper);
- new ConversationalScopeContainer(store, context, null);
+ new ConversationalScopeContainer(store, context);
listener.onEvent(new StoreExpirationEvent(this, component, wrapper));
EasyMock.verify(store);
EasyMock.verify(wrapper);
Modified: incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainerMaxAgeTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainerMaxAgeTestCase.java?view=diff&rev=531525&r1=531524&r2=531525
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainerMaxAgeTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainerMaxAgeTestCase.java Mon Apr 23 09:36:42 2007
@@ -64,7 +64,7 @@
EasyMock.expect(store.readRecord(EasyMock.isA(SCAObject.class), EasyMock.isA(String.class))).andReturn(wrapper);
store.addListener(EasyMock.isA(RuntimeEventListener.class));
EasyMock.replay(store);
- container = new ConversationalScopeContainer(store, context, null);
+ container = new ConversationalScopeContainer(store, context);
container.start();
}
Modified: incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainerMaxIdleTimeTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainerMaxIdleTimeTestCase.java?view=diff&rev=531525&r1=531524&r2=531525
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainerMaxIdleTimeTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainerMaxIdleTimeTestCase.java Mon Apr 23 09:36:42 2007
@@ -65,7 +65,7 @@
EasyMock.eq(wrapper),
EasyMock.anyLong());
EasyMock.replay(store);
- container = new ConversationalScopeContainer(store, context, null);
+ container = new ConversationalScopeContainer(store, context);
container.start();
}
Modified: incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainerPersistenceTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainerPersistenceTestCase.java?view=diff&rev=531525&r1=531524&r2=531525
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainerPersistenceTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeContainerPersistenceTestCase.java Mon Apr 23 09:36:42 2007
@@ -177,7 +177,7 @@
StoreMonitor mock = EasyMock.createNiceMock(StoreMonitor.class);
EasyMock.replay(mock);
Store store = new MemoryStore(mock);
- container = new ConversationalScopeContainer(store, context, null);
+ container = new ConversationalScopeContainer(store, context);
container.start();
}
Modified: incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/implementation/java/integration/AbstractConversationTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/implementation/java/integration/AbstractConversationTestCase.java?view=diff&rev=531525&r1=531524&r2=531525
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/implementation/java/integration/AbstractConversationTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/implementation/java/integration/AbstractConversationTestCase.java Mon Apr 23 09:36:42 2007
@@ -40,7 +40,7 @@
protected void createRuntime() {
workContext = new WorkContextImpl();
store = new MemoryStore(EasyMock.createNiceMock(StoreMonitor.class));
- container = new ConversationalScopeContainer(store, workContext, null);
+ container = new ConversationalScopeContainer(store, workContext);
}
protected void initializeRuntime() {
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org