You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by si...@apache.org on 2011/02/19 19:34:59 UTC
svn commit: r1072408 -
/commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/internal/rulesbinder/RulesBinderImpl.java
Author: simonetripodi
Date: Sat Feb 19 18:34:58 2011
New Revision: 1072408
URL: http://svn.apache.org/viewvc?rev=1072408&view=rev
Log:
small documentation on how the FIleName:LineNumber resolution works
Modified:
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/internal/rulesbinder/RulesBinderImpl.java
Modified: commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/internal/rulesbinder/RulesBinderImpl.java
URL: http://svn.apache.org/viewvc/commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/internal/rulesbinder/RulesBinderImpl.java?rev=1072408&r1=1072407&r2=1072408&view=diff
==============================================================================
--- commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/internal/rulesbinder/RulesBinderImpl.java (original)
+++ commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/internal/rulesbinder/RulesBinderImpl.java Sat Feb 19 18:34:58 2011
@@ -67,20 +67,24 @@ public final class RulesBinderImpl imple
*/
public void addError(String messagePattern, Object... arguments) {
StackTraceElement[] stackTrace = new Exception().getStackTrace();
+ // let's check if it is an AbstractRulesModule extension first
StackTraceElement element = stackTrace[3];
Class<?> moduleClass = null;
try {
+ // check if the set ClassLoader resolves the Class in the StackTrace
moduleClass = Class.forName(element.getClassName(), false, this.classLoader);
} catch (ClassNotFoundException e) {
try {
+ // try otherwise with current ClassLoader
moduleClass = Class.forName(element.getClassName(), false, this.getClass().getClassLoader());
} catch (ClassNotFoundException e1) {
- // swallow, don't write the file name:line number
+ // Class in the StackTrace can't be found, don't write the file name:line number detail in the message
}
}
if (moduleClass != null) {
+ // if it is not an AbstractRulesModule, then a RulesModule implementation
if (!AbstractRulesModule.class.isAssignableFrom(moduleClass)) {
element = stackTrace[2];
}