Hi,
while reviewing the gt-complex work an observation came out that the
JXPath based PropertyAccessor in xsd-core was:
- most likely redundant
- able to deal with simple features only anyways
- most likely ready to be dropped
- that would also save a dependency from xsd-core to jxpath

Ok, so I tried to test the above theories, here are my findings.
(and oh, I thought this was going to be easy... I was wrong).

First off, the dependency to jxpath cannot be dropped, as there is another
thing
depending on it: the xpath based streaming parser.
Try to remove the whole content of the impl/xpath folder and test in
xsd-gml2
module will start failing.
I believe Justin wants to deprecate the jxpath based streaming parser, which
means we could probably drop that dependency in the 10.x series?

However, it seems the property accessor is not needed by geotools, the build
goes smoothly without it.

Things do not go as smoothly in GeoServer though, there are a few tests
failing in WFS and one in app-schema as well, and WFS CITE tests were
failing too.

All the issues could be referred to a single cause:
the SimpleFeaturePropertyAccessorFactory
uses a regular expression to match valid property patterns that is way too
strict
for real world, valid simple feature elements: it did not consider the
possibility
of having dots, or accented chars, or dashes and the like in the name, nor
having
the indexed access referring to the first instance, e.g., attribute[1].

I've modified it so that it can accept any valid XML element name, plus the
eventual
[1] at the end:
https://github.com/geotools/geotools/pull/109/files#L14R59

With this modification I have full pass in the GeoServer build (minus a
app-schema
test that is checking for the content of a error message, and the error
message
changes from "property x not found" to "property accessor for x not found"),
as well as CITE tests for WFS 1.0 and WFS 1.1

Ah, about the cite tests. The WFS 1.1 ones passed without issues, the WFS
1.0
ones failed all date related tests until I switched to using prepared
statements,
at which point those tests passed too.  This is probably due to the
PostgreSQL
version, 9.1.7 on my machine.

Anyways, all seems good, here is the pull request:
https://github.com/geotools/geotools/pull/109
(and yes, I also have a tiny patch to fix the app-schema integration test
expectations
 in GeoServer, so big I'm going to show it inline:

diff --git
a/src/extension/app-schema/app-schema-test/src/test/java/org/geoserver/test/PropertySelectionTest.java
b/src/extension/app-schema/app-schema-test/src/test/java/org/geoserver/test/PropertySelectio
index c5f9ef4..e39b778 100644
---
a/src/extension/app-schema/app-schema-test/src/test/java/org/geoserver/test/PropertySelectionTest.java
+++
b/src/extension/app-schema/app-schema-test/src/test/java/org/geoserver/test/PropertySelectionTest.java
@@ -128,7 +128,7 @@ public class PropertySelectionTest extends
AbstractAppSchemaTestSupport {

         // test exception refering to missing column
         assertTrue(evaluate("//ows:ExceptionText", doc)
-                .endsWith("No value for xpath: DOESNT_EXIST"));
+                .contains("Could not find working property accessor for
attribute (DOESNT_EXIST)"));

     }



Ok to merge?

Cheers
Andrea


-- 
==
Our support, Your Success! Visit http://opensdi.geo-solutions.it for more
information.
==

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054  Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39  339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

-------------------------------------------------------
------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. SALE $99.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122912
_______________________________________________
GeoTools-Devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to