[jboss-cvs] JBossAS SVN: r100237 - in projects/jboss-osgi/projects/runtime/framework/trunk/src: main/java/org/jboss/osgi/framework/classloading and 4 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Feb 2 00:52:30 EST 2010


Author: thomas.diesler at jboss.com
Date: 2010-02-02 00:52:28 -0500 (Tue, 02 Feb 2010)
New Revision: 100237

Added:
   projects/jboss-osgi/projects/runtime/framework/trunk/src/main/java/org/jboss/osgi/framework/classloading/OSGiCoreClassFilter.java
Modified:
   projects/jboss-osgi/projects/runtime/framework/trunk/src/main/java/org/jboss/osgi/framework/bundle/OSGiSystemState.java
   projects/jboss-osgi/projects/runtime/framework/trunk/src/main/java/org/jboss/osgi/framework/classloading/OSGiClassLoaderDomain.java
   projects/jboss-osgi/projects/runtime/framework/trunk/src/main/java/org/jboss/osgi/framework/classloading/OSGiClassLoaderSystem.java
   projects/jboss-osgi/projects/runtime/framework/trunk/src/main/java/org/jboss/osgi/framework/plugins/internal/SystemPackagesPluginImpl.java
   projects/jboss-osgi/projects/runtime/framework/trunk/src/test/java/org/jboss/test/osgi/bundle/SystemBundleUnitTestCase.java
   projects/jboss-osgi/projects/runtime/framework/trunk/src/test/java/org/jboss/test/osgi/resolver/ResolverSmokeTest.java
   projects/jboss-osgi/projects/runtime/framework/trunk/src/test/java/org/jboss/test/osgi/smoke/OSGiSmokeTestCase.java
Log:
Add OSGiCoreClassFilter to remove redundancy 

