You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by ha...@apache.org on 2012/12/14 22:09:39 UTC

svn commit: r1422088 - in /ode/trunk: ./ jacob/src/main/java/org/apache/ode/jacob/ jacob/src/main/java/org/apache/ode/jacob/soup/ jacob/src/main/java/org/apache/ode/jacob/vpu/

Author: hadrian
Date: Fri Dec 14 21:09:35 2012
New Revision: 1422088

URL: http://svn.apache.org/viewvc?rev=1422088&view=rev
Log:
Remove jacob dependency on utils

Modified:
    ode/trunk/Rakefile
    ode/trunk/jacob/src/main/java/org/apache/ode/jacob/JacobRunnable.java
    ode/trunk/jacob/src/main/java/org/apache/ode/jacob/soup/Comm.java
    ode/trunk/jacob/src/main/java/org/apache/ode/jacob/soup/CommChannel.java
    ode/trunk/jacob/src/main/java/org/apache/ode/jacob/soup/Continuation.java
    ode/trunk/jacob/src/main/java/org/apache/ode/jacob/vpu/ChannelFactory.java
    ode/trunk/jacob/src/main/java/org/apache/ode/jacob/vpu/ExecutionQueueImpl.java
    ode/trunk/jacob/src/main/java/org/apache/ode/jacob/vpu/JacobMessages.java
    ode/trunk/jacob/src/main/java/org/apache/ode/jacob/vpu/JacobVPU.java

Modified: ode/trunk/Rakefile
URL: http://svn.apache.org/viewvc/ode/trunk/Rakefile?rev=1422088&r1=1422087&r2=1422088&view=diff
==============================================================================
--- ode/trunk/Rakefile (original)
+++ ode/trunk/Rakefile Fri Dec 14 21:09:35 2012
@@ -445,7 +445,7 @@ define "ode" do
 
   desc "ODE JAva Concurrent OBjects"
   define "jacob" do
-    compile.with projects("utils"), COMMONS.logging
+    compile.with COMMONS.logging
 
     package :jar
   end

Modified: ode/trunk/jacob/src/main/java/org/apache/ode/jacob/JacobRunnable.java
URL: http://svn.apache.org/viewvc/ode/trunk/jacob/src/main/java/org/apache/ode/jacob/JacobRunnable.java?rev=1422088&r1=1422087&r2=1422088&view=diff
==============================================================================
--- ode/trunk/jacob/src/main/java/org/apache/ode/jacob/JacobRunnable.java (original)
+++ ode/trunk/jacob/src/main/java/org/apache/ode/jacob/JacobRunnable.java Fri Dec 14 21:09:35 2012
@@ -23,7 +23,6 @@ import java.lang.reflect.Method;
 import java.util.Collections;
 import java.util.Set;
 
-import org.apache.ode.utils.CollectionUtils;
 
 /**
  * Base class for process abstractions. An abstraction is a parameterized
@@ -71,7 +70,7 @@ public abstract class JacobRunnable exte
 
     static {
         try {
-            Method m = JacobRunnable.class.getMethod("run", CollectionUtils.EMPTY_CLASS_ARRAY);
+            Method m = JacobRunnable.class.getMethod("run", new Class[]{});
             IMPLEMENTED_METHODS = Collections.singleton(m);
         } catch (NoSuchMethodException e) {
             throw new AssertionError(e);

Modified: ode/trunk/jacob/src/main/java/org/apache/ode/jacob/soup/Comm.java
URL: http://svn.apache.org/viewvc/ode/trunk/jacob/src/main/java/org/apache/ode/jacob/soup/Comm.java?rev=1422088&r1=1422087&r2=1422088&view=diff
==============================================================================
--- ode/trunk/jacob/src/main/java/org/apache/ode/jacob/soup/Comm.java (original)
+++ ode/trunk/jacob/src/main/java/org/apache/ode/jacob/soup/Comm.java Fri Dec 14 21:09:35 2012
@@ -18,7 +18,6 @@
  */
 package org.apache.ode.jacob.soup;
 
