]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.db.services/src/org/simantics/db/services/adaption/reflection/ReflectionAdapter2.java
ReflectionAdapter2 does not handle all Throwables
[simantics/platform.git] / bundles / org.simantics.db.services / src / org / simantics / db / services / adaption / reflection / ReflectionAdapter2.java
index 282dad9b221c1c1bd894877f0ef309580551e120..ae76dac4750530e2c783a2aba1474b795105fc56 100644 (file)
@@ -55,8 +55,8 @@ public class ReflectionAdapter2<T> implements Adapter<T, Resource> {
                 procedure.exception(g, e);\r
                 e.printStackTrace();\r
             } catch (InvocationTargetException e) {\r
-                procedure.exception(g, e);\r
-                e.printStackTrace();\r
+                procedure.exception(g, e.getCause());\r
+                e.getCause().printStackTrace();\r
             }\r
             \r
        } else if( parameters.length == 1 && parameters[0] instanceof ThisResource2) {\r
@@ -73,8 +73,8 @@ public class ReflectionAdapter2<T> implements Adapter<T, Resource> {
                 procedure.exception(g, e);\r
                 e.printStackTrace();\r
             } catch (InvocationTargetException e) {\r
-                procedure.exception(g, e);\r
-                e.printStackTrace();\r
+                procedure.exception(g, e.getCause());\r
+                e.getCause().printStackTrace();\r
             }\r
                \r
        } else {\r
@@ -99,11 +99,14 @@ public class ReflectionAdapter2<T> implements Adapter<T, Resource> {
                         procedure.exception(graph, e);\r
                                        e.printStackTrace();\r
                                } catch (InvocationTargetException e) {\r
-                        procedure.exception(graph, e);\r
-                                       e.printStackTrace();\r
+                        procedure.exception(graph, e.getCause());\r
+                                       e.getCause().printStackTrace();\r
                                } catch (DatabaseException e) {\r
                         procedure.exception(graph, e);\r
                                        e.printStackTrace();\r
+                               } catch (Throwable t) {\r
+                                   procedure.exception(graph, t);\r
+                                   t.printStackTrace();\r
                                }\r
                 }\r
                 \r