Author: jmarino
Date: Sun Nov 26 14:46:03 2006
New Revision: 479439

URL: http://svn.apache.org/viewvc?view=rev&rev=479439
Log:
add conversational metadata to atomic component; additional metadata testcases 
for java component builder

Added:
    
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilderMetadataTestCase.java
   (with props)
    
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilderReferenceTestCase.java
   (contents, props changed)
      - copied, changed from r479409, 
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilderTestCase.java
Removed:
    
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilderTestCase.java
Modified:
    
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/PojoConfiguration.java
    
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilder.java
    
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemSingletonAtomicComponent.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
    
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/ComponentType.java

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=479439&r1=479438&r2=479439
==============================================================================
--- 
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
 Sun Nov 26 14:46:03 2006
@@ -71,7 +71,9 @@
             configuration.getWorkContext(),
             configuration.getScheduler(),
             configuration.getMonitor(),
-            configuration.getInitLevel());
+            configuration.getInitLevel(),
+            configuration.getMaxIdleTime(),
+            configuration.getMaxAge());
         assert configuration.getInstanceFactory() != null : "Object factory 
was null";
         initInvoker = configuration.getInitInvoker();
         destroyInvoker = configuration.getDestroyInvoker();

Modified: 
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/PojoConfiguration.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/PojoConfiguration.java?view=diff&rev=479439&r1=479438&r2=479439
==============================================================================
--- 
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/PojoConfiguration.java
 (original)
+++ 
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/PojoConfiguration.java
 Sun Nov 26 14:46:03 2006
@@ -60,6 +60,8 @@
     private WorkContext workContext;
     private WorkScheduler scheduler;
     private ExecutionMonitor monitor;
