Re: svn commit: r689713 - in /ofbiz/trunk/framework: entity/src/org/ofbiz/entity/finder/EntityFinderUtil.java minilang/dtd/simple-methods.xsd widget/dtd/widget-form.xsd widget/dtd/widget-screen.xsd widget/dtd/widget-tree.xsd

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

Re: svn commit: r689713 - in /ofbiz/trunk/framework: entity/src/org/ofbiz/entity/finder/EntityFinderUtil.java minilang/dtd/simple-methods.xsd widget/dtd/widget-form.xsd widget/dtd/widget-screen.xsd widget/dtd/widget-tree.xsd

Jacopo Cappellato-3
Instead of this feature, I would have preferred to see implemented an  
<if> element for actions.
In this way you could do:

<if>...condition...
<then>
entity find with all the exprs
</then>
<else>
entity find without the expr you want to skip
</else>
</if>

This is my opinion is more flexible and general purpose approach.
I am worried about the readability of the "ignore" attribute...

Jacopo


On Aug 28, 2008, at 9:47 AM, [hidden email] wrote:

> Author: hansbak
> Date: Wed Aug 27 21:17:48 2008
> New Revision: 689713
>
> URL: http://svn.apache.org/viewvc?rev=689713&view=rev
> Log:
> OFBIZ-1934: Ignore property for condition-expr tag, excellent  
> contribution by Bruno Busco
>
> Modified:
>  ofbiz/trunk/framework/entity/src/org/ofbiz/entity/finder/
> EntityFinderUtil.java
>  ofbiz/trunk/framework/minilang/dtd/simple-methods.xsd
>  ofbiz/trunk/framework/widget/dtd/widget-form.xsd
>  ofbiz/trunk/framework/widget/dtd/widget-screen.xsd
>  ofbiz/trunk/framework/widget/dtd/widget-tree.xsd
>
> Modified: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/finder/
> EntityFinderUtil.java
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/src/org/ofbiz/entity/finder/EntityFinderUtil.java?rev=689713&r1=689712&r2=689713&view=diff
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- ofbiz/trunk/framework/entity/src/org/ofbiz/entity/finder/
> EntityFinderUtil.java (original)
> +++ ofbiz/trunk/framework/entity/src/org/ofbiz/entity/finder/
> EntityFinderUtil.java Wed Aug 27 21:17:48 2008
> @@ -154,6 +154,7 @@
>       protected FlexibleStringExpander operatorExdr;
>       protected FlexibleMapAccessor<Object> envNameAcsr;
>       protected FlexibleStringExpander valueExdr;
> +        protected FlexibleStringExpander ignoreExdr;
>       protected boolean ignoreIfNull;
>       protected boolean ignoreIfEmpty;
>       protected boolean ignoreCase;
> @@ -171,6 +172,7 @@
>           this.ignoreIfNull =  
> "true".equals(conditionExprElement.getAttribute("ignore-if-null"));
>           this.ignoreIfEmpty =  
> "true".equals(conditionExprElement.getAttribute("ignore-if-empty"));
>           this.ignoreCase =  
> "true".equals(conditionExprElement.getAttribute("ignore-case"));
> +            this.ignoreExdr =  
> FlexibleStringExpander
> .getInstance(conditionExprElement.getAttribute("ignore"));
>       }
>
>       public EntityCondition createCondition(Map<String, ? extends  
> Object> context, String entityName, GenericDelegator delegator) {
> @@ -225,6 +227,10 @@
>               return null;
>           }
>
> +            if  
> ("true".equals(this.ignoreExdr.expandString(context))) {
> +                return null;
> +            }
> +
>           if (operator == EntityOperator.NOT_EQUAL && value != null) {
>               // since some databases don't consider nulls in !=  
> comparisons, explicitly include them
>               // this makes more sense logically, but if anyone ever  
> needs it to not behave this way we should add an "or-null" attribute  
> that is true by default
>
> Modified: ofbiz/trunk/framework/minilang/dtd/simple-methods.xsd
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/minilang/dtd/simple-methods.xsd?rev=689713&r1=689712&r2=689713&view=diff
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- ofbiz/trunk/framework/minilang/dtd/simple-methods.xsd (original)
> +++ ofbiz/trunk/framework/minilang/dtd/simple-methods.xsd Wed Aug 27  
> 21:17:48 2008
> @@ -2643,6 +2643,14 @@
>               </xs:restriction>
>           </xs:simpleType>
>       </xs:attribute>
> +        <xs:attribute name="ignore" default="false">
> +            <xs:annotation>
> +                <xs:documentation>
> +                    Ignore the condition if flag is true.
> +                    Defaults to false.
> +                </xs:documentation>
> +            </xs:annotation>
> +        </xs:attribute>
>   </xs:attributeGroup>
>   <xs:element name="condition-object">
>       <xs:annotation>
>
> Modified: ofbiz/trunk/framework/widget/dtd/widget-form.xsd
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/dtd/widget-form.xsd?rev=689713&r1=689712&r2=689713&view=diff
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- ofbiz/trunk/framework/widget/dtd/widget-form.xsd (original)
> +++ ofbiz/trunk/framework/widget/dtd/widget-form.xsd Wed Aug 27  
> 21:17:48 2008
> @@ -1594,6 +1594,14 @@
>               </xs:restriction>
>           </xs:simpleType>
>       </xs:attribute>
> +        <xs:attribute name="ignore" default="false">
> +            <xs:annotation>
> +                <xs:documentation>
> +                    Ignore the condition if flag is true.
> +                    Defaults to false.
> +                </xs:documentation>
> +            </xs:annotation>
> +        </xs:attribute>
>   </xs:attributeGroup>
>   <xs:element name="condition-list">
>       <xs:complexType>
>
> Modified: ofbiz/trunk/framework/widget/dtd/widget-screen.xsd
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/dtd/widget-screen.xsd?rev=689713&r1=689712&r2=689713&view=diff
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- ofbiz/trunk/framework/widget/dtd/widget-screen.xsd (original)
> +++ ofbiz/trunk/framework/widget/dtd/widget-screen.xsd Wed Aug 27  
> 21:17:48 2008
> @@ -669,6 +669,14 @@
>               </xs:restriction>
>           </xs:simpleType>
>       </xs:attribute>
> +        <xs:attribute name="ignore" default="false">
> +            <xs:annotation>
> +                <xs:documentation>
> +                    Ignore the condition if flag is true.
> +                    Defaults to false.
> +                </xs:documentation>
> +            </xs:annotation>
> +        </xs:attribute>
>   </xs:attributeGroup>
>   <xs:element name="condition-object">
>       <xs:complexType>
>
> Modified: ofbiz/trunk/framework/widget/dtd/widget-tree.xsd
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/dtd/widget-tree.xsd?rev=689713&r1=689712&r2=689713&view=diff
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- ofbiz/trunk/framework/widget/dtd/widget-tree.xsd (original)
> +++ ofbiz/trunk/framework/widget/dtd/widget-tree.xsd Wed Aug 27  
> 21:17:48 2008
> @@ -504,6 +504,14 @@
>               </xs:restriction>
>           </xs:simpleType>
>       </xs:attribute>
> +        <xs:attribute name="ignore" default="false">
> +            <xs:annotation>
> +                <xs:documentation>
> +                    Ignore the condition if flag is true.
> +                    Defaults to false.
> +                </xs:documentation>
> +            </xs:annotation>
> +        </xs:attribute>
>   </xs:attributeGroup>
>
>   <!-- ================ CONDITIONS ================ -->
>
>


smime.p7s (3K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: svn commit: r689713 - in /ofbiz/trunk/framework: entity/src/org/ofbiz/entity/finder/EntityFinderUtil.java minilang/dtd/simple-methods.xsd widget/dtd/widget-form.xsd widget/dtd/widget-screen.xsd widget/dtd/widget-tree.xsd

hans_bakker
Hi Jacopo,

sure that would be nicer but much more involved....although using
sections and conditions already somewhat allows this....

what i committed now is a simple solution for a simple problem......

Bruno, what do you think?


On Thu, 2008-08-28 at 12:51 +0530, Jacopo Cappellato wrote:

> Instead of this feature, I would have preferred to see implemented an  
> <if> element for actions.
> In this way you could do:
>
> <if>...condition...
> <then>
> entity find with all the exprs
> </then>
> <else>
> entity find without the expr you want to skip
> </else>
> </if>
>
> This is my opinion is more flexible and general purpose approach.
> I am worried about the readability of the "ignore" attribute...
>
> Jacopo
>
>
> On Aug 28, 2008, at 9:47 AM, [hidden email] wrote:
>
> > Author: hansbak
> > Date: Wed Aug 27 21:17:48 2008
> > New Revision: 689713
> >
> > URL: http://svn.apache.org/viewvc?rev=689713&view=rev
> > Log:
> > OFBIZ-1934: Ignore property for condition-expr tag, excellent  
> > contribution by Bruno Busco
> >
> > Modified:
> >  ofbiz/trunk/framework/entity/src/org/ofbiz/entity/finder/
> > EntityFinderUtil.java
> >  ofbiz/trunk/framework/minilang/dtd/simple-methods.xsd
> >  ofbiz/trunk/framework/widget/dtd/widget-form.xsd
> >  ofbiz/trunk/framework/widget/dtd/widget-screen.xsd
> >  ofbiz/trunk/framework/widget/dtd/widget-tree.xsd
> >
> > Modified: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/finder/
> > EntityFinderUtil.java
> > URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/src/org/ofbiz/entity/finder/EntityFinderUtil.java?rev=689713&r1=689712&r2=689713&view=diff
> > =
> > =
> > =
> > =
> > =
> > =
> > =
> > =
> > ======================================================================
> > --- ofbiz/trunk/framework/entity/src/org/ofbiz/entity/finder/
> > EntityFinderUtil.java (original)
> > +++ ofbiz/trunk/framework/entity/src/org/ofbiz/entity/finder/
> > EntityFinderUtil.java Wed Aug 27 21:17:48 2008
> > @@ -154,6 +154,7 @@
> >       protected FlexibleStringExpander operatorExdr;
> >       protected FlexibleMapAccessor<Object> envNameAcsr;
> >       protected FlexibleStringExpander valueExdr;
> > +        protected FlexibleStringExpander ignoreExdr;
> >       protected boolean ignoreIfNull;
> >       protected boolean ignoreIfEmpty;
> >       protected boolean ignoreCase;
> > @@ -171,6 +172,7 @@
> >           this.ignoreIfNull =  
> > "true".equals(conditionExprElement.getAttribute("ignore-if-null"));
> >           this.ignoreIfEmpty =  
> > "true".equals(conditionExprElement.getAttribute("ignore-if-empty"));
> >           this.ignoreCase =  
> > "true".equals(conditionExprElement.getAttribute("ignore-case"));
> > +            this.ignoreExdr =  
> > FlexibleStringExpander
> > .getInstance(conditionExprElement.getAttribute("ignore"));
> >       }
> >
> >       public EntityCondition createCondition(Map<String, ? extends  
> > Object> context, String entityName, GenericDelegator delegator) {
> > @@ -225,6 +227,10 @@
> >               return null;
> >           }
> >
> > +            if  
> > ("true".equals(this.ignoreExdr.expandString(context))) {
> > +                return null;
> > +            }
> > +
> >           if (operator == EntityOperator.NOT_EQUAL && value != null) {
> >               // since some databases don't consider nulls in !=  
> > comparisons, explicitly include them
> >               // this makes more sense logically, but if anyone ever  
> > needs it to not behave this way we should add an "or-null" attribute  
> > that is true by default
> >
> > Modified: ofbiz/trunk/framework/minilang/dtd/simple-methods.xsd
> > URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/minilang/dtd/simple-methods.xsd?rev=689713&r1=689712&r2=689713&view=diff
> > =
> > =
> > =
> > =
> > =
> > =
> > =
> > =
> > ======================================================================
> > --- ofbiz/trunk/framework/minilang/dtd/simple-methods.xsd (original)
> > +++ ofbiz/trunk/framework/minilang/dtd/simple-methods.xsd Wed Aug 27  
> > 21:17:48 2008
> > @@ -2643,6 +2643,14 @@
> >               </xs:restriction>
> >           </xs:simpleType>
> >       </xs:attribute>
> > +        <xs:attribute name="ignore" default="false">
> > +            <xs:annotation>
> > +                <xs:documentation>
> > +                    Ignore the condition if flag is true.
> > +                    Defaults to false.
> > +                </xs:documentation>
> > +            </xs:annotation>
> > +        </xs:attribute>
> >   </xs:attributeGroup>
> >   <xs:element name="condition-object">
> >       <xs:annotation>
> >
> > Modified: ofbiz/trunk/framework/widget/dtd/widget-form.xsd
> > URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/dtd/widget-form.xsd?rev=689713&r1=689712&r2=689713&view=diff
> > =
> > =
> > =
> > =
> > =
> > =
> > =
> > =
> > ======================================================================
> > --- ofbiz/trunk/framework/widget/dtd/widget-form.xsd (original)
> > +++ ofbiz/trunk/framework/widget/dtd/widget-form.xsd Wed Aug 27  
> > 21:17:48 2008
> > @@ -1594,6 +1594,14 @@
> >               </xs:restriction>
> >           </xs:simpleType>
> >       </xs:attribute>
> > +        <xs:attribute name="ignore" default="false">
> > +            <xs:annotation>
> > +                <xs:documentation>
> > +                    Ignore the condition if flag is true.
> > +                    Defaults to false.
> > +                </xs:documentation>
> > +            </xs:annotation>
> > +        </xs:attribute>
> >   </xs:attributeGroup>
> >   <xs:element name="condition-list">
> >       <xs:complexType>
> >
> > Modified: ofbiz/trunk/framework/widget/dtd/widget-screen.xsd
> > URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/dtd/widget-screen.xsd?rev=689713&r1=689712&r2=689713&view=diff
> > =
> > =
> > =
> > =
> > =
> > =
> > =
> > =
> > ======================================================================
> > --- ofbiz/trunk/framework/widget/dtd/widget-screen.xsd (original)
> > +++ ofbiz/trunk/framework/widget/dtd/widget-screen.xsd Wed Aug 27  
> > 21:17:48 2008
> > @@ -669,6 +669,14 @@
> >               </xs:restriction>
> >           </xs:simpleType>
> >       </xs:attribute>
> > +        <xs:attribute name="ignore" default="false">
> > +            <xs:annotation>
> > +                <xs:documentation>
> > +                    Ignore the condition if flag is true.
> > +                    Defaults to false.
> > +                </xs:documentation>
> > +            </xs:annotation>
> > +        </xs:attribute>
> >   </xs:attributeGroup>
> >   <xs:element name="condition-object">
> >       <xs:complexType>
> >
> > Modified: ofbiz/trunk/framework/widget/dtd/widget-tree.xsd
> > URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/dtd/widget-tree.xsd?rev=689713&r1=689712&r2=689713&view=diff
> > =
> > =
> > =
> > =
> > =
> > =
> > =
> > =
> > ======================================================================
> > --- ofbiz/trunk/framework/widget/dtd/widget-tree.xsd (original)
> > +++ ofbiz/trunk/framework/widget/dtd/widget-tree.xsd Wed Aug 27  
> > 21:17:48 2008
> > @@ -504,6 +504,14 @@
> >               </xs:restriction>
> >           </xs:simpleType>
> >       </xs:attribute>
> > +        <xs:attribute name="ignore" default="false">
> > +            <xs:annotation>
> > +                <xs:documentation>
> > +                    Ignore the condition if flag is true.
> > +                    Defaults to false.
> > +                </xs:documentation>
> > +            </xs:annotation>
> > +        </xs:attribute>
> >   </xs:attributeGroup>
> >
> >   <!-- ================ CONDITIONS ================ -->
> >
> >
>
--
Antwebsystems.com: Quality OFBiz services for competitive prices

Reply | Threaded
Open this post in threaded view
|

Re: svn commit: r689713 - in /ofbiz/trunk/framework: entity/src/org/ofbiz/entity/finder/EntityFinderUtil.java minilang/dtd/simple-methods.xsd widget/dtd/widget-form.xsd widget/dtd/widget-screen.xsd widget/dtd/widget-tree.xsd

Jacopo Cappellato-3
Hi Hans,

yes, I see... but maybe some sort of "use-when" attribute in the  
entity-condition (and then using two separate conditions) would have  
been better.
Maybe I am too picky, but when it comes to framework stuff (and xsd  
grammars) I like to think a lot about the best way of enhancing the  
framework.
Instead of adding a lot of small attributes like the ignore one, to  
solve existing issues, sometimes it makes sense to try to
Let's say for example that, based on a given condition we have to  
query a different entity, or select different fields, or sort the  
results in a different way (and not just ignore a search constraint  
like in your situation): instead of adding a lot of small attributes  
(that are confusing), a "use-when" attribute would work fine for all  
these scenarios.
Just my 2 cents,

Jacopo

On Aug 28, 2008, at 1:13 PM, Hans Bakker wrote:

> Hi Jacopo,
>
> sure that would be nicer but much more involved....although using
> sections and conditions already somewhat allows this....
>
> what i committed now is a simple solution for a simple problem......
>
> Bruno, what do you think?
>
>
> On Thu, 2008-08-28 at 12:51 +0530, Jacopo Cappellato wrote:
>> Instead of this feature, I would have preferred to see implemented an
>> <if> element for actions.
>> In this way you could do:
>>
>> <if>...condition...
>> <then>
>> entity find with all the exprs
>> </then>
>> <else>
>> entity find without the expr you want to skip
>> </else>
>> </if>
>>
>> This is my opinion is more flexible and general purpose approach.
>> I am worried about the readability of the "ignore" attribute...
>>
>> Jacopo
>>
>>
>> On Aug 28, 2008, at 9:47 AM, [hidden email] wrote:
>>
>>> Author: hansbak
>>> Date: Wed Aug 27 21:17:48 2008
>>> New Revision: 689713
>>>
>>> URL: http://svn.apache.org/viewvc?rev=689713&view=rev
>>> Log:
>>> OFBIZ-1934: Ignore property for condition-expr tag, excellent
>>> contribution by Bruno Busco
>>>
>>> Modified:
>>> ofbiz/trunk/framework/entity/src/org/ofbiz/entity/finder/
>>> EntityFinderUtil.java
>>> ofbiz/trunk/framework/minilang/dtd/simple-methods.xsd
>>> ofbiz/trunk/framework/widget/dtd/widget-form.xsd
>>> ofbiz/trunk/framework/widget/dtd/widget-screen.xsd
>>> ofbiz/trunk/framework/widget/dtd/widget-tree.xsd
>>>
>>> Modified: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/finder/
>>> EntityFinderUtil.java
>>> URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/src/org/ofbiz/entity/finder/EntityFinderUtil.java?rev=689713&r1=689712&r2=689713&view=diff
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> ====================================================================
>>> --- ofbiz/trunk/framework/entity/src/org/ofbiz/entity/finder/
>>> EntityFinderUtil.java (original)
>>> +++ ofbiz/trunk/framework/entity/src/org/ofbiz/entity/finder/
>>> EntityFinderUtil.java Wed Aug 27 21:17:48 2008
>>> @@ -154,6 +154,7 @@
>>>     protected FlexibleStringExpander operatorExdr;
>>>     protected FlexibleMapAccessor<Object> envNameAcsr;
>>>     protected FlexibleStringExpander valueExdr;
>>> +        protected FlexibleStringExpander ignoreExdr;
>>>     protected boolean ignoreIfNull;
>>>     protected boolean ignoreIfEmpty;
>>>     protected boolean ignoreCase;
>>> @@ -171,6 +172,7 @@
>>>         this.ignoreIfNull =
>>> "true".equals(conditionExprElement.getAttribute("ignore-if-null"));
>>>         this.ignoreIfEmpty =
>>> "true".equals(conditionExprElement.getAttribute("ignore-if-empty"));
>>>         this.ignoreCase =
>>> "true".equals(conditionExprElement.getAttribute("ignore-case"));
>>> +            this.ignoreExdr =
>>> FlexibleStringExpander
>>> .getInstance(conditionExprElement.getAttribute("ignore"));
>>>     }
>>>
>>>     public EntityCondition createCondition(Map<String, ? extends
>>> Object> context, String entityName, GenericDelegator delegator) {
>>> @@ -225,6 +227,10 @@
>>>             return null;
>>>         }
>>>
>>> +            if
>>> ("true".equals(this.ignoreExdr.expandString(context))) {
>>> +                return null;
>>> +            }
>>> +
>>>         if (operator == EntityOperator.NOT_EQUAL && value != null) {
>>>             // since some databases don't consider nulls in !=
>>> comparisons, explicitly include them
>>>             // this makes more sense logically, but if anyone ever
>>> needs it to not behave this way we should add an "or-null" attribute
>>> that is true by default
>>>
>>> Modified: ofbiz/trunk/framework/minilang/dtd/simple-methods.xsd
>>> URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/minilang/dtd/simple-methods.xsd?rev=689713&r1=689712&r2=689713&view=diff
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> ====================================================================
>>> --- ofbiz/trunk/framework/minilang/dtd/simple-methods.xsd (original)
>>> +++ ofbiz/trunk/framework/minilang/dtd/simple-methods.xsd Wed Aug 27
>>> 21:17:48 2008
>>> @@ -2643,6 +2643,14 @@
>>>             </xs:restriction>
>>>         </xs:simpleType>
>>>     </xs:attribute>
>>> +        <xs:attribute name="ignore" default="false">
>>> +            <xs:annotation>
>>> +                <xs:documentation>
>>> +                    Ignore the condition if flag is true.
>>> +                    Defaults to false.
>>> +                </xs:documentation>
>>> +            </xs:annotation>
>>> +        </xs:attribute>
>>> </xs:attributeGroup>
>>> <xs:element name="condition-object">
>>>     <xs:annotation>
>>>
>>> Modified: ofbiz/trunk/framework/widget/dtd/widget-form.xsd
>>> URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/dtd/widget-form.xsd?rev=689713&r1=689712&r2=689713&view=diff
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> ====================================================================
>>> --- ofbiz/trunk/framework/widget/dtd/widget-form.xsd (original)
>>> +++ ofbiz/trunk/framework/widget/dtd/widget-form.xsd Wed Aug 27
>>> 21:17:48 2008
>>> @@ -1594,6 +1594,14 @@
>>>             </xs:restriction>
>>>         </xs:simpleType>
>>>     </xs:attribute>
>>> +        <xs:attribute name="ignore" default="false">
>>> +            <xs:annotation>
>>> +                <xs:documentation>
>>> +                    Ignore the condition if flag is true.
>>> +                    Defaults to false.
>>> +                </xs:documentation>
>>> +            </xs:annotation>
>>> +        </xs:attribute>
>>> </xs:attributeGroup>
>>> <xs:element name="condition-list">
>>>     <xs:complexType>
>>>
>>> Modified: ofbiz/trunk/framework/widget/dtd/widget-screen.xsd
>>> URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/dtd/widget-screen.xsd?rev=689713&r1=689712&r2=689713&view=diff
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> ====================================================================
>>> --- ofbiz/trunk/framework/widget/dtd/widget-screen.xsd (original)
>>> +++ ofbiz/trunk/framework/widget/dtd/widget-screen.xsd Wed Aug 27
>>> 21:17:48 2008
>>> @@ -669,6 +669,14 @@
>>>             </xs:restriction>
>>>         </xs:simpleType>
>>>     </xs:attribute>
>>> +        <xs:attribute name="ignore" default="false">
>>> +            <xs:annotation>
>>> +                <xs:documentation>
>>> +                    Ignore the condition if flag is true.
>>> +                    Defaults to false.
>>> +                </xs:documentation>
>>> +            </xs:annotation>
>>> +        </xs:attribute>
>>> </xs:attributeGroup>
>>> <xs:element name="condition-object">
>>>     <xs:complexType>
>>>
>>> Modified: ofbiz/trunk/framework/widget/dtd/widget-tree.xsd
>>> URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/dtd/widget-tree.xsd?rev=689713&r1=689712&r2=689713&view=diff
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> ====================================================================
>>> --- ofbiz/trunk/framework/widget/dtd/widget-tree.xsd (original)
>>> +++ ofbiz/trunk/framework/widget/dtd/widget-tree.xsd Wed Aug 27
>>> 21:17:48 2008
>>> @@ -504,6 +504,14 @@
>>>             </xs:restriction>
>>>         </xs:simpleType>
>>>     </xs:attribute>
>>> +        <xs:attribute name="ignore" default="false">
>>> +            <xs:annotation>
>>> +                <xs:documentation>
>>> +                    Ignore the condition if flag is true.
>>> +                    Defaults to false.
>>> +                </xs:documentation>
>>> +            </xs:annotation>
>>> +        </xs:attribute>
>>> </xs:attributeGroup>
>>>
>>> <!-- ================ CONDITIONS ================ -->
>>>
>>>
>>
> --
> Antwebsystems.com: Quality OFBiz services for competitive prices
>


smime.p7s (3K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: svn commit: r689713 - in /ofbiz/trunk/framework: entity/src/org/ofbiz/entity/finder/EntityFinderUtil.java minilang/dtd/simple-methods.xsd widget/dtd/widget-form.xsd widget/dtd/widget-screen.xsd widget/dtd/widget-tree.xsd

Bruno Busco
In reply to this post by hans_bakker
I agree with Jacopo that the <if> tag would help very much but as you said
the "ignore" attribute is much simpler for that particular scope.
It follows the already present ignore-if-null and ignore-if-empty pattern.
-Bruno

2008/8/28 Hans Bakker <[hidden email]>

> Hi Jacopo,
>
> sure that would be nicer but much more involved....although using
> sections and conditions already somewhat allows this....
>
> what i committed now is a simple solution for a simple problem......
>
> Bruno, what do you think?
>
>
> On Thu, 2008-08-28 at 12:51 +0530, Jacopo Cappellato wrote:
> > Instead of this feature, I would have preferred to see implemented an
> > <if> element for actions.
> > In this way you could do:
> >
> > <if>...condition...
> > <then>
> > entity find with all the exprs
> > </then>
> > <else>
> > entity find without the expr you want to skip
> > </else>
> > </if>
> >
> > This is my opinion is more flexible and general purpose approach.
> > I am worried about the readability of the "ignore" attribute...
> >
> > Jacopo
> >
> >
> > On Aug 28, 2008, at 9:47 AM, [hidden email] wrote:
> >
> > > Author: hansbak
> > > Date: Wed Aug 27 21:17:48 2008
> > > New Revision: 689713
> > >
> > > URL: http://svn.apache.org/viewvc?rev=689713&view=rev
> > > Log:
> > > OFBIZ-1934: Ignore property for condition-expr tag, excellent
> > > contribution by Bruno Busco
> > >
> > > Modified:
> > >  ofbiz/trunk/framework/entity/src/org/ofbiz/entity/finder/
> > > EntityFinderUtil.java
> > >  ofbiz/trunk/framework/minilang/dtd/simple-methods.xsd
> > >  ofbiz/trunk/framework/widget/dtd/widget-form.xsd
> > >  ofbiz/trunk/framework/widget/dtd/widget-screen.xsd
> > >  ofbiz/trunk/framework/widget/dtd/widget-tree.xsd
> > >
> > > Modified: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/finder/
> > > EntityFinderUtil.java
> > > URL:
> http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/src/org/ofbiz/entity/finder/EntityFinderUtil.java?rev=689713&r1=689712&r2=689713&view=diff
> > > =
> > > =
> > > =
> > > =
> > > =
> > > =
> > > =
> > > =
> > > ======================================================================
> > > --- ofbiz/trunk/framework/entity/src/org/ofbiz/entity/finder/
> > > EntityFinderUtil.java (original)
> > > +++ ofbiz/trunk/framework/entity/src/org/ofbiz/entity/finder/
> > > EntityFinderUtil.java Wed Aug 27 21:17:48 2008
> > > @@ -154,6 +154,7 @@
> > >       protected FlexibleStringExpander operatorExdr;
> > >       protected FlexibleMapAccessor<Object> envNameAcsr;
> > >       protected FlexibleStringExpander valueExdr;
> > > +        protected FlexibleStringExpander ignoreExdr;
> > >       protected boolean ignoreIfNull;
> > >       protected boolean ignoreIfEmpty;
> > >       protected boolean ignoreCase;
> > > @@ -171,6 +172,7 @@
> > >           this.ignoreIfNull =
> > > "true".equals(conditionExprElement.getAttribute("ignore-if-null"));
> > >           this.ignoreIfEmpty =
> > > "true".equals(conditionExprElement.getAttribute("ignore-if-empty"));
> > >           this.ignoreCase =
> > > "true".equals(conditionExprElement.getAttribute("ignore-case"));
> > > +            this.ignoreExdr =
> > > FlexibleStringExpander
> > > .getInstance(conditionExprElement.getAttribute("ignore"));
> > >       }
> > >
> > >       public EntityCondition createCondition(Map<String, ? extends
> > > Object> context, String entityName, GenericDelegator delegator) {
> > > @@ -225,6 +227,10 @@
> > >               return null;
> > >           }
> > >
> > > +            if
> > > ("true".equals(this.ignoreExdr.expandString(context))) {
> > > +                return null;
> > > +            }
> > > +
> > >           if (operator == EntityOperator.NOT_EQUAL && value != null) {
> > >               // since some databases don't consider nulls in !=
> > > comparisons, explicitly include them
> > >               // this makes more sense logically, but if anyone ever
> > > needs it to not behave this way we should add an "or-null" attribute
> > > that is true by default
> > >
> > > Modified: ofbiz/trunk/framework/minilang/dtd/simple-methods.xsd
> > > URL:
> http://svn.apache.org/viewvc/ofbiz/trunk/framework/minilang/dtd/simple-methods.xsd?rev=689713&r1=689712&r2=689713&view=diff
> > > =
> > > =
> > > =
> > > =
> > > =
> > > =
> > > =
> > > =
> > > ======================================================================
> > > --- ofbiz/trunk/framework/minilang/dtd/simple-methods.xsd (original)
> > > +++ ofbiz/trunk/framework/minilang/dtd/simple-methods.xsd Wed Aug 27
> > > 21:17:48 2008
> > > @@ -2643,6 +2643,14 @@
> > >               </xs:restriction>
> > >           </xs:simpleType>
> > >       </xs:attribute>
> > > +        <xs:attribute name="ignore" default="false">
> > > +            <xs:annotation>
> > > +                <xs:documentation>
> > > +                    Ignore the condition if flag is true.
> > > +                    Defaults to false.
> > > +                </xs:documentation>
> > > +            </xs:annotation>
> > > +        </xs:attribute>
> > >   </xs:attributeGroup>
> > >   <xs:element name="condition-object">
> > >       <xs:annotation>
> > >
> > > Modified: ofbiz/trunk/framework/widget/dtd/widget-form.xsd
> > > URL:
> http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/dtd/widget-form.xsd?rev=689713&r1=689712&r2=689713&view=diff
> > > =
> > > =
> > > =
> > > =
> > > =
> > > =
> > > =
> > > =
> > > ======================================================================
> > > --- ofbiz/trunk/framework/widget/dtd/widget-form.xsd (original)
> > > +++ ofbiz/trunk/framework/widget/dtd/widget-form.xsd Wed Aug 27
> > > 21:17:48 2008
> > > @@ -1594,6 +1594,14 @@
> > >               </xs:restriction>
> > >           </xs:simpleType>
> > >       </xs:attribute>
> > > +        <xs:attribute name="ignore" default="false">
> > > +            <xs:annotation>
> > > +                <xs:documentation>
> > > +                    Ignore the condition if flag is true.
> > > +                    Defaults to false.
> > > +                </xs:documentation>
> > > +            </xs:annotation>
> > > +        </xs:attribute>
> > >   </xs:attributeGroup>
> > >   <xs:element name="condition-list">
> > >       <xs:complexType>
> > >
> > > Modified: ofbiz/trunk/framework/widget/dtd/widget-screen.xsd
> > > URL:
> http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/dtd/widget-screen.xsd?rev=689713&r1=689712&r2=689713&view=diff
> > > =
> > > =
> > > =
> > > =
> > > =
> > > =
> > > =
> > > =
> > > ======================================================================
> > > --- ofbiz/trunk/framework/widget/dtd/widget-screen.xsd (original)
> > > +++ ofbiz/trunk/framework/widget/dtd/widget-screen.xsd Wed Aug 27
> > > 21:17:48 2008
> > > @@ -669,6 +669,14 @@
> > >               </xs:restriction>
> > >           </xs:simpleType>
> > >       </xs:attribute>
> > > +        <xs:attribute name="ignore" default="false">
> > > +            <xs:annotation>
> > > +                <xs:documentation>
> > > +                    Ignore the condition if flag is true.
> > > +                    Defaults to false.
> > > +                </xs:documentation>
> > > +            </xs:annotation>
> > > +        </xs:attribute>
> > >   </xs:attributeGroup>
> > >   <xs:element name="condition-object">
> > >       <xs:complexType>
> > >
> > > Modified: ofbiz/trunk/framework/widget/dtd/widget-tree.xsd
> > > URL:
> http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/dtd/widget-tree.xsd?rev=689713&r1=689712&r2=689713&view=diff
> > > =
> > > =
> > > =
> > > =
> > > =
> > > =
> > > =
> > > =
> > > ======================================================================
> > > --- ofbiz/trunk/framework/widget/dtd/widget-tree.xsd (original)
> > > +++ ofbiz/trunk/framework/widget/dtd/widget-tree.xsd Wed Aug 27
> > > 21:17:48 2008
> > > @@ -504,6 +504,14 @@
> > >               </xs:restriction>
> > >           </xs:simpleType>
> > >       </xs:attribute>
> > > +        <xs:attribute name="ignore" default="false">
> > > +            <xs:annotation>
> > > +                <xs:documentation>
> > > +                    Ignore the condition if flag is true.
> > > +                    Defaults to false.
> > > +                </xs:documentation>
> > > +            </xs:annotation>
> > > +        </xs:attribute>
> > >   </xs:attributeGroup>
> > >
> > >   <!-- ================ CONDITIONS ================ -->
> > >
> > >
> >
> --
> Antwebsystems.com: Quality OFBiz services for competitive prices
>
>
Reply | Threaded
Open this post in threaded view
|

Re: svn commit: r689713 - in /ofbiz/trunk/framework: entity/src/org/ofbiz/entity/finder/EntityFinderUtil.java minilang/dtd/simple-methods.xsd widget/dtd/widget-form.xsd widget/dtd/widget-screen.xsd widget/dtd/widget-tree.xsd

Jacques Le Roux
Administrator
In reply to this post by Jacopo Cappellato-3
I think most would agree, it's more a manpower issue...

Jacques

From: "Jacopo Cappellato" <[hidden email]>

> Hi Hans,
>
> yes, I see... but maybe some sort of "use-when" attribute in the  entity-condition (and then using two separate conditions) would
> have  been better.
> Maybe I am too picky, but when it comes to framework stuff (and xsd  grammars) I like to think a lot about the best way of
> enhancing the  framework.
> Instead of adding a lot of small attributes like the ignore one, to  solve existing issues, sometimes it makes sense to try to
> Let's say for example that, based on a given condition we have to  query a different entity, or select different fields, or sort
> the  results in a different way (and not just ignore a search constraint  like in your situation): instead of adding a lot of
> small attributes  (that are confusing), a "use-when" attribute would work fine for all  these scenarios.
> Just my 2 cents,
>
> Jacopo
>
> On Aug 28, 2008, at 1:13 PM, Hans Bakker wrote:
>
>> Hi Jacopo,
>>
>> sure that would be nicer but much more involved....although using
>> sections and conditions already somewhat allows this....
>>
>> what i committed now is a simple solution for a simple problem......
>>
>> Bruno, what do you think?
>>
>>
>> On Thu, 2008-08-28 at 12:51 +0530, Jacopo Cappellato wrote:
>>> Instead of this feature, I would have preferred to see implemented an
>>> <if> element for actions.
>>> In this way you could do:
>>>
>>> <if>...condition...
>>> <then>
>>> entity find with all the exprs
>>> </then>
>>> <else>
>>> entity find without the expr you want to skip
>>> </else>
>>> </if>
>>>
>>> This is my opinion is more flexible and general purpose approach.
>>> I am worried about the readability of the "ignore" attribute...
>>>
>>> Jacopo
>>>
>>>
>>> On Aug 28, 2008, at 9:47 AM, [hidden email] wrote:
>>>
>>>> Author: hansbak
>>>> Date: Wed Aug 27 21:17:48 2008
>>>> New Revision: 689713
>>>>
>>>> URL: http://svn.apache.org/viewvc?rev=689713&view=rev
>>>> Log:
>>>> OFBIZ-1934: Ignore property for condition-expr tag, excellent
>>>> contribution by Bruno Busco
>>>>
>>>> Modified:
>>>> ofbiz/trunk/framework/entity/src/org/ofbiz/entity/finder/
>>>> EntityFinderUtil.java
>>>> ofbiz/trunk/framework/minilang/dtd/simple-methods.xsd
>>>> ofbiz/trunk/framework/widget/dtd/widget-form.xsd
>>>> ofbiz/trunk/framework/widget/dtd/widget-screen.xsd
>>>> ofbiz/trunk/framework/widget/dtd/widget-tree.xsd
>>>>
>>>> Modified: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/finder/
>>>> EntityFinderUtil.java
>>>> URL:
>>>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/src/org/ofbiz/entity/finder/EntityFinderUtil.java?rev=689713&r1=689712&r2=689713&view=diff
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> = = ====================================================================
>>>> --- ofbiz/trunk/framework/entity/src/org/ofbiz/entity/finder/
>>>> EntityFinderUtil.java (original)
>>>> +++ ofbiz/trunk/framework/entity/src/org/ofbiz/entity/finder/
>>>> EntityFinderUtil.java Wed Aug 27 21:17:48 2008
>>>> @@ -154,6 +154,7 @@
>>>>     protected FlexibleStringExpander operatorExdr;
>>>>     protected FlexibleMapAccessor<Object> envNameAcsr;
>>>>     protected FlexibleStringExpander valueExdr;
>>>> +        protected FlexibleStringExpander ignoreExdr;
>>>>     protected boolean ignoreIfNull;
>>>>     protected boolean ignoreIfEmpty;
>>>>     protected boolean ignoreCase;
>>>> @@ -171,6 +172,7 @@
>>>>         this.ignoreIfNull =
>>>> "true".equals(conditionExprElement.getAttribute("ignore-if-null"));
>>>>         this.ignoreIfEmpty =
>>>> "true".equals(conditionExprElement.getAttribute("ignore-if-empty"));
>>>>         this.ignoreCase =
>>>> "true".equals(conditionExprElement.getAttribute("ignore-case"));
>>>> +            this.ignoreExdr =
>>>> FlexibleStringExpander
>>>> .getInstance(conditionExprElement.getAttribute("ignore"));
>>>>     }
>>>>
>>>>     public EntityCondition createCondition(Map<String, ? extends
>>>> Object> context, String entityName, GenericDelegator delegator) {
>>>> @@ -225,6 +227,10 @@
>>>>             return null;
>>>>         }
>>>>
>>>> +            if
>>>> ("true".equals(this.ignoreExdr.expandString(context))) {
>>>> +                return null;
>>>> +            }
>>>> +
>>>>         if (operator == EntityOperator.NOT_EQUAL && value != null) {
>>>>             // since some databases don't consider nulls in !=
>>>> comparisons, explicitly include them
>>>>             // this makes more sense logically, but if anyone ever
>>>> needs it to not behave this way we should add an "or-null" attribute
>>>> that is true by default
>>>>
>>>> Modified: ofbiz/trunk/framework/minilang/dtd/simple-methods.xsd
>>>> URL:
>>>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/minilang/dtd/simple-methods.xsd?rev=689713&r1=689712&r2=689713&view=diff
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> = = ====================================================================
>>>> --- ofbiz/trunk/framework/minilang/dtd/simple-methods.xsd (original)
>>>> +++ ofbiz/trunk/framework/minilang/dtd/simple-methods.xsd Wed Aug 27
>>>> 21:17:48 2008
>>>> @@ -2643,6 +2643,14 @@
>>>>             </xs:restriction>
>>>>         </xs:simpleType>
>>>>     </xs:attribute>
>>>> +        <xs:attribute name="ignore" default="false">
>>>> +            <xs:annotation>
>>>> +                <xs:documentation>
>>>> +                    Ignore the condition if flag is true.
>>>> +                    Defaults to false.
>>>> +                </xs:documentation>
>>>> +            </xs:annotation>
>>>> +        </xs:attribute>
>>>> </xs:attributeGroup>
>>>> <xs:element name="condition-object">
>>>>     <xs:annotation>
>>>>
>>>> Modified: ofbiz/trunk/framework/widget/dtd/widget-form.xsd
>>>> URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/dtd/widget-form.xsd?rev=689713&r1=689712&r2=689713&view=diff
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> = = ====================================================================
>>>> --- ofbiz/trunk/framework/widget/dtd/widget-form.xsd (original)
>>>> +++ ofbiz/trunk/framework/widget/dtd/widget-form.xsd Wed Aug 27
>>>> 21:17:48 2008
>>>> @@ -1594,6 +1594,14 @@
>>>>             </xs:restriction>
>>>>         </xs:simpleType>
>>>>     </xs:attribute>
>>>> +        <xs:attribute name="ignore" default="false">
>>>> +            <xs:annotation>
>>>> +                <xs:documentation>
>>>> +                    Ignore the condition if flag is true.
>>>> +                    Defaults to false.
>>>> +                </xs:documentation>
>>>> +            </xs:annotation>
>>>> +        </xs:attribute>
>>>> </xs:attributeGroup>
>>>> <xs:element name="condition-list">
>>>>     <xs:complexType>
>>>>
>>>> Modified: ofbiz/trunk/framework/widget/dtd/widget-screen.xsd
>>>> URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/dtd/widget-screen.xsd?rev=689713&r1=689712&r2=689713&view=diff
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> = = ====================================================================
>>>> --- ofbiz/trunk/framework/widget/dtd/widget-screen.xsd (original)
>>>> +++ ofbiz/trunk/framework/widget/dtd/widget-screen.xsd Wed Aug 27
>>>> 21:17:48 2008
>>>> @@ -669,6 +669,14 @@
>>>>             </xs:restriction>
>>>>         </xs:simpleType>
>>>>     </xs:attribute>
>>>> +        <xs:attribute name="ignore" default="false">
>>>> +            <xs:annotation>
>>>> +                <xs:documentation>
>>>> +                    Ignore the condition if flag is true.
>>>> +                    Defaults to false.
>>>> +                </xs:documentation>
>>>> +            </xs:annotation>
>>>> +        </xs:attribute>
>>>> </xs:attributeGroup>
>>>> <xs:element name="condition-object">
>>>>     <xs:complexType>
>>>>
>>>> Modified: ofbiz/trunk/framework/widget/dtd/widget-tree.xsd
>>>> URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/dtd/widget-tree.xsd?rev=689713&r1=689712&r2=689713&view=diff
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> =
>>>> = = ====================================================================
>>>> --- ofbiz/trunk/framework/widget/dtd/widget-tree.xsd (original)
>>>> +++ ofbiz/trunk/framework/widget/dtd/widget-tree.xsd Wed Aug 27
>>>> 21:17:48 2008
>>>> @@ -504,6 +504,14 @@
>>>>             </xs:restriction>
>>>>         </xs:simpleType>
>>>>     </xs:attribute>
>>>> +        <xs:attribute name="ignore" default="false">
>>>> +            <xs:annotation>
>>>> +                <xs:documentation>
>>>> +                    Ignore the condition if flag is true.
>>>> +                    Defaults to false.
>>>> +                </xs:documentation>
>>>> +            </xs:annotation>
>>>> +        </xs:attribute>
>>>> </xs:attributeGroup>
>>>>
>>>> <!-- ================ CONDITIONS ================ -->
>>>>
>>>>
>>>
>> --
>> Antwebsystems.com: Quality OFBiz services for competitive prices
>>
>
>