Modified: projects/jboss-osgi/projects/runtime/framework/trunk/src/main/java/org/jboss/osgi/framework/bundle/OSGiSystemState.java
===================================================================
--- projects/jboss-osgi/projects/runtime/framework/trunk/src/main/java/org/jboss/osgi/framework/bundle/OSGiSystemState.java	2010-02-02 05:28:02 UTC (rev 100236)
+++ projects/jboss-osgi/projects/runtime/framework/trunk/src/main/java/org/jboss/osgi/framework/bundle/OSGiSystemState.java	2010-02-02 05:52:28 UTC (rev 100237)
@@ -87,7 +87,7 @@
    
    public Enumeration<URL> findEntries(String path, String filePattern, boolean recurse)
    {
-      log.warn("[JBOSGI-138] findEntries(" + path + "," + filePattern + "," + recurse + ")");
+      System.out.println("FIXME [JBOSGI-138] findEntries(" + path + "," + filePattern + "," + recurse + ")");
       return null;
 
       // [Bug-1472] Clarify the semantic of resource API when called on the system bundle
@@ -115,27 +115,27 @@
 
    public URL getEntry(String path)
    {
-      log.warn("[JBOSGI-138] getEntry(" + path + ")");
+      System.out.println("FIXME [JBOSGI-138] getEntry(" + path + ")");
       return null;
    }
 
    @SuppressWarnings("rawtypes")
    public Enumeration getEntryPaths(String path)
    {
-      log.warn("[JBOSGI-138] getEntryPaths(" + path + ")");
+      System.out.println("FIXME [JBOSGI-138] getEntryPaths(" + path + ")");
       return null;
    }
 
    public URL getResource(String name)
    {
-      log.warn("[JBOSGI-138] getResource(" + name + ")");
+      System.out.println("FIXME [JBOSGI-138] getResource(" + name + ")");
       return null;
    }
 
    @SuppressWarnings("rawtypes")
    public Enumeration getResources(String name) throws IOException
    {
-      log.warn("[JBOSGI-138] getResources(" + name + ")");
+      System.out.println("FIXME [JBOSGI-138] getResources(" + name + ")");
       return null;
    }
 

Modified: projects/jboss-osgi/projects/runtime/framework/trunk/src/main/java/org/jboss/osgi/framework/classloading/OSGiClassLoaderDomain.java
===================================================================
--- projects/jboss-osgi/projects/runtime/framework/trunk/src/main/java/org/jboss/osgi/framework/classloading/OSGiClassLoaderDomain.java	2010-02-02 05:28:02 UTC (rev 100236)
+++ projects/jboss-osgi/projects/runtime/framework/trunk/src/main/java/org/jboss/osgi/framework/classloading/OSGiClassLoaderDomain.java	2010-02-02 05:52:28 UTC (rev 100237)
@@ -57,29 +57,6 @@
    private List<URL> classPath = new ArrayList<URL>();
 
    /**
-    * Return a filter for all packages defined in the org.osgi.core.jar
-    * and java.* but not javax.* 
-    */
-   static ClassFilter getClassLoaderDomainFilter()
-   {
-      // Filter the list of org.osgi.core packages
-      ArrayList<String> corePackages = new ArrayList<String>();
-      corePackages.add("org.osgi.framework");
-      corePackages.add("org.osgi.framework.hooks");
-      corePackages.add("org.osgi.framework.hooks.service");
-      corePackages.add("org.osgi.framework.launch");
-      corePackages.add("org.osgi.service.condpermadmin");
-      corePackages.add("org.osgi.service.packageadmin");
-      corePackages.add("org.osgi.service.permissionadmin");
-      corePackages.add("org.osgi.service.startlevel");
-      corePackages.add("org.osgi.service.url");
-      ClassFilter osgiFilter = PackageClassFilter.createPackageClassFilter(corePackages);
-      // Filter java.* but not javax.*
-      ClassFilter javaFilter = RecursivePackageClassFilter.createRecursivePackageClassFilter("java");
-      return CombiningClassFilter.create(javaFilter, osgiFilter);
-   }
-   
-   /**
     * Create a new OSGiClassLoaderDomain.
     * @param domainName the domain name
     * @throws IllegalArgumentException for a null bundle manager
@@ -124,7 +101,8 @@
 
       // Initialize the configured system packages
       ClassFilter systemFilter = PackageClassFilter.createPackageClassFilterFromString(getSystemPackagesAsString());
-      ClassFilter filter = CombiningClassFilter.create(getClassLoaderDomainFilter(), systemFilter);
+      ClassFilter javaFilter = RecursivePackageClassFilter.createRecursivePackageClassFilter("java");
+      ClassFilter filter = CombiningClassFilter.create(javaFilter, OSGiCoreClassFilter.INSTANCE, systemFilter);
 
       // Setup the domain's parent policy
       setParentPolicy(new ParentPolicy(filter, ClassFilterUtils.NOTHING));

Modified: projects/jboss-osgi/projects/runtime/framework/trunk/src/main/java/org/jboss/osgi/framework/classloading/OSGiClassLoaderSystem.java
===================================================================
--- projects/jboss-osgi/projects/runtime/framework/trunk/src/main/java/org/jboss/osgi/framework/classloading/OSGiClassLoaderSystem.java	2010-02-02 05:28:02 UTC (rev 100236)
+++ projects/jboss-osgi/projects/runtime/framework/trunk/src/main/java/org/jboss/osgi/framework/classloading/OSGiClassLoaderSystem.java	2010-02-02 05:52:28 UTC (rev 100237)
@@ -22,6 +22,7 @@
 package org.jboss.osgi.framework.classloading;
 
 
+import org.jboss.classloader.plugins.filter.CombiningClassFilter;
 import org.jboss.classloader.plugins.jdk.AbstractJDKChecker;
 import org.jboss.classloader.spi.ClassLoaderDomain;
 import org.jboss.classloader.spi.ClassLoaderPolicy;
@@ -30,6 +31,7 @@
 import org.jboss.classloader.spi.base.BaseClassLoader;
 import org.jboss.classloader.spi.filter.ClassFilter;
 import org.jboss.classloader.spi.filter.ClassFilterUtils;
+import org.jboss.classloader.spi.filter.RecursivePackageClassFilter;
 import org.jboss.osgi.framework.bundle.AbstractBundleState;
 import org.jboss.osgi.framework.bundle.OSGiBundleState;
 
@@ -49,8 +51,9 @@
    {
       ClassLoaderDomain domain = getDefaultDomain();
 
-      ClassFilter domainFilter = OSGiClassLoaderDomain.getClassLoaderDomainFilter();
-      domain.setParentPolicy(new ParentPolicy(domainFilter, ClassFilterUtils.NOTHING));
+      ClassFilter javaFilter = RecursivePackageClassFilter.createRecursivePackageClassFilter("java");
+      ClassFilter filter = CombiningClassFilter.create(javaFilter, OSGiCoreClassFilter.INSTANCE);
+      domain.setParentPolicy(new ParentPolicy(filter, ClassFilterUtils.NOTHING));
 
       AbstractJDKChecker.getExcluded().add(AbstractBundleState.class);
       AbstractJDKChecker.getExcluded().add(OSGiBundleState.class);

Added: projects/jboss-osgi/projects/runtime/framework/trunk/src/main/java/org/jboss/osgi/framework/classloading/OSGiCoreClassFilter.java
===================================================================
--- projects/jboss-osgi/projects/runtime/framework/trunk/src/main/java/org/jboss/osgi/framework/classloading/OSGiCoreClassFilter.java	                        (rev 0)
+++ projects/jboss-osgi/projects/runtime/framework/trunk/src/main/java/org/jboss/osgi/framework/classloading/OSGiCoreClassFilter.java	2010-02-02 05:52:28 UTC (rev 100237)
@@ -0,0 +1,72 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2009, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file in the
+* distribution for a full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.osgi.framework.classloading;
+
+// $Id: $
+
+import org.jboss.classloader.spi.filter.PackageClassFilter;
+
+/**
+ * A class filter for OSGi Core packages.
+ * 
+ * @author Thomas.Diesler at jboss.com
+ * @since 02-Feb-2010
+ */
+public final class OSGiCoreClassFilter extends PackageClassFilter
+{
+   /** The serialVersionUID */
+   private static final long serialVersionUID = 5679852972501066041L;
+
+   /** The singleton instance */ 
+   public static OSGiCoreClassFilter INSTANCE = new OSGiCoreClassFilter();
+   
+   private OSGiCoreClassFilter()
+   {
+      super(getCorePackages());
+   }
+   
+   public static String[] getCorePackages()
+   {
+      return new String[] {
+         "org.osgi.framework",
+         "org.osgi.framework.hooks",
+         "org.osgi.framework.hooks.service",
+         "org.osgi.framework.launch",
+         "org.osgi.service.condpermadmin",
+         "org.osgi.service.packageadmin",
+         "org.osgi.service.permissionadmin",
+         "org.osgi.service.startlevel",
+         "org.osgi.service.url"
+      };
+   }
+
+   public String toString()
+   {
+      return "OSGI_CORE";
+   }
+
+   @Override
+   public void setIncludeJava(boolean includeJava)
+   {
+      throw new UnsupportedOperationException("Cannot modify OSGi Core Filter");
+   }
+}
\ No newline at end of file

Modified: projects/jboss-osgi/projects/runtime/framework/trunk/src/main/java/org/jboss/osgi/framework/plugins/internal/SystemPackagesPluginImpl.java
===================================================================
--- projects/jboss-osgi/projects/runtime/framework/trunk/src/main/java/org/jboss/osgi/framework/plugins/internal/SystemPackagesPluginImpl.java	2010-02-02 05:28:02 UTC (rev 100236)
+++ projects/jboss-osgi/projects/runtime/framework/trunk/src/main/java/org/jboss/osgi/framework/plugins/internal/SystemPackagesPluginImpl.java	2010-02-02 05:52:28 UTC (rev 100237)
@@ -24,11 +24,13 @@
 //$Id$
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
 
 import org.jboss.logging.Logger;
 import org.jboss.osgi.framework.bundle.OSGiBundleManager;
+import org.jboss.osgi.framework.classloading.OSGiCoreClassFilter;
 import org.jboss.osgi.framework.plugins.SystemPackagesPlugin;
 import org.osgi.framework.Constants;
 
@@ -92,6 +94,9 @@
 
          allPackages.add("org.jboss.virtual");
          
+         String[] corePackages = OSGiCoreClassFilter.getCorePackages();
+         allPackageNames.addAll(Arrays.asList(corePackages));
+         
          allPackages.add("org.w3c.dom");
          allPackages.add("org.w3c.dom.bootstrap");
          allPackages.add("org.w3c.dom.ls");

Modified: projects/jboss-osgi/projects/runtime/framework/trunk/src/test/java/org/jboss/test/osgi/bundle/SystemBundleUnitTestCase.java
===================================================================
--- projects/jboss-osgi/projects/runtime/framework/trunk/src/test/java/org/jboss/test/osgi/bundle/SystemBundleUnitTestCase.java	2010-02-02 05:28:02 UTC (rev 100236)
+++ projects/jboss-osgi/projects/runtime/framework/trunk/src/test/java/org/jboss/test/osgi/bundle/SystemBundleUnitTestCase.java	2010-02-02 05:52:28 UTC (rev 100237)
@@ -67,12 +67,12 @@
    
    public void testStartStop() throws Exception
    {
-      System.out.println("[JBOSGI-138] Proper system BundleContext implementation");
+      System.out.println("FIXME [JBOSGI-138] Proper system BundleContext implementation");
    }
    
    public void testUpdate() throws Exception
    {
-      System.out.println("[JBOSGI-138] Proper system BundleContext implementation");
+      System.out.println("FIXME [JBOSGI-138] Proper system BundleContext implementation");
    }
    
    public void testUninstall() throws Exception
@@ -108,31 +108,31 @@
    
    public void testGetEntry()
    {
-      System.out.println("[JBOSGI-138] Proper system BundleContext implementation");
+      System.out.println("FIXME [JBOSGI-138] Proper system BundleContext implementation");
    }
    
    public void testGetEntryPath()
    {
-      System.out.println("[JBOSGI-138] Proper system BundleContext implementation");
+      System.out.println("FIXME [JBOSGI-138] Proper system BundleContext implementation");
    }
    
    public void testFindEntries()
    {
-      System.out.println("[JBOSGI-138] Proper system BundleContext implementation");
+      System.out.println("FIXME [JBOSGI-138] Proper system BundleContext implementation");
    }
    
    public void testLoadClass()
    {
-      System.out.println("[JBOSGI-138] Proper system BundleContext implementation");
+      System.out.println("FIXME [JBOSGI-138] Proper system BundleContext implementation");
    }
    
    public void testGetResource()
    {
-      System.out.println("[JBOSGI-138] Proper system BundleContext implementation");
+      System.out.println("FIXME [JBOSGI-138] Proper system BundleContext implementation");
    }
    
    public void testGetResources()
    {
-      System.out.println("[JBOSGI-138] Proper system BundleContext implementation");
+      System.out.println("FIXME [JBOSGI-138] Proper system BundleContext implementation");
    }
 }

