[jboss-cvs] JBossAS SVN: r99803 - projects/jboss-cl/trunk/classloader/src/main/java/org/jboss/classloader/spi.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Jan 22 10:06:01 EST 2010


Author: thomas.diesler at jboss.com
Date: 2010-01-22 10:06:01 -0500 (Fri, 22 Jan 2010)
New Revision: 99803

Modified:
   projects/jboss-cl/trunk/classloader/src/main/java/org/jboss/classloader/spi/ClassLoaderPolicy.java
Log:
Use a list of native library providers.\nRemove NLP getter API

Modified: projects/jboss-cl/trunk/classloader/src/main/java/org/jboss/classloader/spi/ClassLoaderPolicy.java
===================================================================
--- projects/jboss-cl/trunk/classloader/src/main/java/org/jboss/classloader/spi/ClassLoaderPolicy.java	2010-01-22 15:03:23 UTC (rev 99802)
+++ projects/jboss-cl/trunk/classloader/src/main/java/org/jboss/classloader/spi/ClassLoaderPolicy.java	2010-01-22 15:06:01 UTC (rev 99803)
@@ -31,9 +31,7 @@
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
-import java.util.Map;
 import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.CopyOnWriteArrayList;
 
 import javax.management.MalformedObjectNameException;
@@ -68,19 +66,18 @@
    private List<ClassFoundHandler> classFoundHandlers;
 
    /** Maps native library to its provider */
-   private volatile Map<String, NativeLibraryProvider> libraryMap;
+   private volatile List<NativeLibraryProvider> nativeLibraries;
    
    /**
     * Add a native library provider.
-    * @param libname The library name 
     * @param provider The library file provider
     */
    public void addNativeLibrary(NativeLibraryProvider provider)
    {
-      if (libraryMap == null)
-         libraryMap = new ConcurrentHashMap<String, NativeLibraryProvider>();
+      if (nativeLibraries == null)
+         nativeLibraries = new CopyOnWriteArrayList<NativeLibraryProvider>();
       
-      libraryMap.put(provider.getLibraryName(), provider);
+      nativeLibraries.add(provider);
    }
    
    /**
@@ -91,11 +88,20 @@
     */
    public String findLibrary(String libname)
    {
-      Map<String, NativeLibraryProvider> map = libraryMap;
-      if (map == null)
+      List<NativeLibraryProvider> list = nativeLibraries;
+      if (list == null)
          return null;
       
-      NativeLibraryProvider libProvider = map.get(libname);
+      NativeLibraryProvider libProvider = null;
+      for (NativeLibraryProvider aux : list)
+      {
+         if (libname.equals(aux.getLibraryName()))
+         {
+            libProvider = aux;
+            break;
+         }
+      }
+      
       if (libProvider == null)
          return null;
       
@@ -453,44 +459,6 @@
    }
 
    /**
-    * Get the set of registered native library names.
-    * 
-    * @return Null if there are no native libraries registered.
-    */
-   Set<String> getNativeLibraryNames()
-   {
-      Map<String, NativeLibraryProvider> map = libraryMap;
-      if (map == null)
-         return Collections.emptySet();
-      
-      return Collections.unmodifiableSet(map.keySet()); 
-   }
-   
-   /**
-    * Get the native library provider for the given name.
-    * 
-    * @param libname The library name 
-    * @return Null if there is no library with that name.
-    */
-   NativeLibraryProvider getNativeLibrary(String libname)
-   {
-      Map<String, NativeLibraryProvider> map = libraryMap;
-      return (map != null ? map.get(libname) : null);
-   }
-   
-   /**
-    * Remove the native library provider for the given name.
-    * 
-    * @param libname The library name 
-    * @return Null if there is no library with that name.
-    */
-   NativeLibraryProvider removeNativeLibrary(String libname)
-   {
-      Map<String, NativeLibraryProvider> map = libraryMap;
-      return (map != null ? map.remove(libname) : null);
-   }
-   
-   /**
     * Get the system classloader
     * 
     * @return the classloader




More information about the jboss-cvs-commits mailing list