Re: svn commit: r912645 - in /ofbiz/trunk/framework/widget/src/org/ofbiz/widget: form/ModelFormAction.java screen/ModelScreenAction.java

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
24 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Re: svn commit: r912645 - in /ofbiz/trunk/framework/widget/src/org/ofbiz/widget: form/ModelFormAction.java screen/ModelScreenAction.java

Erwan de FERRIERES
Le 22/02/2010 17:34, [hidden email] a écrit :

> Author: doogie
> Date: Mon Feb 22 16:34:47 2010
> New Revision: 912645
>
> URL: http://svn.apache.org/viewvc?rev=912645&view=rev
> Log:
> Make use of FSE.expand(), instead of expandString, to provide support
> for direct setting of values in widgets.  This closes OFBIZ-3486.
>
> Modified:
>      ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java
>      ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenAction.java
>
> Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java?rev=912645&r1=912644&r2=912645&view=diff
> ==============================================================================
> --- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java (original)
> +++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java Mon Feb 22 16:34:47 2010
> @@ -136,12 +136,12 @@
>                   newValue = this.fromField.get(context);
>                   if (Debug.verboseOn()) Debug.logVerbose("In screen getting value for field from [" + this.fromField.getOriginalName() + "]: " + newValue, module);
>               } else if (!this.valueExdr.isEmpty()) {
> -                newValue = this.valueExdr.expandString(context);
> +                newValue = this.valueExdr.expand(context);
>               }
>
>               // If newValue is still empty, use the default value
>               if (ObjectType.isEmpty(newValue)&&  !this.defaultExdr.isEmpty()) {
> -                newValue = this.defaultExdr.expandString(context);
> +                newValue = this.defaultExdr.expand(context);
>               }
>
>               if (UtilValidate.isNotEmpty(this.type)) {
>
> Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenAction.java
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenAction.java?rev=912645&r1=912644&r2=912645&view=diff
> ==============================================================================
> --- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenAction.java (original)
> +++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenAction.java Mon Feb 22 16:34:47 2010
> @@ -157,7 +157,7 @@
>                       newValue = getInMemoryPersistedFromField(session, context);
>                       if (Debug.verboseOn()) Debug.logVerbose("In user getting value for field from [" + this.fromField.getOriginalName() + "]: " + newValue, module);
>                   } else if (!this.valueExdr.isEmpty()) {
> -                    newValue = this.valueExdr.expandString(context);
> +                    newValue = this.valueExdr.expand(context);
>                   }
>               } else if (this.fromScope != null&&  this.fromScope.equals("application")) {
>                   if (!this.fromField.isEmpty()) {
> @@ -165,20 +165,20 @@
>                       newValue = getInMemoryPersistedFromField(servletContext, context);
>                       if (Debug.verboseOn()) Debug.logVerbose("In application getting value for field from [" + this.fromField.getOriginalName() + "]: " + newValue, module);
>                   } else if (!this.valueExdr.isEmpty()) {
> -                    newValue = this.valueExdr.expandString(context);
> +                    newValue = this.valueExdr.expand(context);
>                   }
>               } else {
>                   if (!this.fromField.isEmpty()) {
>                       newValue = this.fromField.get(context);
>                       if (Debug.verboseOn()) Debug.logVerbose("In screen getting value for field from [" + this.fromField.getOriginalName() + "]: " + newValue, module);
>                   } else if (!this.valueExdr.isEmpty()) {
> -                    newValue = this.valueExdr.expandString(context);
> +                    newValue = this.valueExdr.expand(context);
>                   }
>               }
>
>               // If newValue is still empty, use the default value
>               if (ObjectType.isEmpty(newValue)&&  !this.defaultExdr.isEmpty()) {
> -                newValue = this.defaultExdr.expandString(context);
> +                newValue = this.defaultExdr.expand(context);
>               }
>
>               if (UtilValidate.isNotEmpty(this.type)) {
>
>
>

Since this commit, it's impossible to connect to AP and AF applications !

--
Erwan de FERRIERES
www.nereide.biz
Reply | Threaded
Open this post in threaded view
|

Re: svn commit: r912645 - in /ofbiz/trunk/framework/widget/src/org/ofbiz/widget: form/ModelFormAction.java screen/ModelScreenAction.java

Adam Heath-2
Erwan de FERRIERES wrote:

> Le 22/02/2010 17:34, [hidden email] a écrit :
>> Author: doogie
>> Date: Mon Feb 22 16:34:47 2010
>> New Revision: 912645
>>
>> URL: http://svn.apache.org/viewvc?rev=912645&view=rev
>> Log:
>> Make use of FSE.expand(), instead of expandString, to provide support
>> for direct setting of values in widgets.  This closes OFBIZ-3486.
>>
>> Modified:
>>    
>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java
>>
>>    
>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenAction.java
>>
>>
>> Modified:
>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java
>>
>> URL:
>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java?rev=912645&r1=912644&r2=912645&view=diff
>>
>> ==============================================================================
>>
>> ---
>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java
>> (original)
>> +++
>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java
>> Mon Feb 22 16:34:47 2010
>> @@ -136,12 +136,12 @@
>>                   newValue = this.fromField.get(context);
>>                   if (Debug.verboseOn()) Debug.logVerbose("In screen
>> getting value for field from [" + this.fromField.getOriginalName() +
>> "]: " + newValue, module);
>>               } else if (!this.valueExdr.isEmpty()) {
>> -                newValue = this.valueExdr.expandString(context);
>> +                newValue = this.valueExdr.expand(context);
>>               }
>>
>>               // If newValue is still empty, use the default value
>>               if (ObjectType.isEmpty(newValue)&&
>> !this.defaultExdr.isEmpty()) {
>> -                newValue = this.defaultExdr.expandString(context);
>> +                newValue = this.defaultExdr.expand(context);
>>               }
>>
>>               if (UtilValidate.isNotEmpty(this.type)) {
>>
>> Modified:
>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenAction.java
>>
>> URL:
>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenAction.java?rev=912645&r1=912644&r2=912645&view=diff
>>
>> ==============================================================================
>>
>> ---
>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenAction.java
>> (original)
>> +++
>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenAction.java
>> Mon Feb 22 16:34:47 2010
>> @@ -157,7 +157,7 @@
>>                       newValue =
>> getInMemoryPersistedFromField(session, context);
>>                       if (Debug.verboseOn()) Debug.logVerbose("In user
>> getting value for field from [" + this.fromField.getOriginalName() +
>> "]: " + newValue, module);
>>                   } else if (!this.valueExdr.isEmpty()) {
>> -                    newValue = this.valueExdr.expandString(context);
>> +                    newValue = this.valueExdr.expand(context);
>>                   }
>>               } else if (this.fromScope != null&&
>> this.fromScope.equals("application")) {
>>                   if (!this.fromField.isEmpty()) {
>> @@ -165,20 +165,20 @@
>>                       newValue =
>> getInMemoryPersistedFromField(servletContext, context);
>>                       if (Debug.verboseOn()) Debug.logVerbose("In
>> application getting value for field from [" +
>> this.fromField.getOriginalName() + "]: " + newValue, module);
>>                   } else if (!this.valueExdr.isEmpty()) {
>> -                    newValue = this.valueExdr.expandString(context);
>> +                    newValue = this.valueExdr.expand(context);
>>                   }
>>               } else {
>>                   if (!this.fromField.isEmpty()) {
>>                       newValue = this.fromField.get(context);
>>                       if (Debug.verboseOn()) Debug.logVerbose("In
>> screen getting value for field from [" +
>> this.fromField.getOriginalName() + "]: " + newValue, module);
>>                   } else if (!this.valueExdr.isEmpty()) {
>> -                    newValue = this.valueExdr.expandString(context);
>> +                    newValue = this.valueExdr.expand(context);
>>                   }
>>               }
>>
>>               // If newValue is still empty, use the default value
>>               if (ObjectType.isEmpty(newValue)&&
>> !this.defaultExdr.isEmpty()) {
>> -                newValue = this.defaultExdr.expandString(context);
>> +                newValue = this.defaultExdr.expand(context);
>>               }
>>
>>               if (UtilValidate.isNotEmpty(this.type)) {
>>
>>
>>
>
> Since this commit, it's impossible to connect to AP and AF applications !

The test cases worked for this, which is bad since they didn't detect
a problem.

Please give me an *exact* series of steps to reproduce this.  I don't
know anything about those apps.

>

Reply | Threaded
Open this post in threaded view
|

Re: svn commit: r912645 - in /ofbiz/trunk/framework/widget/src/org/ofbiz/widget: form/ModelFormAction.java screen/ModelScreenAction.java

Erwan de FERRIERES
Le 23/02/2010 17:46, Adam Heath a écrit :

> Erwan de FERRIERES wrote:
>> Le 22/02/2010 17:34, [hidden email] a écrit :
>>> Author: doogie
>>> Date: Mon Feb 22 16:34:47 2010
>>> New Revision: 912645
>>>
>>> URL: http://svn.apache.org/viewvc?rev=912645&view=rev
>>> Log:
>>> Make use of FSE.expand(), instead of expandString, to provide support
>>> for direct setting of values in widgets.  This closes OFBIZ-3486.
>>>
>>> Modified:
>>>
>>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java
>>>
>>>
>>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenAction.java
>>>
>>>
>>> Modified:
>>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java
>>>
>>> URL:
>>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java?rev=912645&r1=912644&r2=912645&view=diff
>>>
>>> ==============================================================================
>>>
>>> ---
>>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java
>>> (original)
>>> +++
>>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java
>>> Mon Feb 22 16:34:47 2010
>>> @@ -136,12 +136,12 @@
>>>                    newValue = this.fromField.get(context);
>>>                    if (Debug.verboseOn()) Debug.logVerbose("In screen
>>> getting value for field from [" + this.fromField.getOriginalName() +
>>> "]: " + newValue, module);
>>>                } else if (!this.valueExdr.isEmpty()) {
>>> -                newValue = this.valueExdr.expandString(context);
>>> +                newValue = this.valueExdr.expand(context);
>>>                }
>>>
>>>                // If newValue is still empty, use the default value
>>>                if (ObjectType.isEmpty(newValue)&&
>>> !this.defaultExdr.isEmpty()) {
>>> -                newValue = this.defaultExdr.expandString(context);
>>> +                newValue = this.defaultExdr.expand(context);
>>>                }
>>>
>>>                if (UtilValidate.isNotEmpty(this.type)) {
>>>
>>> Modified:
>>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenAction.java
>>>
>>> URL:
>>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenAction.java?rev=912645&r1=912644&r2=912645&view=diff
>>>
>>> ==============================================================================
>>>
>>> ---
>>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenAction.java
>>> (original)
>>> +++
>>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenAction.java
>>> Mon Feb 22 16:34:47 2010
>>> @@ -157,7 +157,7 @@
>>>                        newValue =
>>> getInMemoryPersistedFromField(session, context);
>>>                        if (Debug.verboseOn()) Debug.logVerbose("In user
>>> getting value for field from [" + this.fromField.getOriginalName() +
>>> "]: " + newValue, module);
>>>                    } else if (!this.valueExdr.isEmpty()) {
>>> -                    newValue = this.valueExdr.expandString(context);
>>> +                    newValue = this.valueExdr.expand(context);
>>>                    }
>>>                } else if (this.fromScope != null&&
>>> this.fromScope.equals("application")) {
>>>                    if (!this.fromField.isEmpty()) {
>>> @@ -165,20 +165,20 @@
>>>                        newValue =
>>> getInMemoryPersistedFromField(servletContext, context);
>>>                        if (Debug.verboseOn()) Debug.logVerbose("In
>>> application getting value for field from [" +
>>> this.fromField.getOriginalName() + "]: " + newValue, module);
>>>                    } else if (!this.valueExdr.isEmpty()) {
>>> -                    newValue = this.valueExdr.expandString(context);
>>> +                    newValue = this.valueExdr.expand(context);
>>>                    }
>>>                } else {
>>>                    if (!this.fromField.isEmpty()) {
>>>                        newValue = this.fromField.get(context);
>>>                        if (Debug.verboseOn()) Debug.logVerbose("In
>>> screen getting value for field from [" +
>>> this.fromField.getOriginalName() + "]: " + newValue, module);
>>>                    } else if (!this.valueExdr.isEmpty()) {
>>> -                    newValue = this.valueExdr.expandString(context);
>>> +                    newValue = this.valueExdr.expand(context);
>>>                    }
>>>                }
>>>
>>>                // If newValue is still empty, use the default value
>>>                if (ObjectType.isEmpty(newValue)&&
>>> !this.defaultExdr.isEmpty()) {
>>> -                newValue = this.defaultExdr.expandString(context);
>>> +                newValue = this.defaultExdr.expand(context);
>>>                }
>>>
>>>                if (UtilValidate.isNotEmpty(this.type)) {
>>>
>>>
>>>
>>
>> Since this commit, it's impossible to connect to AP and AF applications !
>
> The test cases worked for this, which is bad since they didn't detect
> a problem.
>
> Please give me an *exact* series of steps to reproduce this.  I don't
> know anything about those apps.
>
Same for me ! I just tried to connect
>
Steps to reproduce :

update your OFBiz instance to any version after the 912645, compile and
just try to login to
https://localhost:8443/ap/control/main or
https://localhost:8443/ar/control/main

The page will not be displayed, and the only thing you will see is this
message
  ERROR rendering error page [/error/error.jsp], but here is the error
text: org.ofbiz.widget.screen.ScreenRenderException: Error rendering
screen [component://accounting/widget/ar/CommonScreens.xml#main]:
org.ofbiz.base.util.GeneralException: Error running Groovy script at
location
[component://accounting/webapp/accounting/WEB-INF/actions/invoice/InvoiceReport.groovy]
(The current transaction is marked for rollback, not beginning a new
transaction and aborting current operation; the rollbackOnly was caused
by: Service [getPartyAccountingPreferences] threw an unexpected
exception/errororg.ofbiz.service.ServiceValidationException: The
following required parameter is missing:
[getPartyAccountingPreferences.organizationPartyId] (The following
required parameter is missing:
[getPartyAccountingPreferences.organizationPartyId])) (Error running
Groovy script at location
[component://accounting/webapp/accounting/WEB-INF/actions/invoice/InvoiceReport.groovy]
(The current transaction is marked for rollback, not beginning a new
transaction and aborting current operation; the rollbackOnly was caused
by: Service [getPartyAccountingPreferences] threw an unexpected
exception/errororg.ofbiz.service.ServiceValidationException: The
following required parameter is missing:
[getPartyAccountingPreferences.organizationPartyId] (The following
required parameter is missing:
[getPartyAccountingPreferences.organizationPartyId])))



--
Erwan de FERRIERES
www.nereide.biz
Reply | Threaded
Open this post in threaded view
|

Re: svn commit: r912645 - in /ofbiz/trunk/framework/widget/src/org/ofbiz/widget: form/ModelFormAction.java screen/ModelScreenAction.java

Adam Heath-2
> update your OFBiz instance to any version after the 912645, compile and
> just try to login to
> https://localhost:8443/ap/control/main or
> https://localhost:8443/ar/control/main
>
> The page will not be displayed, and the only thing you will see is this
> message
>  ERROR rendering error page [/error/error.jsp], but here is the error
> text: org.ofbiz.widget.screen.ScreenRenderException: Error rendering
> screen [component://accounting/widget/ar/CommonScreens.xml#main]:
> org.ofbiz.base.util.GeneralException: Error running Groovy script at
> location
> [component://accounting/webapp/accounting/WEB-INF/actions/invoice/InvoiceReport.groovy]
> (The current transaction is marked for rollback, not beginning a new
> transaction and aborting current operation; the rollbackOnly was caused
> by: Service [getPartyAccountingPreferences] threw an unexpected
> exception/errororg.ofbiz.service.ServiceValidationException: The
> following required parameter is missing:
> [getPartyAccountingPreferences.organizationPartyId] (The following
> required parameter is missing:
> [getPartyAccountingPreferences.organizationPartyId])) (Error running
> Groovy script at location
> [component://accounting/webapp/accounting/WEB-INF/actions/invoice/InvoiceReport.groovy]
> (The current transaction is marked for rollback, not beginning a new
> transaction and aborting current operation; the rollbackOnly was caused
> by: Service [getPartyAccountingPreferences] threw an unexpected
> exception/errororg.ofbiz.service.ServiceValidationException: The
> following required parameter is missing:
> [getPartyAccountingPreferences.organizationPartyId] (The following
> required parameter is missing:
> [getPartyAccountingPreferences.organizationPartyId])))

Duplicated, checking...

Reply | Threaded
Open this post in threaded view
|

Re: svn commit: r912645 - in /ofbiz/trunk/framework/widget/src/org/ofbiz/widget: form/ModelFormAction.java screen/ModelScreenAction.java

Adrian Crum
On a related note...

The problem Adam tried to fix is one of the problems I have with how the
scripting language is used. Here are some examples:

<set field="someField" value="${someMap.someElement}"/>
<set field="someField" from-field="someMap.someElement"/>

Both of those set elements do the same thing. The first example is (in
my opinion) a hack - it should throw an exception. The value attribute
should contain a constant value - not an expression.

The specific problem Adam tried to fix was:

<set field="someField" value="${groovy:...}"/>

Again, I believe that use of the set element should throw an exception.
David suggested adding an attribute to the script element that would
accept scriptlets (or script fragments). My suggestion is to add a third
choice to the set element: expression. So, the set element would look
like this:

<set field="someField" expression="${groovy:...}"/>

To summarize, a field value can be assigned from a constant value, or
from an existing field, or from an expression. Attempts to hack an
attribute to make it behave like one of the others results in an exception.

That's my two cents.

-Adrian

Adam Heath wrote:

>> update your OFBiz instance to any version after the 912645, compile and
>> just try to login to
>> https://localhost:8443/ap/control/main or
>> https://localhost:8443/ar/control/main
>>
>> The page will not be displayed, and the only thing you will see is this
>> message
>>  ERROR rendering error page [/error/error.jsp], but here is the error
>> text: org.ofbiz.widget.screen.ScreenRenderException: Error rendering
>> screen [component://accounting/widget/ar/CommonScreens.xml#main]:
>> org.ofbiz.base.util.GeneralException: Error running Groovy script at
>> location
>> [component://accounting/webapp/accounting/WEB-INF/actions/invoice/InvoiceReport.groovy]
>> (The current transaction is marked for rollback, not beginning a new
>> transaction and aborting current operation; the rollbackOnly was caused
>> by: Service [getPartyAccountingPreferences] threw an unexpected
>> exception/errororg.ofbiz.service.ServiceValidationException: The
>> following required parameter is missing:
>> [getPartyAccountingPreferences.organizationPartyId] (The following
>> required parameter is missing:
>> [getPartyAccountingPreferences.organizationPartyId])) (Error running
>> Groovy script at location
>> [component://accounting/webapp/accounting/WEB-INF/actions/invoice/InvoiceReport.groovy]
>> (The current transaction is marked for rollback, not beginning a new
>> transaction and aborting current operation; the rollbackOnly was caused
>> by: Service [getPartyAccountingPreferences] threw an unexpected
>> exception/errororg.ofbiz.service.ServiceValidationException: The
>> following required parameter is missing:
>> [getPartyAccountingPreferences.organizationPartyId] (The following
>> required parameter is missing:
>> [getPartyAccountingPreferences.organizationPartyId])))
>
> Duplicated, checking...
>
>
Reply | Threaded
Open this post in threaded view
|

Re: svn commit: r912645 - in /ofbiz/trunk/framework/widget/src/org/ofbiz/widget: form/ModelFormAction.java screen/ModelScreenAction.java

Adam Heath-2
Adrian Crum wrote:

> On a related note...
>
> The problem Adam tried to fix is one of the problems I have with how the
> scripting language is used. Here are some examples:
>
> <set field="someField" value="${someMap.someElement}"/>
> <set field="someField" from-field="someMap.someElement"/>
>
> Both of those set elements do the same thing. The first example is (in
> my opinion) a hack - it should throw an exception. The value attribute
> should contain a constant value - not an expression.
>
> The specific problem Adam tried to fix was:
>
> <set field="someField" value="${groovy:...}"/>
>
> Again, I believe that use of the set element should throw an exception.
> David suggested adding an attribute to the script element that would
> accept scriptlets (or script fragments). My suggestion is to add a third
> choice to the set element: expression. So, the set element would look
> like this:
>
> <set field="someField" expression="${groovy:...}"/>
>
> To summarize, a field value can be assigned from a constant value, or
> from an existing field, or from an expression. Attempts to hack an
> attribute to make it behave like one of the others results in an exception.
>
> That's my two cents.

I'm still investigating this...
Reply | Threaded
Open this post in threaded view
|

Re: svn commit: r912645 - in /ofbiz/trunk/framework/widget/src/org/ofbiz/widget: form/ModelFormAction.java screen/ModelScreenAction.java

Adrian Crum
Adam Heath wrote:

> Adrian Crum wrote:
>> On a related note...
>>
>> The problem Adam tried to fix is one of the problems I have with how the
>> scripting language is used. Here are some examples:
>>
>> <set field="someField" value="${someMap.someElement}"/>
>> <set field="someField" from-field="someMap.someElement"/>
>>
>> Both of those set elements do the same thing. The first example is (in
>> my opinion) a hack - it should throw an exception. The value attribute
>> should contain a constant value - not an expression.
>>
>> The specific problem Adam tried to fix was:
>>
>> <set field="someField" value="${groovy:...}"/>
>>
>> Again, I believe that use of the set element should throw an exception.
>> David suggested adding an attribute to the script element that would
>> accept scriptlets (or script fragments). My suggestion is to add a third
>> choice to the set element: expression. So, the set element would look
>> like this:
>>
>> <set field="someField" expression="${groovy:...}"/>
>>
>> To summarize, a field value can be assigned from a constant value, or
>> from an existing field, or from an expression. Attempts to hack an
>> attribute to make it behave like one of the others results in an exception.
>>
>> That's my two cents.
>
> I'm still investigating this...

I know. I guess the point I'm trying to make is, you wouldn't have had
to make this change if mini-language was more strict.
Reply | Threaded
Open this post in threaded view
|

Re: svn commit: r912645 - in /ofbiz/trunk/framework/widget/src/org/ofbiz/widget: form/ModelFormAction.java screen/ModelScreenAction.java

David E. Jones-2
In reply to this post by Adrian Crum

Actually, my suggestion was not to add an attribute to the script element, but allow script text under the script element (surrounded by the funny CDATA thingy as needed to avoid having to escape characters all over the place).

As for the expression attribute... IMO it would be better to simplify things instead of making them more complex. In other words, it would be nice if the only different between the value and from-field attributes is that from-field is a single expression and value is a string with embeddable expressions.

It might even be nice to consider more scripting consistency in the project and use groovy for everything. I thought about this a while back after seeing that groovy supports ${} inside quoted strings, and if things were done this way then it would be simple:

from-field: evaluate the groovy expression/scriptlet and get the object it evaluates to
value: surround it with the groovy triple quotes ["""] and evaluate it, returning a string

I guess what it comes down to is that if we could treat from-field like an expression we wouldn't need the hacks in value and we wouldn't need a separate expression attribute with yet another set of rules for people to learn.

-David


On Feb 23, 2010, at 11:24 AM, Adrian Crum wrote:

> On a related note...
>
> The problem Adam tried to fix is one of the problems I have with how the scripting language is used. Here are some examples:
>
> <set field="someField" value="${someMap.someElement}"/>
> <set field="someField" from-field="someMap.someElement"/>
>
> Both of those set elements do the same thing. The first example is (in my opinion) a hack - it should throw an exception. The value attribute should contain a constant value - not an expression.
>
> The specific problem Adam tried to fix was:
>
> <set field="someField" value="${groovy:...}"/>
>
> Again, I believe that use of the set element should throw an exception. David suggested adding an attribute to the script element that would accept scriptlets (or script fragments). My suggestion is to add a third choice to the set element: expression. So, the set element would look like this:
>
> <set field="someField" expression="${groovy:...}"/>
>
> To summarize, a field value can be assigned from a constant value, or from an existing field, or from an expression. Attempts to hack an attribute to make it behave like one of the others results in an exception.
>
> That's my two cents.
>
> -Adrian
>
> Adam Heath wrote:
>>> update your OFBiz instance to any version after the 912645, compile and
>>> just try to login to
>>> https://localhost:8443/ap/control/main or
>>> https://localhost:8443/ar/control/main
>>>
>>> The page will not be displayed, and the only thing you will see is this
>>> message
>>> ERROR rendering error page [/error/error.jsp], but here is the error
>>> text: org.ofbiz.widget.screen.ScreenRenderException: Error rendering
>>> screen [component://accounting/widget/ar/CommonScreens.xml#main]:
>>> org.ofbiz.base.util.GeneralException: Error running Groovy script at
>>> location
>>> [component://accounting/webapp/accounting/WEB-INF/actions/invoice/InvoiceReport.groovy]
>>> (The current transaction is marked for rollback, not beginning a new
>>> transaction and aborting current operation; the rollbackOnly was caused
>>> by: Service [getPartyAccountingPreferences] threw an unexpected
>>> exception/errororg.ofbiz.service.ServiceValidationException: The
>>> following required parameter is missing:
>>> [getPartyAccountingPreferences.organizationPartyId] (The following
>>> required parameter is missing:
>>> [getPartyAccountingPreferences.organizationPartyId])) (Error running
>>> Groovy script at location
>>> [component://accounting/webapp/accounting/WEB-INF/actions/invoice/InvoiceReport.groovy]
>>> (The current transaction is marked for rollback, not beginning a new
>>> transaction and aborting current operation; the rollbackOnly was caused
>>> by: Service [getPartyAccountingPreferences] threw an unexpected
>>> exception/errororg.ofbiz.service.ServiceValidationException: The
>>> following required parameter is missing:
>>> [getPartyAccountingPreferences.organizationPartyId] (The following
>>> required parameter is missing:
>>> [getPartyAccountingPreferences.organizationPartyId])))
>> Duplicated, checking...

Reply | Threaded
Open this post in threaded view
|

Re: svn commit: r912645 - in /ofbiz/trunk/framework/widget/src/org/ofbiz/widget: form/ModelFormAction.java screen/ModelScreenAction.java

Adrian Crum
David E Jones wrote:
> I guess what it comes down to is that if we could treat from-field like an expression we wouldn't need the hacks in value and we wouldn't need a separate expression attribute with yet another set of rules for people to learn.

That would work too, and it would be a simple modification to make.
Reply | Threaded
Open this post in threaded view
|

Re: svn commit: r912645 - in /ofbiz/trunk/framework/widget/src/org/ofbiz/widget: form/ModelFormAction.java screen/ModelScreenAction.java

Adam Heath-2
In reply to this post by Erwan de FERRIERES
Erwan de FERRIERES wrote:

> Le 23/02/2010 17:46, Adam Heath a écrit :
>> Erwan de FERRIERES wrote:
>>> Le 22/02/2010 17:34, [hidden email] a écrit :
>>>> Author: doogie
>>>> Date: Mon Feb 22 16:34:47 2010
>>>> New Revision: 912645
>>>>
>>>> URL: http://svn.apache.org/viewvc?rev=912645&view=rev
>>>> Log:
>>>> Make use of FSE.expand(), instead of expandString, to provide support
>>>> for direct setting of values in widgets.  This closes OFBIZ-3486.
>>>>
>>>> Modified:
>>>>
>>>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java
>>>>
>>>>
>>>>
>>>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenAction.java
>>>>
>>>>
>>>>
>>>> Modified:
>>>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java
>>>>
>>>>
>>>> URL:
>>>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java?rev=912645&r1=912644&r2=912645&view=diff
>>>>
>>>>
>>>> ==============================================================================
>>>>
>>>>
>>>> ---
>>>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java
>>>>
>>>> (original)
>>>> +++
>>>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java
>>>>
>>>> Mon Feb 22 16:34:47 2010
>>>> @@ -136,12 +136,12 @@
>>>>                    newValue = this.fromField.get(context);
>>>>                    if (Debug.verboseOn()) Debug.logVerbose("In screen
>>>> getting value for field from [" + this.fromField.getOriginalName() +
>>>> "]: " + newValue, module);
>>>>                } else if (!this.valueExdr.isEmpty()) {
>>>> -                newValue = this.valueExdr.expandString(context);
>>>> +                newValue = this.valueExdr.expand(context);
>>>>                }
>>>>
>>>>                // If newValue is still empty, use the default value
>>>>                if (ObjectType.isEmpty(newValue)&&
>>>> !this.defaultExdr.isEmpty()) {
>>>> -                newValue = this.defaultExdr.expandString(context);
>>>> +                newValue = this.defaultExdr.expand(context);
>>>>                }
>>>>
>>>>                if (UtilValidate.isNotEmpty(this.type)) {
>>>>
>>>> Modified:
>>>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenAction.java
>>>>
>>>>
>>>> URL:
>>>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenAction.java?rev=912645&r1=912644&r2=912645&view=diff
>>>>
>>>>
>>>> ==============================================================================
>>>>
>>>>
>>>> ---
>>>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenAction.java
>>>>
>>>> (original)
>>>> +++
>>>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenAction.java
>>>>
>>>> Mon Feb 22 16:34:47 2010
>>>> @@ -157,7 +157,7 @@
>>>>                        newValue =
>>>> getInMemoryPersistedFromField(session, context);
>>>>                        if (Debug.verboseOn()) Debug.logVerbose("In user
>>>> getting value for field from [" + this.fromField.getOriginalName() +
>>>> "]: " + newValue, module);
>>>>                    } else if (!this.valueExdr.isEmpty()) {
>>>> -                    newValue = this.valueExdr.expandString(context);
>>>> +                    newValue = this.valueExdr.expand(context);
>>>>                    }
>>>>                } else if (this.fromScope != null&&
>>>> this.fromScope.equals("application")) {
>>>>                    if (!this.fromField.isEmpty()) {
>>>> @@ -165,20 +165,20 @@
>>>>                        newValue =
>>>> getInMemoryPersistedFromField(servletContext, context);
>>>>                        if (Debug.verboseOn()) Debug.logVerbose("In
>>>> application getting value for field from [" +
>>>> this.fromField.getOriginalName() + "]: " + newValue, module);
>>>>                    } else if (!this.valueExdr.isEmpty()) {
>>>> -                    newValue = this.valueExdr.expandString(context);
>>>> +                    newValue = this.valueExdr.expand(context);
>>>>                    }
>>>>                } else {
>>>>                    if (!this.fromField.isEmpty()) {
>>>>                        newValue = this.fromField.get(context);
>>>>                        if (Debug.verboseOn()) Debug.logVerbose("In
>>>> screen getting value for field from [" +
>>>> this.fromField.getOriginalName() + "]: " + newValue, module);
>>>>                    } else if (!this.valueExdr.isEmpty()) {
>>>> -                    newValue = this.valueExdr.expandString(context);
>>>> +                    newValue = this.valueExdr.expand(context);
>>>>                    }
>>>>                }
>>>>
>>>>                // If newValue is still empty, use the default value
>>>>                if (ObjectType.isEmpty(newValue)&&
>>>> !this.defaultExdr.isEmpty()) {
>>>> -                newValue = this.defaultExdr.expandString(context);
>>>> +                newValue = this.defaultExdr.expand(context);
>>>>                }
>>>>
>>>>                if (UtilValidate.isNotEmpty(this.type)) {
>>>>
>>>>
>>>>
>>>
>>> Since this commit, it's impossible to connect to AP and AF
>>> applications !
>>
>> The test cases worked for this, which is bad since they didn't detect
>> a problem.
>>
>> Please give me an *exact* series of steps to reproduce this.  I don't
>> know anything about those apps.
>>
> Same for me ! I just tried to connect
>>
> Steps to reproduce :
>
> update your OFBiz instance to any version after the 912645, compile and
> just try to login to
> https://localhost:8443/ap/control/main or
> https://localhost:8443/ar/control/main
>
> The page will not be displayed, and the only thing you will see is this
> message
>  ERROR rendering error page [/error/error.jsp], but here is the error
> text: org.ofbiz.widget.screen.ScreenRenderException: Error rendering
> screen [component://accounting/widget/ar/CommonScreens.xml#main]:
> org.ofbiz.base.util.GeneralException: Error running Groovy script at
> location
> [component://accounting/webapp/accounting/WEB-INF/actions/invoice/InvoiceReport.groovy]
> (The current transaction is marked for rollback, not beginning a new
> transaction and aborting current operation; the rollbackOnly was caused
> by: Service [getPartyAccountingPreferences] threw an unexpected
> exception/errororg.ofbiz.service.ServiceValidationException: The
> following required parameter is missing:
> [getPartyAccountingPreferences.organizationPartyId] (The following
> required parameter is missing:
> [getPartyAccountingPreferences.organizationPartyId])) (Error running
> Groovy script at location
> [component://accounting/webapp/accounting/WEB-INF/actions/invoice/InvoiceReport.groovy]
> (The current transaction is marked for rollback, not beginning a new
> transaction and aborting current operation; the rollbackOnly was caused
> by: Service [getPartyAccountingPreferences] threw an unexpected
> exception/errororg.ofbiz.service.ServiceValidationException: The
> following required parameter is missing:
> [getPartyAccountingPreferences.organizationPartyId] (The following
> required parameter is missing:
> [getPartyAccountingPreferences.organizationPartyId])))

I reverted this change in 915650, until I can look into it more.

Reply | Threaded
Open this post in threaded view
|

Re: svn commit: r912645 - in /ofbiz/trunk/framework/widget/src/org/ofbiz/widget: form/ModelFormAction.java screen/ModelScreenAction.java

Adrian Crum-2
In reply to this post by David E. Jones-2
--- On Tue, 2/23/10, David E Jones <[hidden email]> wrote:
> Actually, my suggestion was not to add an attribute to the
> script element, but allow script text under the script
> element (surrounded by the funny CDATA thingy as needed to
> avoid having to escape characters all over the place).

That could get really ugly in the screen widgets. They would start to look like JSPs.



     
Reply | Threaded
Open this post in threaded view
|

Re: svn commit: r912645 - in /ofbiz/trunk/framework/widget/src/org/ofbiz/widget: form/ModelFormAction.java screen/ModelScreenAction.java

David E. Jones-2

On Feb 23, 2010, at 11:15 PM, Adrian Crum wrote:

> --- On Tue, 2/23/10, David E Jones <[hidden email]> wrote:
>> Actually, my suggestion was not to add an attribute to the
>> script element, but allow script text under the script
>> element (surrounded by the funny CDATA thingy as needed to
>> avoid having to escape characters all over the place).
>
> That could get really ugly in the screen widgets. They would start to look like JSPs.

I agree, these things can get ugly. However, if people are going to use it or if it is needed then it has to exist somewhere... why force it into another file?

-David

Reply | Threaded
Open this post in threaded view
|

Re: svn commit: r912645 - in /ofbiz/trunk/framework/widget/src/org/ofbiz/widget: form/ModelFormAction.java screen/ModelScreenAction.java

Jacques Le Roux
Administrator
In reply to this post by Adam Heath-2
Hi devs,

I'm using these changes in a custom application based from the trunk at r917244 with almost no other modifications (custom theme and
locales.available in general.properrties and postgres in entityengine.xml) but a specific component in hot-deploy and I don't have
issues connecting to

https://localhost:8443/ap/control/main nor
https://localhost:8443/ar/control/main

And no issues using them forward. So I wonder now if this was actually not another issue which has been resolved since.

If nobody see a problem with that, I will commit these changes again. If you have the time to test it, please do.

Jacques

From: "Adam Heath" <[hidden email]>

> Erwan de FERRIERES wrote:
>> Le 23/02/2010 17:46, Adam Heath a écrit :
>>> Erwan de FERRIERES wrote:
>>>> Le 22/02/2010 17:34, [hidden email] a écrit :
>>>>> Author: doogie
>>>>> Date: Mon Feb 22 16:34:47 2010
>>>>> New Revision: 912645
>>>>>
>>>>> URL: http://svn.apache.org/viewvc?rev=912645&view=rev
>>>>> Log:
>>>>> Make use of FSE.expand(), instead of expandString, to provide support
>>>>> for direct setting of values in widgets.  This closes OFBIZ-3486.
>>>>>
>>>>> Modified:
>>>>>
>>>>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java
>>>>>
>>>>>
>>>>>
>>>>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenAction.java
>>>>>
>>>>>
>>>>>
>>>>> Modified:
>>>>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java
>>>>>
>>>>>
>>>>> URL:
>>>>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java?rev=912645&r1=912644&r2=912645&view=diff
>>>>>
>>>>>
>>>>> ==============================================================================
>>>>>
>>>>>
>>>>> ---
>>>>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java
>>>>>
>>>>> (original)
>>>>> +++
>>>>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java
>>>>>
>>>>> Mon Feb 22 16:34:47 2010
>>>>> @@ -136,12 +136,12 @@
>>>>>                    newValue = this.fromField.get(context);
>>>>>                    if (Debug.verboseOn()) Debug.logVerbose("In screen
>>>>> getting value for field from [" + this.fromField.getOriginalName() +
>>>>> "]: " + newValue, module);
>>>>>                } else if (!this.valueExdr.isEmpty()) {
>>>>> -                newValue = this.valueExdr.expandString(context);
>>>>> +                newValue = this.valueExdr.expand(context);
>>>>>                }
>>>>>
>>>>>                // If newValue is still empty, use the default value
>>>>>                if (ObjectType.isEmpty(newValue)&&
>>>>> !this.defaultExdr.isEmpty()) {
>>>>> -                newValue = this.defaultExdr.expandString(context);
>>>>> +                newValue = this.defaultExdr.expand(context);
>>>>>                }
>>>>>
>>>>>                if (UtilValidate.isNotEmpty(this.type)) {
>>>>>
>>>>> Modified:
>>>>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenAction.java
>>>>>
>>>>>
>>>>> URL:
>>>>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenAction.java?rev=912645&r1=912644&r2=912645&view=diff
>>>>>
>>>>>
>>>>> ==============================================================================
>>>>>
>>>>>
>>>>> ---
>>>>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenAction.java
>>>>>
>>>>> (original)
>>>>> +++
>>>>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenAction.java
>>>>>
>>>>> Mon Feb 22 16:34:47 2010
>>>>> @@ -157,7 +157,7 @@
>>>>>                        newValue =
>>>>> getInMemoryPersistedFromField(session, context);
>>>>>                        if (Debug.verboseOn()) Debug.logVerbose("In user
>>>>> getting value for field from [" + this.fromField.getOriginalName() +
>>>>> "]: " + newValue, module);
>>>>>                    } else if (!this.valueExdr.isEmpty()) {
>>>>> -                    newValue = this.valueExdr.expandString(context);
>>>>> +                    newValue = this.valueExdr.expand(context);
>>>>>                    }
>>>>>                } else if (this.fromScope != null&&
>>>>> this.fromScope.equals("application")) {
>>>>>                    if (!this.fromField.isEmpty()) {
>>>>> @@ -165,20 +165,20 @@
>>>>>                        newValue =
>>>>> getInMemoryPersistedFromField(servletContext, context);
>>>>>                        if (Debug.verboseOn()) Debug.logVerbose("In
>>>>> application getting value for field from [" +
>>>>> this.fromField.getOriginalName() + "]: " + newValue, module);
>>>>>                    } else if (!this.valueExdr.isEmpty()) {
>>>>> -                    newValue = this.valueExdr.expandString(context);
>>>>> +                    newValue = this.valueExdr.expand(context);
>>>>>                    }
>>>>>                } else {
>>>>>                    if (!this.fromField.isEmpty()) {
>>>>>                        newValue = this.fromField.get(context);
>>>>>                        if (Debug.verboseOn()) Debug.logVerbose("In
>>>>> screen getting value for field from [" +
>>>>> this.fromField.getOriginalName() + "]: " + newValue, module);
>>>>>                    } else if (!this.valueExdr.isEmpty()) {
>>>>> -                    newValue = this.valueExdr.expandString(context);
>>>>> +                    newValue = this.valueExdr.expand(context);
>>>>>                    }
>>>>>                }
>>>>>
>>>>>                // If newValue is still empty, use the default value
>>>>>                if (ObjectType.isEmpty(newValue)&&
>>>>> !this.defaultExdr.isEmpty()) {
>>>>> -                newValue = this.defaultExdr.expandString(context);
>>>>> +                newValue = this.defaultExdr.expand(context);
>>>>>                }
>>>>>
>>>>>                if (UtilValidate.isNotEmpty(this.type)) {
>>>>>
>>>>>
>>>>>
>>>>
>>>> Since this commit, it's impossible to connect to AP and AF
>>>> applications !
>>>
>>> The test cases worked for this, which is bad since they didn't detect
>>> a problem.
>>>
>>> Please give me an *exact* series of steps to reproduce this.  I don't
>>> know anything about those apps.
>>>
>> Same for me ! I just tried to connect
>>>
>> Steps to reproduce :
>>
>> update your OFBiz instance to any version after the 912645, compile and
>> just try to login to
>> https://localhost:8443/ap/control/main or
>> https://localhost:8443/ar/control/main
>>
>> The page will not be displayed, and the only thing you will see is this
>> message
>>  ERROR rendering error page [/error/error.jsp], but here is the error
>> text: org.ofbiz.widget.screen.ScreenRenderException: Error rendering
>> screen [component://accounting/widget/ar/CommonScreens.xml#main]:
>> org.ofbiz.base.util.GeneralException: Error running Groovy script at
>> location
>> [component://accounting/webapp/accounting/WEB-INF/actions/invoice/InvoiceReport.groovy]
>> (The current transaction is marked for rollback, not beginning a new
>> transaction and aborting current operation; the rollbackOnly was caused
>> by: Service [getPartyAccountingPreferences] threw an unexpected
>> exception/errororg.ofbiz.service.ServiceValidationException: The
>> following required parameter is missing:
>> [getPartyAccountingPreferences.organizationPartyId] (The following
>> required parameter is missing:
>> [getPartyAccountingPreferences.organizationPartyId])) (Error running
>> Groovy script at location
>> [component://accounting/webapp/accounting/WEB-INF/actions/invoice/InvoiceReport.groovy]
>> (The current transaction is marked for rollback, not beginning a new
>> transaction and aborting current operation; the rollbackOnly was caused
>> by: Service [getPartyAccountingPreferences] threw an unexpected
>> exception/errororg.ofbiz.service.ServiceValidationException: The
>> following required parameter is missing:
>> [getPartyAccountingPreferences.organizationPartyId] (The following
>> required parameter is missing:
>> [getPartyAccountingPreferences.organizationPartyId])))
>
> I reverted this change in 915650, until I can look into it more.
>


Reply | Threaded
Open this post in threaded view
|

Re: svn commit: r912645 - in /ofbiz/trunk/framework/widget/src/org/ofbiz/widget: form/ModelFormAction.java screen/ModelScreenAction.java

Jacques Le Roux
Administrator
Hi Erwan,

Did you get a chance to have a try before I commit?

Thanks

Jacques

From: "Jacques Le Roux" <[hidden email]>

> Hi devs,
>
> I'm using these changes in a custom application based from the trunk at r917244 with almost no other modifications (custom theme
> and
> locales.available in general.properrties and postgres in entityengine.xml) but a specific component in hot-deploy and I don't have
> issues connecting to
>
> https://localhost:8443/ap/control/main nor
> https://localhost:8443/ar/control/main
>
> And no issues using them forward. So I wonder now if this was actually not another issue which has been resolved since.
>
> If nobody see a problem with that, I will commit these changes again. If you have the time to test it, please do.
>
> Jacques
>
> From: "Adam Heath" <[hidden email]>
>> Erwan de FERRIERES wrote:
>>> Le 23/02/2010 17:46, Adam Heath a écrit :
>>>> Erwan de FERRIERES wrote:
>>>>> Le 22/02/2010 17:34, [hidden email] a écrit :
>>>>>> Author: doogie
>>>>>> Date: Mon Feb 22 16:34:47 2010
>>>>>> New Revision: 912645
>>>>>>
>>>>>> URL: http://svn.apache.org/viewvc?rev=912645&view=rev
>>>>>> Log:
>>>>>> Make use of FSE.expand(), instead of expandString, to provide support
>>>>>> for direct setting of values in widgets.  This closes OFBIZ-3486.
>>>>>>
>>>>>> Modified:
>>>>>>
>>>>>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java
>>>>>>
>>>>>>
>>>>>>
>>>>>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenAction.java
>>>>>>
>>>>>>
>>>>>>
>>>>>> Modified:
>>>>>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java
>>>>>>
>>>>>>
>>>>>> URL:
>>>>>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java?rev=912645&r1=912644&r2=912645&view=diff
>>>>>>
>>>>>>
>>>>>> ==============================================================================
>>>>>>
>>>>>>
>>>>>> ---
>>>>>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java
>>>>>>
>>>>>> (original)
>>>>>> +++
>>>>>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java
>>>>>>
>>>>>> Mon Feb 22 16:34:47 2010
>>>>>> @@ -136,12 +136,12 @@
>>>>>>                    newValue = this.fromField.get(context);
>>>>>>                    if (Debug.verboseOn()) Debug.logVerbose("In screen
>>>>>> getting value for field from [" + this.fromField.getOriginalName() +
>>>>>> "]: " + newValue, module);
>>>>>>                } else if (!this.valueExdr.isEmpty()) {
>>>>>> -                newValue = this.valueExdr.expandString(context);
>>>>>> +                newValue = this.valueExdr.expand(context);
>>>>>>                }
>>>>>>
>>>>>>                // If newValue is still empty, use the default value
>>>>>>                if (ObjectType.isEmpty(newValue)&&
>>>>>> !this.defaultExdr.isEmpty()) {
>>>>>> -                newValue = this.defaultExdr.expandString(context);
>>>>>> +                newValue = this.defaultExdr.expand(context);
>>>>>>                }
>>>>>>
>>>>>>                if (UtilValidate.isNotEmpty(this.type)) {
>>>>>>
>>>>>> Modified:
>>>>>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenAction.java
>>>>>>
>>>>>>
>>>>>> URL:
>>>>>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenAction.java?rev=912645&r1=912644&r2=912645&view=diff
>>>>>>
>>>>>>
>>>>>> ==============================================================================
>>>>>>
>>>>>>
>>>>>> ---
>>>>>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenAction.java
>>>>>>
>>>>>> (original)
>>>>>> +++
>>>>>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenAction.java
>>>>>>
>>>>>> Mon Feb 22 16:34:47 2010
>>>>>> @@ -157,7 +157,7 @@
>>>>>>                        newValue =
>>>>>> getInMemoryPersistedFromField(session, context);
>>>>>>                        if (Debug.verboseOn()) Debug.logVerbose("In user
>>>>>> getting value for field from [" + this.fromField.getOriginalName() +
>>>>>> "]: " + newValue, module);
>>>>>>                    } else if (!this.valueExdr.isEmpty()) {
>>>>>> -                    newValue = this.valueExdr.expandString(context);
>>>>>> +                    newValue = this.valueExdr.expand(context);
>>>>>>                    }
>>>>>>                } else if (this.fromScope != null&&
>>>>>> this.fromScope.equals("application")) {
>>>>>>                    if (!this.fromField.isEmpty()) {
>>>>>> @@ -165,20 +165,20 @@
>>>>>>                        newValue =
>>>>>> getInMemoryPersistedFromField(servletContext, context);
>>>>>>                        if (Debug.verboseOn()) Debug.logVerbose("In
>>>>>> application getting value for field from [" +
>>>>>> this.fromField.getOriginalName() + "]: " + newValue, module);
>>>>>>                    } else if (!this.valueExdr.isEmpty()) {
>>>>>> -                    newValue = this.valueExdr.expandString(context);
>>>>>> +                    newValue = this.valueExdr.expand(context);
>>>>>>                    }
>>>>>>                } else {
>>>>>>                    if (!this.fromField.isEmpty()) {
>>>>>>                        newValue = this.fromField.get(context);
>>>>>>                        if (Debug.verboseOn()) Debug.logVerbose("In
>>>>>> screen getting value for field from [" +
>>>>>> this.fromField.getOriginalName() + "]: " + newValue, module);
>>>>>>                    } else if (!this.valueExdr.isEmpty()) {
>>>>>> -                    newValue = this.valueExdr.expandString(context);
>>>>>> +                    newValue = this.valueExdr.expand(context);
>>>>>>                    }
>>>>>>                }
>>>>>>
>>>>>>                // If newValue is still empty, use the default value
>>>>>>                if (ObjectType.isEmpty(newValue)&&
>>>>>> !this.defaultExdr.isEmpty()) {
>>>>>> -                newValue = this.defaultExdr.expandString(context);
>>>>>> +                newValue = this.defaultExdr.expand(context);
>>>>>>                }
>>>>>>
>>>>>>                if (UtilValidate.isNotEmpty(this.type)) {
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>> Since this commit, it's impossible to connect to AP and AF
>>>>> applications !
>>>>
>>>> The test cases worked for this, which is bad since they didn't detect
>>>> a problem.
>>>>
>>>> Please give me an *exact* series of steps to reproduce this.  I don't
>>>> know anything about those apps.
>>>>
>>> Same for me ! I just tried to connect
>>>>
>>> Steps to reproduce :
>>>
>>> update your OFBiz instance to any version after the 912645, compile and
>>> just try to login to
>>> https://localhost:8443/ap/control/main or
>>> https://localhost:8443/ar/control/main
>>>
>>> The page will not be displayed, and the only thing you will see is this
>>> message
>>>  ERROR rendering error page [/error/error.jsp], but here is the error
>>> text: org.ofbiz.widget.screen.ScreenRenderException: Error rendering
>>> screen [component://accounting/widget/ar/CommonScreens.xml#main]:
>>> org.ofbiz.base.util.GeneralException: Error running Groovy script at
>>> location
>>> [component://accounting/webapp/accounting/WEB-INF/actions/invoice/InvoiceReport.groovy]
>>> (The current transaction is marked for rollback, not beginning a new
>>> transaction and aborting current operation; the rollbackOnly was caused
>>> by: Service [getPartyAccountingPreferences] threw an unexpected
>>> exception/errororg.ofbiz.service.ServiceValidationException: The
>>> following required parameter is missing:
>>> [getPartyAccountingPreferences.organizationPartyId] (The following
>>> required parameter is missing:
>>> [getPartyAccountingPreferences.organizationPartyId])) (Error running
>>> Groovy script at location
>>> [component://accounting/webapp/accounting/WEB-INF/actions/invoice/InvoiceReport.groovy]
>>> (The current transaction is marked for rollback, not beginning a new
>>> transaction and aborting current operation; the rollbackOnly was caused
>>> by: Service [getPartyAccountingPreferences] threw an unexpected
>>> exception/errororg.ofbiz.service.ServiceValidationException: The
>>> following required parameter is missing:
>>> [getPartyAccountingPreferences.organizationPartyId] (The following
>>> required parameter is missing:
>>> [getPartyAccountingPreferences.organizationPartyId])))
>>
>> I reverted this change in 915650, until I can look into it more.
>>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: svn commit: r912645 - in /ofbiz/trunk/framework/widget/src/org/ofbiz/widget: form/ModelFormAction.java screen/ModelScreenAction.java

Erwan de FERRIERES
Le 03/03/2010 13:36, Jacques Le Roux a écrit :
> Hi Erwan,
>
> Did you get a chance to have a try before I commit?
>
> Thanks
>
> Jacques
>
Hi Jacques,

just come back from trying r917244 and it's good.

BTW, I have added some selenium tests to the OFBIZ-3511 jira.
In those, there is one called NavigateAllApplications which connects and
disconnects the admin user from all the OFBiz apps.

http://issues.apache.org/jira/browse/OFBIZ-3511

So, please proceed !

--
Erwan de FERRIERES
www.nereide.biz
Reply | Threaded
Open this post in threaded view
|

Re: svn commit: r912645 - in /ofbiz/trunk/framework/widget/src/org/ofbiz/widget: form/ModelFormAction.java screen/ModelScreenAction.java

Jacques Le Roux
Administrator
Thanks Erwan,

Looks like we are really building something more robust...

Jacques

From: "Erwan de FERRIERES" <[hidden email]>

> Le 03/03/2010 13:36, Jacques Le Roux a écrit :
>> Hi Erwan,
>>
>> Did you get a chance to have a try before I commit?
>>
>> Thanks
>>
>> Jacques
>>
> Hi Jacques,
>
> just come back from trying r917244 and it's good.
>
> BTW, I have added some selenium tests to the OFBIZ-3511 jira.
> In those, there is one called NavigateAllApplications which connects and disconnects the admin user from all the OFBiz apps.
>
> http://issues.apache.org/jira/browse/OFBIZ-3511
>
> So, please proceed !
>
> --
> Erwan de FERRIERES
> www.nereide.biz
>


Reply | Threaded
Open this post in threaded view
|

Re: svn commit: r912645 - in /ofbiz/trunk/framework/widget/src/org/ofbiz/widget: form/ModelFormAction.java screen/ModelScreenAction.java

Jacques Le Roux
Administrator
In reply to this post by Jacques Le Roux
Done at revision: 918476

Jacques

From: "Jacques Le Roux" <[hidden email]>

> Hi devs,
>
> I'm using these changes in a custom application based from the trunk at r917244 with almost no other modifications (custom theme
> and
> locales.available in general.properrties and postgres in entityengine.xml) but a specific component in hot-deploy and I don't have
> issues connecting to
>
> https://localhost:8443/ap/control/main nor
> https://localhost:8443/ar/control/main
>
> And no issues using them forward. So I wonder now if this was actually not another issue which has been resolved since.
>
> If nobody see a problem with that, I will commit these changes again. If you have the time to test it, please do.
>
> Jacques
>
> From: "Adam Heath" <[hidden email]>
>> Erwan de FERRIERES wrote:
>>> Le 23/02/2010 17:46, Adam Heath a écrit :
>>>> Erwan de FERRIERES wrote:
>>>>> Le 22/02/2010 17:34, [hidden email] a écrit :
>>>>>> Author: doogie
>>>>>> Date: Mon Feb 22 16:34:47 2010
>>>>>> New Revision: 912645
>>>>>>
>>>>>> URL: http://svn.apache.org/viewvc?rev=912645&view=rev
>>>>>> Log:
>>>>>> Make use of FSE.expand(), instead of expandString, to provide support
>>>>>> for direct setting of values in widgets.  This closes OFBIZ-3486.
>>>>>>
>>>>>> Modified:
>>>>>>
>>>>>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java
>>>>>>
>>>>>>
>>>>>>
>>>>>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenAction.java
>>>>>>
>>>>>>
>>>>>>
>>>>>> Modified:
>>>>>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java
>>>>>>
>>>>>>
>>>>>> URL:
>>>>>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java?rev=912645&r1=912644&r2=912645&view=diff
>>>>>>
>>>>>>
>>>>>> ==============================================================================
>>>>>>
>>>>>>
>>>>>> ---
>>>>>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java
>>>>>>
>>>>>> (original)
>>>>>> +++
>>>>>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java
>>>>>>
>>>>>> Mon Feb 22 16:34:47 2010
>>>>>> @@ -136,12 +136,12 @@
>>>>>>                    newValue = this.fromField.get(context);
>>>>>>                    if (Debug.verboseOn()) Debug.logVerbose("In screen
>>>>>> getting value for field from [" + this.fromField.getOriginalName() +
>>>>>> "]: " + newValue, module);
>>>>>>                } else if (!this.valueExdr.isEmpty()) {
>>>>>> -                newValue = this.valueExdr.expandString(context);
>>>>>> +                newValue = this.valueExdr.expand(context);
>>>>>>                }
>>>>>>
>>>>>>                // If newValue is still empty, use the default value
>>>>>>                if (ObjectType.isEmpty(newValue)&&
>>>>>> !this.defaultExdr.isEmpty()) {
>>>>>> -                newValue = this.defaultExdr.expandString(context);
>>>>>> +                newValue = this.defaultExdr.expand(context);
>>>>>>                }
>>>>>>
>>>>>>                if (UtilValidate.isNotEmpty(this.type)) {
>>>>>>
>>>>>> Modified:
>>>>>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenAction.java
>>>>>>
>>>>>>
>>>>>> URL:
>>>>>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenAction.java?rev=912645&r1=912644&r2=912645&view=diff
>>>>>>
>>>>>>
>>>>>> ==============================================================================
>>>>>>
>>>>>>
>>>>>> ---
>>>>>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenAction.java
>>>>>>
>>>>>> (original)
>>>>>> +++
>>>>>> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenAction.java
>>>>>>
>>>>>> Mon Feb 22 16:34:47 2010
>>>>>> @@ -157,7 +157,7 @@
>>>>>>                        newValue =
>>>>>> getInMemoryPersistedFromField(session, context);
>>>>>>                        if (Debug.verboseOn()) Debug.logVerbose("In user
>>>>>> getting value for field from [" + this.fromField.getOriginalName() +
>>>>>> "]: " + newValue, module);
>>>>>>                    } else if (!this.valueExdr.isEmpty()) {
>>>>>> -                    newValue = this.valueExdr.expandString(context);
>>>>>> +                    newValue = this.valueExdr.expand(context);
>>>>>>                    }
>>>>>>                } else if (this.fromScope != null&&
>>>>>> this.fromScope.equals("application")) {
>>>>>>                    if (!this.fromField.isEmpty()) {
>>>>>> @@ -165,20 +165,20 @@
>>>>>>                        newValue =
>>>>>> getInMemoryPersistedFromField(servletContext, context);
>>>>>>                        if (Debug.verboseOn()) Debug.logVerbose("In
>>>>>> application getting value for field from [" +
>>>>>> this.fromField.getOriginalName() + "]: " + newValue, module);
>>>>>>                    } else if (!this.valueExdr.isEmpty()) {
>>>>>> -                    newValue = this.valueExdr.expandString(context);
>>>>>> +                    newValue = this.valueExdr.expand(context);
>>>>>>                    }
>>>>>>                } else {
>>>>>>                    if (!this.fromField.isEmpty()) {
>>>>>>                        newValue = this.fromField.get(context);
>>>>>>                        if (Debug.verboseOn()) Debug.logVerbose("In
>>>>>> screen getting value for field from [" +
>>>>>> this.fromField.getOriginalName() + "]: " + newValue, module);
>>>>>>                    } else if (!this.valueExdr.isEmpty()) {
>>>>>> -                    newValue = this.valueExdr.expandString(context);
>>>>>> +                    newValue = this.valueExdr.expand(context);
>>>>>>                    }
>>>>>>                }
>>>>>>
>>>>>>                // If newValue is still empty, use the default value
>>>>>>                if (ObjectType.isEmpty(newValue)&&
>>>>>> !this.defaultExdr.isEmpty()) {
>>>>>> -                newValue = this.defaultExdr.expandString(context);
>>>>>> +                newValue = this.defaultExdr.expand(context);
>>>>>>                }
>>>>>>
>>>>>>                if (UtilValidate.isNotEmpty(this.type)) {
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>> Since this commit, it's impossible to connect to AP and AF
>>>>> applications !
>>>>
>>>> The test cases worked for this, which is bad since they didn't detect
>>>> a problem.
>>>>
>>>> Please give me an *exact* series of steps to reproduce this.  I don't
>>>> know anything about those apps.
>>>>
>>> Same for me ! I just tried to connect
>>>>
>>> Steps to reproduce :
>>>
>>> update your OFBiz instance to any version after the 912645, compile and
>>> just try to login to
>>> https://localhost:8443/ap/control/main or
>>> https://localhost:8443/ar/control/main
>>>
>>> The page will not be displayed, and the only thing you will see is this
>>> message
>>>  ERROR rendering error page [/error/error.jsp], but here is the error
>>> text: org.ofbiz.widget.screen.ScreenRenderException: Error rendering
>>> screen [component://accounting/widget/ar/CommonScreens.xml#main]:
>>> org.ofbiz.base.util.GeneralException: Error running Groovy script at
>>> location
>>> [component://accounting/webapp/accounting/WEB-INF/actions/invoice/InvoiceReport.groovy]
>>> (The current transaction is marked for rollback, not beginning a new
>>> transaction and aborting current operation; the rollbackOnly was caused
>>> by: Service [getPartyAccountingPreferences] threw an unexpected
>>> exception/errororg.ofbiz.service.ServiceValidationException: The
>>> following required parameter is missing:
>>> [getPartyAccountingPreferences.organizationPartyId] (The following
>>> required parameter is missing:
>>> [getPartyAccountingPreferences.organizationPartyId])) (Error running
>>> Groovy script at location
>>> [component://accounting/webapp/accounting/WEB-INF/actions/invoice/InvoiceReport.groovy]
>>> (The current transaction is marked for rollback, not beginning a new
>>> transaction and aborting current operation; the rollbackOnly was caused
>>> by: Service [getPartyAccountingPreferences] threw an unexpected
>>> exception/errororg.ofbiz.service.ServiceValidationException: The
>>> following required parameter is missing:
>>> [getPartyAccountingPreferences.organizationPartyId] (The following
>>> required parameter is missing:
>>> [getPartyAccountingPreferences.organizationPartyId])))
>>
>> I reverted this change in 915650, until I can look into it more.
>>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: svn commit: r912645 - in /ofbiz/trunk/framework/widget/src/org/ofbiz/widget: form/ModelFormAction.java screen/ModelScreenAction.java

Adam Heath-2
In reply to this post by Jacques Le Roux
Jacques Le Roux wrote:

> Thanks Erwan,
>
> Looks like we are really building something more robust...
>
> Jacques
>
> From: "Erwan de FERRIERES" <[hidden email]>
>> Le 03/03/2010 13:36, Jacques Le Roux a écrit :
>>> Hi Erwan,
>>>
>>> Did you get a chance to have a try before I commit?
>>>
>>> Thanks
>>>
>>> Jacques
>>>
>> Hi Jacques,
>>
>> just come back from trying r917244 and it's good.
>>
>> BTW, I have added some selenium tests to the OFBIZ-3511 jira.
>> In those, there is one called NavigateAllApplications which connects
>> and disconnects the admin user from all the OFBiz apps.
>>
>> http://issues.apache.org/jira/browse/OFBIZ-3511

Sorry, but not good enough.  We developers need to be able to run such
tests when we change something, not wait until after we have committed it.

I've been thinking about the ap/ar issue, and using httpunit to test
it(this particular problem doesn't require actually running from a
browser).  I've just been too busy the last few days to implement
anything.

Reply | Threaded
Open this post in threaded view
|

Re: svn commit: r912645 - in /ofbiz/trunk/framework/widget/src/org/ofbiz/widget: form/ModelFormAction.java screen/ModelScreenAction.java

Jacques Le Roux
Administrator
From: "Adam Heath" <[hidden email]>

> Jacques Le Roux wrote:
>> Thanks Erwan,
>>
>> Looks like we are really building something more robust...
>>
>> Jacques
>>
>> From: "Erwan de FERRIERES" <[hidden email]>
>>> Le 03/03/2010 13:36, Jacques Le Roux a écrit :
>>>> Hi Erwan,
>>>>
>>>> Did you get a chance to have a try before I commit?
>>>>
>>>> Thanks
>>>>
>>>> Jacques
>>>>
>>> Hi Jacques,
>>>
>>> just come back from trying r917244 and it's good.
>>>
>>> BTW, I have added some selenium tests to the OFBIZ-3511 jira.
>>> In those, there is one called NavigateAllApplications which connects
>>> and disconnects the admin user from all the OFBiz apps.
>>>
>>> http://issues.apache.org/jira/browse/OFBIZ-3511
>
> Sorry, but not good enough.  We developers need to be able to run such
> tests when we change something, not wait until after we have committed it.
>
> I've been thinking about the ap/ar issue, and using httpunit to test
> it(this particular problem doesn't require actually running from a
> browser).  I've just been too busy the last few days to implement
> anything.

Next step..

Jacques


Reply | Threaded
Open this post in threaded view
|

Re: svn commit: r912645 - in /ofbiz/trunk/framework/widget/src/org/ofbiz/widget: form/ModelFormAction.java screen/ModelScreenAction.java

Scott Gray-2
In reply to this post by Adam Heath-2
On 3/03/2010, at 2:23 PM, Adam Heath wrote:

> Jacques Le Roux wrote:
>> Thanks Erwan,
>>
>> Looks like we are really building something more robust...
>>
>> Jacques
>>
>> From: "Erwan de FERRIERES" <[hidden email]>
>>> Le 03/03/2010 13:36, Jacques Le Roux a écrit :
>>>> Hi Erwan,
>>>>
>>>> Did you get a chance to have a try before I commit?
>>>>
>>>> Thanks
>>>>
>>>> Jacques
>>>>
>>> Hi Jacques,
>>>
>>> just come back from trying r917244 and it's good.
>>>
>>> BTW, I have added some selenium tests to the OFBIZ-3511 jira.
>>> In those, there is one called NavigateAllApplications which connects
>>> and disconnects the admin user from all the OFBiz apps.
>>>
>>> http://issues.apache.org/jira/browse/OFBIZ-3511
>
> Sorry, but not good enough.  We developers need to be able to run such
> tests when we change something, not wait until after we have committed it.
>
> I've been thinking about the ap/ar issue, and using httpunit to test
> it(this particular problem doesn't require actually running from a
> browser).  I've just been too busy the last few days to implement
> anything.
>
Discussion is king, at some point someone decided that selenium was the way to go and now that is what we have in the project.  If we want something else to go in, lets discuss it before we throw in any more tools.

Regards
Scott

smime.p7s (3K) Download Attachment
12