[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