diff --git a/src/main/java/org/computate/frFR/java/EcrireGenClasse.java b/src/main/java/org/computate/frFR/java/EcrireGenClasse.java index 2cbc4e18..43631ba7 100644 --- a/src/main/java/org/computate/frFR/java/EcrireGenClasse.java +++ b/src/main/java/org/computate/frFR/java/EcrireGenClasse.java @@ -3703,31 +3703,10 @@ else if(entiteSetUpper) staticSet = true; } - // Setter Point // - if(StringUtils.equals(entiteNomCanonique, VAL_nomCanoniquePoint)) { - tl(1, "@JsonIgnore"); - tl(1, "public void set", entiteVarCapitalise, "(String o) {"); - tl(2, "this.", entiteVar, " = ", classeNomSimple, ".staticSet", entiteVarCapitalise, "(", classeContientRequeteSite ? (langueConfig.getString(ConfigCles.var_requeteSite) + "_") : "null", ", o);"); - tl(1, "}"); - tl(1, "public static ", entiteNomSimpleComplet, " staticSet", entiteVarCapitalise, "(", classePartsRequeteSite.getEtendBase() ? classePartsRequeteSite.getNomSimpleSuperGenerique() : classePartsRequeteSite.nomSimple(langueNom), " ", langueConfig.getString(ConfigCles.var_requeteSite), "_, String o) {"); - tl(2, "if(o != null) {"); - tl(3, "Matcher m = Pattern.compile(\"\\\\{[\\\\w\\\\W]*\\\"coordinates\\\"\\\\s*:\\\\s*\\\\[\\\\s*(\\\\d*\\\\.\\\\d*)\\\\s*,\\\\s*(\\\\d*\\\\.\\\\d*)\\\\]\").matcher(o);"); - tl(3, "if(m.find())"); - tl(4, "return new Point(Double.parseDouble(m.group(1)), Double.parseDouble(m.group(2)));"); - tl(3, "m = Pattern.compile(\"\\\\s*(\\\\d*\\\\.\\\\d*)\\\\s*,\\\\s*(\\\\d*\\\\.\\\\d*)\").matcher(o);"); - tl(3, "if(m.find())"); - tl(4, "return new Point(Double.parseDouble(m.group(1)), Double.parseDouble(m.group(2)));"); - tl(3, "throw new RuntimeException(String.format(\"Invalid point format \\\"%s\\\", try these formats instead: 55.633703,13.49254 or {\\\"type\\\":\\\"Point\\\",\\\"coordinates\\\":[55.633703,13.49254]}\", o));"); - tl(2, "}"); - tl(2, "return null;"); - tl(1, "}"); - staticSet = true; - } - // Setter Path // if( - StringUtils.equals(entiteNomCanonique, VAL_nomCanoniquePath) || StringUtils.equals(entiteNomCanonique, VAL_nomCanoniquePolygon) - || StringUtils.equals(entiteNomCanoniqueGenerique, VAL_nomCanoniquePath) || StringUtils.equals(entiteNomCanoniqueGenerique, VAL_nomCanoniquePolygon) + StringUtils.equals(entiteNomCanonique, VAL_nomCanoniquePoint) || StringUtils.equals(entiteNomCanonique, VAL_nomCanoniquePath) || StringUtils.equals(entiteNomCanonique, VAL_nomCanoniquePolygon) + || StringUtils.equals(entiteNomCanoniqueGenerique, VAL_nomCanoniquePoint) || StringUtils.equals(entiteNomCanoniqueGenerique, VAL_nomCanoniquePath) || StringUtils.equals(entiteNomCanoniqueGenerique, VAL_nomCanoniquePolygon) ) { tl(1, "@JsonIgnore"); @@ -3772,7 +3751,11 @@ else if(entiteSetUpper) tl(2, "if(o != null) {"); tl(3, "try {"); tl(4, entiteNomCanoniqueGenerique == null ? entiteNomSimple : entiteNomSimpleGenerique, " shape = new ", entiteNomCanoniqueGenerique == null ? entiteNomSimple : entiteNomSimpleGenerique, "();"); - if(StringUtils.equals(entiteNomCanonique, VAL_nomCanoniquePath) || StringUtils.equals(entiteNomCanoniqueGenerique, VAL_nomCanoniquePath)) { + if(StringUtils.equals(entiteNomCanonique, VAL_nomCanoniquePoint) || StringUtils.equals(entiteNomCanoniqueGenerique, VAL_nomCanoniquePoint)) { + tl(4, "JsonArray coordinates = o.getJsonArray(\"coordinates\");"); + tl(4, "shape.setX(coordinates.getDouble(0));"); + tl(4, "shape.setY(coordinates.getDouble(1));"); + } else if(StringUtils.equals(entiteNomCanonique, VAL_nomCanoniquePath) || StringUtils.equals(entiteNomCanoniqueGenerique, VAL_nomCanoniquePath)) { tl(4, "o.getJsonArray(\"coordinates\").stream().map(a -> (JsonArray)a).forEach(points -> {"); tl(5, "shape.addPoint(new Point(Double.parseDouble(points.getString(0)), Double.parseDouble(points.getString(1))));"); tl(4, "});"); diff --git a/src/main/java/org/computate/frFR/java/IndexerClasse.java b/src/main/java/org/computate/frFR/java/IndexerClasse.java index cb7dfc13..eedcddde 100644 --- a/src/main/java/org/computate/frFR/java/IndexerClasse.java +++ b/src/main/java/org/computate/frFR/java/IndexerClasse.java @@ -2947,8 +2947,8 @@ else if(entiteClasseParts != null && entiteClasseParts.getDocumentSolr() != null } if( - "Path".equals(entiteNomSimple) || "Polygon".equals(entiteNomSimple) - || "Path".equals(entiteNomSimpleGenerique) || "Polygon".equals(entiteNomSimpleGenerique) + "Point".equals(entiteNomSimple) || "Path".equals(entiteNomSimple) || "Polygon".equals(entiteNomSimple) + || "Point".equals(entiteNomSimpleGenerique) || "Path".equals(entiteNomSimpleGenerique) || "Polygon".equals(entiteNomSimpleGenerique) ) { classePartsGenAjouter(ClasseParts.initClasseParts(this, "com.fasterxml.jackson.databind.ObjectMapper", classeLangueNom), classeLangueNom); classePartsGenAjouter(ClasseParts.initClasseParts(this, "com.fasterxml.jackson.databind.module.SimpleModule", classeLangueNom), classeLangueNom); @@ -3705,8 +3705,8 @@ else if(StringUtils.equalsAny(entiteNomCanonique, VAL_nomCanoniqueLong)) { entiteNomCanoniqueVertxJson = VAL_nomCanoniqueString; } else if(StringUtils.equalsAny(entiteNomCanonique, VAL_nomCanoniquePoint)) { - entiteNomSimpleVertxJson = "String"; - entiteNomCanoniqueVertxJson = VAL_nomCanoniqueString; + entiteNomSimpleVertxJson = "JsonObject"; + entiteNomCanoniqueVertxJson = VAL_nomCanoniqueVertxJsonObject; } else if(StringUtils.equalsAny(entiteNomCanonique, VAL_nomCanoniquePath)) { entiteNomSimpleVertxJson = "JsonObject"; @@ -4146,9 +4146,9 @@ else if(StringUtils.equalsAny(entiteNomCanonique, VAL_nomCanoniqueLong)) { entiteFormatHtm = "integer"; } else if(StringUtils.equalsAny(entiteNomCanonique, VAL_nomCanoniquePoint)) { - entiteTypeJson = "string"; + entiteTypeJson = "object"; if(entiteFiwareType == null) - entiteFiwareType = "string"; + entiteFiwareType = "object"; entiteNgsiType = "GeoProperty"; if(entiteFormatHtm == null) entiteFormatHtm = "default";