-import org.apache.ode.utils.ObjectPrinter;
 
 /**
  * DOCUMENTME.
@@ -30,7 +29,6 @@ import org.apache.ode.utils.ObjectPrinte
  */
 public abstract class Comm extends ExecutionQueueObject {
     private CommChannel _channel;
-
     private CommGroup _group;
 
     protected Comm() {
@@ -61,6 +59,11 @@ public abstract class Comm extends Execu
     }
 
     public String toString() {
-        return ObjectPrinter.toString(this, new Object[] { "chnl", _channel, "group", _group });
+    	// TODO: maybe find a better way to do a toString and replace ObjectPrinter
+        return new StringBuilder("{")
+            .append(this.getClass().getSimpleName())
+            .append(" chnl=").append(_channel)
+            .append(", group=").append(_group)
+            .append(" }").toString();
     }
 }

Modified: ode/trunk/jacob/src/main/java/org/apache/ode/jacob/soup/CommChannel.java
URL: http://svn.apache.org/viewvc/ode/trunk/jacob/src/main/java/org/apache/ode/jacob/soup/CommChannel.java?rev=1422088&r1=1422087&r2=1422088&view=diff
==============================================================================
--- ode/trunk/jacob/src/main/java/org/apache/ode/jacob/soup/CommChannel.java (original)
+++ ode/trunk/jacob/src/main/java/org/apache/ode/jacob/soup/CommChannel.java Fri Dec 14 21:09:35 2012
@@ -18,7 +18,6 @@
  */
 package org.apache.ode.jacob.soup;
 
