You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ofbiz.apache.org by Adrian Crum <ad...@sandglass-software.com> on 2014/09/26 09:02:21 UTC

Re: svn commit: r1627718 - /ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/test/MiniLangTests.java

The element is behaving as specified in the schema:

<xs:documentation>
                         The name of the result field to set. The target 
of the assignment.
                         Defaults to the value of the field attribute.

                         Optional. Attribute type: expression.
                     </xs:documentation>


Adrian Crum
Sandglass Software
www.sandglass-software.com

On 9/26/2014 7:56 AM, jacopoc@apache.org wrote:
> Author: jacopoc
> Date: Fri Sep 26 06:56:27 2014
> New Revision: 1627718
>
> URL: http://svn.apache.org/r1627718
> Log:
> JUnit test to prove that field-to-result doesn't work properly when result-name contains the a ${} field.
>
> Modified:
>      ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/test/MiniLangTests.java
>
> Modified: ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/test/MiniLangTests.java
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/test/MiniLangTests.java?rev=1627718&r1=1627717&r2=1627718&view=diff
> ==============================================================================
> --- ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/test/MiniLangTests.java (original)
> +++ ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/test/MiniLangTests.java Fri Sep 26 06:56:27 2014
> @@ -91,4 +91,18 @@ public class MiniLangTests extends OFBiz
>           assertTrue("<assert> error message text", errorMessage.startsWith("Assertion failed:"));
>       }
>
> +    public void testFieldToResultOperation() throws Exception {
> +        String simpleMethodXml = "<simple-method name=\"testFieldToResult\">" +
> +                                 "  <set field=\"resultValue\" value=\"someResultValue\"/>" +
> +                                 "  <set field=\"result1\" value=\"dynamicResultName\"/>" +
> +                                 "  <field-to-result field=\"resultValue\" result-name=\"constantResultName\"/>" +
> +                                 "  <field-to-result field=\"resultValue\" result-name=\"${result1}\"/>" +
> +                                 "</simple-method>";
> +        SimpleMethod methodToTest = createSimpleMethod(simpleMethodXml);
> +        MethodContext context = createServiceMethodContext();
> +        String result = methodToTest.exec(context);
> +        assertEquals("testFieldToResult success result", methodToTest.getDefaultSuccessCode(), result);
> +        assertEquals("Constant result name set", "someResultValue", context.getResult("constantResultName"));
> +        //assertEquals("Dynamic result name set", "someResultValue", context.getResult("dynamicResultName")); This one fails!
> +    }
>   }
>
>

Re: svn commit: r1627718 - /ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/test/MiniLangTests.java

Posted by Adrian Crum <ad...@sandglass-software.com>.
I don't have time to review the commit history right now. If the change 
was made during the refactoring, then I agree there is a regression.

Adrian Crum
Sandglass Software
www.sandglass-software.com

