[jboss-cvs] JBossAS SVN: r86894 - in projects/jboss-cl/trunk/classloader/src/main/java/org/jboss/classloader/spi: translator and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Apr 7 02:43:31 EDT 2009
Author: alesj
Date: 2009-04-07 02:43:31 -0400 (Tue, 07 Apr 2009)
New Revision: 86894
Modified:
projects/jboss-cl/trunk/classloader/src/main/java/org/jboss/classloader/spi/ClassLoaderSystem.java
projects/jboss-cl/trunk/classloader/src/main/java/org/jboss/classloader/spi/translator/TranslatorUtils.java
Log:
Check for null translators.
Modified: projects/jboss-cl/trunk/classloader/src/main/java/org/jboss/classloader/spi/ClassLoaderSystem.java
===================================================================
--- projects/jboss-cl/trunk/classloader/src/main/java/org/jboss/classloader/spi/ClassLoaderSystem.java 2009-04-07 06:26:17 UTC (rev 86893)
+++ projects/jboss-cl/trunk/classloader/src/main/java/org/jboss/classloader/spi/ClassLoaderSystem.java 2009-04-07 06:43:31 UTC (rev 86894)
@@ -538,7 +538,11 @@
public void setTranslator(Translator translator)
{
log.debug(this + " set translator to " + translator);
- translators = Collections.singletonList(translator);
+
+ if (translator != null)
+ translators = Collections.singletonList(translator);
+ else
+ translators = null;
}
@Override
Modified: projects/jboss-cl/trunk/classloader/src/main/java/org/jboss/classloader/spi/translator/TranslatorUtils.java
===================================================================
--- projects/jboss-cl/trunk/classloader/src/main/java/org/jboss/classloader/spi/translator/TranslatorUtils.java 2009-04-07 06:26:17 UTC (rev 86893)
+++ projects/jboss-cl/trunk/classloader/src/main/java/org/jboss/classloader/spi/translator/TranslatorUtils.java 2009-04-07 06:43:31 UTC (rev 86894)
@@ -54,9 +54,20 @@
if (translators == null || translators.isEmpty())
return byteCode;
+ boolean trace = log.isTraceEnabled();
+
byte[] result = byteCode;
for (Translator translator : translators)
{
+ // sanity check
+ if (translator == null)
+ {
+ if (trace)
+ log.trace("Null translator, classLoader: " + classLoader + ", className: " + className);
+
+ continue;
+ }
+
result = translator.transform(classLoader, className, null, protectionDomain, result);
}
return result;
@@ -72,11 +83,22 @@
{
if (translators != null && translators.isEmpty() == false)
{
+ boolean trace = log.isTraceEnabled();
+
// go in reverse order
ListIterator<Translator> iter = translators.listIterator(translators.size() - 1);
while(iter.hasPrevious())
{
Translator translator = iter.previous();
+ // sanity check
+ if (translator == null)
+ {
+ if (trace)
+ log.trace("Null translator, classLoader: " + classLoader);
+
+ continue;
+ }
+
try
{
translator.unregisterClassLoader(classLoader);
More information about the jboss-cvs-commits
mailing list