Introduce GML names
authorMathieu <mbaudier@argeo.org>
Wed, 16 Nov 2022 08:19:43 +0000 (09:19 +0100)
committerMathieu <mbaudier@argeo.org>
Wed, 16 Nov 2022 08:19:43 +0000 (09:19 +0100)
org.argeo.app.api/src/org/argeo/app/api/entity.cnd
org.argeo.app.core/src/org/argeo/app/core/SuiteMaintenanceService.java
org.argeo.app.core/src/org/argeo/app/docbook/DbkUtils.java
org.argeo.app.core/src/org/argeo/app/geo/GmlAttr.java [new file with mode: 0644]
org.argeo.app.core/src/org/argeo/app/geo/GmlType.java [new file with mode: 0644]

index 0b52c4d9343f82eacd0e68fe6223651689b36433..8378860cb7246cbf3b65129951f7d6199f44ef84 100644 (file)
@@ -4,6 +4,7 @@
 // see https://www.w3.org/2003/01/geo/
 <geo = "http://www.w3.org/2003/01/geo/wgs84_pos#">
 <svg = "http://www.w3.org/2000/svg">
 // see https://www.w3.org/2003/01/geo/
 <geo = "http://www.w3.org/2003/01/geo/wgs84_pos#">
 <svg = "http://www.w3.org/2000/svg">
+<gml = "http://www.opengis.net/gml/3.2">
 
 <ldap = "http://www.argeo.org/ns/ldap">
 <entity = 'http://www.argeo.org/ns/entity'>
 
 <ldap = "http://www.argeo.org/ns/ldap">
 <entity = 'http://www.argeo.org/ns/entity'>
index 12db1525f5425e13c18de0978a9f38fa4692f0f8..9c74ddee62d7c8502bae0733ac6244e19a417e54 100644 (file)
@@ -9,6 +9,8 @@ import javax.jcr.RepositoryException;
 import javax.jcr.Session;
 import javax.jcr.nodetype.NodeType;
 import javax.jcr.security.Privilege;
 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;
 
 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 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() {
 /** Initialises an Argeo Suite backend. */
 public class SuiteMaintenanceService extends AbstractMaintenanceService {
        @Override
        public void init() {
+               // make sure that the unit system is initialised
+               Quantity<Area> dummy = Quantities.getQuantity(0, SI.SQUARE_METRE);
+
                super.init();
 
                getContentRepository().registerTypes(SuiteContentNamespace.values());
                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);
 //             }
 //                     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() {
 
                // GML schema import fails because of xlinks issues
                getContentRepository().registerTypes(new ContentNamespace() {
 
index 6c959f43d3269c3e90287e508abb918564db08ed..b0d352bb6049981052c9bffc636cc1339f7ae28c 100644 (file)
@@ -70,7 +70,7 @@ public class DbkUtils {
 
        public static void setTitle(Node node, String txt) {
                Node titleNode = getOrAddDbk(node, DbkType.title);
 
        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) {
        }
 
        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);
 
        public static Node addParagraph(Node node, String txt) {
                Node p = addDbk(node, para);
-               JcrxApi.setXmlValue(node, p, txt);
+               JcrxApi.setXmlValue(p, txt);
                return p;
        }
 
                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 (file)
index 0000000..77b0885
--- /dev/null
@@ -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 (file)
index 0000000..980a5e4
--- /dev/null
@@ -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";
+       }
+
+}