On 9/26/2014 8:31 AM, Jacopo Cappellato wrote:
> I may be wrong but... this syntax used to work before.
> In fact there is still code in OFBiz, older than the refactoring, that uses this syntax and was probably broken by the change.
> And in the other thread "Error when result-name contains a ${} expression" you confirmed that the code should actually work as below
>
>>> Jacopo Cappellato wrote:
>>> <set field="total" value="10" type="BigDecimal"/>
>>> <set field="result1" value="totalOrders"/>
>>> <field-to-result field="total" result-name="${result1}"/>
>>>
>>> I would expect that the above returns: expression == "totalOrders"
>>> Is it correct assumption?
>> Adrian Crum wrote:
>> Yes, that it the way it should work.
>
> Jacopo
>
>
>
> On Sep 26, 2014, at 9:24 AM, Adrian Crum <ad...@sandglass-software.com> wrote:
>
>> Yes, that is what I am saying. Please see the Attribute Types section in the grammar:
>>
>> https://cwiki.apache.org/confluence/display/OFBADMIN/Mini-language+%28minilang%29+Reference
>>
>> Adrian Crum
>> Sandglass Software
>> www.sandglass-software.com
>>
>> On 9/26/2014 8:21 AM, Jacopo Cappellato wrote:
>>> I am confused... are you saying that the syntax:
>>>
>>> <field-to-result field="val" result-name="${key}"/>
>>>
>>> is not supported?
>>>
>>> Jacopo
>>>
>>>
>>>
>>> On Sep 26, 2014, at 9:02 AM, Adrian Crum <ad...@sandglass-software.com> wrote:
>>>
>>>> The element is behaving as specified in the schema:
>>>>
>>>> <xs:documentation>
>>>>                         The name of the result field to set. The target of the assignment.
>>>>                         Defaults to the value of the field attribute.
>>>>
>>>>                         Optional. Attribute type: expression.
>>>>                     </xs:documentation>
>>>>
>>>>
>>>> Adrian Crum
>>>> Sandglass Software
>>>> www.sandglass-software.com
>>>>
>>>> On 9/26/2014 7:56 AM, jacopoc@apache.org wrote:
>>>>> Author: jacopoc
>>>>> Date: Fri Sep 26 06:56:27 2014
>>>>> New Revision: 1627718
>>>>>
>>>>> URL: http://svn.apache.org/r1627718
>>>>> Log:
>>>>> JUnit test to prove that field-to-result doesn't work properly when result-name contains the a ${} field.
>>>>>
>>>>> Modified:
>>>>>      ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/test/MiniLangTests.java
>>>>>
>>>>> Modified: ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/test/MiniLangTests.java
>>>>> URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/test/MiniLangTests.java?rev=1627718&r1=1627717&r2=1627718&view=diff
>>>>> ==============================================================================
>>>>> --- ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/test/MiniLangTests.java (original)
>>>>> +++ ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/test/MiniLangTests.java Fri Sep 26 06:56:27 2014
>>>>> @@ -91,4 +91,18 @@ public class MiniLangTests extends OFBiz
>>>>>           assertTrue("<assert> error message text", errorMessage.startsWith("Assertion failed:"));
>>>>>       }
>>>>>
>>>>> +    public void testFieldToResultOperation() throws Exception {
>>>>> +        String simpleMethodXml = "<simple-method name=\"testFieldToResult\">" +
>>>>> +                                 "  <set field=\"resultValue\" value=\"someResultValue\"/>" +
>>>>> +                                 "  <set field=\"result1\" value=\"dynamicResultName\"/>" +
>>>>> +                                 "  <field-to-result field=\"resultValue\" result-name=\"constantResultName\"/>" +
>>>>> +                                 "  <field-to-result field=\"resultValue\" result-name=\"${result1}\"/>" +
>>>>> +                                 "</simple-method>";
>>>>> +        SimpleMethod methodToTest = createSimpleMethod(simpleMethodXml);
>>>>> +        MethodContext context = createServiceMethodContext();
>>>>> +        String result = methodToTest.exec(context);
>>>>> +        assertEquals("testFieldToResult success result", methodToTest.getDefaultSuccessCode(), result);
>>>>> +        assertEquals("Constant result name set", "someResultValue", context.getResult("constantResultName"));
>>>>> +        //assertEquals("Dynamic result name set", "someResultValue", context.getResult("dynamicResultName")); This one fails!
>>>>> +    }
>>>>>   }
>>>>>
>>>>>
>>>
>

Re: svn commit: r1627718 - /ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/test/MiniLangTests.java

Posted by Jacopo Cappellato <ja...@hotwaxmedia.com>.
I may be wrong but... this syntax used to work before.
In fact there is still code in OFBiz, older than the refactoring, that uses this syntax and was probably broken by the change.
And in the other thread "Error when result-name contains a ${} expression" you confirmed that the code should actually work as below

>> Jacopo Cappellato wrote:
>> <set field="total" value="10" type="BigDecimal"/>
>> <set field="result1" value="totalOrders"/>
>> <field-to-result field="total" result-name="${result1}"/>
>> 
>> I would expect that the above returns: expression == "totalOrders"
>> Is it correct assumption?
> Adrian Crum wrote:
> Yes, that it the way it should work.

Jacopo



On Sep 26, 2014, at 9:24 AM, Adrian Crum <ad...@sandglass-software.com> wrote:

> Yes, that is what I am saying. Please see the Attribute Types section in the grammar:
> 
> https://cwiki.apache.org/confluence/display/OFBADMIN/Mini-language+%28minilang%29+Reference
> 
> Adrian Crum
> Sandglass Software
> www.sandglass-software.com
> 
> On 9/26/2014 8:21 AM, Jacopo Cappellato wrote:
>> I am confused... are you saying that the syntax:
>> 
>> <field-to-result field="val" result-name="${key}"/>
>> 
>> is not supported?
>> 
>> Jacopo
>> 
>> 
>> 
>> On Sep 26, 2014, at 9:02 AM, Adrian Crum <ad...@sandglass-software.com> wrote:
>> 
>>> The element is behaving as specified in the schema:
>>> 
>>> <xs:documentation>
>>>                        The name of the result field to set. The target of the assignment.
>>>                        Defaults to the value of the field attribute.
>>> 
>>>                        Optional. Attribute type: expression.
>>>                    </xs:documentation>
>>> 
>>> 
>>> Adrian Crum
>>> Sandglass Software
>>> www.sandglass-software.com
>>> 
>>> On 9/26/2014 7:56 AM, jacopoc@apache.org wrote:
>>>> Author: jacopoc
>>>> Date: Fri Sep 26 06:56:27 2014
>>>> New Revision: 1627718
>>>> 
>>>> URL: http://svn.apache.org/r1627718
>>>> Log:
>>>> JUnit test to prove that field-to-result doesn't work properly when result-name contains the a ${} field.
>>>> 
>>>> Modified:
>>>>     ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/test/MiniLangTests.java
>>>> 
>>>> Modified: ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/test/MiniLangTests.java
>>>> URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/test/MiniLangTests.java?rev=1627718&r1=1627717&r2=1627718&view=diff
>>>> ==============================================================================
>>>> --- ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/test/MiniLangTests.java (original)
>>>> +++ ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/test/MiniLangTests.java Fri Sep 26 06:56:27 2014
>>>> @@ -91,4 +91,18 @@ public class MiniLangTests extends OFBiz
>>>>          assertTrue("<assert> error message text", errorMessage.startsWith("Assertion failed:"));
>>>>      }
>>>> 
>>>> +    public void testFieldToResultOperation() throws Exception {
>>>> +        String simpleMethodXml = "<simple-method name=\"testFieldToResult\">" +
>>>> +                                 "  <set field=\"resultValue\" value=\"someResultValue\"/>" +
>>>> +                                 "  <set field=\"result1\" value=\"dynamicResultName\"/>" +
>>>> +                                 "  <field-to-result field=\"resultValue\" result-name=\"constantResultName\"/>" +
>>>> +                                 "  <field-to-result field=\"resultValue\" result-name=\"${result1}\"/>" +
>>>> +                                 "</simple-method>";
>>>> +        SimpleMethod methodToTest = createSimpleMethod(simpleMethodXml);
>>>> +        MethodContext context = createServiceMethodContext();
>>>> +        String result = methodToTest.exec(context);
>>>> +        assertEquals("testFieldToResult success result", methodToTest.getDefaultSuccessCode(), result);
>>>> +        assertEquals("Constant result name set", "someResultValue", context.getResult("constantResultName"));
>>>> +        //assertEquals("Dynamic result name set", "someResultValue", context.getResult("dynamicResultName")); This one fails!
>>>> +    }
>>>>  }
>>>> 
>>>> 
>> 


Re: svn commit: r1627718 - /ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/test/MiniLangTests.java

Posted by Adrian Crum <ad...@sandglass-software.com>.
Yes, that is what I am saying. Please see the Attribute Types section in 
the grammar:

https://cwiki.apache.org/confluence/display/OFBADMIN/Mini-language+%28minilang%29+Reference

Adrian Crum
Sandglass Software
www.sandglass-software.com

