Revbump Picard dependencies at Tim/Kathleen's request. Exclude anonymous

classes from PluginManager.


git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@5699 348d0f76-0448-11de-a6fe-93d51630548a
This commit is contained in:
hanna 2011-04-27 20:38:05 +00:00
parent d650efd40a
commit 6d5e45b5c6
10 changed files with 21 additions and 7 deletions

View File

@ -80,6 +80,16 @@ public class JVMUtils {
!Modifier.isInterface(clazz.getModifiers());
}
/**
* Is the specified class anonymous? The plugin manager (for one) generally requires that
* plugin classes be named so that they can easily be specified from the command line.
* @param clazz The class on which to perform the anonymous check.
* @return True if the class is anonymous; false otherwise.
*/
public static boolean isAnonymous(Class clazz) {
return clazz.isAnonymousClass();
}
/**
* Retrieve all fields available in this object, regardless of where they are declared or
* whether they're accessible.

View File

@ -133,6 +133,10 @@ public class PluginManager<PluginType> {
// Load all classes types filtering them by concrete.
Set<Class<? extends PluginType>> allTypes = reflections.getSubTypesOf(pluginType);
for( Class<? extends PluginType> type: allTypes ) {
// The plugin manager does not support anonymous classes; to be a plugin, a class must have a name.
if(JVMUtils.isAnonymous(type))
continue;
if( JVMUtils.isConcrete(type) )
plugins.add(type);
else

View File

@ -1,3 +1,3 @@
<ivy-module version="1.0">
<info organisation="edu.mit.broad" module="picard-private-parts" revision="1816" status="integration" publication="20110102175300" />
<info organisation="edu.mit.broad" module="picard-private-parts" revision="1859" status="integration" publication="20110427114200" />
</ivy-module>

View File

@ -1,3 +0,0 @@
<ivy-module version="1.0">
<info organisation="net.sf" module="picard" revision="1.42.773" status="release" />
</ivy-module>

View File

@ -0,0 +1,3 @@
<ivy-module version="1.0">
<info organisation="net.sf" module="picard" revision="1.44.794" status="release" />
</ivy-module>

View File

@ -1,3 +0,0 @@
<ivy-module version="1.0">
<info organisation="net.sf" module="sam" revision="1.42.773" status="release" />
</ivy-module>

View File

@ -0,0 +1,3 @@
<ivy-module version="1.0">
<info organisation="net.sf" module="sam" revision="1.44.794" status="release" />
</ivy-module>