+    private long maxIdleTime = -1;
+    private long maxAge = -1;
 
     public String getName() {
         return name;
@@ -119,6 +121,22 @@
 
     public void setInitLevel(int initLevel) {
         this.initLevel = initLevel;
+    }
+
+    public long getMaxIdleTime() {
+        return maxIdleTime;
+    }
+
+    public void setMaxIdleTime(long maxIdleTime) {
+        this.maxIdleTime = maxIdleTime;
+    }
+
+    public long getMaxAge() {
+        return maxAge;
+    }
+
+    public void setMaxAge(long maxAge) {
+        this.maxAge = maxAge;
     }
 
     public EventInvoker<Object> getInitInvoker() {

Modified: 
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilder.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilder.java?view=diff&rev=479439&r1=479438&r2=479439
==============================================================================
--- 
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilder.java
 (original)
+++ 
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilder.java
 Sun Nov 26 14:46:03 2006
@@ -80,6 +80,11 @@
         } else {
             configuration.setInitLevel(componentType.getInitLevel());
         }
+        if (componentType.getMaxAge() >= 0) {
+            configuration.setMaxAge(componentType.getMaxAge());
+        } else if (componentType.getMaxIdleTime() >= 0) {
+            configuration.setMaxIdleTime(componentType.getMaxIdleTime());
+        }
         Method initMethod = componentType.getInitMethod();
         if (initMethod != null) {
             configuration.setInitInvoker(new MethodEventInvoker(initMethod));
@@ -151,6 +156,7 @@
         }
 
         for (JavaMappedService service : componentType.getServices().values()) 
{
+            
configuration.addServiceInterface(service.getServiceContract().getInterfaceClass());
             // setup callback injection sites
             if (service.getCallbackReferenceName() != null) {
                 // Only if there is a callback reference in the service

Modified: 
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemSingletonAtomicComponent.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemSingletonAtomicComponent.java?view=diff&rev=479439&r1=479438&r2=479439
==============================================================================
--- 
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemSingletonAtomicComponent.java
 (original)
+++ 
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemSingletonAtomicComponent.java
 Sun Nov 26 14:46:03 2006
@@ -68,6 +68,14 @@
         return 0;
     }
 
+    public long getMaxIdleTime() {
+        return -1;
+    }
+
+    public long getMaxAge() {
+        return -1;
+    }
+
     public T getTargetInstance() throws TargetException {
         return instance;
     }

Added: 
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilderMetadataTestCase.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilderMetadataTestCase.java?view=auto&rev=479439
==============================================================================
--- 
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilderMetadataTestCase.java
 (added)
+++ 
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilderMetadataTestCase.java
 Sun Nov 26 14:46:03 2006
@@ -0,0 +1,113 @@
+package org.apache.tuscany.core.implementation.java;
+
+import java.lang.reflect.Constructor;
+
+import org.apache.tuscany.spi.component.AtomicComponent;
+import org.apache.tuscany.spi.component.CompositeComponent;
+import org.apache.tuscany.spi.component.ScopeContainer;
+import org.apache.tuscany.spi.deployer.DeploymentContext;
+import org.apache.tuscany.spi.idl.java.JavaServiceContract;
+import org.apache.tuscany.spi.implementation.java.ConstructorDefinition;
+import org.apache.tuscany.spi.implementation.java.JavaMappedProperty;
+import org.apache.tuscany.spi.implementation.java.JavaMappedReference;
+import org.apache.tuscany.spi.implementation.java.JavaMappedService;
+import org.apache.tuscany.spi.implementation.java.PojoComponentType;
+import org.apache.tuscany.spi.model.ComponentDefinition;
+import org.apache.tuscany.spi.model.Scope;
+import org.apache.tuscany.spi.model.ServiceContract;
+
+import junit.framework.TestCase;
+import org.apache.tuscany.core.implementation.composite.CompositeComponentImpl;
+import org.apache.tuscany.core.mock.component.Source;
+import org.apache.tuscany.core.mock.component.SourceImpl;
+import org.apache.tuscany.core.mock.component.Target;
+import org.easymock.EasyMock;
+
+/**
+ * Verifies component type metadata is properly applied to the component
+ *
+ * @version $$Rev$$ $$Date$$
+ */
+public class JavaComponentBuilderMetadataTestCase extends TestCase {
+    private DeploymentContext deploymentContext;
+    private Constructor<SourceImpl> constructor;
+    private CompositeComponent parent;
+    private PojoComponentType<JavaMappedService, JavaMappedReference, 
JavaMappedProperty<?>> type;
+    private ComponentDefinition<JavaImplementation> definition;
+
+    public void testInitLevel() throws Exception {
+        type.setInitLevel(1);
+        JavaComponentBuilder builder = new JavaComponentBuilder();
+        JavaAtomicComponent component = (JavaAtomicComponent) 
builder.build(parent, definition, deploymentContext);
+        assertEquals(1, component.getInitLevel());
+    }
+
+    public void testMaxAge() throws Exception {
+        type.setMaxAge(100);
+        JavaComponentBuilder builder = new JavaComponentBuilder();
+        JavaAtomicComponent component = (JavaAtomicComponent) 
builder.build(parent, definition, deploymentContext);
+        assertEquals(100, component.getMaxAge());
+    }
+
+    public void testMaxIdleTime() throws Exception {
+        type.setMaxIdleTime(100);
+        JavaComponentBuilder builder = new JavaComponentBuilder();
+        JavaAtomicComponent component = (JavaAtomicComponent) 
builder.build(parent, definition, deploymentContext);
+        assertEquals(100, component.getMaxIdleTime());
+    }
+
+    public void testScope() throws Exception {
+        JavaComponentBuilder builder = new JavaComponentBuilder();
+        JavaAtomicComponent component = (JavaAtomicComponent) 
builder.build(parent, definition, deploymentContext);
+        assertEquals(Scope.MODULE, component.getScope());
+    }
+
+    public void testServiceInterfaces() throws Exception {
+        JavaComponentBuilder builder = new JavaComponentBuilder();
+        JavaAtomicComponent component = (JavaAtomicComponent) 
builder.build(parent, definition, deploymentContext);
+        assertEquals(1, component.getServiceInterfaces().size());
+        assertEquals(Source.class, component.getServiceInterfaces().get(0));
+    }
+
+    protected void setUp() throws Exception {
+        super.setUp();
+        parent = new CompositeComponentImpl(null, null, null, null);
+        constructor = SourceImpl.class.getConstructor((Class[]) null);
+        createDeploymentContext();
+        createComponentDefinitionAndType();
+    }
+
+
+    private void createDeploymentContext() {
+        ScopeContainer scope = EasyMock.createMock(ScopeContainer.class);
+        scope.start();
+        scope.stop();
+        scope.register(EasyMock.isA(AtomicComponent.class));
+        EasyMock.expectLastCall().atLeastOnce();
+        
EasyMock.expect(scope.getScope()).andReturn(Scope.MODULE).atLeastOnce();
+        EasyMock.replay(scope);
+        deploymentContext = EasyMock.createMock(DeploymentContext.class);
+        
EasyMock.expect(deploymentContext.getModuleScope()).andReturn(scope).atLeastOnce();
+        EasyMock.replay(deploymentContext);
+    }
+
+    private void createComponentDefinitionAndType() throws Exception {
+        type = new PojoComponentType<JavaMappedService, JavaMappedReference, 
JavaMappedProperty<?>>();
+        type.setImplementationScope(Scope.MODULE);
+        JavaMappedReference reference = new JavaMappedReference();
+        reference.setName("target");
+        reference.setMember(SourceImpl.class.getMethod("setTarget", 
Target.class));
+        type.add(reference);
+        ServiceContract<?> contract = new JavaServiceContract(Source.class);
+        JavaMappedService serviceDefinition = new JavaMappedService();
+        serviceDefinition.setName("Source");
+        serviceDefinition.setServiceContract(contract);
+        type.add(serviceDefinition);
+        type.setConstructorDefinition(new 
ConstructorDefinition<SourceImpl>(constructor));
+        JavaImplementation sourceImpl = new JavaImplementation();
+        sourceImpl.setComponentType(type);
+        sourceImpl.setImplementationClass(SourceImpl.class);
+        definition = new ComponentDefinition<JavaImplementation>(sourceImpl);
+    }
+
+}

Propchange: 
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilderMetadataTestCase.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilderMetadataTestCase.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Copied: 
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilderReferenceTestCase.java
 (from r479409, 
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilderTestCase.java)
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilderReferenceTestCase.java?view=diff&rev=479439&p1=incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilderTestCase.java&r1=479409&p2=incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilderReferenceTestCase.java&r2=479439
==============================================================================
--- 
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilderTestCase.java
 (original)
+++ 
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilderReferenceTestCase.java
 Sun Nov 26 14:46:03 2006
@@ -21,10 +21,12 @@
 import java.lang.reflect.Constructor;
 import java.util.HashMap;
 import java.util.Map;
+import java.util.Collections;
 
 import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.CompositeComponent;
 import org.apache.tuscany.spi.component.ScopeContainer;
+import org.apache.tuscany.spi.component.SCAObject;
 import org.apache.tuscany.spi.deployer.DeploymentContext;
 import org.apache.tuscany.spi.idl.java.JavaServiceContract;
 import org.apache.tuscany.spi.implementation.java.ConstructorDefinition;
@@ -35,6 +37,11 @@
 import org.apache.tuscany.spi.model.ComponentDefinition;
 import org.apache.tuscany.spi.model.Scope;
 import org.apache.tuscany.spi.model.ServiceContract;
+import org.apache.tuscany.spi.model.Operation;
+import org.apache.tuscany.spi.model.InteractionScope;
+import org.apache.tuscany.spi.wire.WireService;
+import org.apache.tuscany.spi.wire.OutboundWire;
+import org.apache.tuscany.spi.wire.OutboundInvocationChain;
 
 import junit.framework.TestCase;
 import org.apache.tuscany.core.implementation.composite.CompositeComponentImpl;
@@ -45,14 +52,17 @@
 import org.easymock.EasyMock;
 import org.easymock.IAnswer;
 
-/**
+/**                 
  * @version $$Rev$$ $$Date$$
  */
-public class JavaComponentBuilderTestCase extends TestCase {
+public class JavaComponentBuilderReferenceTestCase extends TestCase {
     private DeploymentContext deploymentContext;
+    private WireService wireService;
+    private Constructor<SourceImpl> constructor;
+    private CompositeComponent parent;
+    private OutboundWire wire;
 
-    public void testBuild() throws Exception {
-        CompositeComponent parent = new CompositeComponentImpl(null, null, 
null, null);
+    public void testBuildReference() throws Exception {
 
         PojoComponentType<JavaMappedService, JavaMappedReference, 
JavaMappedProperty<?>> sourceType =
             new PojoComponentType<JavaMappedService, JavaMappedReference, 
JavaMappedProperty<?>>();
@@ -61,34 +71,40 @@
         reference.setName("target");
         reference.setMember(SourceImpl.class.getMethod("setTarget", 
Target.class));
         sourceType.add(reference);
-
-        ServiceContract<?> sourceContract = new 
JavaServiceContract(Source.class);
-        JavaMappedService sourceServiceDefinition = new JavaMappedService();
-        sourceServiceDefinition.setName("Source");
-        sourceServiceDefinition.setServiceContract(sourceContract);
-
-        sourceType.add(sourceServiceDefinition);
-        Constructor<SourceImpl> constructor = 
SourceImpl.class.getConstructor((Class[]) null);
+        ServiceContract<?> contract = new JavaServiceContract(Source.class);
+        JavaMappedService serviceDefinition = new JavaMappedService();
+        serviceDefinition.setName("Source");
+        serviceDefinition.setServiceContract(contract);
+        sourceType.add(serviceDefinition);
         sourceType.setConstructorDefinition(new 
ConstructorDefinition<SourceImpl>(constructor));
         JavaImplementation sourceImpl = new JavaImplementation();
         sourceImpl.setComponentType(sourceType);
         sourceImpl.setImplementationClass(SourceImpl.class);
-        ComponentDefinition<JavaImplementation> sourceComponentDefinition =
-            new ComponentDefinition<JavaImplementation>(sourceImpl);
+        ComponentDefinition<JavaImplementation> definition = new 
ComponentDefinition<JavaImplementation>(sourceImpl);
 
         JavaComponentBuilder builder = new JavaComponentBuilder();
-        builder.setWireService(new JDKWireService());
-        JavaAtomicComponent component =
-            (JavaAtomicComponent) builder.build(parent, 
sourceComponentDefinition, deploymentContext);
+        builder.setWireService(wireService);
+        JavaAtomicComponent component =  (JavaAtomicComponent) 
builder.build(parent, definition, deploymentContext);
+        component.addOutboundWire(wire);
         deploymentContext.getModuleScope().start();
         component.start();
+
         Source source = (Source) component.getServiceInstance();
-        assertNotNull(source);
+        assertNotNull(source.getTarget());
         component.stop();
     }
 
     protected void setUp() throws Exception {
         super.setUp();
+        wireService = new JDKWireService();
+        parent = new CompositeComponentImpl(null, null, null, null);
+        constructor = SourceImpl.class.getConstructor((Class[]) null);
+        createDeploymentContext();
+        createWire();
+    }
+
+
+    private void createDeploymentContext() {
         ScopeContainer scope = EasyMock.createMock(ScopeContainer.class);
         scope.start();
         scope.stop();
@@ -113,6 +129,20 @@
         deploymentContext = EasyMock.createMock(DeploymentContext.class);
         
EasyMock.expect(deploymentContext.getModuleScope()).andReturn(scope).atLeastOnce();
         EasyMock.replay(deploymentContext);
+    }
+
+    private void createWire() {
+        SCAObject scaObject = EasyMock.createNiceMock(SCAObject.class);
+        Map<Operation<?>, OutboundInvocationChain> chains = 
Collections.emptyMap();
+        wire = EasyMock.createMock(OutboundWire.class);
+        
EasyMock.expect(wire.getReferenceName()).andReturn("target").atLeastOnce();
+        EasyMock.expect(wire.getInvocationChains()).andReturn(chains);
+        JavaServiceContract targetContract = new 
JavaServiceContract(Target.class);
+        targetContract.setInteractionScope(InteractionScope.NONCONVERSATIONAL);
+        
EasyMock.expect(wire.getServiceContract()).andReturn(targetContract).atLeastOnce();
+        
EasyMock.expect(wire.getContainer()).andReturn(scaObject).atLeastOnce();
+        EasyMock.replay(wire);
+
     }
 
 }

Propchange: 
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilderReferenceTestCase.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilderReferenceTestCase.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

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=479439&r1=479438&r2=479439
==============================================================================
--- 
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
 Sun Nov 26 14:46:03 2006
@@ -41,6 +41,20 @@
     int getInitLevel();
 
     /**
+     * Returns the idle time allowed between operations in milliseconds if the 
implementation is conversational
+     *
+     * @return the idle time allowed between operations in milliseconds if the 
implementation is conversational
+     */
+    long getMaxIdleTime();
+
+    /**
+     * Returns the maximum age a conversation may remain active in 
milliseconds if the implementation is conversational
+     *
+     * @return the maximum age a conversation may remain active in 
milliseconds if the implementation is conversational
+     */
+    long getMaxAge();
+
+    /**
      * Notifies the given instance of an initialization event
      *
      * @throws TargetException

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=479439&r1=479438&r2=479439
==============================================================================
--- 
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
 Sun Nov 26 14:46:03 2006
@@ -53,7 +53,8 @@
     protected WorkScheduler workScheduler;
     protected ExecutionMonitor monitor;
     private final int initLevel;
-
+    private final long maxIdleTime;
+    private final long maxAge;
 
     protected AtomicComponentExtension(String name,
                                        CompositeComponent parent,
@@ -63,13 +64,30 @@
                                        WorkScheduler workScheduler,
                                        ExecutionMonitor monitor,
                                        int initLevel) {
+        this(name, parent, scopeContainer, wireService, workContext, 
workScheduler, monitor, initLevel, -1, -1);
+
+    }
+
+    protected AtomicComponentExtension(String name,
+                                       CompositeComponent parent,
+                                       ScopeContainer scopeContainer,
+                                       WireService wireService,
+                                       WorkContext workContext,
+                                       WorkScheduler workScheduler,
+                                       ExecutionMonitor monitor,
+                                       int initLevel,
+                                       long maxIdleTime,
+                                       long maxAge) {
         super(name, parent);
+        assert !(maxIdleTime >= 0 && maxAge >= 0);
         this.scopeContainer = scopeContainer;
         this.wireService = wireService;
         this.workContext = workContext;
         this.workScheduler = workScheduler;
         this.monitor = monitor;
         this.initLevel = initLevel;
+        this.maxIdleTime = maxIdleTime;
+        this.maxAge = maxAge;
     }
 
     public Scope getScope() {
@@ -82,6 +100,14 @@
 
     public boolean isEagerInit() {
         return initLevel > 0;
+    }
+
+    public long getMaxIdleTime() {
+        return maxIdleTime;
+    }
+
+    public long getMaxAge() {
+        return maxAge;
     }
 
     public void start() throws CoreRuntimeException {

Modified: 
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/ComponentType.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/ComponentType.java?view=diff&rev=479439&r1=479438&r2=479439
==============================================================================
--- 
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/ComponentType.java
 (original)
+++ 
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/ComponentType.java
 Sun Nov 26 14:46:03 2006
@@ -85,32 +85,32 @@
     }
 
     /**
-     * Returns the idle time allowed between operations in milliseconds if the 
service is conversational
+     * Returns the idle time allowed between operations in milliseconds if the 
implementation is conversational
      *
-     * @return the idle time allowed between operations in milliseconds if the 
service is conversational
+     * @return the idle time allowed between operations in milliseconds if the 
implementation is conversational
      */
     public long getMaxIdleTime() {
         return maxIdleTime;
     }
 
     /**
-     * Sets the idle time allowed between operations in milliseconds if the 
service is conversational
+     * Sets the idle time allowed between operations in milliseconds if the 
implementation is conversational
      */
     public void setMaxIdleTime(long maxIdleTime) {
         this.maxIdleTime = maxIdleTime;
     }
 
     /**
-     * Returns the maximum age a conversation may remain active in 
milliseconds if the service is conversational
+     * Returns the maximum age a conversation may remain active in 
milliseconds if the implementation is conversational
      *
-     * @return the maximum age a conversation may remain active in 
milliseconds if the service is conversational
+     * @return the maximum age a conversation may remain active in 
milliseconds if the implementation is conversational
      */
     public long getMaxAge() {
         return maxAge;
     }
 
     /**
-     * Sets the maximum age a conversation may remain active in milliseconds 
if the service is conversational
+     * Sets the maximum age a conversation may remain active in milliseconds 
if the implementation is conversational
      */
     public void setMaxAge(long maxAge) {
         this.maxAge = maxAge;



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to