On 9/26/2014 8:21 AM, Jacopo Cappellato wrote:
> I am confused... are you saying that the syntax:
>
> <field-to-result field="val" result-name="${key}"/>
>
> is not supported?
>
> Jacopo
>
>
>
> On Sep 26, 2014, at 9:02 AM, Adrian Crum <ad...@sandglass-software.com> wrote:
>
>> The element is behaving as specified in the schema:
>>
>> <xs:documentation>
>>                         The name of the result field to set. The target of the assignment.
>>                         Defaults to the value of the field attribute.
>>
>>                         Optional. Attribute type: expression.
>>                     </xs:documentation>
>>
>>
>> Adrian Crum
>> Sandglass Software
>> www.sandglass-software.com
>>
>> On 9/26/2014 7:56 AM, jacopoc@apache.org wrote:
>>> Author: jacopoc
>>> Date: Fri Sep 26 06:56:27 2014
>>> New Revision: 1627718
>>>
>>> URL: http://svn.apache.org/r1627718
>>> Log:
>>> JUnit test to prove that field-to-result doesn't work properly when result-name contains the a ${} field.
>>>
>>> Modified:
>>>      ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/test/MiniLangTests.java
>>>
>>> Modified: ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/test/MiniLangTests.java
>>> URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/test/MiniLangTests.java?rev=1627718&r1=1627717&r2=1627718&view=diff
>>> ==============================================================================
>>> --- ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/test/MiniLangTests.java (original)
>>> +++ ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/test/MiniLangTests.java Fri Sep 26 06:56:27 2014
>>> @@ -91,4 +91,18 @@ public class MiniLangTests extends OFBiz
>>>           assertTrue("<assert> error message text", errorMessage.startsWith("Assertion failed:"));
>>>       }
>>>
>>> +    public void testFieldToResultOperation() throws Exception {
>>> +        String simpleMethodXml = "<simple-method name=\"testFieldToResult\">" +
>>> +                                 "  <set field=\"resultValue\" value=\"someResultValue\"/>" +
>>> +                                 "  <set field=\"result1\" value=\"dynamicResultName\"/>" +
>>> +                                 "  <field-to-result field=\"resultValue\" result-name=\"constantResultName\"/>" +
>>> +                                 "  <field-to-result field=\"resultValue\" result-name=\"${result1}\"/>" +
>>> +                                 "</simple-method>";
>>> +        SimpleMethod methodToTest = createSimpleMethod(simpleMethodXml);
>>> +        MethodContext context = createServiceMethodContext();
>>> +        String result = methodToTest.exec(context);
>>> +        assertEquals("testFieldToResult success result", methodToTest.getDefaultSuccessCode(), result);
>>> +        assertEquals("Constant result name set", "someResultValue", context.getResult("constantResultName"));
>>> +        //assertEquals("Dynamic result name set", "someResultValue", context.getResult("dynamicResultName")); This one fails!
>>> +    }
>>>   }
>>>
>>>
>

Re: svn commit: r1627718 - /ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/test/MiniLangTests.java

Posted by Jacopo Cappellato <ja...@hotwaxmedia.com>.
I am confused... are you saying that the syntax:

<field-to-result field="val" result-name="${key}"/>

is not supported?

Jacopo



On Sep 26, 2014, at 9:02 AM, Adrian Crum <ad...@sandglass-software.com> wrote:

> The element is behaving as specified in the schema:
> 
> <xs:documentation>
>                        The name of the result field to set. The target of the assignment.
>                        Defaults to the value of the field attribute.
> 
>                        Optional. Attribute type: expression.
>                    </xs:documentation>
> 
> 
> Adrian Crum
> Sandglass Software
> www.sandglass-software.com
> 
> On 9/26/2014 7:56 AM, jacopoc@apache.org wrote:
>> Author: jacopoc
>> Date: Fri Sep 26 06:56:27 2014
>> New Revision: 1627718
>> 
>> URL: http://svn.apache.org/r1627718
>> Log:
>> JUnit test to prove that field-to-result doesn't work properly when result-name contains the a ${} field.
>> 
>> Modified:
>>     ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/test/MiniLangTests.java
>> 
>> Modified: ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/test/MiniLangTests.java
>> URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/test/MiniLangTests.java?rev=1627718&r1=1627717&r2=1627718&view=diff
>> ==============================================================================
>> --- ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/test/MiniLangTests.java (original)
>> +++ ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/test/MiniLangTests.java Fri Sep 26 06:56:27 2014
>> @@ -91,4 +91,18 @@ public class MiniLangTests extends OFBiz
>>          assertTrue("<assert> error message text", errorMessage.startsWith("Assertion failed:"));
>>      }
>> 
>> +    public void testFieldToResultOperation() throws Exception {
>> +        String simpleMethodXml = "<simple-method name=\"testFieldToResult\">" +
>> +                                 "  <set field=\"resultValue\" value=\"someResultValue\"/>" +
>> +                                 "  <set field=\"result1\" value=\"dynamicResultName\"/>" +
>> +                                 "  <field-to-result field=\"resultValue\" result-name=\"constantResultName\"/>" +
>> +                                 "  <field-to-result field=\"resultValue\" result-name=\"${result1}\"/>" +
>> +                                 "</simple-method>";
>> +        SimpleMethod methodToTest = createSimpleMethod(simpleMethodXml);
>> +        MethodContext context = createServiceMethodContext();
>> +        String result = methodToTest.exec(context);
>> +        assertEquals("testFieldToResult success result", methodToTest.getDefaultSuccessCode(), result);
>> +        assertEquals("Constant result name set", "someResultValue", context.getResult("constantResultName"));
>> +        //assertEquals("Dynamic result name set", "someResultValue", context.getResult("dynamicResultName")); This one fails!
>> +    }
>>  }
>> 
>>