Modified: projects/jboss-osgi/projects/runtime/framework/trunk/src/test/java/org/jboss/test/osgi/resolver/ResolverSmokeTest.java
===================================================================
--- projects/jboss-osgi/projects/runtime/framework/trunk/src/test/java/org/jboss/test/osgi/resolver/ResolverSmokeTest.java	2010-02-02 05:28:02 UTC (rev 100236)
+++ projects/jboss-osgi/projects/runtime/framework/trunk/src/test/java/org/jboss/test/osgi/resolver/ResolverSmokeTest.java	2010-02-02 05:52:28 UTC (rev 100237)
@@ -99,7 +99,7 @@
          PackageAdminPlugin packageAdmin = bundleManager.getPlugin(PackageAdminPlugin.class);
          packageAdmin.resolveBundles(null);
          
-         System.out.println("[JBOSGI-151] Cannot resolve circular dependencies");
+         System.out.println("FIXME [JBOSGI-151] Cannot resolve circular dependencies");
          //assertTrue("All bundles resolved", allResoved);
       }
       finally

Modified: projects/jboss-osgi/projects/runtime/framework/trunk/src/test/java/org/jboss/test/osgi/smoke/OSGiSmokeTestCase.java
===================================================================
--- projects/jboss-osgi/projects/runtime/framework/trunk/src/test/java/org/jboss/test/osgi/smoke/OSGiSmokeTestCase.java	2010-02-02 05:28:02 UTC (rev 100236)
+++ projects/jboss-osgi/projects/runtime/framework/trunk/src/test/java/org/jboss/test/osgi/smoke/OSGiSmokeTestCase.java	2010-02-02 05:52:28 UTC (rev 100237)
@@ -56,13 +56,13 @@
 
    public void testNoManifest() throws Exception
    {
-      System.out.println("[JBOSGI-203] Define non OSGi bundle handling by the Framework");
+      System.out.println("FIXME [JBOSGI-203] Define non OSGi bundle handling by the Framework");
       // testBundle("smoke-no-manifest", Bundle.ACTIVE);
    }
 
    public void testNonOSGiManifest() throws Exception
    {
-      System.out.println("[JBOSGI-203] Define non OSGi bundle handling by the Framework");
+      System.out.println("FIXME [JBOSGI-203] Define non OSGi bundle handling by the Framework");
       // testBundle("smoke-non-osgi-manifest", Bundle.ACTIVE);
    }
 
@@ -90,13 +90,13 @@
 
    public void testDeployedNoManifest() throws Exception
    {
-      System.out.println("[JBOSGI-203] Define non OSGi bundle handling by the Framework");
+      System.out.println("FIXME [JBOSGI-203] Define non OSGi bundle handling by the Framework");
       // testDeployedBundle("smoke-no-manifest", Bundle.ACTIVE);
    }
 
    public void testDeployedNonOSGiManifest() throws Exception
    {
-      System.out.println("[JBOSGI-203] Define non OSGi bundle handling by the Framework");
+      System.out.println("FIXME [JBOSGI-203] Define non OSGi bundle handling by the Framework");
       // testDeployedBundle("smoke-non-osgi-manifest", Bundle.ACTIVE);
    }
 
@@ -128,7 +128,7 @@
 
    public void testAssembledNonOSGiDeployment() throws Exception
    {
-      System.out.println("[JBOSGI-203] Define non OSGi bundle handling by the Framework");
+      System.out.println("FIXME [JBOSGI-203] Define non OSGi bundle handling by the Framework");
       /*
       Bundle bundle = deployBundle("smoke-non-osgi-deployment", A.class);
       try




More information about the jboss-cvs-commits mailing list