Also it is always nice to have the patch in a diff format that can be readily applied. As for the patches they look reasonable to me. I believe Saul has become the defacto maintainer for the filter capabilities stuff on main so you may want to get his review before committing.
-Justin Cameron Shorter wrote: > Stefan, > For these 2 issues you have found, I suggest you create an issue in the > Geoserver issue tracker. > I understand that you have fixed these issues in your branch. I suggest > you reference the svn version you committed which makes it easier to review. > Be specific about what you would like, and how you can help. In this > case, ask if it is ok if you can commit this patch back to the trunk, or > if someone else can do it for you. > > Geotools, > I suggest requesting codehaus track geotools with > http://fisheye.codehaus.org/ > It provides lots of useful metics and web based svn diffs. > > Stefan Hansen wrote: >> Dear list! >> >> I discovered a small problem in the function visit(GeometryFilter >> filter) of >> org.geotools.filter.visitor.PostPreProcessFilterSplittingVisitor.java. >> >> If the given filter is a FilterType.GEOMETRY_BBOX containing a BBOX that >> lies completely outside the maxbox, the BBOX in the filter gets altered. >> Because of this, sometimes features are returned, that are not in the >> requested BBOX. >> >> Here is the code snippet of which I think causes the problem: >> >> if(bbox!=null){ >> boolean changed = false; >> double minx,miny,maxx,maxy; >> minx = bbox.getMinX(); >> miny = bbox.getMinY(); >> maxx = bbox.getMaxX(); >> maxy = bbox.getMaxY(); >> if(minx < maxbbox.getMinX()){ >> minx = maxbbox.getMinX(); >> changed = true; >> } >> if(maxx > maxbbox.getMaxX()){ >> maxx = maxbbox.getMaxX(); >> changed = true; >> } >> if(miny < maxbbox.getMinY()){ >> miny = maxbbox.getMinY(); >> changed = true; >> } >> if(maxy > maxbbox.getMaxY()){ >> maxy = maxbbox.getMaxY(); >> changed = true; >> } >> if(changed){ >> Envelope tmp = new >> Envelope(minx,maxx,miny,maxy); >> try { >> le.setLiteral((new >> GeometryFactory()).toGeometry(tmp)); >> } catch (IllegalFilterException e) { >> logger.warning(e.toString()); >> } >> } >> >> And here is my solution, which is supposed to alter the BBOX only if it >> overlaps the maxbox: >> >> if(bbox!=null){ >> logger.warning("sh: GeometryFilter: >> BBOX!=null"); >> boolean changed = false; >> double minx,miny,maxx,maxy; >> minx = bbox.getMinX(); >> miny = bbox.getMinY(); >> maxx = bbox.getMaxX(); >> maxy = bbox.getMaxY(); >> if(minx < maxbbox.getMinX() && maxx >> > maxbbox.getMinX()){ >> minx = maxbbox.getMinX(); >> changed = true; >> } >> if(maxx > maxbbox.getMaxX() && minx >> < maxbbox.getMaxX()){ >> maxx = maxbbox.getMaxX(); >> changed = true; >> } >> if(miny < maxbbox.getMinY() && maxy >> > maxbbox.getMinY()){ >> miny = maxbbox.getMinY(); >> changed = true; >> } >> if(maxy > maxbbox.getMaxY() && miny >> > maxbbox.getMaxY()){ >> maxy = maxbbox.getMaxY(); >> changed = true; >> } >> if(changed){ >> logger.warning("sh: >> GeometryFilter: Changed true"); >> Envelope tmp = new >> Envelope(minx,maxx,miny,maxy); >> try { >> le.setLiteral((new >> GeometryFactory()).toGeometry(tmp)); >> } catch (IllegalFilterException e) { >> logger.warning(e.toString()); >> } >> } >> >> cheers, >> stefan >> >> ------------------------------------------------------------------------- >> This SF.net email is sponsored by: Splunk Inc. >> Still grepping through log files to find problems? Stop. >> Now Search log events and configuration files using AJAX and a browser. >> Download your FREE copy of Splunk now >> http://get.splunk.com/ >> _______________________________________________ >> Geotools-devel mailing list >> [email protected] >> https://lists.sourceforge.net/lists/listinfo/geotools-devel >> >> > > -- Justin Deoliveira The Open Planning Project http://topp.openplans.org ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ Geotools-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/geotools-devel
