From b4ffcdbc144ccb0633f033bb0be498988374ae68 Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Sun, 24 Sep 2023 12:00:36 +0200 Subject: [PATCH] Introduce a package for Geo API --- org.argeo.app.geo/OSGI-INF/wfsHttpHandler.xml | 2 +- .../{geo/http => api/geo}/FeatureAdapter.java | 2 +- .../argeo/app/geo/http/WfsHttpHandler.java | 27 +++++-------------- 3 files changed, 8 insertions(+), 23 deletions(-) rename org.argeo.app.geo/src/org/argeo/app/{geo/http => api/geo}/FeatureAdapter.java (97%) diff --git a/org.argeo.app.geo/OSGI-INF/wfsHttpHandler.xml b/org.argeo.app.geo/OSGI-INF/wfsHttpHandler.xml index 356fa03..0347631 100644 --- a/org.argeo.app.geo/OSGI-INF/wfsHttpHandler.xml +++ b/org.argeo.app.geo/OSGI-INF/wfsHttpHandler.xml @@ -6,5 +6,5 @@ - + diff --git a/org.argeo.app.geo/src/org/argeo/app/geo/http/FeatureAdapter.java b/org.argeo.app.geo/src/org/argeo/app/api/geo/FeatureAdapter.java similarity index 97% rename from org.argeo.app.geo/src/org/argeo/app/geo/http/FeatureAdapter.java rename to org.argeo.app.geo/src/org/argeo/app/api/geo/FeatureAdapter.java index 22e1445..d00a2c0 100644 --- a/org.argeo.app.geo/src/org/argeo/app/geo/http/FeatureAdapter.java +++ b/org.argeo.app.geo/src/org/argeo/app/api/geo/FeatureAdapter.java @@ -1,4 +1,4 @@ -package org.argeo.app.geo.http; +package org.argeo.app.api.geo; import javax.xml.namespace.QName; diff --git a/org.argeo.app.geo/src/org/argeo/app/geo/http/WfsHttpHandler.java b/org.argeo.app.geo/src/org/argeo/app/geo/http/WfsHttpHandler.java index 8b2d159..2a63757 100644 --- a/org.argeo.app.geo/src/org/argeo/app/geo/http/WfsHttpHandler.java +++ b/org.argeo.app.geo/src/org/argeo/app/geo/http/WfsHttpHandler.java @@ -18,7 +18,6 @@ import javax.xml.namespace.QName; import org.argeo.api.acr.Content; import org.argeo.api.acr.ContentSession; -import org.argeo.api.acr.DName; import org.argeo.api.acr.NamespaceUtils; import org.argeo.api.acr.ldap.LdapAttr; import org.argeo.api.acr.search.AndFilter; @@ -27,10 +26,12 @@ import org.argeo.api.cms.CmsLog; import org.argeo.app.api.EntityName; import org.argeo.app.api.EntityType; import org.argeo.app.api.WGS84PosName; +import org.argeo.app.api.geo.FeatureAdapter; import org.argeo.app.geo.CqlUtils; import org.argeo.app.geo.GeoJSon; import org.argeo.app.geo.GpxUtils; import org.argeo.app.geo.JTS; +import org.argeo.cms.acr.json.AcrJsonUtils; import org.argeo.cms.http.HttpHeader; import org.argeo.cms.http.server.HttpServerUtils; import org.argeo.cms.util.LangUtils; @@ -205,10 +206,11 @@ public class WfsHttpHandler implements HttpHandler { GeoJSon.writeGeometry(generator, defaultGeometry); generator.writeStartObject("properties"); - writeTimeProperties(generator, c); - writeProperties(generator, c); + AcrJsonUtils.writeTimeProperties(generator, c); if (featureAdapter != null) featureAdapter.writeProperties(generator, c, typeName); + else + writeProperties(generator, c); generator.writeEnd();// properties object generator.writeEnd();// feature object @@ -243,24 +245,7 @@ public class WfsHttpHandler implements HttpHandler { return uuid; } - private final QName JCR_CREATED = NamespaceUtils.parsePrefixedName("jcr:created"); - - private final QName JCR_LAST_MODIFIED = NamespaceUtils.parsePrefixedName("jcr:lastModified"); - - protected void writeTimeProperties(JsonGenerator g, Content content) { - String creationDate = content.attr(DName.creationdate); - if (creationDate == null) - creationDate = content.attr(JCR_CREATED); - if (creationDate != null) - g.write(DName.creationdate.get(), creationDate); - String lastModified = content.attr(DName.getlastmodified); - if (lastModified == null) - lastModified = content.attr(JCR_LAST_MODIFIED); - if (lastModified != null) - g.write(DName.getlastmodified.get(), lastModified); - } - - protected void writeProperties(JsonGenerator generator, Content content) { + public void writeProperties(JsonGenerator generator, Content content) { String path = content.getPath(); generator.write("path", path); if (content.hasContentClass(EntityType.local)) { -- 2.30.2