change on logging, try find error for stracktrace handling
authorAndreas Müller <a.mueller@bgbm.org>
Thu, 18 Jul 2013 13:10:18 +0000 (13:10 +0000)
committerAndreas Müller <a.mueller@bgbm.org>
Thu, 18 Jul 2013 13:10:18 +0000 (13:10 +0000)
cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/common/ImportHandlerBase.java
cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/common/ObservableBase.java

index 904b1cf513a680ec222682b34321d1a733015004..63f8ae09a3f90666a1706f4aac1bbb4c7d5fde0d 100644 (file)
@@ -332,7 +332,15 @@ public class ImportHandlerBase extends DefaultHandler2 {
                int lineNumber = stackTrace[stackDepth].getLineNumber();\r
                String methodName = stackTrace[stackDepth].getMethodName();\r
                String location = locator == null ? " - no locator - " : "l." + locator.getLineNumber() + "/c."+ locator.getColumnNumber();\r
-               IoProblemEvent event = IoProblemEvent.NewInstance(this.getClass(), message, \r
+               String className = stackTrace[stackDepth].getClassName();\r
+               Class<?> declaringClass;\r
+               try {\r
+                       declaringClass = Class.forName(className);\r
+               } catch (ClassNotFoundException e) {\r
+                       declaringClass = this.getClass();\r
+               }\r
+               \r
+               IoProblemEvent event = IoProblemEvent.NewInstance(declaringClass, message, \r
                                location, lineNumber, severity, methodName);\r
                return event;\r
        }\r
index 4884810e25205f71a73237de2b38200bb4ef0350..d00330092038f8f3155daee1a184a0be257fc927 100644 (file)
@@ -94,8 +94,15 @@ public class ObservableBase implements IIoObservable {
                StackTraceElement[] stackTrace = new Exception().getStackTrace();\r
                int lineNumber = stackTrace[stackDepth].getLineNumber();\r
                String methodName = stackTrace[stackDepth].getMethodName();\r
-\r
-               IoProblemEvent event = IoProblemEvent.NewInstance(this.getClass(), message, dataLocation, \r
+               String className = stackTrace[stackDepth].getClassName();\r
+               Class<?> declaringClass;\r
+               try {\r
+                       declaringClass = Class.forName(className);\r
+               } catch (ClassNotFoundException e) {\r
+                       declaringClass = this.getClass();\r
+               }\r
+               \r
+               IoProblemEvent event = IoProblemEvent.NewInstance(declaringClass, message, dataLocation, \r
                                lineNumber, severity, methodName);\r
                \r
                //for performance improvement one may read:\r