Why wouldn't we want this as a standard part of the framework? Also, it would be nice if the <log> operation included a line number in the log.
-Adrian --- On Tue, 6/30/09, Adam Heath <doo...@brainfood.com> wrote: > From: Adam Heath <doo...@brainfood.com> > Subject: Re: svn commit: r790027 - > /ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/SimpleMethod.java > To: dev@ofbiz.apache.org > Date: Tuesday, June 30, 2009, 8:13 PM > doo...@apache.org > wrote: > > Author: doogie > > Date: Wed Jul 1 02:54:01 2009 > > New Revision: 790027 > > > > URL: http://svn.apache.org/viewvc?rev=790027&view=rev > > Log: > > Set the line number on the wrapped operation > instance. > > > > Modified: > > > ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/SimpleMethod.java > > > > Modified: > ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/SimpleMethod.java > > URL: > > http://svn.apache.org/viewvc/ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/SimpleMethod.java?rev=790027&r1=790026&r2=790027&view=diff > > > ============================================================================== > > --- > ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/SimpleMethod.java > (original) > > +++ > ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/SimpleMethod.java > Wed Jul 1 02:54:01 2009 > > @@ -857,6 +857,10 @@ > > > if > (UtilProperties.propertyValueEquals("webslinger-invoker.properties", > "wrap-calls", "true")) { > > > Wrap<MethodOperation> wrap = new > Wrap<MethodOperation>().fileName(simpleMethod.getLocationAndName()).wrappedClass(methodOp.getClass()); > > > wrap.wrap(methodOperationExecMethod); > > + > Object startLine = > curOperElem.getUserData("startLine"); > > + > if (startLine != null) { > > + > > wrap.lineNumber(((Integer) startLine).intValue()); > > + > } > > > methodOp = wrap.newInstance(new > Class<?>[] {Element.class, SimpleMethod.class}, new > Object[] {curOperElem, simpleMethod}); > > > } > > > methodOperations.add(methodOp); > > If one edits > framework/base/config/webslinger-invoker.properties, > setting wrap-calls=true, then if one has an exception > thrown in a > SimpleMethod operation, then one will get an exception > stack trace as > below: > > org.ofbiz.entity.GenericDelegator.createOrStore(GenericDelegator.java:871) > org.ofbiz.minilang.method.entityops.CreateValue.exec(CreateValue.java:76) > _$gen.file_58$.usr.share.ofbiz.applications.content.script.org.ofbiz.content.website.WebSiteServices_46$xml_35$createWebSiteRole.exec(file:/usr/share/ofbiz/applications/content/script/org/ofbiz/content/website/WebSiteServices.xml#createWebSiteRole:133) > org.ofbiz.minilang.SimpleMethod.runSubOps(SimpleMethod.java:926) > org.ofbiz.minilang.SimpleMethod.exec(SimpleMethod.java:744) > > >