diff --git a/src/main/java/org/computate/frFR/java/EcrireGenClasse.java b/src/main/java/org/computate/frFR/java/EcrireGenClasse.java index 66b9087f..29b14739 100644 --- a/src/main/java/org/computate/frFR/java/EcrireGenClasse.java +++ b/src/main/java/org/computate/frFR/java/EcrireGenClasse.java @@ -697,6 +697,7 @@ public class EcrireGenClasse extends EcrireClasse { protected ToutEcrivain auteurPageJsEdition = null; // protected ToutEcrivain auteurPageJinja = null; // protected ToutEcrivain auteurGenPageJinja = null; + protected ToutEcrivain auteurEmplacementJinja = null; protected ToutEcrivain auteurBarreLateraleJinja = null; protected ToutEcrivain auteurBoutonsRechercheJinja = null; protected ToutEcrivain auteurBoutonsPaginationJinja = null; @@ -1226,6 +1227,9 @@ public class EcrireGenClasse extends EcrireClasse { String classeGenPageChemin; + String classePageEmplacementTemplate; + String classePageEmplacementCheminJinja; + String classePageBarreLateraleTemplate; String classePageBarreLateraleCheminJinja; @@ -2375,6 +2379,9 @@ public void genCodeClasseDebut(String langueNom, JsonObject langueConfig) throws classePageCheminJsRecherche = classeDoc.getString("classePageCheminJsRecherche" + "_" + langueNom + "_stored_string"); classePageCheminJsEdition = classeDoc.getString("classePageCheminJsEdition" + "_" + langueNom + "_stored_string"); + classePageEmplacementTemplate = classeDoc.getString("classePageEmplacementTemplate" + "_" + langueNom + "_stored_string"); + classePageEmplacementCheminJinja = classeDoc.getString("classePageEmplacementCheminJinja" + "_" + langueNom + "_stored_string"); + classePageBarreLateraleTemplate = classeDoc.getString("classePageBarreLateraleTemplate" + "_" + langueNom + "_stored_string"); classePageBarreLateraleCheminJinja = classeDoc.getString("classePageBarreLateraleCheminJinja" + "_" + langueNom + "_stored_string"); @@ -2410,6 +2417,7 @@ public void genCodeClasseDebut(String langueNom, JsonObject langueConfig) throws File classePageFichierJs = null; File classePageFichierJsRecherche = null; File classePageFichierJsEdition = null; + File classePageEmplacementFichierJinja = null; File classePageBarreLateraleFichierJinja = null; File classePageBoutonsRechercheFichierJinja = null; File classePageBoutonsPaginationFichierJinja = null; @@ -2433,6 +2441,8 @@ public void genCodeClasseDebut(String langueNom, JsonObject langueConfig) throws if(classePageCheminJsEdition != null) classePageFichierJsEdition = new File(classePageCheminJsEdition); + if(classePageEmplacementCheminJinja != null) + classePageEmplacementFichierJinja = new File(classePageEmplacementCheminJinja); if(classePageBarreLateraleCheminJinja != null) classePageBarreLateraleFichierJinja = new File(classePageBarreLateraleCheminJinja); @@ -2479,6 +2489,11 @@ public void genCodeClasseDebut(String langueNom, JsonObject langueConfig) throws auteurPageJsEdition = ToutEcrivain.create(classePageFichierJsEdition, " "); } + if(classePageEmplacementFichierJinja != null) { + classeGenPageRechercheFichierJinja.getParentFile().mkdirs(); + auteurEmplacementJinja = ToutEcrivain.create(classePageEmplacementFichierJinja, " "); + } + if(classePageBarreLateraleFichierJinja != null) { classeGenPageRechercheFichierJinja.getParentFile().mkdirs(); auteurBarreLateraleJinja = ToutEcrivain.create(classePageBarreLateraleFichierJinja, " "); diff --git a/src/main/java/org/computate/frFR/java/EcrirePageClasse.java b/src/main/java/org/computate/frFR/java/EcrirePageClasse.java index f78d7538..89a433bf 100644 --- a/src/main/java/org/computate/frFR/java/EcrirePageClasse.java +++ b/src/main/java/org/computate/frFR/java/EcrirePageClasse.java @@ -2801,6 +2801,7 @@ else if("LocalDate".equals(entiteNomSimple)) { //STUFF0 //STUFF1 + ecrirePageEmplacement(langueNom, i18nPage); ecrirePageBarreLaterale(langueNom, i18nPage); ecrirePageBoutonsRecherche(langueNom, i18nPage); ecrirePageFormulaireRecherche(langueNom, i18nPage); @@ -2828,6 +2829,10 @@ else if("LocalDate".equals(entiteNomSimple)) { if(auteurPageJsEdition != null) auteurPageJsEdition.flushClose(); + if(auteurEmplacementJinja != null) { + auteurEmplacementJinja.flushClose(); + } + if(auteurBarreLateraleJinja != null) { auteurBarreLateraleJinja.flushClose(); } @@ -4702,15 +4707,12 @@ else if(classeApiMethode.contains(i18nPage.getString(I18n.var_PUTCopie))) o = oAncien; } - public void ecrirePageBarreLaterale(String langueNom, JsonObject i18nPage) throws Exception { + public void ecrirePageEmplacement(String langueNom, JsonObject i18nPage) throws Exception { ToutEcrivain oAncien = o; - o = auteurBarreLateraleJinja; - - ///////////////// - // pageContent // - ///////////////// + o = auteurEmplacementJinja; if(classeVarEmplacement != null || classeVarAire != null) { + tl(0, "{%- block htmBody", i18nPage.getString(I18n.var_Emplacement), "", classePageNomSimple, " %}"); tl(4, "<", composantsWebPrefixe, "details open>"); tl(5, "
", String.format(i18nPage.getString(I18n.str_Cartes_des), classeNomAdjectifPluriel), "
"); @@ -4735,7 +4737,17 @@ public void ecrirePageBarreLaterale(String langueNom, JsonObject i18nPage) throw tl(0, "{%- endblock htmBody", i18nPage.getString(I18n.var_Graphique), classePageNomSimple, " %}"); tl(4, ""); + tl(0, "{%- endblock htmBody", i18nPage.getString(I18n.var_Emplacement), "", classePageNomSimple, " %}"); } + } + + public void ecrirePageBarreLaterale(String langueNom, JsonObject i18nPage) throws Exception { + ToutEcrivain oAncien = o; + o = auteurBarreLateraleJinja; + + ///////////////// + // pageContent // + ///////////////// tl(5, "
"); @@ -5300,7 +5312,7 @@ public void ecrirePageBarreLaterale(String langueNom, JsonObject i18nPage) throw tl(7, ""); tl(8, "{% for key, value in varsFq.items() %}"); - tl(9, "{% if ", i18nPage.getString(I18n.var_activer), i18nPage.getString(I18n.var_Stats), " is defined %}"); + tl(9, "{% if value.", i18nPage.getString(I18n.var_activer), i18nPage.getString(I18n.var_Stats), " is defined %}"); tl(10, ""); tl(11, "
"); t(12, ""); @@ -5611,12 +5623,6 @@ public void ecrirePageRechercheJinja(String langueNom, JsonObject i18nPage) thro tl(0, "{{ super() }}"); tl(0, "{%- block htmBody", i18nPage.getString(I18n.var_Debut), classePageNomSimple, " %}"); - tl(0, "{%- endblock htmBody", i18nPage.getString(I18n.var_Debut), classePageNomSimple, " %}"); - tl(0, "{%- endblock htmBody", i18nPage.getString(I18n.var_Debut), classePageSuperNomSimple, " %}"); - l(); - tl(0, "{%- block htmBody", i18nPage.getString(I18n.var_Milieu), classePageSuperNomSimple, " %}"); - tl(0, "{%- block htmBody", i18nPage.getString(I18n.var_Milieu), classePageNomSimple, " %}"); - // htmBodyCount0 // tl(0, "{% if ", varResultat, "Count == 0 %}"); ecrirePageRechercheAucun(langueNom, i18nPage); @@ -5674,6 +5680,13 @@ public void ecrirePageRechercheJinja(String langueNom, JsonObject i18nPage) thro // tl(6, "{{ htm", i18nPage.getString(I18n.var_BoutonsPagination), classePageNomSimple, "() }}"); tl(0, "{% include ", classePageBoutonsRechercheTemplate, " %}"); + tl(0, "{% endif %}"); + tl(0, "{%- endblock htmBody", i18nPage.getString(I18n.var_Debut), classePageNomSimple, " %}"); + tl(0, "{%- endblock htmBody", i18nPage.getString(I18n.var_Debut), classePageSuperNomSimple, " %}"); + l(); + tl(0, "{%- block htmBody", i18nPage.getString(I18n.var_Milieu), classePageSuperNomSimple, " %}"); + tl(0, "{%- block htmBody", i18nPage.getString(I18n.var_Milieu), classePageNomSimple, " %}"); + tl(0, "{% if ", varResultat, "Count > 0 %}"); tl(7, "
"); tl(0, "{% include ", classePageBoutonsPaginationTemplate, " %}"); tl(8, "
"); @@ -5708,9 +5721,10 @@ public void ecrirePageRechercheJinja(String langueNom, JsonObject i18nPage) thro tl(0, "{%- endblock htmBody", i18nPage.getString(I18n.var_Milieu), classePageSuperNomSimple, " %}"); l(); tl(0, "{%- block htmBody", i18nPage.getString(I18n.var_Fin), classePageSuperNomSimple, " %}"); - tl(1, "{{ super() }}"); tl(0, "{%- block htmBody", i18nPage.getString(I18n.var_Fin), classePageNomSimple, " %}"); + tl(0, "{%- include ", classePageEmplacementTemplate, " %}"); tl(0, "{%- endblock htmBody", i18nPage.getString(I18n.var_Fin), classePageNomSimple, " %}"); + tl(1, "{{ super() }}"); tl(0, "{%- endblock htmBody", i18nPage.getString(I18n.var_Fin), classePageSuperNomSimple, " %}"); } @@ -5839,9 +5853,10 @@ public void ecrirePageEditionJinja(String langueNom, JsonObject i18nPage) throws tl(0, "{%- endblock htmBody", i18nPage.getString(I18n.var_Milieu), classePageSuperNomSimple, " %}"); l(); tl(0, "{%- block htmBody", i18nPage.getString(I18n.var_Fin), classePageSuperNomSimple, " %}"); - tl(3, "{{ super() }}"); tl(0, "{%- block htmBody", i18nPage.getString(I18n.var_Fin), classePageNomSimple, " %}"); + tl(0, "{%- include ", classePageEmplacementTemplate, " %}"); tl(0, "{%- endblock htmBody", i18nPage.getString(I18n.var_Fin), classePageNomSimple, " %}"); + tl(3, "{{ super() }}"); tl(0, "{%- endblock htmBody", i18nPage.getString(I18n.var_Fin), classePageSuperNomSimple, " %}"); } } diff --git a/src/main/java/org/computate/frFR/java/IndexerClasse.java b/src/main/java/org/computate/frFR/java/IndexerClasse.java index a29860d2..b4a688a8 100644 --- a/src/main/java/org/computate/frFR/java/IndexerClasse.java +++ b/src/main/java/org/computate/frFR/java/IndexerClasse.java @@ -6300,6 +6300,10 @@ else if(StringUtils.contains(classeApiMethode, i18nGlobale.getString(I18n.var_Re if(classePage && classePageRechercheTemplate != null) { String classePageRechercheTemplateRepertoire = StringUtils.substringBeforeLast(classePageRechercheTemplate, "/"); + String classePageEmplacementTemplate = String.format("%s/%s%s.htm", classePageRechercheTemplateRepertoire, classeNomSimple, i18nGlobale.getString(I18n.var_Emplacement)); + indexerStockerSolr(langueNomGlobale, classeDoc, "classePageEmplacementTemplate", classePageEmplacementTemplate); + indexerStockerSolr(langueNomGlobale, classeDoc, "classePageEmplacementCheminJinja", String.format("%s/%s", templateChemin, classePageEmplacementTemplate)); + String classePageBarreLateraleTemplate = String.format("%s/%s%s.htm", classePageRechercheTemplateRepertoire, classeNomSimple, i18nGlobale.getString(I18n.var_BarreLaterale)); indexerStockerSolr(langueNomGlobale, classeDoc, "classePageBarreLateraleTemplate", classePageBarreLateraleTemplate); indexerStockerSolr(langueNomGlobale, classeDoc, "classePageBarreLateraleCheminJinja", String.format("%s/%s", templateChemin, classePageBarreLateraleTemplate)); diff --git a/src/main/java/org/computate/frFR/java/RegarderRepertoire.java b/src/main/java/org/computate/frFR/java/RegarderRepertoire.java index 52861b87..659ef217 100644 --- a/src/main/java/org/computate/frFR/java/RegarderRepertoire.java +++ b/src/main/java/org/computate/frFR/java/RegarderRepertoire.java @@ -44,6 +44,7 @@ import org.apache.commons.exec.CommandLine; import org.apache.commons.exec.DefaultExecutor; import org.apache.commons.io.FileUtils; +import org.apache.commons.lang3.BooleanUtils; import org.apache.commons.lang3.StringUtils; import org.apache.solr.common.SolrInputDocument; import org.computate.i18n.I18n; @@ -593,6 +594,14 @@ private void regarderClasseEvenement(Message message) { SharedData sharedData = vertx.sharedData(); sharedData.getLocalLockWithTimeout(orderLock, config().getLong(ComputateConfigKeys.ZOOKEEPER_CONNECTION_TIMEOUT_MILLIS, 3000L)).onSuccess(lock -> { try { + String classeNomSimple = StringUtils.substringBeforeLast(cheminComplet.getFileName().toString(), "."); + String logLevel = "INFO"; + if(classeNomSimple.endsWith("GenPage")) + logLevel = "DEBUG"; + + if("INFO".equals(logLevel)) + LOG.info(String.format(classeLangueConfig.getString(I18n.str_classe_touchee), classeNomSimple)); + String classeCheminAbsolu = cheminComplet.toAbsolutePath().toString(); String cp = FileUtils.readFileToString(new File(COMPUTATE_SRC + "/config/cp.txt"), "UTF-8"); String classpath = String.format("%s:%s/target/classes", cp, COMPUTATE_SRC); @@ -606,11 +615,10 @@ private void regarderClasseEvenement(Message message) { executeur.setWorkingDirectory(repertoireTravail); executeur.execute(ligneCommande); - String classeNomSimple = StringUtils.substringBeforeLast(cheminComplet.getFileName().toString(), "."); - String log = String.format(classeLangueConfig.getString(I18n.str_chemin_absolu), classeNomSimple); - LOG.info(log); promise.complete(); lock.release(); + if("INFO".equals(logLevel)) + LOG.info(String.format(classeLangueConfig.getString(I18n.str_classe_generee), classeNomSimple)); } catch(Exception ex) { LOG.error(String.format(classeLangueConfig.getString(I18n.str_UneProblemeExecutionRegarderRepertoire), cheminCompletStr), ex); promise.fail(ex);