Ticket #2081 (new feature)

Opened 4 years ago

OGC expressions & dynamic symbolizers

Reported by: dustin.a.parker Owned by:
Priority: minor Milestone: 2.13 Release
Component: general Version: SVN
Keywords: sld Cc: dparker@…
State:

Description

* Added unit tests for new classes
* Changed existing unit tests for changed APIs
*   Tests pre-compilation
* SLDs can use OGC expressions (in the form of OpenLayers.ParameterValue)
*   Backwards-compatible to ${literals}
* OpenLayers.Filter.Comparison.value2regex revamped, now side-effect free and a bit easier on the eyes
*   Tests also fixed
*   Regex2value unnecessary?  Could be redone...
* OpenLayers.Filter.FeatureId uses a set (O(1)) instead of a linear search (O(n))
* Added dynamic compilation to filters--new method compile() and API method preCompile()
* OpenLayers.Filter.Evaluate now takes a context and a feature since there seem to be some use cases that need a feature (custom contexts that contain functions, for example, see the OpenLayers.Style unit test)
* Added OpenLayers.Expression and subclasses
*   OpenLayers.Expression.Binary used to be four separate classes: Add, Sub, Mul, Div
* OpenLayers.Rule now does the style application work that used to be done by OpenLayers.Style.  It tries to copy non-dynamic styles as fast as possible.
* Added OpenLayers.ParameterValue (basically arrays of primitives and Expressions)
* Caught some undefined vars (escaping to window scope, presumably)
* New OpenLayers.Format.Expression to read OGC expressions
* Modularized reading and writing of BinaryComparisonOpType in OpenLayers.Format.Filter.*
* Changed test_Style_findPropertyStyles to test_Style_createPropertyNames (tests/Style.html)
* Created constant filters OpenLayers.Filter.Logical.TRUE and FALSE that accept and reject all features
* A couple of Formats can recognize and parse XML strings (SLD, Filter)
* Superannuated OpenLayers.Format.SLD.v1.readOgcExpression
* Removed redundant matchCase="true" in tests/Format/Filter/v1_1_0.html so xml_eq will work out
* OpenLayers.Filter.Comparision has properties 'lhs' and 'rhs' of type OpenLayers.Expression instead of 'property' and 'value' (but those can still be used during construction)
* Added OpenLayers.Util.escapeJSString for metaprogramming
* Trying out function-encapsulated files--could reduce filesizes during minification (lib/OpenLayers/Format/Expression.js)

Attachments

openlayers-dynamic-expressions.patch Download (117.9 KB) - added by dustin.a.parker 4 years ago.
Patch against r9361

Change History

Changed 4 years ago by dustin.a.parker

Patch against r9361

Note: See TracTickets for help on using tickets.