Skip to content

Commit d0d3f66

Browse files
authored
Merge pull request #23 from computate/computate
computate
2 parents f11fef2 + f4bec73 commit d0d3f66

File tree

4 files changed

+120
-83
lines changed

4 files changed

+120
-83
lines changed

src/main/java/org/computate/frFR/java/ConfigSite.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -601,6 +601,16 @@ protected void _solrId() throws Exception {
601601
langueConfigGlobale.getString(I18n.var_SOLR_ID));
602602
}
603603

604+
public String solrCollectionComputate;
605+
606+
public String getSolrCollectionComputate() {
607+
return solrCollectionComputate;
608+
}
609+
610+
public void setSolrCollectionComputate(String solrCollectionComputate) {
611+
this.solrCollectionComputate = solrCollectionComputate;
612+
}
613+
604614
/**
605615
* Var.enUS: solrUrlComputate enUS: The Solr web URL for the "computate" index.
606616
*/
@@ -628,6 +638,11 @@ protected void _solrMotDePasse() throws Exception {
628638
.getString(langueConfigGlobale.getString(I18n.var_SOLR_MOT_DE_PASSE));
629639
}
630640

641+
protected void _solrCollectionComputate() throws Exception {
642+
solrCollectionComputate = config
643+
.getString(langueConfigGlobale.getString(I18n.var_SOLR_COLLECTION_COMPUTATE));
644+
}
645+
631646
/**
632647
* Var.enUS: _solrUrlComputate r: solrUrlComputate r.enUS: solrUrlComputate r:
633648
* solrUrl r.enUS: solrUrl r: portSolr r.enUS: solrPort
@@ -1029,6 +1044,7 @@ public void initConfigSite() throws Exception {
10291044
// _portSolr();
10301045
_solrUtilisateur();
10311046
_solrMotDePasse();
1047+
_solrCollectionComputate();
10321048
_solrUrlComputate();
10331049
_solrUrlFiware();
10341050
_clientSolrComputate();

src/main/java/org/computate/frFR/java/EcrireApiClasse.java

Lines changed: 83 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -2799,6 +2799,7 @@ else if(classeApiMethode.equals(i18nGlobale.getString(I18n.var_PUTFusion)) || cl
27992799
tl(1, "}");
28002800
}
28012801
else if(StringUtils.containsAny(classeApiMethode, i18nGlobale.getString(I18n.var_PUTFusion), "PUTImport")) {
2802+
// putimportFuture //
28022803
l();
28032804
tl(1, "@Override");
28042805
tl(1, "public void ", classeApiOperationIdMethode, "Future(" , StringUtils.equals(classeApiTypeMediaRequeteMethode, "application/json") ? "JsonObject" : "String", " body, ServiceRequest ", i18nGlobale.getString(I18n.var_requeteService), ", Handler<AsyncResult<ServiceResponse>> ", i18nGlobale.getString(I18n.var_gestionnaireEvenements), ") {");
@@ -2822,88 +2823,102 @@ else if(StringUtils.containsAny(classeApiMethode, i18nGlobale.getString(I18n.var
28222823
tl(4, "if(Optional.ofNullable(", i18nGlobale.getString(I18n.var_requeteService), ".getParams()).map(p -> p.getJsonObject(\"query\")).map( q -> q.getJsonArray(\"var\")).orElse(new JsonArray()).stream().filter(s -> \"", i18nGlobale.getString(I18n.var_recharger), ":false\".equals(s)).count() > 0L) {");
28232824
tl(5, i18nGlobale.getString(I18n.var_requeteSite), ".get", i18nGlobale.getString(I18n.var_Requete), "Vars().put( \"", i18nGlobale.getString(I18n.var_recharger), "\", \"false\" );");
28242825
tl(4, "}");
2825-
l();
2826-
tl(4, classePartsListeRecherche.nomSimple(classeLangueNom), "<", classeApiClasseNomSimple, "> ", i18nGlobale.getString(I18n.var_listeRecherche), " = new ", classePartsListeRecherche.nomSimple(classeLangueNom), "<", classeApiClasseNomSimple, ">();");
2827-
tl(4, i18nGlobale.getString(I18n.var_listeRecherche), ".set", i18nGlobale.getString(I18n.var_Stocker), "(true);");
2828-
tl(4, i18nGlobale.getString(I18n.var_listeRecherche), ".q(\"*:*\");");
2829-
tl(4, i18nGlobale.getString(I18n.var_listeRecherche), ".setC(", classeNomSimple, ".class);");
2830-
if(activerArchive)
2831-
tl(4, i18nGlobale.getString(I18n.var_listeRecherche), ".fq(\"", i18nGlobale.getString(I18n.var_archive), "_docvalues_boolean:false\");");
2832-
tl(4, i18nGlobale.getString(I18n.var_listeRecherche), ".fq(\"", classeVarId, classeVarIdSuffixeSolr, ":\" + SearchTool.escapeQueryChars(", classeVarInheritClePrimaire, "));");
2833-
tl(4, i18nGlobale.getString(I18n.var_listeRecherche), ".", i18nGlobale.getString(I18n.var_promesseLoin), i18nGlobale.getString(I18n.var_PourClasse), "(", i18nGlobale.getString(I18n.var_requeteSite), ").onSuccess(a -> {");
2834-
tl(5, "try {");
2835-
tl(6, "if(", i18nGlobale.getString(I18n.var_listeRecherche), ".size() >= 1) {");
2836-
tl(7, classeNomSimple, " o = ", i18nGlobale.getString(I18n.var_listeRecherche), ".getList().stream().findFirst().orElse(null);");
2837-
tl(7, classeNomSimple, " o2 = new ", classeNomSimple, "();");
2838-
tl(7, "o2.set", i18nGlobale.getString(I18n.var_RequeteSite), "_(", i18nGlobale.getString(I18n.var_requeteSite), ");");
2839-
tl(7, "JsonObject body2 = new JsonObject();");
2840-
tl(7, "for(String f : body.fieldNames()) {");
2841-
tl(8, "Object bodyVal = body.getValue(f);");
2842-
tl(8, "if(bodyVal instanceof JsonArray) {");
2843-
tl(9, "JsonArray bodyVals = (JsonArray)bodyVal;");
2844-
tl(9, "Object valsObj = o.", i18nGlobale.getString(I18n.var_obtenir), i18nGlobale.getString(I18n.var_PourClasse), "(f);");
2845-
tl(9, "Collection<?> vals = valsObj instanceof JsonArray ? ((JsonArray)valsObj).getList() : (Collection<?>)valsObj;");
2846-
tl(9, "if(bodyVals.size() == vals.size()) {");
2847-
tl(10, "Boolean match = true;");
2848-
tl(10, "for(Object val : vals) {");
2849-
tl(11, "if(val != null) {");
2850-
tl(12, "if(!bodyVals.contains(val.toString())) {");
2826+
2827+
2828+
2829+
2830+
tl(4, "pgPool.getConnection().onSuccess(", i18nGlobale.getString(I18n.var_connexionSql), " -> {");
2831+
tl(5, "String sqlQuery = String.format(\"select * from %s WHERE ", classeVarId, "=$1\", ", classeNomSimple, ".", i18nGlobale.getString(I18n.var_CLASSE_NOM_SIMPLE), ");");
2832+
tl(5, i18nGlobale.getString(I18n.var_connexionSql), ".preparedQuery(sqlQuery)");
2833+
tl(7, ".execute(Tuple.tuple(Arrays.asList(", classeVarId, "))");
2834+
tl(7, ").onSuccess(", i18nGlobale.getString(I18n.var_resultat), " -> {");
2835+
tl(6, "try {");
2836+
tl(7, "if(", i18nGlobale.getString(I18n.var_resultat), ".size() >= 1) {");
2837+
tl(8, classeNomSimple, " o = new ", classeNomSimple, "();");
2838+
tl(8, "o.set", i18nGlobale.getString(I18n.var_RequeteSite), "_(", i18nGlobale.getString(I18n.var_requeteSite), ");");
2839+
tl(8, "for(Row definition : ", i18nGlobale.getString(I18n.var_resultat), ".value()) {");
2840+
tl(9, "for(Integer i = 0; i < definition.size(); i++) {");
2841+
tl(10, "try {");
2842+
tl(11, "String columnName = definition.getColumnName(i);");
2843+
tl(11, "Object columnValue = definition.getValue(i);");
2844+
tl(11, "o.", i18nGlobale.getString(I18n.var_definir), i18nGlobale.getString(I18n.var_PourClasse), "(columnName, columnValue);");
2845+
tl(10, "} catch(Exception e) {");
2846+
tl(11, "LOG.error(String.format(\"", i18nGlobale.getString(I18n.var_definir), classeNomSimple, " ", i18nGlobale.getString(I18n.str_a_échoué), ". \"), e);");
2847+
tl(10, "}");
2848+
tl(9, "}");
2849+
tl(8, "}");
2850+
tl(8, classeNomSimple, " o2 = new ", classeNomSimple, "();");
2851+
tl(8, "o2.set", i18nGlobale.getString(I18n.var_RequeteSite), "_(", i18nGlobale.getString(I18n.var_requeteSite), ");");
2852+
tl(8, "JsonObject body2 = new JsonObject();");
2853+
tl(8, "for(String f : body.fieldNames()) {");
2854+
tl(9, "Object bodyVal = body.getValue(f);");
2855+
tl(9, "if(bodyVal instanceof JsonArray) {");
2856+
tl(10, "JsonArray bodyVals = (JsonArray)bodyVal;");
2857+
tl(10, "Object valsObj = o.", i18nGlobale.getString(I18n.var_obtenir), i18nGlobale.getString(I18n.var_PourClasse), "(f);");
2858+
tl(10, "Collection<?> vals = valsObj instanceof JsonArray ? ((JsonArray)valsObj).getList() : (Collection<?>)valsObj;");
2859+
tl(10, "if(bodyVals.size() == vals.size()) {");
2860+
tl(11, "Boolean match = true;");
2861+
tl(11, "for(Object val : vals) {");
2862+
tl(12, "if(val != null) {");
2863+
tl(13, "if(!bodyVals.contains(val.toString())) {");
2864+
tl(14, "match = false;");
2865+
tl(14, "break;");
2866+
tl(13, "}");
2867+
tl(12, "} else {");
28512868
tl(13, "match = false;");
28522869
tl(13, "break;");
28532870
tl(12, "}");
2854-
tl(11, "} else {");
2855-
tl(12, "match = false;");
2856-
tl(12, "break;");
28572871
tl(11, "}");
2872+
tl(11, "vals.clear();");
2873+
tl(11, "body2.put(\"set\" + StringUtils.capitalize(f), bodyVal);");
2874+
tl(10, "} else {");
2875+
tl(11, "vals.clear();");
2876+
tl(11, "body2.put(\"set\" + StringUtils.capitalize(f), bodyVal);");
28582877
tl(10, "}");
2859-
// tl(10, "if(!match) {");
2860-
tl(10, "vals.clear();");
2861-
tl(10, "body2.put(\"set\" + StringUtils.capitalize(f), bodyVal);");
2862-
// tl(10, "}");
28632878
tl(9, "} else {");
2864-
tl(10, "vals.clear();");
2865-
tl(10, "body2.put(\"set\" + StringUtils.capitalize(f), bodyVal);");
2879+
tl(10, "o2.", i18nGlobale.getString(I18n.var_definir), i18nGlobale.getString(I18n.var_PourClasse), "(f, bodyVal);");
2880+
tl(10, "o2.", i18nGlobale.getString(I18n.var_attribuer), i18nGlobale.getString(I18n.var_PourClasse), "(f, bodyVal);");
2881+
tl(10, "if(!StringUtils.containsAny(f, \"", classeVarId, "\", \"", i18nGlobale.getString(I18n.var_cree), "\", \"set", i18nGlobale.getString(I18n.var_Cree), "\") && !Objects.equals(o.", i18nGlobale.getString(I18n.var_obtenir), i18nGlobale.getString(I18n.var_PourClasse), "(f), o2.", i18nGlobale.getString(I18n.var_obtenir), i18nGlobale.getString(I18n.var_PourClasse), "(f)))");
2882+
tl(9, "body2.put(\"set\" + StringUtils.capitalize(f), bodyVal);");
28662883
tl(9, "}");
2867-
tl(8, "} else {");
2868-
tl(9, "o2.", i18nGlobale.getString(I18n.var_definir), i18nGlobale.getString(I18n.var_PourClasse), "(f, bodyVal);");
2869-
tl(9, "o2.", i18nGlobale.getString(I18n.var_attribuer), i18nGlobale.getString(I18n.var_PourClasse), "(f, bodyVal);");
2870-
tl(9, "if(!StringUtils.containsAny(f, \"", classeVarId, "\", \"", i18nGlobale.getString(I18n.var_cree), "\", \"set", i18nGlobale.getString(I18n.var_Cree), "\") && !Objects.equals(o.", i18nGlobale.getString(I18n.var_obtenir), i18nGlobale.getString(I18n.var_PourClasse), "(f), o2.", i18nGlobale.getString(I18n.var_obtenir), i18nGlobale.getString(I18n.var_PourClasse), "(f)))");
2871-
tl(10, "body2.put(\"set\" + StringUtils.capitalize(f), bodyVal);");
28722884
tl(8, "}");
2873-
tl(7, "}");
2874-
tl(7, "for(String f : Optional.ofNullable(o.get", i18nGlobale.getString(I18n.var_Sauvegardes), "()).orElse(new ArrayList<>())) {");
2875-
tl(8, "if(!body.fieldNames().contains(f)) {");
2876-
tl(9, "if(!StringUtils.containsAny(f, \"", classeVarId, "\", \"", i18nGlobale.getString(I18n.var_cree), "\", \"set", i18nGlobale.getString(I18n.var_Cree), "\") && !Objects.equals(o.", i18nGlobale.getString(I18n.var_obtenir), i18nGlobale.getString(I18n.var_PourClasse), "(f), o2.", i18nGlobale.getString(I18n.var_obtenir), i18nGlobale.getString(I18n.var_PourClasse), "(f)))");
2877-
tl(10, "body2.putNull(\"set\" + StringUtils.capitalize(f));");
2885+
tl(8, "for(String f : Optional.ofNullable(o.get", i18nGlobale.getString(I18n.var_Sauvegardes), "()).orElse(new ArrayList<>())) {");
2886+
tl(9, "if(!body.fieldNames().contains(f)) {");
2887+
tl(10, "if(!StringUtils.containsAny(f, \"", classeVarId, "\", \"", i18nGlobale.getString(I18n.var_cree), "\", \"set", i18nGlobale.getString(I18n.var_Cree), "\") && !Objects.equals(o.", i18nGlobale.getString(I18n.var_obtenir), i18nGlobale.getString(I18n.var_PourClasse), "(f), o2.", i18nGlobale.getString(I18n.var_obtenir), i18nGlobale.getString(I18n.var_PourClasse), "(f)))");
2888+
tl(11, "body2.putNull(\"set\" + StringUtils.capitalize(f));");
2889+
tl(9, "}");
28782890
tl(8, "}");
2879-
tl(7, "}");
2880-
tl(7, "if(", i18nGlobale.getString(I18n.var_listeRecherche), ".size() == 1) {");
2881-
tl(8, i18nGlobale.getString(I18n.var_requeteApi), ".setOriginal(o);");
2882-
tl(8, i18nGlobale.getString(I18n.var_requeteApi), ".setId(o.get", StringUtils.capitalize(classeVarId), "());");
2891+
tl(8, "if(", i18nGlobale.getString(I18n.var_resultat), ".size() >= 1) {");
2892+
tl(9, i18nGlobale.getString(I18n.var_requeteApi), ".setOriginal(o);");
2893+
tl(9, i18nGlobale.getString(I18n.var_requeteApi), ".setId(o.get", StringUtils.capitalize(classeVarId), "());");
28832894
if(classeModele)
2884-
tl(8, i18nGlobale.getString(I18n.var_requeteApi), ".set", classeVarClePrimaireCapitalise, "(o.get", StringUtils.capitalize(classeVarClePrimaire), "());");
2895+
tl(9, i18nGlobale.getString(I18n.var_requeteApi), ".set", classeVarClePrimaireCapitalise, "(o.get", StringUtils.capitalize(classeVarClePrimaire), "());");
2896+
tl(8, "}");
2897+
tl(8, i18nGlobale.getString(I18n.var_requeteSite), ".set", i18nGlobale.getString(I18n.var_ObjetJson), "(body2);");
2898+
tl(8, "patch", classeNomSimple, "Future(", (classeModele ? "o" : "o2"), ", ", classeApiMethode.equals("PUTImport"), ").onSuccess(b -> {");
2899+
tl(9, "LOG.debug(\"Import ", classeNomSimple, " {} ", i18nGlobale.getString(I18n.str_a_réussi), ", ", i18nGlobale.getString(I18n.var_modifie), " ", classeNomSimple, ". \", body.getValue(", classeNomSimple, ".VAR_", classeVarId, "));");
2900+
tl(9, i18nGlobale.getString(I18n.var_gestionnaireEvenements), ".handle(Future.succeededFuture());");
2901+
tl(8, "}).onFailure(ex -> {");
2902+
tl(9, "LOG.error(String.format(\"", classeApiOperationIdMethode, "Future ", i18nGlobale.getString(I18n.str_a_échoué), ". \"), ex);");
2903+
tl(9, i18nGlobale.getString(I18n.var_gestionnaireEvenements), ".handle(Future.failedFuture(ex));");
2904+
tl(8, "});");
2905+
tl(7, "} else {");
2906+
tl(8, "post", classeNomSimple, "Future(", i18nGlobale.getString(I18n.var_requeteSite), ", ", classeApiMethode.equals("PUTImport"), ").onSuccess(b -> {");
2907+
tl(9, "LOG.debug(\"Import ", classeNomSimple, " {} ", i18nGlobale.getString(I18n.str_a_réussi), ", ", i18nGlobale.getString(I18n.str_créé_nouveau), " ", classeNomSimple, ". \", body.getValue(", classeNomSimple, ".VAR_", classeVarId, "));");
2908+
tl(9, i18nGlobale.getString(I18n.var_gestionnaireEvenements), ".handle(Future.succeededFuture());");
2909+
tl(8, "}).onFailure(ex -> {");
2910+
tl(9, "LOG.error(String.format(\"", classeApiOperationIdMethode, "Future ", i18nGlobale.getString(I18n.str_a_échoué), ". \"), ex);");
2911+
tl(9, i18nGlobale.getString(I18n.var_gestionnaireEvenements), ".handle(Future.failedFuture(ex));");
2912+
tl(8, "});");
28852913
tl(7, "}");
2886-
tl(7, i18nGlobale.getString(I18n.var_requeteSite), ".set", i18nGlobale.getString(I18n.var_ObjetJson), "(body2);");
2887-
tl(7, "patch", classeNomSimple, "Future(", (classeModele ? "o" : "o2"), ", ", classeApiMethode.equals("PUTImport"), ").onSuccess(b -> {");
2888-
tl(8, "LOG.debug(\"Import ", classeNomSimple, " {} ", i18nGlobale.getString(I18n.str_a_réussi), ", ", i18nGlobale.getString(I18n.var_modifie), " ", classeNomSimple, ". \", body.getValue(", classeNomSimple, ".VAR_", classeVarId, "));");
2889-
tl(8, i18nGlobale.getString(I18n.var_gestionnaireEvenements), ".handle(Future.succeededFuture());");
2890-
tl(7, "}).onFailure(ex -> {");
2891-
tl(8, "LOG.error(String.format(\"", classeApiOperationIdMethode, "Future ", i18nGlobale.getString(I18n.str_a_échoué), ". \"), ex);");
2892-
tl(8, i18nGlobale.getString(I18n.var_gestionnaireEvenements), ".handle(Future.failedFuture(ex));");
2893-
tl(7, "});");
2894-
tl(6, "} else {");
2895-
tl(7, "post", classeNomSimple, "Future(", i18nGlobale.getString(I18n.var_requeteSite), ", ", classeApiMethode.equals("PUTImport"), ").onSuccess(b -> {");
2896-
tl(8, "LOG.debug(\"Import ", classeNomSimple, " {} ", i18nGlobale.getString(I18n.str_a_réussi), ", ", i18nGlobale.getString(I18n.str_créé_nouveau), " ", classeNomSimple, ". \", body.getValue(", classeNomSimple, ".VAR_", classeVarId, "));");
2897-
tl(8, i18nGlobale.getString(I18n.var_gestionnaireEvenements), ".handle(Future.succeededFuture());");
2898-
tl(7, "}).onFailure(ex -> {");
2899-
tl(8, "LOG.error(String.format(\"", classeApiOperationIdMethode, "Future ", i18nGlobale.getString(I18n.str_a_échoué), ". \"), ex);");
2900-
tl(8, i18nGlobale.getString(I18n.var_gestionnaireEvenements), ".handle(Future.failedFuture(ex));");
2901-
tl(7, "});");
2914+
tl(6, "} catch(Exception ex) {");
2915+
tl(7, "LOG.error(String.format(\"", classeApiOperationIdMethode, "Future ", i18nGlobale.getString(I18n.str_a_échoué), ". \"), ex);");
2916+
tl(7, i18nGlobale.getString(I18n.var_gestionnaireEvenements), ".handle(Future.failedFuture(ex));");
29022917
tl(6, "}");
2903-
tl(5, "} catch(Exception ex) {");
2918+
tl(5, "}).onFailure(ex -> {");
29042919
tl(6, "LOG.error(String.format(\"", classeApiOperationIdMethode, "Future ", i18nGlobale.getString(I18n.str_a_échoué), ". \"), ex);");
29052920
tl(6, i18nGlobale.getString(I18n.var_gestionnaireEvenements), ".handle(Future.failedFuture(ex));");
2906-
tl(5, "}");
2921+
tl(5, "});");
29072922
tl(4, "}).onFailure(ex -> {");
29082923
tl(5, "LOG.error(String.format(\"", classeApiOperationIdMethode, "Future ", i18nGlobale.getString(I18n.str_a_échoué), ". \"), ex);");
29092924
tl(5, i18nGlobale.getString(I18n.var_gestionnaireEvenements), ".handle(Future.failedFuture(ex));");

src/main/java/org/computate/frFR/java/EcrireGenClasse.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3576,6 +3576,8 @@ else if("ZonedDateTime".equals(entiteNomSimpleGenerique)) {
35763576
tl(1, "@JsonSerialize(contentUsing = ", classePartsZonedDateTimeSerializer.nomSimple(langueNom), ".class)");
35773577

35783578
tl(1, "@JsonFormat(shape=JsonFormat.Shape.ARRAY, pattern=\"yyyy-MM-dd'T'HH:mm:ss.SSSV'['VV']'\")");
3579+
} else {
3580+
tl(1, "@JsonFormat(shape = JsonFormat.Shape.ARRAY)");
35793581
}
35803582
} else {
35813583
if("JsonArray".equals(entiteNomSimple)) {
@@ -5393,7 +5395,7 @@ else if(entiteNomSimple.equals("List") || entiteNomSimple.equals("ArrayList") ||
53935395
}
53945396

53955397
o = wDefinirObjet;
5396-
if(classeIndexe && BooleanUtils.isTrue(entiteDefinir) || BooleanUtils.isTrue(entiteAttribuer) && !"array".equals(entiteTypeJson)) {
5398+
if(classeIndexe && (BooleanUtils.isTrue(entiteDefinir) || BooleanUtils.isTrue(entiteClePrimaire)) || BooleanUtils.isTrue(entiteAttribuer) && !"array".equals(entiteTypeJson)) {
53975399
// tl(3, "case \"", entiteVar.toLowerCase(), "\":");
53985400
tl(3, wDefinirObjet.getEmpty() ? "if" : "} else if", "(\"", entiteVar.toLowerCase(), "\".equals(varLower)) {");
53995401
if(StringUtils.equals(entiteNomCanonique, List.class.getCanonicalName()) || StringUtils.equals(entiteNomCanonique, ArrayList.class.getCanonicalName())) {

0 commit comments

Comments
 (0)