+1

Jacques

From: "Adrian Crum" <adrian.c...@sandglass-software.com>
That looks fine to me. We can leave it that way until the problem is solved in 
Groovy.

-Adrian

On 4/13/2012 10:40 AM, Jacopo Cappellato wrote:
Leon, all,

until we find a good solution I can share the following patch/tweak for data 
preparation scripts (screen, forms etc...):

Index: framework/base/src/org/ofbiz/base/util/ScriptUtil.java
===================================================================
--- framework/base/src/org/ofbiz/base/util/ScriptUtil.java (revision 1325649)
+++ framework/base/src/org/ofbiz/base/util/ScriptUtil.java (working copy)
@@ -336,6 +336,9 @@
       */
      public static Object executeScript(String filePath, String functionName, 
Map<String, Object>  context, Object[] args) {
          try {
+            if (filePath.endsWith(".groovy")) {
+                return GroovyUtil.runScriptAtLocation(filePath, context);
+            }
              return executeScript(filePath, functionName, 
createScriptContext(context), args);
          } catch (Exception e) {
              String errMsg = "Error running script at location [" + filePath + "]: 
" + e.toString();


This will enable the ability to debug the code because it will execute groovy data preparation scripts using GroovyUtil rather than JSR223

Adrian, any idea on how we could improve this in a nicer way to address the 
issue?

Jacopo


On Apr 12, 2012, at 3:47 PM, Jacopo Cappellato wrote:

You can now use a debugger for Groovy services and events; for details see rev. 
 1325253.
This is not available for data preparation scripts (screens).

Jacopo

On Apr 12, 2012, at 10:11 AM, Jacopo Cappellato wrote:

Unfortunately yes, it is a very bad side effect of the switch to JSR 223.
This also affects the events and services implemented in Groovy but for them I am working at a workaround now (I should be able to commit a fix probably today). For data preparation scripts... I didn't look at them deeply so I don't have a solution, but it is something we will have to fix, otherwise I think we should switch back to a Groovy specific invoker.

Jacopo

On Apr 5, 2012, at 6:18 AM, Leon wrote:

In eclipse, it doesn't work if I set breakpoint in the groovy script which is
called internally via<script>  tag in screen widget. But if I call this
script via "GroovyUtil.runScriptAtLocation" directly, then the execution is
paused at that point as expected.

Is this the side effect of script refactoring? I remeber it worked very well
some days ago.

--
View this message in context: http://ofbiz.135035.n4.nabble.com/Unable-to-debug-groovy-script-called-by-screen-widget-tp4533949p4533949.html Sent from the OFBiz - User mailing list archive at Nabble.com.

Reply via email to