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/18 19:06:53 UTC
svn commit: r519655 - in /incubator/tuscany/java/sca/kernel:
core/src/main/java/org/apache/tuscany/core/implementation/
core/src/main/java/org/apache/tuscany/core/implementation/java/
core/src/main/java/org/apache/tuscany/core/implementation/system/bui...
Author: jboynes
Date: Sun Mar 18 11:06:51 2007
New Revision: 519655
URL: http://svn.apache.org/viewvc?view=rev&rev=519655
Log:
supply groupId to PojoComponent so it can register
Modified:
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/PojoComponent.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/main/java/org/apache/tuscany/core/implementation/java/JavaPhysicalComponentBuilder.java
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/builder/SystemPhysicalComponentBuilder.java
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemComponent.java
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/model/SystemPhysicalComponentDefinition.java
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/model/physical/java/JavaPhysicalComponentDefinition.java
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/PojoComponentTestCase.java
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/physical/PhysicalComponentDefinition.java
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/PojoComponent.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/PojoComponent.java?view=diff&rev=519655&r1=519654&r2=519655
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/PojoComponent.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/PojoComponent.java Sun Mar 18 11:06:51 2007
@@ -52,10 +52,12 @@
*
* @version $Rev$ $Date$
* @param <T> the implementation class
+ * @param <GROUP> the component group id type
*/
-public abstract class PojoComponent<T> extends AbstractSCAObject implements AtomicComponent {
+public abstract class PojoComponent<T, GROUP> extends AbstractSCAObject implements AtomicComponent<T> {
private final InstanceFactoryProvider<T> provider;
- private final ScopeContainer scopeContainer;
+ private final ScopeContainer<GROUP, ?> scopeContainer;
+ private final GROUP groupId;
private final int initLevel;
private final long maxIdleTime;
private final long maxAge;
@@ -63,13 +65,15 @@
public PojoComponent(URI componentId,
InstanceFactoryProvider<T> provider,
- ScopeContainer scopeContainer,
+ ScopeContainer<GROUP, ?> scopeContainer,
+ GROUP groupId,
int initLevel,
long maxIdleTime,
long maxAge) {
super(componentId);
this.provider = provider;
this.scopeContainer = scopeContainer;
+ this.groupId = groupId;
this.initLevel = initLevel;
this.maxIdleTime = maxIdleTime;
this.maxAge = maxAge;
@@ -102,7 +106,7 @@
public void start() {
super.start();
- scopeContainer.register(this, null);
+ scopeContainer.register(this, groupId);
instanceFactory = provider.createFactory();
}
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=519655&r1=519654&r2=519655
==============================================================================
--- 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 Sun Mar 18 11:06:51 2007
@@ -27,15 +27,17 @@
/**
* @version $Revision$ $Date$
* @param <T> the implementation class for the defined component
+ * @param <GROUP> the component group id type
*/
-public class JavaComponent<T> extends PojoComponent<T> {
+public class JavaComponent<T,GROUP> extends PojoComponent<T,GROUP> {
public JavaComponent(URI componentId,
InstanceFactoryProvider<T> instanceFactoryProvider,
- ScopeContainer scopeContainer,
+ ScopeContainer<GROUP, ?> scopeContainer,
+ GROUP groupId,
int initLevel,
long maxIdleTime,
long maxAge) {
- super(componentId, instanceFactoryProvider, scopeContainer, initLevel, maxIdleTime, maxAge);
+ super(componentId, instanceFactoryProvider, scopeContainer, groupId, initLevel, maxIdleTime, maxAge);
}
}
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaPhysicalComponentBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaPhysicalComponentBuilder.java?view=diff&rev=519655&r1=519654&r2=519655
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaPhysicalComponentBuilder.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaPhysicalComponentBuilder.java Sun Mar 18 11:06:51 2007
@@ -24,7 +24,6 @@
import java.util.Map;
import org.osoa.sca.annotations.Reference;
-import org.osoa.sca.annotations.Service;
import org.apache.tuscany.spi.ObjectFactory;
import org.apache.tuscany.spi.builder.BuilderException;
@@ -61,10 +60,10 @@
*
* @version $Rev$ $Date$
* @param <T> the implementation class for the defined component
+ * @param <GROUP> the component group id type
*/
-@Service(interfaces={PhysicalComponentBuilder.class, WireAttacher.class})
-public class JavaPhysicalComponentBuilder<T>
- implements PhysicalComponentBuilder<JavaPhysicalComponentDefinition<T>, JavaComponent<T>>,
+public class JavaPhysicalComponentBuilder<T, GROUP>
+ implements PhysicalComponentBuilder<JavaPhysicalComponentDefinition<T, GROUP>, JavaComponent<T, GROUP>>,
WireAttacher<JavaComponent, JavaPhysicalWireSourceDefinition, JavaPhysicalWireTargetDefinition> {
// Classloader registry
@@ -105,11 +104,11 @@
* @return A component instance that is ready to go live.
* @throws BuilderException If unable to build the component.
*/
- public JavaComponent<T> build(JavaPhysicalComponentDefinition<T> componentDefinition) throws BuilderException {
+ public JavaComponent<T, GROUP> build(JavaPhysicalComponentDefinition<T, GROUP> componentDefinition) throws BuilderException {
URI componentId = componentDefinition.getComponentId();
InstanceFactoryProvider<T> provider = componentDefinition.getProvider();
- JavaComponent<T> component = new JavaComponent<T>(componentId, provider, null, 0, -1, -1);
+ JavaComponent<T, GROUP> component = new JavaComponent<T, GROUP>(componentId, provider, null, null, 0, -1, -1);
setScopeContainer(componentDefinition, component);
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/builder/SystemPhysicalComponentBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/builder/SystemPhysicalComponentBuilder.java?view=diff&rev=519655&r1=519654&r2=519655
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/builder/SystemPhysicalComponentBuilder.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/builder/SystemPhysicalComponentBuilder.java Sun Mar 18 11:06:51 2007
@@ -21,6 +21,8 @@
import java.net.URI;
import org.osoa.sca.annotations.Reference;
+import org.osoa.sca.annotations.Init;
+import org.osoa.sca.annotations.EagerInit;
import org.apache.tuscany.core.component.InstanceFactoryProvider;
import org.apache.tuscany.core.implementation.system.component.SystemComponent;
@@ -28,27 +30,37 @@
import org.apache.tuscany.spi.builder.physical.PhysicalComponentBuilder;
import org.apache.tuscany.spi.builder.physical.PhysicalComponentBuilderRegistry;
import org.apache.tuscany.spi.component.ScopeContainer;
+import org.apache.tuscany.spi.component.ScopeRegistry;
/**
* @version $Rev$ $Date$
*/
-public class SystemPhysicalComponentBuilder<T>
- implements PhysicalComponentBuilder<SystemPhysicalComponentDefinition<T>, SystemComponent<T>> {
+@EagerInit
+public class SystemPhysicalComponentBuilder<T, GROUP>
+ implements PhysicalComponentBuilder<SystemPhysicalComponentDefinition<T, GROUP>, SystemComponent<T, GROUP>> {
- /**
- * Injects builder registry.
- * @param registry PhysicalComponentBuilder registry.
- */
- @Reference
- public void setBuilderRegistry(PhysicalComponentBuilderRegistry registry) {
- registry.register(SystemPhysicalComponentDefinition.class, this);
+ private final PhysicalComponentBuilderRegistry builderRegistry;
+ private final ScopeRegistry scopeRegistry;
+
+
+ public SystemPhysicalComponentBuilder(
+ @Reference(name = "builderRegistry")PhysicalComponentBuilderRegistry builderRegistry,
+ @Reference(name = "scopeRegistry")ScopeRegistry scopeRegistry) {
+ this.builderRegistry = builderRegistry;
+ this.scopeRegistry = scopeRegistry;
+ }
+
+ @Init
+ void init() {
+ builderRegistry.register(SystemPhysicalComponentDefinition.class, this);
}
- public SystemComponent<T> build(SystemPhysicalComponentDefinition<T> definition) {
+ public SystemComponent<T, GROUP> build(SystemPhysicalComponentDefinition<T, GROUP> definition) {
URI componentId = definition.getComponentId();
int initLevel = definition.getInitLevel();
- ScopeContainer scopeContainer = null;
+ GROUP groupId = definition.getGroupId();
+ ScopeContainer<GROUP, ?> scopeContainer = null;
InstanceFactoryProvider<T> provider = definition.getProvider();
- return new SystemComponent<T>(componentId, provider, scopeContainer, initLevel, -1, -1);
+ return new SystemComponent<T, GROUP>(componentId, provider, scopeContainer, groupId, initLevel, -1, -1);
}
}
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemComponent.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemComponent.java?view=diff&rev=519655&r1=519654&r2=519655
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemComponent.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemComponent.java Sun Mar 18 11:06:51 2007
@@ -27,15 +27,17 @@
/**
* @version $Rev$ $Date$
* @param <T> the implementation class for the defined component
+ * @param <GROUP> the component group id type
*/
-public class SystemComponent<T> extends PojoComponent<T> {
+public class SystemComponent<T, GROUP> extends PojoComponent<T, GROUP> {
public SystemComponent(URI componentId,
InstanceFactoryProvider<T> provider,
- ScopeContainer scopeContainer,
+ ScopeContainer<GROUP, ?> scopeContainer,
+ GROUP groupId,
int initLevel,
int maxIdleTime,
int maxAge) {
- super(componentId, provider, scopeContainer, initLevel, maxIdleTime, maxAge);
+ super(componentId, provider, scopeContainer, groupId, initLevel, maxIdleTime, maxAge);
}
}
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/model/SystemPhysicalComponentDefinition.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/model/SystemPhysicalComponentDefinition.java?view=diff&rev=519655&r1=519654&r2=519655
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/model/SystemPhysicalComponentDefinition.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/model/SystemPhysicalComponentDefinition.java Sun Mar 18 11:06:51 2007
@@ -24,8 +24,9 @@
/**
* @version $Rev$ $Date$
* @param <T> the implementation class for the defined component
+ * @param <GROUP> the component group id type
*/
-public class SystemPhysicalComponentDefinition<T> extends PhysicalComponentDefinition {
+public class SystemPhysicalComponentDefinition<T, GROUP> extends PhysicalComponentDefinition<GROUP> {
private int initLevel;
private InstanceFactoryProvider<T> provider;
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/model/physical/java/JavaPhysicalComponentDefinition.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/model/physical/java/JavaPhysicalComponentDefinition.java?view=diff&rev=519655&r1=519654&r2=519655
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/model/physical/java/JavaPhysicalComponentDefinition.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/model/physical/java/JavaPhysicalComponentDefinition.java Sun Mar 18 11:06:51 2007
@@ -21,7 +21,6 @@
import java.net.URI;
import org.apache.tuscany.core.component.InstanceFactoryProvider;
-import org.apache.tuscany.spi.model.Scope;
import org.apache.tuscany.spi.model.physical.PhysicalComponentDefinition;
/**
@@ -29,14 +28,12 @@
*
* @version $Rev$ $Date$
* @param <T> the implementation class (if known)
+ * @param <GROUP> the component group id type
*/
-public class JavaPhysicalComponentDefinition<T> extends PhysicalComponentDefinition {
+public class JavaPhysicalComponentDefinition<T, GROUP> extends PhysicalComponentDefinition<GROUP> {
private InstanceFactoryProvider<T> provider;
- // Scope
- private Scope scope;
-
// Class loader id
private URI classLoaderId;
@@ -56,24 +53,6 @@
*/
public void setClassLoaderId(URI classLoaderId) {
this.classLoaderId = classLoaderId;
- }
-
- /**
- * Gets the scope for the component.
- *
- * @return The scope for the component.
- */
- public Scope getScope() {
- return scope;
- }
-
- /**
- * Sets the scope for the component.
- *
- * @param scope The scope for the component.
- */
- public void setScope(Scope scope) {
- this.scope = scope;
}
/**
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/PojoComponentTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/PojoComponentTestCase.java?view=diff&rev=519655&r1=519654&r2=519655
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/PojoComponentTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/PojoComponentTestCase.java Sun Mar 18 11:06:51 2007
@@ -124,7 +124,7 @@
component = new TestComponent<T>(componentId, provider, scopeContainer, 0, -1, -1);
}
- public static class TestComponent<T> extends PojoComponent<T> {
+ public static class TestComponent<T> extends PojoComponent<T, Object> {
public TestComponent(URI componentId,
InstanceFactoryProvider<T> instanceFactoryProvider,
@@ -132,7 +132,7 @@
int initLevel,
long maxIdleTime,
long maxAge) {
- super(componentId, instanceFactoryProvider, scopeContainer, initLevel, maxIdleTime, maxAge);
+ super(componentId, instanceFactoryProvider, scopeContainer, null, initLevel, maxIdleTime, maxAge);
}
}
}
Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/physical/PhysicalComponentDefinition.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/physical/PhysicalComponentDefinition.java?view=diff&rev=519655&r1=519654&r2=519655
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/physical/PhysicalComponentDefinition.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/physical/PhysicalComponentDefinition.java Sun Mar 18 11:06:51 2007
@@ -21,19 +21,23 @@
import java.net.URI;
import org.apache.tuscany.spi.model.ModelObject;
+import org.apache.tuscany.spi.model.Scope;
/**
* Represents a physical component model.
*
* @version $Rev$ $Date$
+ * @param <GROUP> the component group id type
*/
-public abstract class PhysicalComponentDefinition extends ModelObject {
+public abstract class PhysicalComponentDefinition<GROUP> extends ModelObject {
// Component Id.
private URI componentId;
-
+ private Scope scope;
+ private GROUP groupId;
+
// Instance factory provider
- private InstanceFactoryProviderDefinition instanceFactoryProviderDefinition;
+ private InstanceFactoryProviderDefinition instanceFactoryProviderDefinition;// Scope
/**
* Gets the component id.
@@ -47,13 +51,29 @@
/**
* Sets the component id.
*
- * @param componentId
+ * @param componentId the component id
*/
public void setComponentId(URI componentId) {
this.componentId = componentId;
}
/**
+ * Returns the id of the component group this component belongs to.
+ * @return the id of the component group this component belongs to
+ */
+ public GROUP getGroupId() {
+ return groupId;
+ }
+
+ /**
+ * Sets the id of the component group this component belongs to.
+ * @param groupId the id of the component group this component belongs to
+ */
+ public void setGroupId(GROUP groupId) {
+ this.groupId = groupId;
+ }
+
+ /**
* Gets the instance factory provider definition.
* @return Instance factory provider definition.
*/
@@ -69,4 +89,23 @@
this.instanceFactoryProviderDefinition = instanceFactoryProviderDefinition;
}
+ /**
+ * Gets the scope for the component.
+ *
+ * @return The scope for the component.
+ */
+ @Deprecated
+ public Scope getScope() {
+ return scope;
+ }
+
+ /**
+ * Sets the scope for the component.
+ *
+ * @param scope The scope for the component.
+ */
+ @Deprecated
+ public void setScope(Scope scope) {
+ this.scope = scope;
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org