Author: jsdelfino
Date: Sun Sep  7 20:16:34 2008
New Revision: 692989

URL: http://svn.apache.org/viewvc?rev=692989&view=rev
Log:
Simplified a bit the service discovery implementation. Some code cleanup in 
node-launcher-equinox. Started to remove dependencies on a particular setting 
of the Thread Context ClassLoader.

Added:
    
tuscany/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/extensibility/ContextClassLoaderServiceDiscoverer.java
      - copied, changed from r692914, 
tuscany/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/extensibility/ClasspathServiceDiscoverer.java
    
tuscany/java/sca/modules/extensibility/src/test/java/org/apache/tuscany/sca/extensibility/ContextClassLoaderServiceDiscovererTestCase.java
      - copied, changed from r692914, 
tuscany/java/sca/modules/extensibility/src/test/java/org/apache/tuscany/sca/extensibility/ClasspathServiceDiscovererTestCase.java
Removed:
    
tuscany/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/extensibility/ClasspathServiceDiscoverer.java
    
tuscany/java/sca/modules/extensibility/src/test/java/org/apache/tuscany/sca/extensibility/ClasspathServiceDiscovererTestCase.java
Modified:
    
tuscany/java/sca/modules/extensibility-equinox/src/main/java/org/apache/tuscany/sca/extensibility/equinox/EquinoxServiceDiscoverer.java
    
tuscany/java/sca/modules/extensibility-equinox/src/main/java/org/apache/tuscany/sca/extensibility/equinox/EquinoxServiceDiscoveryActivator.java
    
tuscany/java/sca/modules/extensibility-osgi/src/main/java/org/apache/tuscany/sca/extensibility/osgi/OSGiServiceDiscoverer.java
    tuscany/java/sca/modules/extensibility/pom.xml
    
tuscany/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/extensibility/ServiceDiscoverer.java
    
tuscany/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/extensibility/ServiceDiscovery.java
    
tuscany/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/JarFileFinder.java
    
tuscany/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/LibrariesBundleFileFactoryHook.java
    
tuscany/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/NodeLauncherUtil.java
    
tuscany/java/sca/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/FelixOSGiHost.java

Modified: 
tuscany/java/sca/modules/extensibility-equinox/src/main/java/org/apache/tuscany/sca/extensibility/equinox/EquinoxServiceDiscoverer.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/extensibility-equinox/src/main/java/org/apache/tuscany/sca/extensibility/equinox/EquinoxServiceDiscoverer.java?rev=692989&r1=692988&r2=692989&view=diff
==============================================================================
--- 
tuscany/java/sca/modules/extensibility-equinox/src/main/java/org/apache/tuscany/sca/extensibility/equinox/EquinoxServiceDiscoverer.java
 (original)
+++ 
tuscany/java/sca/modules/extensibility-equinox/src/main/java/org/apache/tuscany/sca/extensibility/equinox/EquinoxServiceDiscoverer.java
 Sun Sep  7 20:16:34 2008
@@ -28,8 +28,6 @@
 import java.security.PrivilegedAction;
 import java.security.PrivilegedActionException;
 import java.security.PrivilegedExceptionAction;
