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 <[EMAIL PROTECTED]>

> 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, [EMAIL PROTECTED] 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 via email to