summaryrefslogtreecommitdiffstats
path: root/branches/sca-equinox/modules/host-embedded/src/main/java/org/apache/tuscany
diff options
context:
space:
mode:
authorjsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68>2008-09-19 05:31:14 +0000
committerjsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68>2008-09-19 05:31:14 +0000
commit6a633dee838417ed68cf91fbd2e9b3b9fa07bd8f (patch)
tree658d78b2087d2f851518be4d27ed9d913ac47ebb /branches/sca-equinox/modules/host-embedded/src/main/java/org/apache/tuscany
parentbd126f649a92dd53cd3b3ccef5029ab273436291 (diff)
Simplified ServiceDiscoverer. Started to use it to create factories to resolve ClassNotFoundExceptions. Renamed calculator-osgi to calculator-equinox and a few fixes to get it working in Eclipse.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@696924 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'branches/sca-equinox/modules/host-embedded/src/main/java/org/apache/tuscany')
-rw-r--r--branches/sca-equinox/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/SCADomain.java7
-rw-r--r--branches/sca-equinox/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntime.java2
2 files changed, 6 insertions, 3 deletions
diff --git a/branches/sca-equinox/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/SCADomain.java b/branches/sca-equinox/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/SCADomain.java
index a7f148cdda..aaa4c6ee95 100644
--- a/branches/sca-equinox/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/SCADomain.java
+++ b/branches/sca-equinox/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/SCADomain.java
@@ -20,6 +20,7 @@ package org.apache.tuscany.sca.host.embedded;
import java.lang.reflect.Constructor;
+import org.apache.tuscany.sca.extensibility.ServiceDeclaration;
import org.apache.tuscany.sca.extensibility.ServiceDiscovery;
import org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain;
import org.apache.tuscany.sca.host.embedded.management.ComponentManager;
@@ -174,9 +175,9 @@ public abstract class SCADomain {
final ClassLoader runtimeClassLoader = SCADomain.class.getClassLoader();
final ClassLoader applicationClassLoader = Thread.currentThread().getContextClassLoader();
- Class<?> implClass = ServiceDiscovery.getInstance().loadFirstServiceClass(SCADomain.class);
+ ServiceDeclaration implDeclaration = ServiceDiscovery.getInstance().getFirstServiceDeclaration(SCADomain.class.getName());
- if (implClass == null) {
+ if (implDeclaration == null) {
// Create a default SCA domain implementation
domain =
@@ -187,6 +188,7 @@ public abstract class SCADomain {
// Create an instance of the discovered SCA domain implementation
Constructor<?> constructor = null;
try {
+ Class<?> implClass = implDeclaration.loadClass();
constructor =
implClass.getConstructor(ClassLoader.class,
ClassLoader.class,
@@ -204,6 +206,7 @@ public abstract class SCADomain {
composites);
} else {
+ Class<?> implClass = implDeclaration.loadClass();
constructor = implClass.getConstructor(ClassLoader.class, String.class);
domain = (SCADomain)constructor.newInstance(runtimeClassLoader, domainURI);
}
diff --git a/branches/sca-equinox/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntime.java b/branches/sca-equinox/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntime.java
index 55b6afb6f2..be700cb2d0 100644
--- a/branches/sca-equinox/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntime.java
+++ b/branches/sca-equinox/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntime.java
@@ -305,7 +305,7 @@ public class ReallySmallRuntime {
modules = new ArrayList<ModuleActivator>();
try {
Set<ServiceDeclaration> moduleActivators =
- ServiceDiscovery.getInstance().getServiceDeclarations(ModuleActivator.class);
+ ServiceDiscovery.getInstance().getServiceDeclarations(ModuleActivator.class.getName());
Set<String> moduleClasses = new HashSet<String>();
for (ServiceDeclaration moduleDeclarator : moduleActivators) {
if (moduleClasses.contains(moduleDeclarator.getClassName())) {