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 2009/10/28 20:29:53 UTC
svn commit: r830738 [1/2] - in /tuscany/java/sca/modules:
assembly-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/
assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/
assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/...
Author: rfeng
Date: Wed Oct 28 19:29:50 2009
New Revision: 830738
URL: http://svn.apache.org/viewvc?rev=830738&view=rev
Log:
Pass ServiceRegistry via extensionPointRegistry to remove static references
Modified:
tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/DefaultDefinitionsExtensionPoint.java
tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadDocumentTestCase.java
tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/DefaultBuilderExtensionPoint.java
tuscany/java/sca/modules/contribution-osgi/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.scanner.ContributionScanner
tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultStAXArtifactProcessorExtensionPoint.java
tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultStAXAttributeProcessorExtensionPoint.java
tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultURLArtifactProcessorExtensionPoint.java
tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultValidationSchemaExtensionPoint.java
tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/DefaultModelResolverExtensionPoint.java
tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/scanner/DefaultContributionScannerExtensionPoint.java
tuscany/java/sca/modules/contribution/src/test/java/org/apache/tuscany/sca/contribution/resolver/ExtensibleModelResolverTestCase.java
tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/sca/context/DefaultContextFactoryExtensionPoint.java
tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/DefaultProviderFactoryExtensionPoint.java
tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/DefaultWireProcessorExtensionPoint.java
tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/RuntimeWireImpl.java
tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/impl/InvocationChainImpl.java
tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/impl/PhaseManager.java
tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/runtime/DefaultDomainRegistryFactory.java
tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/sca/core/invocation/impl/InvocationChainImplTestCase.java
tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DefaultDataBindingExtensionPoint.java
tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DefaultTransformerExtensionPoint.java
tuscany/java/sca/modules/extensibility-equinox/src/main/java/org/apache/tuscany/sca/extensibility/equinox/EquinoxServiceDiscoveryActivator.java
tuscany/java/sca/modules/extensibility-equinox/src/main/java/org/apache/tuscany/sca/extensibility/equinox/OSGiExtensionPointRegistry.java
tuscany/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/core/DefaultExtensionPointRegistry.java
tuscany/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/core/DefaultFactoryExtensionPoint.java
tuscany/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/core/DefaultModuleActivatorExtensionPoint.java
tuscany/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/core/DefaultUtilityExtensionPoint.java
tuscany/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/core/ExtensionPointRegistry.java
tuscany/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/extensibility/ServiceDiscovery.java
tuscany/java/sca/modules/extensibility/src/test/java/org/apache/tuscany/sca/extensibility/DefaultUtilityExtensionPointTestCase.java
tuscany/java/sca/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/DefaultServletHostExtensionPoint.java
tuscany/java/sca/modules/implementation-bpel-runtime/META-INF/MANIFEST.MF
tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/impl/JavaImplementationFactoryImpl.java
tuscany/java/sca/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/DefaultJavaInterfaceFactory.java
tuscany/java/sca/modules/node-api/src/main/java/org/apache/tuscany/sca/node/NodeFactory.java
tuscany/java/sca/modules/node-impl-osgi/META-INF/MANIFEST.MF
tuscany/java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/impl/OSGiNodeFactoryImpl.java
tuscany/java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/osgi/remoteserviceadmin/impl/OSGiServiceExporter.java
tuscany/java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/osgi/remoteserviceadmin/impl/OSGiServiceImporter.java
tuscany/java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/osgi/remoteserviceadmin/impl/RemoteServiceAdminImpl.java
tuscany/java/sca/modules/node-impl-osgi/src/main/resources/META-INF/services/org.apache.tuscany.sca.node.NodeFactory
tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeFactoryImpl.java
Modified: tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/DefaultDefinitionsExtensionPoint.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/DefaultDefinitionsExtensionPoint.java?rev=830738&r1=830737&r2=830738&view=diff
==============================================================================
--- tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/DefaultDefinitionsExtensionPoint.java (original)
+++ tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/DefaultDefinitionsExtensionPoint.java Wed Oct 28 19:29:50 2009
@@ -80,7 +80,7 @@
// Get the definitions declarations
Collection<ServiceDeclaration> definitionsDeclarations;
try {
- definitionsDeclarations = ServiceDiscovery.getInstance().getServiceDeclarations(DEFINITIONS_FILE);
+ definitionsDeclarations = registry.getServiceDiscovery().getServiceDeclarations(DEFINITIONS_FILE);
} catch (IOException e) {
throw new IllegalStateException(e);
}
Modified: tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadDocumentTestCase.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadDocumentTestCase.java?rev=830738&r1=830737&r2=830738&view=diff
==============================================================================
--- tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadDocumentTestCase.java (original)
+++ tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadDocumentTestCase.java Wed Oct 28 19:29:50 2009
@@ -127,11 +127,11 @@
@Test
public void testReadImplementation() throws Exception {
-
- ValidationSchemaExtensionPoint schemas = new DefaultValidationSchemaExtensionPoint();
+ ExtensionPointRegistry registry = new DefaultExtensionPointRegistry();
+ ValidationSchemaExtensionPoint schemas = new DefaultValidationSchemaExtensionPoint(registry);
schemas.addSchema(getClass().getClassLoader().getResource(TUSCANY_11_XSD).toString());
XMLInputFactory validatingInputFactory = new DefaultValidatingXMLInputFactory(inputFactory, schemas);
- DefaultFactoryExtensionPoint factories = new DefaultFactoryExtensionPoint(new DefaultExtensionPointRegistry());
+ DefaultFactoryExtensionPoint factories = new DefaultFactoryExtensionPoint(registry);
factories.addFactory(validatingInputFactory);
CompositeDocumentProcessor compositeDocumentProcessor =
@@ -157,7 +157,7 @@
public void testReadBinding() throws Exception {
ExtensionPointRegistry registry = new DefaultExtensionPointRegistry();
- ValidationSchemaExtensionPoint schemas = new DefaultValidationSchemaExtensionPoint();
+ ValidationSchemaExtensionPoint schemas = new DefaultValidationSchemaExtensionPoint(registry);
schemas.addSchema(getClass().getClassLoader().getResource(TUSCANY_11_XSD).toString());
XMLInputFactory validatingInputFactory = new DefaultValidatingXMLInputFactory(inputFactory, schemas);
DefaultFactoryExtensionPoint factories = new DefaultFactoryExtensionPoint(registry);
Modified: tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/DefaultBuilderExtensionPoint.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/DefaultBuilderExtensionPoint.java?rev=830738&r1=830737&r2=830738&view=diff
==============================================================================
--- tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/DefaultBuilderExtensionPoint.java (original)
+++ tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/DefaultBuilderExtensionPoint.java Wed Oct 28 19:29:50 2009
@@ -98,7 +98,7 @@
// Get the provider factory service declarations
Collection<ServiceDeclaration> builderDeclarations;
- ServiceDiscovery serviceDiscovery = ServiceDiscovery.getInstance();
+ ServiceDiscovery serviceDiscovery = registry.getServiceDiscovery();
try {
builderDeclarations = serviceDiscovery.getServiceDeclarations(CompositeBuilder.class.getName());
} catch (Exception e) {
Modified: tuscany/java/sca/modules/contribution-osgi/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.scanner.ContributionScanner
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/contribution-osgi/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.scanner.ContributionScanner?rev=830738&r1=830737&r2=830738&view=diff
==============================================================================
--- tuscany/java/sca/modules/contribution-osgi/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.scanner.ContributionScanner (original)
+++ tuscany/java/sca/modules/contribution-osgi/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.scanner.ContributionScanner Wed Oct 28 19:29:50 2009
@@ -13,6 +13,10 @@
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
-# under the License.
+# under the License.
+#
+# Eclipse Equinox
org.apache.tuscany.sca.contribution.osgi.impl.OSGiBundleContributionScanner;type=bundleentry
-org.apache.tuscany.sca.contribution.osgi.impl.OSGiBundleContributionScanner;type=bundleresource
\ No newline at end of file
+org.apache.tuscany.sca.contribution.osgi.impl.OSGiBundleContributionScanner;type=bundleresource
+# Apache Felix
+org.apache.tuscany.sca.contribution.osgi.impl.OSGiBundleContributionScanner;type=bundle
\ No newline at end of file
Modified: tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultStAXArtifactProcessorExtensionPoint.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultStAXArtifactProcessorExtensionPoint.java?rev=830738&r1=830737&r2=830738&view=diff
==============================================================================
--- tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultStAXArtifactProcessorExtensionPoint.java (original)
+++ tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultStAXArtifactProcessorExtensionPoint.java Wed Oct 28 19:29:50 2009
@@ -33,10 +33,8 @@
import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
import org.apache.tuscany.sca.core.ExtensionPointRegistry;
import org.apache.tuscany.sca.core.FactoryExtensionPoint;
-import org.apache.tuscany.sca.core.UtilityExtensionPoint;
import org.apache.tuscany.sca.extensibility.ServiceDeclaration;
import org.apache.tuscany.sca.extensibility.ServiceDeclarationParser;
-import org.apache.tuscany.sca.extensibility.ServiceDiscovery;
import org.apache.tuscany.sca.monitor.Monitor;
import org.apache.tuscany.sca.monitor.Problem;
import org.apache.tuscany.sca.monitor.Problem.Severity;
@@ -49,7 +47,7 @@
public class DefaultStAXArtifactProcessorExtensionPoint extends
DefaultArtifactProcessorExtensionPoint<StAXArtifactProcessor<?>> implements StAXArtifactProcessorExtensionPoint {
- private ExtensionPointRegistry extensionPoints;
+ private ExtensionPointRegistry registry;
private FactoryExtensionPoint modelFactories;
private boolean loaded;
private StAXArtifactProcessor<Object> extensibleStAXProcessor;
@@ -59,11 +57,10 @@
* Constructs a new extension point.
*/
public DefaultStAXArtifactProcessorExtensionPoint(ExtensionPointRegistry extensionPoints) {
- this.extensionPoints = extensionPoints;
+ this.registry = extensionPoints;
this.modelFactories = extensionPoints.getExtensionPoint(FactoryExtensionPoint.class);
XMLInputFactory inputFactory = modelFactories.getFactory(XMLInputFactory.class);
XMLOutputFactory outputFactory = modelFactories.getFactory(XMLOutputFactory.class);
- UtilityExtensionPoint utilities = this.extensionPoints.getExtensionPoint(UtilityExtensionPoint.class);
this.extensibleStAXProcessor = new ExtensibleStAXArtifactProcessor(this, inputFactory, outputFactory);
StAXAttributeProcessorExtensionPoint attributeExtensionPoint =
@@ -113,7 +110,7 @@
Collection<ServiceDeclaration> processorDeclarations;
try {
processorDeclarations =
- ServiceDiscovery.getInstance().getServiceDeclarations(StAXArtifactProcessor.class.getName());
+ registry.getServiceDiscovery().getServiceDeclarations(StAXArtifactProcessor.class.getName());
} catch (IOException e) {
IllegalStateException ie = new IllegalStateException(e);
throw ie;
@@ -136,7 +133,7 @@
// Create a processor wrapper and register it
StAXArtifactProcessor<?> processor =
new LazyStAXArtifactProcessor(artifactType, modelTypeName, factoryName, processorDeclaration,
- extensionPoints, modelFactories, extensibleStAXProcessor,
+ registry, modelFactories, extensibleStAXProcessor,
extensibleStAXAttributeProcessor);
addArtifactProcessor(processor);
}
Modified: tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultStAXAttributeProcessorExtensionPoint.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultStAXAttributeProcessorExtensionPoint.java?rev=830738&r1=830737&r2=830738&view=diff
==============================================================================
--- tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultStAXAttributeProcessorExtensionPoint.java (original)
+++ tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultStAXAttributeProcessorExtensionPoint.java Wed Oct 28 19:29:50 2009
@@ -36,7 +36,6 @@
import org.apache.tuscany.sca.core.UtilityExtensionPoint;
import org.apache.tuscany.sca.extensibility.ServiceDeclaration;
import org.apache.tuscany.sca.extensibility.ServiceDeclarationParser;
-import org.apache.tuscany.sca.extensibility.ServiceDiscovery;
import org.apache.tuscany.sca.monitor.Monitor;
import org.apache.tuscany.sca.monitor.MonitorFactory;
import org.apache.tuscany.sca.monitor.Problem;
@@ -50,7 +49,7 @@
public class DefaultStAXAttributeProcessorExtensionPoint extends
DefaultArtifactProcessorExtensionPoint<StAXAttributeProcessor<?>> implements StAXAttributeProcessorExtensionPoint {
- private ExtensionPointRegistry extensionPoints;
+ private ExtensionPointRegistry registry;
private FactoryExtensionPoint modelFactories;
private StAXAttributeProcessor<Object> extensibleStAXAttributeProcessor;
private boolean loaded;
@@ -60,11 +59,11 @@
* Constructs a new extension point.
*/
public DefaultStAXAttributeProcessorExtensionPoint(ExtensionPointRegistry extensionPoints) {
- this.extensionPoints = extensionPoints;
+ this.registry = extensionPoints;
this.modelFactories = extensionPoints.getExtensionPoint(FactoryExtensionPoint.class);
XMLInputFactory inputFactory = modelFactories.getFactory(XMLInputFactory.class);
XMLOutputFactory outputFactory = modelFactories.getFactory(XMLOutputFactory.class);
- UtilityExtensionPoint utilities = this.extensionPoints.getExtensionPoint(UtilityExtensionPoint.class);
+ UtilityExtensionPoint utilities = this.registry.getExtensionPoint(UtilityExtensionPoint.class);
MonitorFactory monitorFactory = utilities.getUtility(MonitorFactory.class);
if (monitorFactory != null) {
this.monitor = monitorFactory.createMonitor();
@@ -133,7 +132,7 @@
Collection<ServiceDeclaration> processorDeclarations;
try {
processorDeclarations =
- ServiceDiscovery.getInstance().getServiceDeclarations(StAXAttributeProcessor.class.getName());
+ registry.getServiceDiscovery().getServiceDeclarations(StAXAttributeProcessor.class.getName());
} catch (IOException e) {
IllegalStateException ie = new IllegalStateException(e);
error("IllegalStateException", extensibleStAXAttributeProcessor, ie);
@@ -157,7 +156,7 @@
// Create a processor wrapper and register it
StAXAttributeProcessor<?> processor =
new LazyStAXAttributeProcessor(artifactType, modelTypeName, factoryName, processorDeclaration,
- extensionPoints, modelFactories, extensibleStAXAttributeProcessor);
+ registry, modelFactories, extensibleStAXAttributeProcessor);
addArtifactProcessor(processor);
}
Modified: tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultURLArtifactProcessorExtensionPoint.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultURLArtifactProcessorExtensionPoint.java?rev=830738&r1=830737&r2=830738&view=diff
==============================================================================
--- tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultURLArtifactProcessorExtensionPoint.java (original)
+++ tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultURLArtifactProcessorExtensionPoint.java Wed Oct 28 19:29:50 2009
@@ -35,9 +35,7 @@
import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
import org.apache.tuscany.sca.core.ExtensionPointRegistry;
import org.apache.tuscany.sca.core.FactoryExtensionPoint;
-import org.apache.tuscany.sca.core.UtilityExtensionPoint;
import org.apache.tuscany.sca.extensibility.ServiceDeclaration;
-import org.apache.tuscany.sca.extensibility.ServiceDiscovery;
/**
* The default implementation of a URL artifact processor extension point.
@@ -47,7 +45,7 @@
public class DefaultURLArtifactProcessorExtensionPoint extends
DefaultArtifactProcessorExtensionPoint<URLArtifactProcessor<?>> implements URLArtifactProcessorExtensionPoint {
- private ExtensionPointRegistry extensionPoints;
+ private ExtensionPointRegistry registry;
private StAXArtifactProcessor<?> staxProcessor;
private boolean loaded;
@@ -55,11 +53,10 @@
* Constructs a new extension point.
*/
public DefaultURLArtifactProcessorExtensionPoint(ExtensionPointRegistry extensionPoints) {
- this.extensionPoints = extensionPoints;
- FactoryExtensionPoint modelFactories = this.extensionPoints.getExtensionPoint(FactoryExtensionPoint.class);
+ this.registry = extensionPoints;
+ FactoryExtensionPoint modelFactories = this.registry.getExtensionPoint(FactoryExtensionPoint.class);
XMLInputFactory inputFactory = modelFactories.getFactory(XMLInputFactory.class);
XMLOutputFactory outputFactory = modelFactories.getFactory(XMLOutputFactory.class);
- UtilityExtensionPoint utilities = this.extensionPoints.getExtensionPoint(UtilityExtensionPoint.class);
StAXArtifactProcessorExtensionPoint staxProcessors =
extensionPoints.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class);
staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, outputFactory);
@@ -201,7 +198,7 @@
Collection<ServiceDeclaration> processorDeclarations;
try {
processorDeclarations =
- ServiceDiscovery.getInstance().getServiceDeclarations(URLArtifactProcessor.class.getName());
+ registry.getServiceDiscovery().getServiceDeclarations(URLArtifactProcessor.class.getName());
} catch (IOException e) {
IllegalStateException ie = new IllegalStateException(e);
throw ie;
@@ -215,7 +212,7 @@
// Create a processor wrapper and register it
URLArtifactProcessor<?> processor =
- new LazyURLArtifactProcessor(artifactType, modelTypeName, processorDeclaration, extensionPoints,
+ new LazyURLArtifactProcessor(artifactType, modelTypeName, processorDeclaration, registry,
staxProcessor);
addArtifactProcessor(processor);
}
Modified: tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultValidationSchemaExtensionPoint.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultValidationSchemaExtensionPoint.java?rev=830738&r1=830737&r2=830738&view=diff
==============================================================================
--- tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultValidationSchemaExtensionPoint.java (original)
+++ tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultValidationSchemaExtensionPoint.java Wed Oct 28 19:29:50 2009
@@ -27,8 +27,8 @@
import java.util.Collections;
import java.util.List;
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
import org.apache.tuscany.sca.extensibility.ServiceDeclaration;
-import org.apache.tuscany.sca.extensibility.ServiceDiscovery;
/**
* Default implementation of an extension point for XML schemas.
@@ -39,7 +39,13 @@
private boolean enabled = true;
private List<String> schemas = new ArrayList<String>();
private boolean loaded;
-
+ private ExtensionPointRegistry registry;
+
+ public DefaultValidationSchemaExtensionPoint(ExtensionPointRegistry registry) {
+ super();
+ this.registry = registry;
+ }
+
public void addSchema(String uri) {
schemas.add(uri);
}
@@ -60,7 +66,7 @@
Collection<ServiceDeclaration> schemaDeclarations;
try {
schemaDeclarations =
- ServiceDiscovery.getInstance()
+ registry.getServiceDiscovery()
.getServiceDeclarations("org.apache.tuscany.sca.contribution.processor.ValidationSchema");
} catch (IOException e) {
throw new IllegalStateException(e);
Modified: tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/DefaultModelResolverExtensionPoint.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/DefaultModelResolverExtensionPoint.java?rev=830738&r1=830737&r2=830738&view=diff
==============================================================================
--- tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/DefaultModelResolverExtensionPoint.java (original)
+++ tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/DefaultModelResolverExtensionPoint.java Wed Oct 28 19:29:50 2009
@@ -24,8 +24,8 @@
import java.util.Map;
import java.util.StringTokenizer;
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
import org.apache.tuscany.sca.extensibility.ServiceDeclaration;
-import org.apache.tuscany.sca.extensibility.ServiceDiscovery;
/**
@@ -37,11 +37,13 @@
private final Map<Class<?>, Class<? extends ModelResolver>> resolvers = new HashMap<Class<?>, Class<? extends ModelResolver>>();
private Map<String, ServiceDeclaration> loadedResolvers;
+ private ExtensionPointRegistry registry;
/**
* Constructs a new DefaultModelResolverExtensionPoint.
*/
- public DefaultModelResolverExtensionPoint() {
+ public DefaultModelResolverExtensionPoint(ExtensionPointRegistry registry) {
+ this.registry = registry;
}
public void addResolver(Class<?> modelType, Class<? extends ModelResolver> resolver) {
@@ -98,7 +100,7 @@
// Get the model resolver service declarations
Collection<ServiceDeclaration> modelResolverDeclarations;
try {
- modelResolverDeclarations = ServiceDiscovery.getInstance().getServiceDeclarations(ModelResolver.class.getName());
+ modelResolverDeclarations = registry.getServiceDiscovery().getServiceDeclarations(ModelResolver.class.getName());
} catch (IOException e) {
throw new IllegalStateException(e);
}
Modified: tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/scanner/DefaultContributionScannerExtensionPoint.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/scanner/DefaultContributionScannerExtensionPoint.java?rev=830738&r1=830737&r2=830738&view=diff
==============================================================================
--- tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/scanner/DefaultContributionScannerExtensionPoint.java (original)
+++ tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/scanner/DefaultContributionScannerExtensionPoint.java Wed Oct 28 19:29:50 2009
@@ -29,8 +29,8 @@
import org.apache.tuscany.sca.contribution.Contribution;
import org.apache.tuscany.sca.contribution.processor.ContributionReadException;
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
import org.apache.tuscany.sca.extensibility.ServiceDeclaration;
-import org.apache.tuscany.sca.extensibility.ServiceDiscovery;
/**
* Default implementation of a contribution scanner extension point.
@@ -41,8 +41,10 @@
private Map<String, ContributionScanner> scanners = new HashMap<String, ContributionScanner>();
private boolean loaded;
+ private ExtensionPointRegistry registry;
- public DefaultContributionScannerExtensionPoint() {
+ public DefaultContributionScannerExtensionPoint(ExtensionPointRegistry registry) {
+ this.registry = registry;
}
public void addContributionScanner(ContributionScanner scanner) {
@@ -65,7 +67,7 @@
// Get the scanner service declarations
Collection<ServiceDeclaration> scannerDeclarations;
try {
- scannerDeclarations = ServiceDiscovery.getInstance().getServiceDeclarations(ContributionScanner.class.getName());
+ scannerDeclarations = registry.getServiceDiscovery().getServiceDeclarations(ContributionScanner.class.getName());
} catch (IOException e) {
throw new IllegalStateException(e);
}
Modified: tuscany/java/sca/modules/contribution/src/test/java/org/apache/tuscany/sca/contribution/resolver/ExtensibleModelResolverTestCase.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/contribution/src/test/java/org/apache/tuscany/sca/contribution/resolver/ExtensibleModelResolverTestCase.java?rev=830738&r1=830737&r2=830738&view=diff
==============================================================================
--- tuscany/java/sca/modules/contribution/src/test/java/org/apache/tuscany/sca/contribution/resolver/ExtensibleModelResolverTestCase.java (original)
+++ tuscany/java/sca/modules/contribution/src/test/java/org/apache/tuscany/sca/contribution/resolver/ExtensibleModelResolverTestCase.java Wed Oct 28 19:29:50 2009
@@ -27,6 +27,7 @@
import org.apache.tuscany.sca.contribution.processor.ProcessorContext;
import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry;
import org.apache.tuscany.sca.core.DefaultFactoryExtensionPoint;
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
import org.apache.tuscany.sca.core.FactoryExtensionPoint;
import org.junit.Before;
import org.junit.Test;
@@ -44,11 +45,11 @@
@Before
public void setUp() throws Exception {
-
- ModelResolverExtensionPoint resolvers = new DefaultModelResolverExtensionPoint();
+ ExtensionPointRegistry registry = new DefaultExtensionPointRegistry();
+ ModelResolverExtensionPoint resolvers = new DefaultModelResolverExtensionPoint(registry);
resolvers.addResolver(Model.class, TestModelResolver.class);
context = new ProcessorContext();
- FactoryExtensionPoint factories = new DefaultFactoryExtensionPoint(new DefaultExtensionPointRegistry());
+ FactoryExtensionPoint factories = new DefaultFactoryExtensionPoint(registry);
resolver = new ExtensibleModelResolver(null, resolvers, factories);
Modified: tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/sca/context/DefaultContextFactoryExtensionPoint.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/sca/context/DefaultContextFactoryExtensionPoint.java?rev=830738&r1=830737&r2=830738&view=diff
==============================================================================
--- tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/sca/context/DefaultContextFactoryExtensionPoint.java (original)
+++ tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/sca/context/DefaultContextFactoryExtensionPoint.java Wed Oct 28 19:29:50 2009
@@ -94,7 +94,7 @@
// Dynamically load a factory class declared under META-INF/services
try {
- ServiceDeclaration factoryDeclaration = ServiceDiscovery.getInstance().getServiceDeclaration(factoryInterface.getName());
+ ServiceDeclaration factoryDeclaration = registry.getServiceDiscovery().getServiceDeclaration(factoryInterface.getName());
if (factoryDeclaration != null) {
Class<?> factoryClass = factoryDeclaration.loadClass();
Modified: tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/DefaultProviderFactoryExtensionPoint.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/DefaultProviderFactoryExtensionPoint.java?rev=830738&r1=830737&r2=830738&view=diff
==============================================================================
--- tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/DefaultProviderFactoryExtensionPoint.java (original)
+++ tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/DefaultProviderFactoryExtensionPoint.java Wed Oct 28 19:29:50 2009
@@ -131,7 +131,7 @@
// Get the provider factory service declarations
Collection<ServiceDeclaration> factoryDeclarations;
- ServiceDiscovery serviceDiscovery = ServiceDiscovery.getInstance();
+ ServiceDiscovery serviceDiscovery = registry.getServiceDiscovery();
try {
factoryDeclarations = serviceDiscovery.getServiceDeclarations(factoryClass.getName(), true);
} catch (Exception e) {
Modified: tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/DefaultWireProcessorExtensionPoint.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/DefaultWireProcessorExtensionPoint.java?rev=830738&r1=830737&r2=830738&view=diff
==============================================================================
--- tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/DefaultWireProcessorExtensionPoint.java (original)
+++ tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/DefaultWireProcessorExtensionPoint.java Wed Oct 28 19:29:50 2009
@@ -90,7 +90,7 @@
}
try {
Collection<ServiceDeclaration> sds =
- ServiceDiscovery.getInstance().getServiceDeclarations(RuntimeWireProcessor.class, true);
+ registry.getServiceDiscovery().getServiceDeclarations(RuntimeWireProcessor.class, true);
for (ServiceDeclaration sd : sds) {
Class type = sd.loadClass();
Constructor constructor = null;
Modified: tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/RuntimeWireImpl.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/RuntimeWireImpl.java?rev=830738&r1=830737&r2=830738&view=diff
==============================================================================
--- tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/RuntimeWireImpl.java (original)
+++ tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/impl/RuntimeWireImpl.java Wed Oct 28 19:29:50 2009
@@ -43,6 +43,7 @@
import org.apache.tuscany.sca.core.invocation.NonBlockingInterceptor;
import org.apache.tuscany.sca.core.invocation.RuntimeWireInvoker;
import org.apache.tuscany.sca.core.invocation.impl.InvocationChainImpl;
+import org.apache.tuscany.sca.core.invocation.impl.PhaseManager;
import org.apache.tuscany.sca.interfacedef.InterfaceContract;
import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper;
import org.apache.tuscany.sca.interfacedef.Operation;
@@ -88,6 +89,7 @@
private transient RuntimeWireProcessor wireProcessor;
private transient InterfaceContractMapper interfaceContractMapper;
private transient WorkScheduler workScheduler;
+ private transient PhaseManager phaseManager;
private transient MessageFactory messageFactory;
private transient RuntimeWireInvoker invoker;
@@ -135,6 +137,7 @@
UtilityExtensionPoint utilities = extensionPoints.getExtensionPoint(UtilityExtensionPoint.class);
this.eprBinder = utilities.getUtility(EndpointReferenceBinder.class);
+ this.phaseManager = utilities.getUtility(PhaseManager.class);
this.providerFactories = extensionPoints.getExtensionPoint(ProviderFactoryExtensionPoint.class);
}
@@ -158,6 +161,7 @@
this.invoker = new RuntimeWireInvoker(this.messageFactory, this);
this.eprBinder = utilities.getUtility(EndpointReferenceBinder.class);
+ this.phaseManager = utilities.getUtility(PhaseManager.class);
this.providerFactories = extensionPoints.getExtensionPoint(ProviderFactoryExtensionPoint.class);
}
@@ -170,7 +174,7 @@
public synchronized InvocationChain getBindingInvocationChain() {
if (bindingInvocationChain == null) {
- bindingInvocationChain = new InvocationChainImpl(null, null, isReferenceWire);
+ bindingInvocationChain = new InvocationChainImpl(null, null, isReferenceWire, phaseManager);
if (isReferenceWire) {
initReferenceBindingInvocationChains();
} else {
@@ -289,7 +293,7 @@
+ "#"
+ reference.getName());
}
- InvocationChain chain = new InvocationChainImpl(operation, targetOperation, true);
+ InvocationChain chain = new InvocationChainImpl(operation, targetOperation, true, phaseManager);
if (operation.isNonBlocking()) {
addNonBlockingInterceptor(reference, refBinding, chain);
}
@@ -315,7 +319,7 @@
+ "#"
+ service.getName());
}
- InvocationChain chain = new InvocationChainImpl(operation, targetOperation, false);
+ InvocationChain chain = new InvocationChainImpl(operation, targetOperation, false, phaseManager);
if (operation.isNonBlocking()) {
addNonBlockingInterceptor(service, serviceBinding, chain);
}
Modified: tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/impl/InvocationChainImpl.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/impl/InvocationChainImpl.java?rev=830738&r1=830737&r2=830738&view=diff
==============================================================================
--- tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/impl/InvocationChainImpl.java (original)
+++ tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/impl/InvocationChainImpl.java Wed Oct 28 19:29:50 2009
@@ -40,15 +40,15 @@
private Operation targetOperation;
private List<Node> nodes = new ArrayList<Node>();
- // FIXME: Not a good practice to use static reference
- private static final PhaseManager phaseManager = new PhaseManager();
+ private final PhaseManager phaseManager;
private boolean forReference;
private boolean allowsPassByReference;
- public InvocationChainImpl(Operation sourceOperation, Operation targetOperation, boolean forReference) {
+ public InvocationChainImpl(Operation sourceOperation, Operation targetOperation, boolean forReference, PhaseManager phaseManager) {
this.targetOperation = targetOperation;
this.sourceOperation = sourceOperation;
this.forReference = forReference;
+ this.phaseManager = phaseManager;
}
public Operation getTargetOperation() {
Modified: tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/impl/PhaseManager.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/impl/PhaseManager.java?rev=830738&r1=830737&r2=830738&view=diff
==============================================================================
--- tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/impl/PhaseManager.java (original)
+++ tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/impl/PhaseManager.java Wed Oct 28 19:29:50 2009
@@ -49,8 +49,10 @@
import java.util.logging.Level;
import java.util.logging.Logger;
+import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry;
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.core.UtilityExtensionPoint;
import org.apache.tuscany.sca.extensibility.ServiceDeclaration;
-import org.apache.tuscany.sca.extensibility.ServiceDiscovery;
import org.apache.tuscany.sca.invocation.Phase;
import org.oasisopen.sca.ServiceRuntimeException;
@@ -59,7 +61,7 @@
*/
public class PhaseManager {
private static final Logger log = Logger.getLogger(PhaseManager.class.getName());
-
+
public static final String STAGE_REFERENCE = "reference";
public static final String STAGE_REFERENCE_BINDING = "reference.binding";
public static final String STAGE_SERVICE_BINDING = "service.binding";
@@ -80,6 +82,7 @@
private static final String[] SYSTEM_IMPLEMENTATION_PHASES = {IMPLEMENTATION_POLICY, IMPLEMENTATION};
+ private ExtensionPointRegistry registry;
private String pattern = Phase.class.getName();
private Map<String, Stage> stages;
private List<String> phases;
@@ -121,14 +124,25 @@
return name + phases;
}
}
-
+
+ /**
+ * @param registry
+ */
+ public PhaseManager(ExtensionPointRegistry registry) {
+ super();
+ this.registry = registry;
+ }
+
+ public static PhaseManager getInstance(ExtensionPointRegistry registry) {
+ UtilityExtensionPoint utilityExtensionPoint = registry.getExtensionPoint(UtilityExtensionPoint.class);
+ return utilityExtensionPoint.getUtility(PhaseManager.class);
+ }
+
// For unit test purpose
PhaseManager(String pattern) {
super();
this.pattern = pattern;
- }
-
- public PhaseManager() {
+ this.registry = new DefaultExtensionPointRegistry();
}
private List<String> getPhases(String stage) {
@@ -176,7 +190,7 @@
Collection<ServiceDeclaration> services;
try {
- services = ServiceDiscovery.getInstance().getServiceDeclarations(pattern);
+ services = registry.getServiceDiscovery().getServiceDeclarations(pattern);
} catch (IOException e) {
throw new ServiceRuntimeException(e);
}
Modified: tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/runtime/DefaultDomainRegistryFactory.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/runtime/DefaultDomainRegistryFactory.java?rev=830738&r1=830737&r2=830738&view=diff
==============================================================================
--- tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/runtime/DefaultDomainRegistryFactory.java (original)
+++ tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/runtime/DefaultDomainRegistryFactory.java Wed Oct 28 19:29:50 2009
@@ -32,7 +32,6 @@
import org.apache.tuscany.sca.core.ExtensionPointRegistry;
import org.apache.tuscany.sca.core.LifeCycleListener;
import org.apache.tuscany.sca.extensibility.ServiceDeclaration;
-import org.apache.tuscany.sca.extensibility.ServiceDiscovery;
import org.apache.tuscany.sca.runtime.DomainRegistryFactory;
import org.apache.tuscany.sca.runtime.EndpointListener;
import org.apache.tuscany.sca.runtime.EndpointRegistry;
@@ -58,7 +57,7 @@
public void start() {
Collection<ServiceDeclaration> sds = null;
try {
- sds = ServiceDiscovery.getInstance().getServiceDeclarations(EndpointRegistry.class);
+ sds = extensionRegistry.getServiceDiscovery().getServiceDeclarations(EndpointRegistry.class);
} catch (IOException e) {
throw new IllegalStateException(e);
}
Modified: tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/sca/core/invocation/impl/InvocationChainImplTestCase.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/sca/core/invocation/impl/InvocationChainImplTestCase.java?rev=830738&r1=830737&r2=830738&view=diff
==============================================================================
--- tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/sca/core/invocation/impl/InvocationChainImplTestCase.java (original)
+++ tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/sca/core/invocation/impl/InvocationChainImplTestCase.java Wed Oct 28 19:29:50 2009
@@ -20,6 +20,7 @@
import static org.junit.Assert.assertEquals;
+import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry;
import org.apache.tuscany.sca.interfacedef.Operation;
import org.apache.tuscany.sca.interfacedef.impl.OperationImpl;
import org.apache.tuscany.sca.invocation.Interceptor;
@@ -37,7 +38,7 @@
@Test
public void testInsertAtEnd() throws Exception {
Operation op = newOperation("foo");
- InvocationChain chain = new InvocationChainImpl(op, op, true);
+ InvocationChain chain = new InvocationChainImpl(op, op, true, new PhaseManager(new DefaultExtensionPointRegistry()));
Interceptor inter2 = new MockInterceptor();
Interceptor inter1 = new MockInterceptor();
chain.addInterceptor(inter1);
@@ -50,7 +51,7 @@
@Test
public void testAddByPhase() throws Exception {
Operation op = newOperation("foo");
- InvocationChain chain = new InvocationChainImpl(op, op, false);
+ InvocationChain chain = new InvocationChainImpl(op, op, false, new PhaseManager(new DefaultExtensionPointRegistry()));
Interceptor inter1 = new MockInterceptor();
Interceptor inter2 = new MockInterceptor();
Interceptor inter3 = new MockInterceptor();
Modified: tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DefaultDataBindingExtensionPoint.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DefaultDataBindingExtensionPoint.java?rev=830738&r1=830737&r2=830738&view=diff
==============================================================================
--- tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DefaultDataBindingExtensionPoint.java (original)
+++ tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DefaultDataBindingExtensionPoint.java Wed Oct 28 19:29:50 2009
@@ -107,7 +107,7 @@
// Get the databinding service declarations
Collection<ServiceDeclaration> dataBindingDeclarations;
try {
- dataBindingDeclarations = ServiceDiscovery.getInstance().getServiceDeclarations(DataBinding.class.getName());
+ dataBindingDeclarations = registry.getServiceDiscovery().getServiceDeclarations(DataBinding.class.getName());
} catch (IOException e) {
throw new IllegalStateException(e);
}
Modified: tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DefaultTransformerExtensionPoint.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DefaultTransformerExtensionPoint.java?rev=830738&r1=830737&r2=830738&view=diff
==============================================================================
--- tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DefaultTransformerExtensionPoint.java (original)
+++ tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DefaultTransformerExtensionPoint.java Wed Oct 28 19:29:50 2009
@@ -118,7 +118,7 @@
Collection<ServiceDeclaration> transformerDeclarations;
try {
- transformerDeclarations = ServiceDiscovery.getInstance().getServiceDeclarations(transformerClass.getName());
+ transformerDeclarations = registry.getServiceDiscovery().getServiceDeclarations(transformerClass.getName());
} catch (IOException e) {
throw new IllegalStateException(e);
Modified: tuscany/java/sca/modules/extensibility-equinox/src/main/java/org/apache/tuscany/sca/extensibility/equinox/EquinoxServiceDiscoveryActivator.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/extensibility-equinox/src/main/java/org/apache/tuscany/sca/extensibility/equinox/EquinoxServiceDiscoveryActivator.java?rev=830738&r1=830737&r2=830738&view=diff
==============================================================================
--- tuscany/java/sca/modules/extensibility-equinox/src/main/java/org/apache/tuscany/sca/extensibility/equinox/EquinoxServiceDiscoveryActivator.java (original)
+++ tuscany/java/sca/modules/extensibility-equinox/src/main/java/org/apache/tuscany/sca/extensibility/equinox/EquinoxServiceDiscoveryActivator.java Wed Oct 28 19:29:50 2009
@@ -38,6 +38,7 @@
}
public void stop(BundleContext context) throws Exception {
+ ServiceDiscovery.getInstance().setServiceDiscoverer(null);
}
}
Modified: tuscany/java/sca/modules/extensibility-equinox/src/main/java/org/apache/tuscany/sca/extensibility/equinox/OSGiExtensionPointRegistry.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/extensibility-equinox/src/main/java/org/apache/tuscany/sca/extensibility/equinox/OSGiExtensionPointRegistry.java?rev=830738&r1=830737&r2=830738&view=diff
==============================================================================
--- tuscany/java/sca/modules/extensibility-equinox/src/main/java/org/apache/tuscany/sca/extensibility/equinox/OSGiExtensionPointRegistry.java (original)
+++ tuscany/java/sca/modules/extensibility-equinox/src/main/java/org/apache/tuscany/sca/extensibility/equinox/OSGiExtensionPointRegistry.java Wed Oct 28 19:29:50 2009
@@ -28,6 +28,7 @@
import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry;
import org.apache.tuscany.sca.core.LifeCycleListener;
import org.apache.tuscany.sca.extensibility.ServiceDeclaration;
+import org.apache.tuscany.sca.extensibility.ServiceDiscovery;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
import org.osgi.framework.BundleException;
@@ -42,7 +43,7 @@
private BundleContext bundleContext;
public OSGiExtensionPointRegistry(BundleContext bundleContext) {
- super();
+ super(ServiceDiscovery.getInstance(new EquinoxServiceDiscoverer(bundleContext)));
this.bundleContext = bundleContext;
}
@@ -102,7 +103,7 @@
}
@Override
- public void stop() {
+ public synchronized void stop() {
// Get a unique map as an extension point may exist in the map by different keys
Map<LifeCycleListener, LifeCycleListener> map = new IdentityHashMap<LifeCycleListener, LifeCycleListener>();
for (ServiceRegistration reg : services.values()) {
Modified: tuscany/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/core/DefaultExtensionPointRegistry.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/core/DefaultExtensionPointRegistry.java?rev=830738&r1=830737&r2=830738&view=diff
==============================================================================
--- tuscany/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/core/DefaultExtensionPointRegistry.java (original)
+++ tuscany/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/core/DefaultExtensionPointRegistry.java Wed Oct 28 19:29:50 2009
@@ -42,11 +42,16 @@
*/
public class DefaultExtensionPointRegistry implements ExtensionPointRegistry {
private Map<Class<?>, Object> extensionPoints = new HashMap<Class<?>, Object>();
-
+ private ServiceDiscovery discovery;
/**
* Constructs a new registry.
*/
public DefaultExtensionPointRegistry() {
+ this.discovery = ServiceDiscovery.getInstance();
+ }
+
+ protected DefaultExtensionPointRegistry(ServiceDiscovery discovery) {
+ this.discovery = discovery;
}
/**
@@ -162,11 +167,11 @@
}
}
- public void start() {
+ public synchronized void start() {
// Do nothing
}
- public void stop() {
+ public synchronized void stop() {
// Get a unique map as an extension point may exist in the map by different keys
Map<LifeCycleListener, LifeCycleListener> map = new IdentityHashMap<LifeCycleListener, LifeCycleListener>();
for (Object extp : extensionPoints.values()) {
@@ -179,4 +184,8 @@
extensionPoints.clear();
}
+ public ServiceDiscovery getServiceDiscovery() {
+ return discovery;
+ }
+
}
Modified: tuscany/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/core/DefaultFactoryExtensionPoint.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/core/DefaultFactoryExtensionPoint.java?rev=830738&r1=830737&r2=830738&view=diff
==============================================================================
--- tuscany/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/core/DefaultFactoryExtensionPoint.java (original)
+++ tuscany/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/core/DefaultFactoryExtensionPoint.java Wed Oct 28 19:29:50 2009
@@ -26,9 +26,9 @@
import java.security.AccessController;
import java.security.PrivilegedAction;
import java.util.HashMap;
+import java.util.Map;
import org.apache.tuscany.sca.extensibility.ServiceDeclaration;
-import org.apache.tuscany.sca.extensibility.ServiceDiscovery;
@@ -38,14 +38,14 @@
* @version $Rev$ $Date$
*/
public class DefaultFactoryExtensionPoint implements FactoryExtensionPoint {
- private ExtensionPointRegistry extensionPointRegistry;
- private HashMap<Class<?>, Object> factories = new HashMap<Class<?>, Object>();
+ private ExtensionPointRegistry registry;
+ private Map<Class<?>, Object> factories = new HashMap<Class<?>, Object>();
/**
* Constructs a new DefaultModelFactoryExtensionPoint.
*/
public DefaultFactoryExtensionPoint(ExtensionPointRegistry extensionPointRegistry) {
- this.extensionPointRegistry = extensionPointRegistry;
+ this.registry = extensionPointRegistry;
}
/**
@@ -53,7 +53,7 @@
*
* @param factory The factory to add
*/
- public void addFactory(Object factory) {
+ public synchronized void addFactory(Object factory) {
Class<?>[] interfaces = factory.getClass().getInterfaces();
if (interfaces.length == 0) {
Class<?> sc = factory.getClass().getSuperclass();
@@ -72,7 +72,7 @@
*
* @param factory The factory to remove
*/
- public void removeFactory(Object factory) {
+ public synchronized void removeFactory(Object factory) {
Class<?>[] interfaces = factory.getClass().getInterfaces();
if (interfaces.length == 0) {
Class<?> sc = factory.getClass().getSuperclass();
@@ -103,18 +103,18 @@
* @param factoryInterface The lookup key (factory interface)
* @return The factory
*/
- public <T> T getFactory(Class<T> factoryInterface) {
+ public synchronized <T> T getFactory(Class<T> factoryInterface) {
Object factory = factories.get(factoryInterface);
if (factory == null) {
// Dynamically load a factory class declared under META-INF/services
try {
ServiceDeclaration factoryDeclaration =
- ServiceDiscovery.getInstance().getServiceDeclaration(factoryInterface);
+ registry.getServiceDiscovery().getServiceDeclaration(factoryInterface);
if (factoryDeclaration != null) {
try {
// Constructor taking the extension point registry
- factory = newInstance(extensionPointRegistry, factoryDeclaration);
+ factory = newInstance(registry, factoryDeclaration);
} catch (NoSuchMethodException e) {
factory = newInstance(factoryDeclaration.loadClass(), FactoryExtensionPoint.class, this);
}
Modified: tuscany/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/core/DefaultModuleActivatorExtensionPoint.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/core/DefaultModuleActivatorExtensionPoint.java?rev=830738&r1=830737&r2=830738&view=diff
==============================================================================
--- tuscany/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/core/DefaultModuleActivatorExtensionPoint.java (original)
+++ tuscany/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/core/DefaultModuleActivatorExtensionPoint.java Wed Oct 28 19:29:50 2009
@@ -77,7 +77,7 @@
Collection<ServiceDeclaration> activatorDeclarations;
try {
// Load the module activators by ranking
- activatorDeclarations = ServiceDiscovery.getInstance().getServiceDeclarations(ModuleActivator.class.getName(), true);
+ activatorDeclarations = registry.getServiceDiscovery().getServiceDeclarations(ModuleActivator.class.getName(), true);
} catch (IOException e) {
throw new IllegalStateException(e);
}
Modified: tuscany/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/core/DefaultUtilityExtensionPoint.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/core/DefaultUtilityExtensionPoint.java?rev=830738&r1=830737&r2=830738&view=diff
==============================================================================
--- tuscany/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/core/DefaultUtilityExtensionPoint.java (original)
+++ tuscany/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/core/DefaultUtilityExtensionPoint.java Wed Oct 28 19:29:50 2009
@@ -30,7 +30,6 @@
import java.util.concurrent.ConcurrentHashMap;
import org.apache.tuscany.sca.extensibility.ServiceDeclaration;
-import org.apache.tuscany.sca.extensibility.ServiceDiscovery;
/**
* Default implementation of an extension point to hold Tuscany utility utilities.
@@ -40,12 +39,12 @@
public class DefaultUtilityExtensionPoint implements UtilityExtensionPoint {
private Map<Object, Object> utilities = new ConcurrentHashMap<Object, Object>();
- private ExtensionPointRegistry extensionPoints;
+ private ExtensionPointRegistry registry;
/**
* Constructs a new extension point.
*/
public DefaultUtilityExtensionPoint(ExtensionPointRegistry extensionPoints) {
- this.extensionPoints = extensionPoints;
+ this.registry = extensionPoints;
}
/**
@@ -56,11 +55,11 @@
*
* @throws IllegalArgumentException if utility is null
*/
- public void addUtility(Object utility) {
+ public synchronized void addUtility(Object utility) {
addUtility(null, utility);
}
- public void addUtility(Object key, Object utility) {
+ public synchronized void addUtility(Object key, Object utility) {
if (utility == null) {
throw new IllegalArgumentException("Cannot register null as a Service");
}
@@ -91,7 +90,7 @@
*
* @throws IllegalArgumentException if utilityType is null
*/
- public <T> T getUtility(Class<T> utilityType) {
+ public synchronized <T> T getUtility(Class<T> utilityType) {
return getUtility(utilityType, null);
}
@@ -102,7 +101,7 @@
*
* @throws IllegalArgumentException if utility is null
*/
- public void removeUtility(Object utility) {
+ public synchronized void removeUtility(Object utility) {
if (utility == null) {
throw new IllegalArgumentException("Cannot remove null as a Service");
}
@@ -144,7 +143,7 @@
}
}
- public <T> T getUtility(Class<T> utilityType, Object key) {
+ public synchronized <T> T getUtility(Class<T> utilityType, Object key) {
if (utilityType == null) {
throw new IllegalArgumentException("Cannot lookup Service of type null");
}
@@ -160,7 +159,7 @@
// Dynamically load a utility class declared under META-INF/services/"utilityType"
try {
ServiceDeclaration utilityDeclaration =
- ServiceDiscovery.getInstance().getServiceDeclaration(utilityType.getName());
+ registry.getServiceDiscovery().getServiceDeclaration(utilityType.getName());
Class<?> utilityClass = null;
if (utilityDeclaration != null) {
utilityClass = utilityDeclaration.loadClass();
@@ -171,10 +170,10 @@
if (utilityClass != null) {
// Construct the utility
if (utilityDeclaration != null) {
- utility = newInstance(extensionPoints, utilityDeclaration);
+ utility = newInstance(registry, utilityDeclaration);
} else {
try {
- utility = newInstance(utilityClass, ExtensionPointRegistry.class, extensionPoints);
+ utility = newInstance(utilityClass, ExtensionPointRegistry.class, registry);
} catch (NoSuchMethodException e) {
utility = newInstance(utilityClass);
}
@@ -198,11 +197,11 @@
return !utilityType.isInterface() && Modifier.isPublic(modifiers) && !Modifier.isAbstract(modifiers);
}
- public void start() {
+ public synchronized void start() {
// NOOP
}
- public void stop() {
+ public synchronized void stop() {
// Get a unique map as an extension point may exist in the map by different keys
Map<LifeCycleListener, LifeCycleListener> map = new IdentityHashMap<LifeCycleListener, LifeCycleListener>();
for (Object util : utilities.values()) {
Modified: tuscany/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/core/ExtensionPointRegistry.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/core/ExtensionPointRegistry.java?rev=830738&r1=830737&r2=830738&view=diff
==============================================================================
--- tuscany/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/core/ExtensionPointRegistry.java (original)
+++ tuscany/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/core/ExtensionPointRegistry.java Wed Oct 28 19:29:50 2009
@@ -19,6 +19,8 @@
package org.apache.tuscany.sca.core;
+import org.apache.tuscany.sca.extensibility.ServiceDiscovery;
+
/**
* The registry for the Tuscany core extension points. As the point of contact
@@ -53,4 +55,10 @@
* @throws IllegalArgumentException if extensionPoint is null
*/
void removeExtensionPoint(Object extensionPoint);
+
+ /**
+ * Get an instance of the ServiceDiscovery
+ * @return an instance of the ServiceDiscovery associated with the environment
+ */
+ ServiceDiscovery getServiceDiscovery();
}
Modified: tuscany/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/extensibility/ServiceDiscovery.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/extensibility/ServiceDiscovery.java?rev=830738&r1=830737&r2=830738&view=diff
==============================================================================
--- tuscany/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/extensibility/ServiceDiscovery.java (original)
+++ tuscany/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/extensibility/ServiceDiscovery.java Wed Oct 28 19:29:50 2009
@@ -53,6 +53,11 @@
super();
}
+ private ServiceDiscovery(ServiceDiscoverer discoverer) {
+ super();
+ this.discoverer = discoverer;
+ }
+
/**
* Get an instance of Service discovery, one instance is created per
* ClassLoader that this class is loaded from
@@ -62,6 +67,10 @@
public static ServiceDiscovery getInstance() {
return INSTANCE;
}
+
+ public static ServiceDiscovery getInstance(ServiceDiscoverer discoverer) {
+ return new ServiceDiscovery(discoverer);
+ }
public ServiceDiscoverer getServiceDiscoverer() {
if (discoverer != null) {
@@ -80,8 +89,8 @@
}
public void setServiceDiscoverer(ServiceDiscoverer sd) {
- if (discoverer != null) {
- throw new IllegalStateException("The ServiceDiscoverer cannot be reset");
+ if (discoverer != null && sd != null) {
+ logger.warning("ServiceDiscoverer is reset to " + sd);
}
discoverer = sd;
}
@@ -255,9 +264,9 @@
@Override
protected Class<?> findClass(String className) throws ClassNotFoundException {
- for (ClassLoader parent : classLoaders) {
+ for (ClassLoader delegate : classLoaders) {
try {
- return parent.loadClass(className);
+ return delegate.loadClass(className);
} catch (ClassNotFoundException e) {
continue;
}
@@ -267,8 +276,8 @@
@Override
protected URL findResource(String resName) {
- for (ClassLoader parent : classLoaders) {
- URL url = parent.getResource(resName);
+ for (ClassLoader delegate : classLoaders) {
+ URL url = delegate.getResource(resName);
if (url != null) {
return url;
}
@@ -279,8 +288,8 @@
@Override
protected Enumeration<URL> findResources(String resName) throws IOException {
Set<URL> urlSet = new HashSet<URL>();
- for (ClassLoader parent : classLoaders) {
- Enumeration<URL> urls = parent.getResources(resName);
+ for (ClassLoader delegate : classLoaders) {
+ Enumeration<URL> urls = delegate.getResources(resName);
if (urls != null) {
while (urls.hasMoreElements()) {
urlSet.add(urls.nextElement());
@@ -327,6 +336,13 @@
return loaders;
}
+ /**
+ * Set the thread context classloader (TCCL) to a classloader that delegates to a collection
+ * of classloaders
+ * @param parent The parent classloader
+ * @param delegates A list of classloaders to try
+ * @return The existing TCCL
+ */
public ClassLoader setContextClassLoader(ClassLoader parent, ClassLoader... delegates) {
ClassLoader tccl = Thread.currentThread().getContextClassLoader();
List<ClassLoader> loaders = new ArrayList<ClassLoader>();
Modified: tuscany/java/sca/modules/extensibility/src/test/java/org/apache/tuscany/sca/extensibility/DefaultUtilityExtensionPointTestCase.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/extensibility/src/test/java/org/apache/tuscany/sca/extensibility/DefaultUtilityExtensionPointTestCase.java?rev=830738&r1=830737&r2=830738&view=diff
==============================================================================
--- tuscany/java/sca/modules/extensibility/src/test/java/org/apache/tuscany/sca/extensibility/DefaultUtilityExtensionPointTestCase.java (original)
+++ tuscany/java/sca/modules/extensibility/src/test/java/org/apache/tuscany/sca/extensibility/DefaultUtilityExtensionPointTestCase.java Wed Oct 28 19:29:50 2009
@@ -22,6 +22,7 @@
import java.io.Serializable;
+import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry;
import org.apache.tuscany.sca.core.DefaultUtilityExtensionPoint;
import org.apache.tuscany.sca.core.LifeCycleListener;
import org.apache.tuscany.sca.core.UtilityExtensionPoint;
@@ -41,7 +42,7 @@
*/
@BeforeClass
public static void setUpBeforeClass() throws Exception {
- ep = new DefaultUtilityExtensionPoint(null);
+ ep = new DefaultUtilityExtensionPoint(new DefaultExtensionPointRegistry());
ep.start();
}
Modified: tuscany/java/sca/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/DefaultServletHostExtensionPoint.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/DefaultServletHostExtensionPoint.java?rev=830738&r1=830737&r2=830738&view=diff
==============================================================================
--- tuscany/java/sca/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/DefaultServletHostExtensionPoint.java (original)
+++ tuscany/java/sca/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/DefaultServletHostExtensionPoint.java Wed Oct 28 19:29:50 2009
@@ -76,7 +76,7 @@
// Get the databinding service declarations
Collection<ServiceDeclaration> sds;
try {
- sds = ServiceDiscovery.getInstance().getServiceDeclarations(ServletHost.class, true);
+ sds = registry.getServiceDiscovery().getServiceDeclarations(ServletHost.class, true);
} catch (IOException e) {
throw new IllegalStateException(e);
}
Modified: tuscany/java/sca/modules/implementation-bpel-runtime/META-INF/MANIFEST.MF
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/implementation-bpel-runtime/META-INF/MANIFEST.MF?rev=830738&r1=830737&r2=830738&view=diff
==============================================================================
--- tuscany/java/sca/modules/implementation-bpel-runtime/META-INF/MANIFEST.MF (original)
+++ tuscany/java/sca/modules/implementation-bpel-runtime/META-INF/MANIFEST.MF Wed Oct 28 19:29:50 2009
@@ -53,7 +53,7 @@
org.apache.tuscany.sca.policy;version="2.0.0",
org.apache.tuscany.sca.provider;version="2.0",
org.apache.tuscany.sca.runtime;version="2.0",
- org.eclipse.core.runtime;common=split,
+ org.eclipse.core.runtime;resolution:=optional;common=split,
org.oasisopen.sca.annotation;version="2.0",
org.w3c.dom;resolution:=optional
Bundle-SymbolicName: org.apache.tuscany.sca.implementation.bpel.ode
Modified: tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/impl/JavaImplementationFactoryImpl.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/impl/JavaImplementationFactoryImpl.java?rev=830738&r1=830737&r2=830738&view=diff
==============================================================================
--- tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/impl/JavaImplementationFactoryImpl.java (original)
+++ tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/impl/JavaImplementationFactoryImpl.java Wed Oct 28 19:29:50 2009
@@ -95,7 +95,7 @@
// Get the databinding service declarations
Collection<ServiceDeclaration> visitorDeclarations;
try {
- visitorDeclarations = ServiceDiscovery.getInstance().getServiceDeclarations(JavaClassVisitor.class, true);
+ visitorDeclarations = registry.getServiceDiscovery().getServiceDeclarations(JavaClassVisitor.class, true);
} catch (IOException e) {
throw new IllegalStateException(e);
}
Modified: tuscany/java/sca/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/DefaultJavaInterfaceFactory.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/DefaultJavaInterfaceFactory.java?rev=830738&r1=830737&r2=830738&view=diff
==============================================================================
--- tuscany/java/sca/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/DefaultJavaInterfaceFactory.java (original)
+++ tuscany/java/sca/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/DefaultJavaInterfaceFactory.java Wed Oct 28 19:29:50 2009
@@ -26,7 +26,6 @@
import org.apache.tuscany.sca.core.ExtensionPointRegistry;
import org.apache.tuscany.sca.extensibility.ServiceDeclaration;
-import org.apache.tuscany.sca.extensibility.ServiceDiscovery;
import org.apache.tuscany.sca.interfacedef.java.impl.JavaInterfaceFactoryImpl;
import org.apache.tuscany.sca.interfacedef.java.introspect.JavaInterfaceVisitor;
@@ -38,13 +37,13 @@
public class DefaultJavaInterfaceFactory extends JavaInterfaceFactoryImpl implements JavaInterfaceFactory {
private static final Logger logger = Logger.getLogger(DefaultJavaInterfaceFactory.class.getName());
- private ExtensionPointRegistry extensionPointRegistry;
+ private ExtensionPointRegistry registry;
// private Monitor monitor = null;
private boolean loadedVisitors;
public DefaultJavaInterfaceFactory(ExtensionPointRegistry registry) {
super();
- this.extensionPointRegistry = registry;
+ this.registry = registry;
}
@Override
@@ -64,7 +63,7 @@
// Get the databinding service declarations
Collection<ServiceDeclaration> visitorDeclarations;
try {
- visitorDeclarations = ServiceDiscovery.getInstance().getServiceDeclarations(JavaInterfaceVisitor.class, true);
+ visitorDeclarations = registry.getServiceDiscovery().getServiceDeclarations(JavaInterfaceVisitor.class, true);
} catch (IOException e) {
throw new IllegalStateException(e);
}
@@ -77,7 +76,7 @@
try {
Constructor<JavaInterfaceVisitor> constructor = visitorClass.getConstructor(ExtensionPointRegistry.class);
- visitor = constructor.newInstance(extensionPointRegistry);
+ visitor = constructor.newInstance(registry);
} catch (NoSuchMethodException e) {
visitor = visitorClass.newInstance();
}
Modified: tuscany/java/sca/modules/node-api/src/main/java/org/apache/tuscany/sca/node/NodeFactory.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/node-api/src/main/java/org/apache/tuscany/sca/node/NodeFactory.java?rev=830738&r1=830737&r2=830738&view=diff
==============================================================================
--- tuscany/java/sca/modules/node-api/src/main/java/org/apache/tuscany/sca/node/NodeFactory.java (original)
+++ tuscany/java/sca/modules/node-api/src/main/java/org/apache/tuscany/sca/node/NodeFactory.java Wed Oct 28 19:29:50 2009
@@ -166,8 +166,8 @@
Class<?> discoveryClass = Class.forName("org.apache.tuscany.sca.extensibility.ServiceDiscovery");
Object instance = discoveryClass.getMethod("getInstance").invoke(null);
Object factoryDeclaration =
- discoveryClass.getMethod("getServiceDeclaration", String.class).invoke(instance,
- NodeFactory.class.getName());
+ discoveryClass.getMethod("getServiceDeclaration", Class.class).invoke(instance,
+ NodeFactory.class);
if (factoryDeclaration != null) {
Class<?> factoryImplClass =
(Class<?>)factoryDeclaration.getClass().getMethod("loadClass").invoke(factoryDeclaration);
@@ -177,11 +177,13 @@
// Ignore
}
- // Fail back to default impl
- String className = "org.apache.tuscany.sca.node.impl.NodeFactoryImpl";
+ if (nodeFactory == null) {
+ // Fail back to default impl
+ String className = "org.apache.tuscany.sca.node.impl.NodeFactoryImpl";
- Class<?> cls = Class.forName(className);
- nodeFactory = (NodeFactory)cls.newInstance();
+ Class<?> cls = Class.forName(className);
+ nodeFactory = (NodeFactory)cls.newInstance();
+ }
} catch (Exception e) {
throw new ServiceRuntimeException(e);
Modified: tuscany/java/sca/modules/node-impl-osgi/META-INF/MANIFEST.MF
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/node-impl-osgi/META-INF/MANIFEST.MF?rev=830738&r1=830737&r2=830738&view=diff
==============================================================================
--- tuscany/java/sca/modules/node-impl-osgi/META-INF/MANIFEST.MF (original)
+++ tuscany/java/sca/modules/node-impl-osgi/META-INF/MANIFEST.MF Wed Oct 28 19:29:50 2009
@@ -42,6 +42,7 @@
org.oasisopen.sca.annotation;version="2.0.0";resolution:=optional,
org.osgi.framework;version="1.4.0",
org.osgi.framework.hooks.service;version="1.0.0";resolution:=optional,
+ org.osgi.service.cm;version="1.2.1",
org.osgi.service.component;version="1.1.0";resolution:=optional,
org.osgi.service.event;version="1.2.0",
org.osgi.service.packageadmin;version="1.2.0";resolution:=optional,
Modified: tuscany/java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/impl/OSGiNodeFactoryImpl.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/impl/OSGiNodeFactoryImpl.java?rev=830738&r1=830737&r2=830738&view=diff
==============================================================================
--- tuscany/java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/impl/OSGiNodeFactoryImpl.java (original)
+++ tuscany/java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/impl/OSGiNodeFactoryImpl.java Wed Oct 28 19:29:50 2009
@@ -33,6 +33,7 @@
import org.apache.tuscany.sca.node.impl.NodeFactoryImpl;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
import org.osgi.framework.ServiceRegistration;
/**
@@ -44,10 +45,22 @@
private ServiceRegistration registration;
private BundleContext bundleContext;
+ public OSGiNodeFactoryImpl() {
+ super();
+ Bundle bundle = FrameworkUtil.getBundle(OSGiNodeFactoryImpl.class);
+ if (bundle != null) {
+ this.bundleContext = bundle.getBundleContext();
+ autoDestroy = false;
+ setNodeFactory(this);
+ } else {
+ throw new IllegalStateException(OSGiNodeFactoryImpl.class + " is not loaded by OSGi");
+ }
+ }
/**
* Constructs a new Node controller
*/
public OSGiNodeFactoryImpl(BundleContext bundleContext) {
+ super();
this.bundleContext = bundleContext;
autoDestroy = false;
setNodeFactory(this);
Modified: tuscany/java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/osgi/remoteserviceadmin/impl/OSGiServiceExporter.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/osgi/remoteserviceadmin/impl/OSGiServiceExporter.java?rev=830738&r1=830737&r2=830738&view=diff
==============================================================================
--- tuscany/java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/osgi/remoteserviceadmin/impl/OSGiServiceExporter.java (original)
+++ tuscany/java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/osgi/remoteserviceadmin/impl/OSGiServiceExporter.java Wed Oct 28 19:29:50 2009
@@ -30,29 +30,18 @@
import org.apache.tuscany.sca.assembly.ComponentService;
import org.apache.tuscany.sca.assembly.Endpoint;
import org.apache.tuscany.sca.contribution.Contribution;
-import org.apache.tuscany.sca.core.ExtensionPointRegistry;
-import org.apache.tuscany.sca.core.LifeCycleListener;
-import org.apache.tuscany.sca.node.NodeFactory;
import org.apache.tuscany.sca.node.configuration.NodeConfiguration;
-import org.apache.tuscany.sca.node.impl.NodeFactoryImpl;
import org.apache.tuscany.sca.node.impl.NodeImpl;
import org.apache.tuscany.sca.osgi.remoteserviceadmin.EndpointDescription;
import org.apache.tuscany.sca.osgi.remoteserviceadmin.ExportRegistration;
-import org.apache.tuscany.sca.osgi.service.discovery.impl.LocalDiscoveryService;
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceReference;
-import org.osgi.util.tracker.ServiceTracker;
import org.osgi.util.tracker.ServiceTrackerCustomizer;
/**
* Watching and exporting OSGi services
*/
-public class OSGiServiceExporter implements ServiceTrackerCustomizer, LifeCycleListener {
- private ExtensionPointRegistry registry;
- private BundleContext context;
- private NodeFactoryImpl nodeFactory;
- private EndpointIntrospector introspector;
- private ServiceTracker discoveryTracker;
+public class OSGiServiceExporter extends AbstractOSGiServiceHandler implements ServiceTrackerCustomizer {
/**
* @param context
@@ -60,32 +49,13 @@
* @param customizer
*/
public OSGiServiceExporter(BundleContext context) {
- this.context = context;
- }
-
- private synchronized void init() {
- if (nodeFactory == null) {
- this.nodeFactory = (NodeFactoryImpl)NodeFactory.newInstance();
- this.nodeFactory.init();
- this.discoveryTracker = LocalDiscoveryService.getTracker(context);
- discoveryTracker.open();
- this.introspector = new EndpointIntrospector(context, getExtensionPointRegistry(), discoveryTracker);
- }
+ super(context);
}
public void start() {
init();
}
- public void stop() {
- discoveryTracker.close();
- discoveryTracker = null;
- introspector = null;
- nodeFactory = null;
- registry = null;
- context = null;
- }
-
public Object addingService(ServiceReference reference) {
return exportService(reference, null);
}
@@ -97,6 +67,9 @@
if (contribution != null) {
NodeConfiguration configuration = nodeFactory.createNodeConfiguration();
+ if (domainRegistry != null) {
+ configuration.setDomainRegistryURI(domainRegistry);
+ }
configuration.setURI(contribution.getURI());
configuration.getExtensions().add(reference.getBundle());
// FIXME: Configure the domain and node URI
@@ -132,16 +105,4 @@
exportRegistration.close();
}
}
-
- protected ExtensionPointRegistry getExtensionPointRegistry() {
- if (registry == null) {
- ServiceTracker tracker = new ServiceTracker(context, ExtensionPointRegistry.class.getName(), null);
- tracker.open();
- // tracker.waitForService(1000);
- registry = (ExtensionPointRegistry)tracker.getService();
- tracker.close();
- }
- return registry;
- }
-
}
Modified: tuscany/java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/osgi/remoteserviceadmin/impl/OSGiServiceImporter.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/osgi/remoteserviceadmin/impl/OSGiServiceImporter.java?rev=830738&r1=830737&r2=830738&view=diff
==============================================================================
--- tuscany/java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/osgi/remoteserviceadmin/impl/OSGiServiceImporter.java (original)
+++ tuscany/java/sca/modules/node-impl-osgi/src/main/java/org/apache/tuscany/sca/osgi/remoteserviceadmin/impl/OSGiServiceImporter.java Wed Oct 28 19:29:50 2009
@@ -24,30 +24,19 @@
import org.apache.tuscany.sca.assembly.Component;
import org.apache.tuscany.sca.assembly.ComponentReference;
import org.apache.tuscany.sca.contribution.Contribution;
-import org.apache.tuscany.sca.core.ExtensionPointRegistry;
-import org.apache.tuscany.sca.core.LifeCycleListener;
import org.apache.tuscany.sca.node.Node;
-import org.apache.tuscany.sca.node.NodeFactory;
import org.apache.tuscany.sca.node.configuration.NodeConfiguration;
-import org.apache.tuscany.sca.node.impl.NodeFactoryImpl;
import org.apache.tuscany.sca.node.impl.NodeImpl;
import org.apache.tuscany.sca.osgi.remoteserviceadmin.EndpointDescription;
import org.apache.tuscany.sca.osgi.remoteserviceadmin.ImportRegistration;
-import org.apache.tuscany.sca.osgi.service.discovery.impl.LocalDiscoveryService;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceReference;
-import org.osgi.util.tracker.ServiceTracker;
/**
* Watching and exporting OSGi services
*/
-public class OSGiServiceImporter implements LifeCycleListener {
- private ExtensionPointRegistry registry;
- private BundleContext context;
- private NodeFactoryImpl nodeFactory;
- private EndpointIntrospector introspector;
- private ServiceTracker discoveryTracker;
+public class OSGiServiceImporter extends AbstractOSGiServiceHandler {
/**
* @param context
@@ -55,31 +44,12 @@
* @param customizer
*/
public OSGiServiceImporter(BundleContext context) {
- this.context = context;
- }
-
- private synchronized void init() {
- if (nodeFactory == null) {
- this.nodeFactory = (NodeFactoryImpl)NodeFactory.newInstance();
- this.nodeFactory.init();
- this.discoveryTracker = LocalDiscoveryService.getTracker(context);
- discoveryTracker.open();
- this.introspector = new EndpointIntrospector(context, getExtensionPointRegistry(), discoveryTracker);
- }
+ super(context);
}
public void start() {
}
- public void stop() {
- discoveryTracker.close();
- discoveryTracker = null;
- introspector = null;
- nodeFactory = null;
- registry = null;
- context = null;
- }
-
public ImportRegistration importService(Bundle bundle, EndpointDescription endpointDescription) {
init();
try {
@@ -87,6 +57,9 @@
if (contribution != null) {
NodeConfiguration configuration = nodeFactory.createNodeConfiguration();
+ if (domainRegistry != null) {
+ configuration.setDomainRegistryURI(domainRegistry);
+ }
configuration.setURI(contribution.getURI());
configuration.getExtensions().add(bundle);
// FIXME: Configure the domain and node URI
@@ -115,15 +88,4 @@
node.stop();
}
- protected ExtensionPointRegistry getExtensionPointRegistry() {
- if (registry == null) {
- ServiceTracker tracker = new ServiceTracker(context, ExtensionPointRegistry.class.getName(), null);
- tracker.open();
- // tracker.waitForService(1000);
- registry = (ExtensionPointRegistry)tracker.getService();
- tracker.close();
- }
- return registry;
- }
-
}