From 8a2d75e04b7d6226d07ba0eae8ffce4f5ac95c48 Mon Sep 17 00:00:00 2001 From: Mathieu Date: Wed, 16 Nov 2022 09:19:43 +0100 Subject: [PATCH] Introduce GML names --- .../src/org/argeo/app/api/entity.cnd | 1 + .../app/core/SuiteMaintenanceService.java | 10 ++++++++- .../src/org/argeo/app/docbook/DbkUtils.java | 4 ++-- .../src/org/argeo/app/geo/GmlAttr.java | 22 +++++++++++++++++++ .../src/org/argeo/app/geo/GmlType.java | 20 +++++++++++++++++ 5 files changed, 54 insertions(+), 3 deletions(-) create mode 100644 org.argeo.app.core/src/org/argeo/app/geo/GmlAttr.java create mode 100644 org.argeo.app.core/src/org/argeo/app/geo/GmlType.java diff --git a/org.argeo.app.api/src/org/argeo/app/api/entity.cnd b/org.argeo.app.api/src/org/argeo/app/api/entity.cnd index 0b52c4d..8378860 100644 --- a/org.argeo.app.api/src/org/argeo/app/api/entity.cnd +++ b/org.argeo.app.api/src/org/argeo/app/api/entity.cnd @@ -4,6 +4,7 @@ // see https://www.w3.org/2003/01/geo/ + diff --git a/org.argeo.app.core/src/org/argeo/app/core/SuiteMaintenanceService.java b/org.argeo.app.core/src/org/argeo/app/core/SuiteMaintenanceService.java index 12db152..9c74dde 100644 --- a/org.argeo.app.core/src/org/argeo/app/core/SuiteMaintenanceService.java +++ b/org.argeo.app.core/src/org/argeo/app/core/SuiteMaintenanceService.java @@ -9,6 +9,8 @@ import javax.jcr.RepositoryException; import javax.jcr.Session; import javax.jcr.nodetype.NodeType; import javax.jcr.security.Privilege; +import javax.measure.Quantity; +import javax.measure.quantity.Area; import org.argeo.api.acr.spi.ContentNamespace; import org.argeo.api.cms.CmsConstants; @@ -17,10 +19,16 @@ import org.argeo.jcr.JcrUtils; import org.argeo.maintenance.AbstractMaintenanceService; import org.geotools.gml3.v3_2.GML; +import si.uom.SI; +import tech.units.indriya.quantity.Quantities; + /** Initialises an Argeo Suite backend. */ public class SuiteMaintenanceService extends AbstractMaintenanceService { @Override public void init() { + // make sure that the unit system is initialised + Quantity dummy = Quantities.getQuantity(0, SI.SQUARE_METRE); + super.init(); getContentRepository().registerTypes(SuiteContentNamespace.values()); @@ -28,7 +36,7 @@ public class SuiteMaintenanceService extends AbstractMaintenanceService { // getContentRepository().registerTypes(types.getDefaultPrefix(), types.getNamespace(), // types.getResource() != null ? types.getResource().toExternalForm() : null); // } - + // GML schema import fails because of xlinks issues getContentRepository().registerTypes(new ContentNamespace() { diff --git a/org.argeo.app.core/src/org/argeo/app/docbook/DbkUtils.java b/org.argeo.app.core/src/org/argeo/app/docbook/DbkUtils.java index 6c959f4..b0d352b 100644 --- a/org.argeo.app.core/src/org/argeo/app/docbook/DbkUtils.java +++ b/org.argeo.app.core/src/org/argeo/app/docbook/DbkUtils.java @@ -70,7 +70,7 @@ public class DbkUtils { public static void setTitle(Node node, String txt) { Node titleNode = getOrAddDbk(node, DbkType.title); - JcrxApi.setXmlValue(node, titleNode, txt); + JcrxApi.setXmlValue(titleNode, txt); } public static Node getMetadata(Node infoContainer) { @@ -103,7 +103,7 @@ public class DbkUtils { public static Node addParagraph(Node node, String txt) { Node p = addDbk(node, para); - JcrxApi.setXmlValue(node, p, txt); + JcrxApi.setXmlValue(p, txt); return p; } diff --git a/org.argeo.app.core/src/org/argeo/app/geo/GmlAttr.java b/org.argeo.app.core/src/org/argeo/app/geo/GmlAttr.java new file mode 100644 index 0000000..77b0885 --- /dev/null +++ b/org.argeo.app.core/src/org/argeo/app/geo/GmlAttr.java @@ -0,0 +1,22 @@ +package org.argeo.app.geo; + +import org.argeo.api.acr.QNamed; + +public enum GmlAttr implements QNamed { + uom + // + ; + + public final static String UOM_SQUARE_METERS = "m2"; + + @Override + public String getNamespace() { + return "http://www.opengis.net/gml/3.2"; + } + + @Override + public String getDefaultPrefix() { + return "gml"; + } + +} diff --git a/org.argeo.app.core/src/org/argeo/app/geo/GmlType.java b/org.argeo.app.core/src/org/argeo/app/geo/GmlType.java new file mode 100644 index 0000000..980a5e4 --- /dev/null +++ b/org.argeo.app.core/src/org/argeo/app/geo/GmlType.java @@ -0,0 +1,20 @@ +package org.argeo.app.geo; + +import org.argeo.api.acr.QNamed; + +public enum GmlType implements QNamed { + measure + // + ; + + @Override + public String getNamespace() { + return "http://www.opengis.net/gml/3.2"; + } + + @Override + public String getDefaultPrefix() { + return "gml"; + } + +} -- 2.30.2