From 9af157fce06b8f21e18de568bebfa72f5cbdd1e5 Mon Sep 17 00:00:00 2001 From: Christopher Tate Date: Wed, 4 Oct 2023 21:52:39 -0600 Subject: [PATCH] Adding an InitDeepBefore class annotation to initialize class after super classes --- .../computate/frFR/java/EcrireGenClasse.java | 47 ++++++++++++++----- .../frFR/java/EcrireToutesClasses.java | 1 + .../computate/frFR/java/IndexerClasse.java | 1 + 3 files changed, 37 insertions(+), 12 deletions(-) diff --git a/src/main/java/org/computate/frFR/java/EcrireGenClasse.java b/src/main/java/org/computate/frFR/java/EcrireGenClasse.java index 64dc11a6..9543c3d3 100644 --- a/src/main/java/org/computate/frFR/java/EcrireGenClasse.java +++ b/src/main/java/org/computate/frFR/java/EcrireGenClasse.java @@ -287,6 +287,7 @@ public class EcrireGenClasse extends EcrireClasse { * Var.enUS: classInitDeep */ protected Boolean classeInitLoin; + protected Boolean classeInitLoinAvant; /** * Var.enUS: classContainsSiteRequest @@ -1384,17 +1385,33 @@ public void genCodeInitLoin(String langueNom, YAMLConfiguration langueConfig) th wInitLoin.l(); wInitLoin.tl(1, "public Future ", langueConfig.getString(ConfigCles.var_promesseLoin), classeNomSimple, "() {"); wInitLoin.tl(2, "Promise promise = Promise.promise();"); - wInitLoin.tl(2, "Promise promise2 = Promise.promise();"); - wInitLoin.tl(2, langueConfig.getString(ConfigCles.var_promesse), classeNomSimple, "(promise2);"); - wInitLoin.tl(2, "promise2.future().onSuccess(a -> {"); - if(BooleanUtils.isTrue(classeEtendBase)) { - wInitLoin.tl(3, "super.", langueConfig.getString(ConfigCles.var_promesseLoin), classeNomSimpleSuperGenerique, "(", langueConfig.getString(ConfigCles.var_requeteSite), "_).onSuccess(b -> {"); - wInitLoin.tl(4, "promise.complete();"); - wInitLoin.tl(3, "}).onFailure(ex -> {"); - wInitLoin.tl(4, "promise.fail(ex);"); - wInitLoin.tl(3, "});"); + if(classeInitLoinAvant) { + if(BooleanUtils.isTrue(classeEtendBase)) { + wInitLoin.tl(2, "super.", langueConfig.getString(ConfigCles.var_promesseLoin), classeNomSimpleSuperGenerique, "(", langueConfig.getString(ConfigCles.var_requeteSite), "_).onSuccess(a -> {"); + wInitLoin.tl(3, "Promise promise2 = Promise.promise();"); + wInitLoin.tl(3, langueConfig.getString(ConfigCles.var_promesse), classeNomSimple, "(promise2);"); + wInitLoin.tl(3, "promise2.future().onSuccess(b -> {"); + wInitLoin.tl(4, "promise.complete();"); + wInitLoin.tl(3, "}).onFailure(ex -> {"); + wInitLoin.tl(4, "promise.fail(ex);"); + wInitLoin.tl(3, "});"); + } else { + wInitLoin.tl(2, "promise2.future().onSuccess(a -> {"); + wInitLoin.tl(3, "promise.complete();"); + } } else { - wInitLoin.tl(3, "promise.complete();"); + wInitLoin.tl(2, "Promise promise2 = Promise.promise();"); + wInitLoin.tl(2, langueConfig.getString(ConfigCles.var_promesse), classeNomSimple, "(promise2);"); + wInitLoin.tl(2, "promise2.future().onSuccess(a -> {"); + if(BooleanUtils.isTrue(classeEtendBase)) { + wInitLoin.tl(3, "super.", langueConfig.getString(ConfigCles.var_promesseLoin), classeNomSimpleSuperGenerique, "(", langueConfig.getString(ConfigCles.var_requeteSite), "_).onSuccess(b -> {"); + wInitLoin.tl(4, "promise.complete();"); + wInitLoin.tl(3, "}).onFailure(ex -> {"); + wInitLoin.tl(4, "promise.fail(ex);"); + wInitLoin.tl(3, "});"); + } else { + wInitLoin.tl(3, "promise.complete();"); + } } wInitLoin.tl(2, "}).onFailure(ex -> {"); wInitLoin.tl(3, "promise.fail(ex);"); @@ -1415,9 +1432,15 @@ public void genCodeInitLoin(String langueNom, YAMLConfiguration langueConfig) th } } wInitLoin.l(" {"); + if(classeInitLoinAvant) { + if(BooleanUtils.isTrue(classeEtendBase)) + wInitLoin.tl(2, "super.", langueConfig.getString(ConfigCles.var_initLoin), classeNomSimpleSuperGenerique, "(", langueConfig.getString(ConfigCles.var_requeteSite), "_);"); + } wInitLoin.tl(2, "init", classeNomSimple, "();"); - if(BooleanUtils.isTrue(classeEtendBase)) - wInitLoin.tl(2, "super.", langueConfig.getString(ConfigCles.var_initLoin), classeNomSimpleSuperGenerique, "(", langueConfig.getString(ConfigCles.var_requeteSite), "_);"); + if(!classeInitLoinAvant) { + if(BooleanUtils.isTrue(classeEtendBase)) + wInitLoin.tl(2, "super.", langueConfig.getString(ConfigCles.var_initLoin), classeNomSimpleSuperGenerique, "(", langueConfig.getString(ConfigCles.var_requeteSite), "_);"); + } wInitLoin.tl(1, "}"); } diff --git a/src/main/java/org/computate/frFR/java/EcrireToutesClasses.java b/src/main/java/org/computate/frFR/java/EcrireToutesClasses.java index 8f2b9557..08cbd886 100644 --- a/src/main/java/org/computate/frFR/java/EcrireToutesClasses.java +++ b/src/main/java/org/computate/frFR/java/EcrireToutesClasses.java @@ -277,6 +277,7 @@ public void ecrireGenClasse(JsonObject doc, String langueNom) throws Exception { classeEtendBase = (Boolean)doc.getBoolean("classeEtendBase_stored_boolean"); classeEstBase = (Boolean)doc.getBoolean("classeEstBase_stored_boolean"); classeInitLoin = (Boolean)doc.getBoolean("classeInitLoin_stored_boolean"); + classeInitLoinAvant = (Boolean)doc.getBoolean("classeInitLoinAvant_stored_boolean"); classeContientRequeteSite = (Boolean)doc.getBoolean("classeContientRequeteSite_stored_boolean"); classeSauvegarde = BooleanUtils.isTrue((Boolean)doc.getBoolean("classeSauvegarde_stored_boolean")); classeIndexe = BooleanUtils.isTrue((Boolean)doc.getBoolean("classeIndexe_stored_boolean")); diff --git a/src/main/java/org/computate/frFR/java/IndexerClasse.java b/src/main/java/org/computate/frFR/java/IndexerClasse.java index 7cdc8880..0b2aa3b0 100644 --- a/src/main/java/org/computate/frFR/java/IndexerClasse.java +++ b/src/main/java/org/computate/frFR/java/IndexerClasse.java @@ -3554,6 +3554,7 @@ else if(classeQdoxSuper != null) { classePartsZonedDateTimeDeserializer = classePartsZonedDateTimeDeserializer(nomEnsembleDomaine, classeLangueNom); classePartsZonedDateTimeSerializer = classePartsZonedDateTimeSerializer(nomEnsembleDomaine, classeLangueNom); + indexerStockerSolr(classeDoc, "classeInitLoinAvant", regexTrouve("^" + classeLangueConfig.getString(ConfigCles.var_InitLoin) + classeLangueConfig.getString(ConfigCles.var_Avant) + ": (true)$", classeCommentaire)); Boolean classeInitLoin = !regexTrouve("^" + classeLangueConfig.getString(ConfigCles.var_InitLoin) + ":\\s*(false)$", classeCommentaire); if(classeInitLoin) classeInitLoin = classeEtendBase || classeEstBase;