-import org.apache.ode.utils.ObjectPrinter;
 
 /**
  * DOCUMENTME.
@@ -28,13 +27,13 @@ import org.apache.ode.utils.ObjectPrinte
 
 public class CommChannel extends ExecutionQueueObject {
 
-    private Class _type;
+    private Class<?> _type;
 
-    public CommChannel(Class type) {
+    public CommChannel(Class<?> type) {
         _type = type;
     }
 
-    public Class getType() {
+    public Class<?> getType() {
         return _type;
     }
 

Modified: ode/trunk/jacob/src/main/java/org/apache/ode/jacob/soup/Continuation.java
URL: http://svn.apache.org/viewvc/ode/trunk/jacob/src/main/java/org/apache/ode/jacob/soup/Continuation.java?rev=1422088&r1=1422087&r2=1422088&view=diff
==============================================================================
--- ode/trunk/jacob/src/main/java/org/apache/ode/jacob/soup/Continuation.java (original)
+++ ode/trunk/jacob/src/main/java/org/apache/ode/jacob/soup/Continuation.java Fri Dec 14 21:09:35 2012
@@ -19,7 +19,6 @@
 package org.apache.ode.jacob.soup;
 
 import org.apache.ode.jacob.JacobObject;
-import org.apache.ode.utils.ObjectPrinter;
 
 import java.lang.reflect.Method;
 
@@ -53,7 +52,12 @@ public class Continuation extends Execut
   }
 
   public String toString () {
-    return ObjectPrinter.toString(this, new Object[] { "closure", _closure, "method", _method.getName(), "args", _args});
+    return new StringBuilder("{")
+        .append(this.getClass().getSimpleName())
+        .append(" closure=").append(_closure)
+        .append(", method=").append(_method.getName())
+        .append(", args=").append(_args)
+        .append("}").toString();
   }
 
 }

Modified: ode/trunk/jacob/src/main/java/org/apache/ode/jacob/vpu/ChannelFactory.java
URL: http://svn.apache.org/viewvc/ode/trunk/jacob/src/main/java/org/apache/ode/jacob/vpu/ChannelFactory.java?rev=1422088&r1=1422087&r2=1422088&view=diff
==============================================================================
--- ode/trunk/jacob/src/main/java/org/apache/ode/jacob/vpu/ChannelFactory.java (original)
+++ ode/trunk/jacob/src/main/java/org/apache/ode/jacob/vpu/ChannelFactory.java Fri Dec 14 21:09:35 2012
@@ -24,7 +24,6 @@ import java.lang.reflect.Proxy;
 
 import org.apache.ode.jacob.Channel;
 import org.apache.ode.jacob.soup.CommChannel;
-import org.apache.ode.utils.CollectionUtils;
 
 public class ChannelFactory {
     private static final Method METHOD_OBJECT_EQUALS;
@@ -39,7 +38,7 @@ public class ChannelFactory {
         }
 
         try {
-            METHOD_CHANNEL_EXPORT = Channel.class.getMethod("export", CollectionUtils.EMPTY_CLASS_ARRAY);
+            METHOD_CHANNEL_EXPORT = Channel.class.getMethod("export", new Class[] {});
         } catch (Exception e) {
             throw new AssertionError("No export() method on Object!");
         }

Modified: ode/trunk/jacob/src/main/java/org/apache/ode/jacob/vpu/ExecutionQueueImpl.java
URL: http://svn.apache.org/viewvc/ode/trunk/jacob/src/main/java/org/apache/ode/jacob/vpu/ExecutionQueueImpl.java?rev=1422088&r1=1422087&r2=1422088&view=diff
==============================================================================
--- ode/trunk/jacob/src/main/java/org/apache/ode/jacob/vpu/ExecutionQueueImpl.java (original)
+++ ode/trunk/jacob/src/main/java/org/apache/ode/jacob/vpu/ExecutionQueueImpl.java Fri Dec 14 21:09:35 2012
@@ -33,8 +33,6 @@ import org.apache.ode.jacob.soup.Continu
 import org.apache.ode.jacob.soup.ExecutionQueue;
 import org.apache.ode.jacob.soup.ExecutionQueueObject;
 import org.apache.ode.jacob.soup.ReplacementMap;
-import org.apache.ode.utils.CollectionUtils;
-import org.apache.ode.utils.ObjectPrinter;
 
 import java.io.Externalizable;
 import java.io.IOException;
@@ -119,8 +117,10 @@ public class ExecutionQueueImpl implemen
     }
 
     public void add(CommChannel channel) {
-        if (__log.isTraceEnabled())
-            __log.trace(ObjectPrinter.stringifyMethodEnter("add", new Object[] { "channel", channel }));
+        if (__log.isTraceEnabled()) {
+            // TODO: __log.trace(ObjectPrinter.stringifyMethodEnter("add", new Object[] { "channel", channel }));
+            __log.trace(">> add (channel=" +  channel + ")");
+        }
 
         verifyNew(channel);
         ChannelFrame cframe = new ChannelFrame(channel.getType(), ++_objIdCounter, channel.getType().getName(), channel
@@ -130,9 +130,11 @@ public class ExecutionQueueImpl implemen
     }
 
     public void enqueueReaction(Continuation continuation) {
-        if (__log.isTraceEnabled())
-            __log.trace(ObjectPrinter.stringifyMethodEnter("enqueueReaction", new Object[] { "continuation",
-                    continuation }));
+        if (__log.isTraceEnabled()) {
+            // TODO: __log.trace(ObjectPrinter.stringifyMethodEnter("enqueueReaction", new Object[] { "continuation",
+            //        continuation }));
+            __log.trace(">> enqueueReaction (continuation=" +  continuation + ")");
+        }
 
         verifyNew(continuation);
         _reactions.add(continuation);
@@ -140,7 +142,8 @@ public class ExecutionQueueImpl implemen
 
     public Continuation dequeueReaction() {
         if (__log.isTraceEnabled()) {
-            __log.trace(ObjectPrinter.stringifyMethodEnter("dequeueReaction", CollectionUtils.EMPTY_OBJECT_ARRAY));
+            // TODO: __log.trace(ObjectPrinter.stringifyMethodEnter("dequeueReaction", new Class[]{}));
+            __log.trace(">> dequeueReaction ()");
         }
 
         Continuation continuation = null;
@@ -153,8 +156,10 @@ public class ExecutionQueueImpl implemen
     }
 
     public void add(CommGroup group) {
-        if (__log.isTraceEnabled())
-            __log.trace(ObjectPrinter.stringifyMethodEnter("add", new Object[] { "group", group }));
+        if (__log.isTraceEnabled()) {
+            // __log.trace(ObjectPrinter.stringifyMethodEnter("add", new Object[] { "group", group }));
+            __log.trace(">> add (group=" +  group + ")");
+        }
 
         verifyNew(group);
         CommGroupFrame commGroupFrame = new CommGroupFrame(group.isReplicated());
@@ -207,15 +212,19 @@ public class ExecutionQueueImpl implemen
 
     public int cycle() {
         if (__log.isTraceEnabled()) {
-            __log.trace(ObjectPrinter.stringifyMethodEnter("cycle", CollectionUtils.EMPTY_OBJECT_ARRAY));
+            // TODO: __log.trace(ObjectPrinter.stringifyMethodEnter("cycle", new Class[]{}));
+            __log.trace(">> cycle ()");
         }
 
         return ++_currentCycle;
     }
 
     public String createExport(CommChannel channel) {
-        if (__log.isTraceEnabled())
-            __log.trace(ObjectPrinter.stringifyMethodEnter("createExport", new Object[] { "channel", channel }));
+        if (__log.isTraceEnabled()) {
+            // TODO: __log.trace(ObjectPrinter.stringifyMethodEnter("createExport", new Object[] { "channel", channel }));
+            __log.trace(">> createExport (channel=" +  channel + ")");
+        }
+
         ChannelFrame cframe = findChannelFrame(channel.getId());
         cframe.refCount++;
         return channel.getId().toString();
@@ -223,7 +232,8 @@ public class ExecutionQueueImpl implemen
 
     public CommChannel consumeExport(String exportId) {
         if (__log.isTraceEnabled()) {
-            __log.trace(ObjectPrinter.stringifyMethodEnter("consumeExport", new Object[] { "exportId", exportId }));
+            // TODO: __log.trace(ObjectPrinter.stringifyMethodEnter("consumeExport", new Object[] { "exportId", exportId }));
+            __log.trace(">> consumeExport (exportId=" +  exportId + ")");
         }
 
         Integer id = Integer.valueOf(exportId);
@@ -241,7 +251,8 @@ public class ExecutionQueueImpl implemen
 
     public void flush() {
         if (__log.isTraceEnabled()) {
-            __log.trace(ObjectPrinter.stringifyMethodEnter("flush", CollectionUtils.EMPTY_OBJECT_ARRAY));
+            // TODO: __log.trace(ObjectPrinter.stringifyMethodEnter("flush", new Class[]{}));
+            __log.trace(">> flush ()");
         }
     }
 
@@ -390,7 +401,8 @@ public class ExecutionQueueImpl implemen
 
     private void matchCommunications(CommChannel channel) {
         if (__log.isTraceEnabled()) {
-            __log.trace(ObjectPrinter.stringifyMethodEnter("matchCommunications", new Object[] { "channel", channel }));
+            // TODO: __log.trace(ObjectPrinter.stringifyMethodEnter("matchCommunications", new Object[] { "channel", channel }));
+            __log.trace(">> matchCommunications (channel=" +  channel + ")");
         }
         ChannelFrame cframe = _channels.get(channel.getId());
         while (cframe != null && !cframe.msgFrames.isEmpty() && !cframe.objFrames.isEmpty()) {
@@ -619,7 +631,7 @@ public class ExecutionQueueImpl implemen
         public MessageFrame(CommGroupFrame commFrame, ChannelFrame channelFrame, String method, Object[] args) {
             super(commFrame, channelFrame);
             this.method = method;
-            this.args = args == null ? CollectionUtils.EMPTY_CLASS_ARRAY : args;
+            this.args = args == null ? new Class[]{} : args;
         }
 
         public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {

Modified: ode/trunk/jacob/src/main/java/org/apache/ode/jacob/vpu/JacobMessages.java
URL: http://svn.apache.org/viewvc/ode/trunk/jacob/src/main/java/org/apache/ode/jacob/vpu/JacobMessages.java?rev=1422088&r1=1422087&r2=1422088&view=diff
==============================================================================
--- ode/trunk/jacob/src/main/java/org/apache/ode/jacob/vpu/JacobMessages.java (original)
+++ ode/trunk/jacob/src/main/java/org/apache/ode/jacob/vpu/JacobMessages.java Fri Dec 14 21:09:35 2012
@@ -19,14 +19,14 @@
 
 package org.apache.ode.jacob.vpu;
 
-import org.apache.ode.utils.msg.MessageBundle;
 
 /**
  * Messages for the Jacob VPU.
  *
  * @author Maciej Szefler <a href="mailto:mbs@fivesight.com">mbs</a>
  */
