Author: michiel
Date: 2010-02-18 14:33:21 +0100 (Thu, 18 Feb 2010)
New Revision: 41133

Modified:
   
mmbase/trunk/core/src/main/java/org/mmbase/storage/implementation/database/Attributes.java
   
mmbase/trunk/core/src/main/java/org/mmbase/storage/implementation/database/DatabaseStorageManagerFactory.java
Log:
Fix for MMB-1915 was not quite correct

Modified: 
mmbase/trunk/core/src/main/java/org/mmbase/storage/implementation/database/Attributes.java
===================================================================
--- 
mmbase/trunk/core/src/main/java/org/mmbase/storage/implementation/database/Attributes.java
  2010-02-18 13:33:00 UTC (rev 41132)
+++ 
mmbase/trunk/core/src/main/java/org/mmbase/storage/implementation/database/Attributes.java
  2010-02-18 13:33:21 UTC (rev 41133)
@@ -127,4 +127,11 @@
      */
     public static final String TRIM_STRINGS = "trim-strings";
 
+
+    /**
+     * Default is <code>true</true>
+     * @since MMBase-1.9.2
+     */
+    public static final String SUPPORTS_FOREIGN_KEYS = "support-foreign-keys";
+
 }

Modified: 
mmbase/trunk/core/src/main/java/org/mmbase/storage/implementation/database/DatabaseStorageManagerFactory.java
===================================================================
--- 
mmbase/trunk/core/src/main/java/org/mmbase/storage/implementation/database/DatabaseStorageManagerFactory.java
       2010-02-18 13:33:00 UTC (rev 41132)
+++ 
mmbase/trunk/core/src/main/java/org/mmbase/storage/implementation/database/DatabaseStorageManagerFactory.java
       2010-02-18 13:33:21 UTC (rev 41133)
@@ -516,12 +516,33 @@
     protected Throwable getTraceException() {
         Throwable ex = new Throwable();
         List<StackTraceElement> result = new ArrayList<StackTraceElement>();
+        StackTraceElement removedHolder = null;
         for (StackTraceElement el : ex.getStackTrace()) {
-            if (el.getClassName().startsWith("org.mmbase.") &&
-                (! 
el.getClassName().startsWith("org.mmbase.storage.implementation.database"))) {
+            String fn = el.getFileName();
+            if 
(el.getClassName().startsWith("org.mmbase.storage.implementation.database") && 
removedHolder == null) {
+                // ignore those are we
+            } else if (el.getClassName().startsWith("org.mmbase.") ||
+                       (fn.endsWith("_jsp.java") || fn.endsWith("_jspx.java") 
|| fn.endsWith("_tag.java") || fn.endsWith("_tagx.java"))
+                       ) {
+                if (removedHolder != null) {
+                    result.add(removedHolder);
+                }
                 result.add(el);
+                removedHolder = null;
+            } else {
+                if (removedHolder == null) {
+                    removedHolder = el;
+                } else {
+                    removedHolder = new 
StackTraceElement(removedHolder.getClassName() + "+",
+                                                          
removedHolder.getMethodName() + "," + el.getMethodName(),
+                                                          
removedHolder.getFileName() + ":" + removedHolder.getLineNumber() + "," + 
el.getFileName(),
+                                                          el.getLineNumber());
+                }
             }
         }
+        if (removedHolder != null) {
+            result.add(removedHolder);
+        }
 
         ex.setStackTrace(result.toArray(new StackTraceElement[result.size()]));
         return ex;

_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to