-import java.util.Collections;
-import java.util.Enumeration;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Map;
@@ -44,19 +42,17 @@
 import org.osgi.framework.BundleContext;
 
 /**
- * The ServiceDiscoverer that find META-INF/services/... in installed bundles
+ * A ServiceDiscoverer that find META-INF/services/... in installed bundles
  *
  * @version $Rev: $ $Date: $
  */
 public class EquinoxServiceDiscoverer implements ServiceDiscoverer {
     private static final Logger logger = 
Logger.getLogger(EquinoxServiceDiscoverer.class.getName());
+
     private BundleContext context;
-    private ClassLoader classLoader;
 
     public EquinoxServiceDiscoverer(BundleContext context) {
         this.context = context;
-        // http://wiki.eclipse.org/index.php/Context_Class_Loader_Enhancements
-        this.classLoader = new ClassLoaderImpl();
     }
 
     public static class ServiceDeclarationImpl implements ServiceDeclaration {
@@ -118,87 +114,6 @@
 
     }
 
-    private final static ClassLoader getTCCL() {
-        return AccessController.doPrivileged(new 
PrivilegedAction<ClassLoader>() {
-            public ClassLoader run() {
-                return Thread.currentThread().getContextClassLoader();
-            }
-        });
-    }
-    
-    public class ClassLoaderImpl extends ClassLoader {
-        private ClassLoader delegate;
-        
-        public ClassLoaderImpl() {
-            super(EquinoxServiceDiscoverer.class.getClassLoader());
-            this.delegate = getTCCL();
-        }
-
-        @Override
-        protected Class<?> findClass(String name) throws 
ClassNotFoundException {
-            return delegate.loadClass(name);
-        }
-        
-        /**
-         * Open a back-door to expose the META-INF/services resources
-         */
-        @Override
-        protected URL findResource(String name) {
-            int index = name.lastIndexOf('/');
-            if (index == -1) {
-                return null;
-            }
-            String path = name.substring(0, index);
-            if (path.startsWith("/")) {
-                path = path.substring(1);
-            }
-
-            if (!path.startsWith("META-INF/services")) {
-                return null;
-            }
-
-            for (Bundle bundle : context.getBundles()) {
-                URL url = bundle.getEntry(name);
-                if (url != null) {
-                    return url;
-                }
-            }
-
-            return null;
-        }
-
-        /**
-         * Open a back-door to expose the META-INF/services resources
-         */
-        @Override
-        protected Enumeration<URL> findResources(String name) throws 
IOException {
-            int index = name.lastIndexOf('/');
-            if (index == -1) {
-                return null;
-            }
-            String path = name.substring(0, index);
-            String file = name.substring(index + 1);
-            if (path.startsWith("/")) {
-                path = path.substring(1);
-            }
-
-            if (!path.startsWith("META-INF/services")) {
-                return null;
-            }
-
-            Set<URL> urlSet = new HashSet<URL>();
-
-            for (Bundle bundle : context.getBundles()) {
-                Enumeration<URL> urls = bundle.findEntries(path, file, false);
-                if (urls != null) {
-                    urlSet.addAll(Collections.list(urls));
-                }
-            }
-            return Collections.enumeration(urlSet);
-        }
-
-    }
-
     private static String toString(Bundle b) {
         StringBuffer sb = new StringBuffer();
         sb.append(b.getBundleId()).append(" ").append(b.getSymbolicName());
@@ -232,7 +147,7 @@
      * @param declaration
      * @return a map of attributes
      */
-    protected static Map<String, String> parseServiceDeclaration(String 
declaration) {
+    private static Map<String, String> parseServiceDeclaration(String 
declaration) {
         Map<String, String> attributes = new HashMap<String, String>();
         int index = declaration.indexOf(';');
         if (index != -1) {
@@ -260,20 +175,13 @@
         return attributes;
     }
 
-    @SuppressWarnings("unchecked")
     public Set<ServiceDeclaration> discover(String serviceName, boolean 
firstOnly) {
         boolean debug = logger.isLoggable(Level.FINE);
         Set<ServiceDeclaration> descriptors = new 
HashSet<ServiceDeclaration>();
 
         serviceName = "META-INF/services/" + serviceName;
 
-        //        int index = serviceName.lastIndexOf('/');
-        //        String path = serviceName.substring(0, index);
-        //        String file = serviceName.substring(index + 1);
-
         for (Bundle bundle : context.getBundles()) {
-            // Enumeration<URL> urls = bundle.findEntries(path, file, false);
-            // Enumeration<URL> urls = bundle.findEntries(path, file, false); 
// This is expensive
             final URL url = bundle.getEntry(serviceName);
             if (url == null) {
                 continue;
@@ -338,19 +246,6 @@
             }
         }
         return descriptors;
-
-    }
-
-    /**
-     * This class loader can be set as the thread context class loader for 
non-OSGi code
-     * @return
-     */
-    public ClassLoader getContextClassLoader() {
-        return classLoader;
-    }
-
-    public <T> T getContext() {
-        return (T)context;
     }
 
 }

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=692989&r1=692988&r2=692989&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
 Sun Sep  7 20:16:34 2008
@@ -38,7 +38,6 @@
         EquinoxServiceDiscoverer discoverer = new 
EquinoxServiceDiscoverer(context);
         ServiceDiscovery.getInstance().setServiceDiscoverer(discoverer);
         logger.info("Installed service discovery");
-        
Thread.currentThread().setContextClassLoader(getClass().getClassLoader());
     }
 
     public void stop(BundleContext context) throws Exception {

Modified: 
tuscany/java/sca/modules/extensibility-osgi/src/main/java/org/apache/tuscany/sca/extensibility/osgi/OSGiServiceDiscoverer.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/extensibility-osgi/src/main/java/org/apache/tuscany/sca/extensibility/osgi/OSGiServiceDiscoverer.java?rev=692989&r1=692988&r2=692989&view=diff
==============================================================================
--- 
tuscany/java/sca/modules/extensibility-osgi/src/main/java/org/apache/tuscany/sca/extensibility/osgi/OSGiServiceDiscoverer.java
 (original)
+++ 
tuscany/java/sca/modules/extensibility-osgi/src/main/java/org/apache/tuscany/sca/extensibility/osgi/OSGiServiceDiscoverer.java
 Sun Sep  7 20:16:34 2008
@@ -267,10 +267,6 @@
         return classLoader;
     }
 
-    public <T> T getContext() {
-        return (T)context;
-    }
-
     @SuppressWarnings("unchecked")
     public Set<ServiceDeclaration> discover(String serviceName, boolean 
firstOnly) {
         boolean debug = logger.isLoggable(Level.FINE);

Modified: tuscany/java/sca/modules/extensibility/pom.xml
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/extensibility/pom.xml?rev=692989&r1=692988&r2=692989&view=diff
==============================================================================
--- tuscany/java/sca/modules/extensibility/pom.xml (original)
+++ tuscany/java/sca/modules/extensibility/pom.xml Sun Sep  7 20:16:34 2008
@@ -41,6 +41,7 @@
                         
<Bundle-SymbolicName>org.apache.tuscany.sca.extensibility</Bundle-SymbolicName>
                         <Bundle-Description>${pom.name}</Bundle-Description>
                         
<Export-Package>org.apache.tuscany.sca.*</Export-Package>
+                        <DynamicImport-Package>*</DynamicImport-Package> 
                     </instructions>
                 </configuration>
             </plugin>

Copied: 
tuscany/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/extensibility/ContextClassLoaderServiceDiscoverer.java
 (from r692914, 
tuscany/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/extensibility/ClasspathServiceDiscoverer.java)
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/extensibility/ContextClassLoaderServiceDiscoverer.java?p2=tuscany/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/extensibility/ContextClassLoaderServiceDiscoverer.java&p1=tuscany/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/extensibility/ClasspathServiceDiscoverer.java&r1=692914&r2=692989&rev=692989&view=diff
==============================================================================
--- 
tuscany/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/extensibility/ClasspathServiceDiscoverer.java
 (original)
+++ 
tuscany/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/extensibility/ContextClassLoaderServiceDiscoverer.java
 Sun Sep  7 20:16:34 2008
@@ -30,7 +30,6 @@
 import java.security.PrivilegedAction;
 import java.security.PrivilegedActionException;
 import java.security.PrivilegedExceptionAction;
-import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.HashMap;
@@ -43,9 +42,12 @@
 import java.util.logging.Logger;
 
 /**
- * 
+ * A ServiceDiscoverer that find META-INF/services/... using the Context 
ClassLoader.
+ *
+ * @version $Rev: $ $Date: $
  */
-public class ClasspathServiceDiscoverer implements ServiceDiscoverer {
+public class ContextClassLoaderServiceDiscoverer implements ServiceDiscoverer {
+    private static final Logger logger = 
Logger.getLogger(ContextClassLoaderServiceDiscoverer.class.getName());
 
     public class ServiceDeclarationImpl implements ServiceDeclaration {
         private URL url;
@@ -83,16 +85,12 @@
         }
 
         public Class<?> loadClass(String className) throws 
ClassNotFoundException {
-            return getContextClassLoader().loadClass(className);
-        }
-
-        private ClasspathServiceDiscoverer getOuterType() {
-            return ClasspathServiceDiscoverer.this;
+            return classLoaderReference.get().loadClass(className);
         }
 
         public String toString() {
             StringBuffer sb = new StringBuffer();
-            sb.append("ClassLoader: ").append(getContextClassLoader());
+            sb.append("ClassLoader: ").append(classLoaderReference.get());
             sb.append(" Attributes: ").append(attributes);
             return sb.toString();
         }
@@ -100,7 +98,7 @@
         public URL getResource(final String name) {
             return AccessController.doPrivileged(new PrivilegedAction<URL>() {
                 public URL run() {
-                    return getContextClassLoader().getResource(name);
+                    return classLoaderReference.get().getResource(name);
                 }
             });
         }
@@ -108,56 +106,26 @@
     }
 
     private WeakReference<ClassLoader> classLoaderReference;
-    private boolean useTCCL = false;
-    private static final Logger logger = 
Logger.getLogger(ClasspathServiceDiscoverer.class.getName());
 
-    public ClasspathServiceDiscoverer() {
-        // ClassLoader classLoader = 
Thread.currentThread().getContextClassLoader();
-        ClassLoader classLoader = 
ClasspathServiceDiscoverer.class.getClassLoader();
+    public ContextClassLoaderServiceDiscoverer() {
+        ClassLoader classLoader = 
Thread.currentThread().getContextClassLoader();
         this.classLoaderReference = new 
WeakReference<ClassLoader>(classLoader);
-        this.useTCCL = true;
     }
 
-    public ClasspathServiceDiscoverer(ClassLoader classLoader) {
-        this.classLoaderReference = new 
WeakReference<ClassLoader>(classLoader);
-    }
-
-    protected List<URL> getResources(final String name, final boolean 
firstOnly) throws IOException {
+    private List<URL> getResources(final String name, final boolean firstOnly) 
throws IOException {
         try {
             return AccessController.doPrivileged(new 
PrivilegedExceptionAction<List<URL>>() {
                 public List<URL> run() throws IOException {
                     if (firstOnly) {
-                        URL url = getContextClassLoader().getResource(name);
+                        URL url = classLoaderReference.get().getResource(name);
                         if (url != null) {
                             return Arrays.asList(url);
                         } else {
-                            if (useTCCL) {
-                                // Try thread context classloader
-                                ClassLoader tccl = 
Thread.currentThread().getContextClassLoader();
-                                if (tccl != getContextClassLoader()) {
-                                    url = tccl.getResource(name);
-                                }
-                                if (url != null) {
-                                    return Arrays.asList(url);
-                                }
-                            }
                             return Collections.emptyList();
                         }
                     } else {
-                        List<URL> urls = 
Collections.list(getContextClassLoader().getResources(name));
-                        if (!useTCCL) {
-                            return urls;
-                        }
-                        // Try thread context classloader
-                        ClassLoader tccl = 
Thread.currentThread().getContextClassLoader();
-                        if (tccl != getContextClassLoader()) {
-                            
urls.addAll(Collections.list(tccl.getResources(name)));
-                            // Remove duplicate entries
-                            Set<URL> urlSet = new HashSet<URL>(urls);
-                            return new ArrayList<URL>(urlSet);
-                        } else {
-                            return urls;
-                        }
+                        List<URL> urls = 
Collections.list(classLoaderReference.get().getResources(name));
+                        return urls;
                     }
                 }
             });
@@ -166,14 +134,6 @@
         }
     }
 
-    public ClassLoader getContextClassLoader() {
-        return classLoaderReference.get();
-    }
-
-    public <T> T getContext() {
-        return (T)getContextClassLoader();
-    }
-
     /**
      * Parse a service declaration in the form class;attr=value,attr=value and
      * return a map of attributes
@@ -181,7 +141,7 @@
      * @param declaration
      * @return a map of attributes
      */
-    protected static Map<String, String> parseServiceDeclaration(String 
declaration) {
+    private static Map<String, String> parseServiceDeclaration(String 
declaration) {
         Map<String, String> attributes = new HashMap<String, String>();
         int index = declaration.indexOf(';');
         if (index != -1) {

Modified: 
tuscany/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/extensibility/ServiceDiscoverer.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/extensibility/ServiceDiscoverer.java?rev=692989&r1=692988&r2=692989&view=diff
==============================================================================
--- 
tuscany/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/extensibility/ServiceDiscoverer.java
 (original)
+++ 
tuscany/java/sca/modules/extensibility/src/main/java/org/apache/tuscany/sca/extensibility/ServiceDiscoverer.java
 Sun Sep  7 20:16:34 2008
@@ -33,13 +33,5 @@
      * @return A set of service descriptors
      */
     Set<ServiceDeclaration> discover(String serviceName, boolean firstOnly);
-    
-    /**
-     * Get the context for the service discoverer
-     * @param <T> It can be a ClassLoader for JSE or BundleContext for OSGi
-     * @return The context
-     */
-    <T> T getContext();
-    
-    ClassLoader getContextClassLoader();
+
 }

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=692989&r1=692988&r2=692989&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
 Sun Sep  7 20:16:34 2008
@@ -53,20 +53,9 @@
         return INSTANCE;
     }
 
-    /**
-     * Get a classloader-based service discovery instance
-     * @param classLoader
-     * @return
-     */
-    public static ServiceDiscovery getInstance(ClassLoader classLoader) {
-        ServiceDiscovery discovery = new ServiceDiscovery();
-        discovery.setServiceDiscoverer(new 
ClasspathServiceDiscoverer(classLoader));
-        return discovery;
-    }
-    
-    public ServiceDiscoverer getServiceDiscoverer() {
+    private ServiceDiscoverer getServiceDiscoverer() {
         if (discoverer == null) {
-            discoverer = new ClasspathServiceDiscoverer();
+            discoverer = new ContextClassLoaderServiceDiscoverer();
         }
         return discoverer;
     }

Copied: 
tuscany/java/sca/modules/extensibility/src/test/java/org/apache/tuscany/sca/extensibility/ContextClassLoaderServiceDiscovererTestCase.java
 (from r692914, 
tuscany/java/sca/modules/extensibility/src/test/java/org/apache/tuscany/sca/extensibility/ClasspathServiceDiscovererTestCase.java)
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/extensibility/src/test/java/org/apache/tuscany/sca/extensibility/ContextClassLoaderServiceDiscovererTestCase.java?p2=tuscany/java/sca/modules/extensibility/src/test/java/org/apache/tuscany/sca/extensibility/ContextClassLoaderServiceDiscovererTestCase.java&p1=tuscany/java/sca/modules/extensibility/src/test/java/org/apache/tuscany/sca/extensibility/ClasspathServiceDiscovererTestCase.java&r1=692914&r2=692989&rev=692989&view=diff
==============================================================================
--- 
tuscany/java/sca/modules/extensibility/src/test/java/org/apache/tuscany/sca/extensibility/ClasspathServiceDiscovererTestCase.java
 (original)
+++ 
tuscany/java/sca/modules/extensibility/src/test/java/org/apache/tuscany/sca/extensibility/ContextClassLoaderServiceDiscovererTestCase.java
 Sun Sep  7 20:16:34 2008
@@ -30,15 +30,15 @@
 /**
  * Test Case for ClasspathServiceDiscover
  */
-public class ClasspathServiceDiscovererTestCase {
-    private static ClasspathServiceDiscoverer discover;
+public class ContextClassLoaderServiceDiscovererTestCase {
+    private static ContextClassLoaderServiceDiscoverer discover;
 
     /**
      * @throws java.lang.Exception
      */
     @BeforeClass
     public static void setUpBeforeClass() throws Exception {
-        discover = new 
ClasspathServiceDiscoverer(ClasspathServiceDiscoverer.class.getClassLoader());
+        discover = new ContextClassLoaderServiceDiscoverer();
     }
 
     @Test

Modified: 
tuscany/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/JarFileFinder.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/JarFileFinder.java?rev=692989&r1=692988&r2=692989&view=diff
==============================================================================
--- 
tuscany/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/JarFileFinder.java
 (original)
+++ 
tuscany/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/JarFileFinder.java
 Sun Sep  7 20:16:34 2008
@@ -277,10 +277,7 @@
      * 
      * @return
      */
-    public static List<URL> getClassPathEntries(ClassLoader classLoader, 
boolean recursive) {
-        if (classLoader == null) {
-            classLoader = Thread.currentThread().getContextClassLoader();
-        }
+    static List<URL> getClassPathEntries(ClassLoader classLoader, boolean 
recursive) {
         Set<URL> entries = new HashSet<URL>();
         list(entries, classLoader, recursive);
         return new ArrayList<URL>(entries);

Modified: 
tuscany/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/LibrariesBundleFileFactoryHook.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/LibrariesBundleFileFactoryHook.java?rev=692989&r1=692988&r2=692989&view=diff
==============================================================================
--- 
tuscany/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/LibrariesBundleFileFactoryHook.java
 (original)
+++ 
tuscany/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/LibrariesBundleFileFactoryHook.java
 Sun Sep  7 20:16:34 2008
@@ -64,6 +64,7 @@
             
             @Override
             public InputStream getInputStream() throws IOException {
+                System.out.println(new String(bytes));
                 return new ByteArrayInputStream(bytes);
             }
             

Modified: 
tuscany/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/NodeLauncherUtil.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/NodeLauncherUtil.java?rev=692989&r1=692988&r2=692989&view=diff
==============================================================================
--- 
tuscany/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/NodeLauncherUtil.java
 (original)
+++ 
tuscany/java/sca/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/NodeLauncherUtil.java
 Sun Sep  7 20:16:34 2008
@@ -19,6 +19,12 @@
 
 package org.apache.tuscany.sca.node.equinox.launcher;
 
+import static org.osgi.framework.Constants.BUNDLE_CLASSPATH;
+import static org.osgi.framework.Constants.BUNDLE_MANIFESTVERSION;
+import static org.osgi.framework.Constants.BUNDLE_SYMBOLICNAME;
+import static org.osgi.framework.Constants.DYNAMICIMPORT_PACKAGE;
+import static org.osgi.framework.Constants.EXPORT_PACKAGE;
+
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
@@ -260,10 +266,11 @@
             Manifest manifest = new Manifest();
             Attributes attributes = manifest.getMainAttributes();
             attributes.putValue("Manifest-Version", "1.0");
-            attributes.putValue(Constants.BUNDLE_MANIFESTVERSION, "2");
-            attributes.putValue(Constants.BUNDLE_SYMBOLICNAME, 
"org.apache.tuscany.sca.node.launcher.equinox.libraries");
-            attributes.putValue(Constants.EXPORT_PACKAGE, exports.substring(0, 
exports.length() -1));
-            attributes.putValue(Constants.BUNDLE_CLASSPATH, 
classpath.substring(0, classpath.length() -1));
+            attributes.putValue(BUNDLE_MANIFESTVERSION, "2");
+            attributes.putValue(BUNDLE_SYMBOLICNAME, 
"org.apache.tuscany.sca.node.launcher.equinox.libraries");
+            attributes.putValue(EXPORT_PACKAGE, exports.substring(0, 
exports.length() -1));
+            attributes.putValue(BUNDLE_CLASSPATH, classpath.substring(0, 
classpath.length() -1));
+            attributes.putValue(DYNAMICIMPORT_PACKAGE, "*");
             
             return manifest;
         } catch (IOException e) {

Modified: 
tuscany/java/sca/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/FelixOSGiHost.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/FelixOSGiHost.java?rev=692989&r1=692988&r2=692989&view=diff
==============================================================================
--- 
tuscany/java/sca/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/FelixOSGiHost.java
 (original)
+++ 
tuscany/java/sca/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/FelixOSGiHost.java
 Sun Sep  7 20:16:34 2008
@@ -41,7 +41,7 @@
 
     private Felix felix;
     private LauncherBundleActivator activator;
-    private ClassLoader tccl;
+    //private ClassLoader tccl;
 
     private final static String systemPackages =
         "org.osgi.framework; version=1.3.0," + "org.osgi.service.packageadmin; 
version=1.2.0, "
@@ -137,8 +137,8 @@
         // Now start Felix instance.
         felix.start();
 
-        tccl = Thread.currentThread().getContextClassLoader();
-        
Thread.currentThread().setContextClassLoader(getContextClassLoader(felix.getBundleContext()));
+        //tccl = Thread.currentThread().getContextClassLoader();
+        
//Thread.currentThread().setContextClassLoader(getContextClassLoader(felix.getBundleContext()));
 
     }
 
@@ -168,7 +168,7 @@
         if (felix != null) {
             felix.stopAndWait();
         }
-        Thread.currentThread().setContextClassLoader(tccl);
+        //Thread.currentThread().setContextClassLoader(tccl);
     }
 
 }


Reply via email to