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
Change History
Note: See
TracTickets for help on using
tickets.