-public class JacobMessages extends MessageBundle {
+// TODO: fix i18n, although it may not be neede for jacob! 
+public class JacobMessages { // extends MessageBundle {
 
   /**
    * Error indicating that client-code (i.e. not the VPU kernel) threw an
@@ -39,15 +39,17 @@ public class JacobMessages extends Messa
    *
    * Method "{0}" in class "{1}" threw an unexpected exception.
    */
+  /*
   public String msgClientMethodException(String methodName, String className) {
     return this.format("Method \"{0}\" in class \"{1}\" threw an unexpected exception.",
         methodName, className);
   }
 
-  // TODO
+	// TODO
   public String msgContDeHydrationErr(String channel, String name) {
     throw new UnsupportedOperationException();
   }
+  */
 
   /**
    * Error indicating that a re-hydration of a saved _continuation object could
@@ -59,9 +61,11 @@ public class JacobMessages extends Messa
    *          name of de-hydrated {@link org.apache.ode.jacob.ChannelListener} object
    *
    */
+  /*
   public String msgContHydrationErr(String channel, String mlClassName) {
     throw new UnsupportedOperationException();
   }
+  */
 
   /**
    * Internal error indicating that a required client method was not accessible
@@ -70,9 +74,10 @@ public class JacobMessages extends Messa
    *
    * Method "{0}" in class "{1}" is not accessible.
    */
+  /*
   public String msgMethodNotAccessible(String methodName, String className) {
     return this.format("Method \"{0}\" in class \"{1}\" is not accessible.", methodName,
         className);
   }
-
+  */
 }

Modified: ode/trunk/jacob/src/main/java/org/apache/ode/jacob/vpu/JacobVPU.java
URL: http://svn.apache.org/viewvc/ode/trunk/jacob/src/main/java/org/apache/ode/jacob/vpu/JacobVPU.java?rev=1422088&r1=1422087&r2=1422088&view=diff
==============================================================================
--- ode/trunk/jacob/src/main/java/org/apache/ode/jacob/vpu/JacobVPU.java (original)
+++ ode/trunk/jacob/src/main/java/org/apache/ode/jacob/vpu/JacobVPU.java Fri Dec 14 21:09:35 2012
@@ -22,9 +22,6 @@ import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.ode.jacob.*;
 import org.apache.ode.jacob.soup.*;
-import org.apache.ode.utils.CollectionUtils;
-import org.apache.ode.utils.ObjectPrinter;
-import org.apache.ode.utils.msg.MessageBundle;
 
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
@@ -43,7 +40,8 @@ public final class JacobVPU {
     /**
      * Internationalization messages.
      */
-    private static final JacobMessages __msgs = MessageBundle.getMessages(JacobMessages.class);
+    // TODO: i8n messages
+    // private static final JacobMessages __msgs = MessageBundle.getMessages(JacobMessages.class);
 
     /**
      * Thread-local for associating a thread with a VPU. Needs to be stored in a stack to allow reentrance.
@@ -57,7 +55,7 @@ public final class JacobVPU {
      */
     static {
         try {
-            REDUCE_METHOD = JacobRunnable.class.getMethod("run", CollectionUtils.EMPTY_CLASS_ARRAY);
+            REDUCE_METHOD = JacobRunnable.class.getMethod("run", new Class[]{});
         } catch (Exception e) {
             throw new Error("Cannot resolve 'run' method", e);
         }
@@ -118,7 +116,9 @@ public final class JacobVPU {
      */
     public boolean execute() {
         if (__log.isTraceEnabled()) {
-            __log.trace(ObjectPrinter.stringifyMethodEnter("execute", CollectionUtils.EMPTY_OBJECT_ARRAY));
+        	// TODO: make this look nicer with slf4j
+            // __log.trace(ObjectPrinter.stringifyMethodEnter("execute", new Class[]{}));
+            __log.trace(">> execute ()");
         }
         if (_executionQueue == null) {
             throw new IllegalStateException("No state object for VPU!");
@@ -151,7 +151,8 @@ public final class JacobVPU {
 
     public void flush() {
         if (__log.isTraceEnabled()) {
-            __log.trace(ObjectPrinter.stringifyMethodEnter("flush", CollectionUtils.EMPTY_OBJECT_ARRAY));
+            // TODO: __log.trace(ObjectPrinter.stringifyMethodEnter("flush", new Class[]{}));
+            __log.trace(">> flush ()");
         }
         _executionQueue.flush();
     }
@@ -165,8 +166,9 @@ public final class JacobVPU {
      */
     public void setContext(ExecutionQueue executionQueue) {
         if (__log.isTraceEnabled()) {
-            __log.trace(ObjectPrinter.stringifyMethodEnter("setContext",
-                    new Object[] { "executionQueue", executionQueue }));
+            // TODO: __log.trace(ObjectPrinter.stringifyMethodEnter("setContext",
+            //        new Object[] { "executionQueue", executionQueue }));
+            __log.trace(">> setContext (executionQueue=" +  executionQueue + ")");
         }
         _executionQueue = executionQueue;
         _executionQueue.setClassLoader(_classLoader);
@@ -174,9 +176,9 @@ public final class JacobVPU {
 
     public void registerExtension(Class extensionClass, Object obj) {
         if (__log.isTraceEnabled()) {
-            __log.trace(ObjectPrinter
-                    .stringifyMethodEnter("registerExtension", new Object[] {
-                            "extensionClass", extensionClass, "obj", obj }));
+            // TODO: __log.trace(ObjectPrinter.stringifyMethodEnter(
+        	// "registerExtension", new Object[] {"extensionClass", extensionClass, "obj", obj }));
+            __log.trace(">> setContext (extensionClass=" +  extensionClass + ", obj=" + obj + ")");
         }
         _extensions.put(extensionClass, obj);
     }
@@ -186,8 +188,9 @@ public final class JacobVPU {
      */
     public void addReaction(JacobObject jo, Method method, Object[] args, String desc) {
         if (__log.isTraceEnabled()) {
-            __log.trace(ObjectPrinter.stringifyMethodEnter("addReaction",
-                    new Object[] { "jo", jo, "method", method, "args", args, "desc", desc }));
+            // TODO: __log.trace(ObjectPrinter.stringifyMethodEnter("addReaction",
+            //        new Object[] { "jo", jo, "method", method, "args", args, "desc", desc }));
+            __log.trace(">> addReaction (jo=" +  jo + ", method=" + method + ", args=" + args + ", desc=" + desc + ")");
         }
 
         Continuation continuation = new Continuation(jo, method, args);
@@ -214,7 +217,7 @@ public final class JacobVPU {
         if (__log.isDebugEnabled()) {
             __log.debug("injecting " + concretion);
         }
-        addReaction(concretion, REDUCE_METHOD, CollectionUtils.EMPTY_OBJECT_ARRAY,
+        addReaction(concretion, REDUCE_METHOD, new Class[]{},
                 (__log.isInfoEnabled() ? concretion.toString() : null));
     }
 
@@ -313,7 +316,7 @@ public final class JacobVPU {
                 desc = template.toString();
             }
             _statistics.numReductionsStruct++;
-            addReaction(template, REDUCE_METHOD, CollectionUtils.EMPTY_OBJECT_ARRAY, desc);
+            addReaction(template, REDUCE_METHOD, new Class[]{}, desc);
         }
 
         public Channel message(Channel channel, Method method, Object[] args) {
@@ -453,16 +456,18 @@ public final class JacobVPU {
                     synchChannel.ret();
                 }
             } catch (IllegalAccessException iae) {
-                String msg = __msgs.msgMethodNotAccessible(_method.getName(),
-                        _method.getDeclaringClass().getName());
+                // TODO: String msg = __msgs.msgMethodNotAccessible(_method.getName(),
+                //        _method.getDeclaringClass().getName());
+            	String msg = "MethodNotAccessible: " + _method.getName() + " in " + _method.getDeclaringClass().getName();
                 __log.error(msg, iae);
                 throw new RuntimeException(msg, iae);
             } catch (InvocationTargetException e) {
                 if (e.getTargetException() instanceof RuntimeException) {
                     throw (RuntimeException) e.getTargetException();
                 } else {
-                    String msg = __msgs.msgClientMethodException(_method.getName(),
-                            _methodBody.getClass().getName());
+                    // TODO: String msg = __msgs.msgClientMethodException(_method.getName(),
+                    //        _methodBody.getClass().getName());
+                	String msg = "ClientMethodException: " + _method.getName() + " in " + _methodBody.getClass().getName();
                     __log.error(msg, e.getTargetException());
                     throw new RuntimeException(e.getTargetException());
                 }