On Wednesday 05 January 2011 04:47:48 pm [email protected] wrote: > Hello Mauricio, > > I wish you an happy new year and all the best for you.
Thanks you, all the best for you > > I don't know if you got time left to report my modification in the code of > gt-cql. > > For all puposes, I send to you the modified file with all the needed > modifications. > > Hoping you can get the time to report this in the trunk. Yes I can, It was commit in trunk Revision 36449 > > Many thanks. > Thanks for your collaboration > Nicolas > > -----Message d'origine----- > De : LECARTNicolas - MSY > Envoyé : lundi 20 décembre 2010 18:02 > À : [email protected]; [email protected] > Objet : RE: [Geotools-gt2-users] DURING predicate and BEFORE predicate > parsing > > Dear Mauricio, > > Now that you fixed the BEFORE CQL statement, I found a workaround to the > use of DURING. > Instead of using a DURING CQL like : "dateAttr DURING > 2006-10-10T01:30:00Z/2010-12-31T01:30:00Z" > Now I use this equivalent one : "(dateAttr AFTER 2006-10-10T01:30:00Z AND > dateAttr BEFORE 2010-12-31T01:30:00Z)" > > But, in this extract of code: > Filter filter5Expected = CQL.toFilter("(dateAttr AFTER 2006-10-10T01:30:00Z > AND dateAttr BEFORE 2010-12-31T01:30:00Z)"); > String ecqlEncoding5 = CQL.toCQL(filter5Expected); > Filter ecqlDecoding5 = CQL.toFilter(ecqlEncoding5); > > The "CQL.toCQL(filter5Expected);" statement raises a new exception due to > The FIXME exception added in the method " public Object visit(And filter, > Object extraData) " > > This exception should not be there because even if it prevents the use of > DURING CQL statement, it forbids the use of this kind of valid CQL filter > too : > "(dateAttr AFTER 2006-10-10T01:30:00Z AND dateAttr BEFORE > 2010-12-31T01:30:00Z)" > > Could you remove or simply move this code somewhere else?: > if(comparisonHasDate(child) ){ > // FIXME during should be built > throw new UnsupportedOperationException("work in progress: DURING > requires implementation!"); > > > Thank you in advance > > Cheers > > Nicolas > -----Message d'origine----- > De : [email protected] > [mailto:[email protected]] > Envoyé : lundi 20 décembre 2010 17:40 > À : [email protected]; [email protected] > Objet : Re: [Geotools-gt2-users] DURING predicate and BEFORE predicate pa > rsing > > Hi Mauricio, > > Sorry I forgot two minor remarks: > 1. I think that we should add the same patch in the methods > public Object visit(PropertyIsGreaterThan filter, Object extraData) and > public Object visit(PropertyIsLessrThan filter, Object extraData) > In order to avoid the classCast exception problem. > > 2. In the method > public Object visit(PropertyIsGreaterThanOrEqualTo filter, Object > extraData) > > the log is wrong: > LOGGER.finer("exporting PropertyIsLessThanOrEqualTo"); > Should be: > LOGGER.finer("exporting PropertyIsGreaterThanOrEqualTo "); > > Cheers > > Nicolas > -----Message d'origine----- > De : LECARTNicolas - MSY > Envoyé : lundi 20 décembre 2010 17:23 > À : LECARTNicolas - MSY; 'Mauricio Pazos'; > '[email protected]' > Objet : RE: [Geotools-gt2-users] DURING predicate and BEFORE predicate > parsing > > Hello Mauricio, > > I checked the patch in FilterToCQL class, and I noticed an issue in the > code. > > In the method > public Object visit(PropertyIsGreaterThanOrEqualTo filter, Object > extraData) { > LOGGER.finer("exporting PropertyIsLessThanOrEqualTo"); > StringBuffer output = asStringBuffer(extraData); > > Object expr1 = filter.getExpression1(); > if( expr1 instanceof PropertyName){ > PropertyName propertyName = (PropertyName) filter.getExpression1(); > propertyName.accept(this, output); > output.append(" >= "); > filter.getExpression2().accept(this, output); > } > else { > PropertyName propertyName = (PropertyName) filter.getExpression2(); > propertyName.accept(this, output); > output.append(" >= "); > filter.getExpression1().accept(this, output); > } > return output; > } > > In the else statement the comparison operator is not ">=" but "<=". > The " output.append(" >= ");" has to be repalced with > "output.append(" <= ");" > I can demonstrate this with an example: let say the method is called with > this filter : [ Tue Oct 10 01:30:00 CEST 2006 <= dateAttr ] > With your code, the output variable will contain > dateAttr <= 2006-10-10T01:30:00Z which is wrong. > > > There is the same issue in the method: > public Object visit(PropertyIsLessThanOrEqualTo filter, Object extraData) > { > LOGGER.finer("exporting PropertyIsLessThanOrEqualTo"); > StringBuffer output = asStringBuffer(extraData); > > Object expr1 = filter.getExpression1(); > if( expr1 instanceof PropertyName){ > PropertyName propertyName = (PropertyName) filter.getExpression1(); > propertyName.accept(this, output); > output.append(" <= "); > filter.getExpression2().accept(this, output); > } > else { > PropertyName propertyName = (PropertyName) filter.getExpression2(); > propertyName.accept(this, output); > output.append(" <= "); > filter.getExpression1().accept(this, output); > } > return output; > } > > In this method, in the else statement, > the "output.append(" <= ");" has to be replaced with > "output.append(" >= ");" > > > Best regards > > Nicolas > ________________________________________ > De : LECARTNicolas - MSY > Envoyé : lundi 20 décembre 2010 13:18 > À : 'Mauricio Pazos'; [email protected] > Objet : RE: [Geotools-gt2-users] DURING predicate and BEFORE predicate > parsing > > Thank you Mauricio, > > I will check the method ang get back to you. > > Best regards > > Nicolas > ________________________________________ > De : Mauricio Pazos [mailto:[email protected]] > Envoyé : lundi 20 décembre 2010 12:56 > À : [email protected] > Objet : Re: [Geotools-gt2-users] DURING predicate and BEFORE predicate > parsing > > On Friday 17 December 2010 09:43:20 pm Mauricio Pazos wrote: > > Good!, I am going to add this patch in trunk. Your collaboration is > > welcome. > > > > > > all the best > > I have added the unit test for FilterToCQL. FilterToCQL was fixed for > "after" and "before" sentences. > The "during" sentence require more work. I have added a FIXME where I think > is required to extend the code > > Have look in the method > public Object visit(And filter, Object extraData) > in the class > http://svn.osgeo.org/geotools/trunk/modules/library/cql/src/main/java/org/g >e otools/filter/text/cql2/FilterToCQL.java > > cheers -- Mauricio Pazos www.axios.es
------------------------------------------------------------------------------ Gaining the trust of online customers is vital for the success of any company that requires sensitive data to be transmitted over the Web. Learn how to best implement a security strategy that keeps consumers' information secure and instills the confidence they need to proceed with transactions. http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________ Geotools-gt2-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
