Skip to content

Commit 08864f7

Browse files
committed
Adding generate.sh to generate code one time instead of watching directory
1 parent 0ab56e2 commit 08864f7

File tree

9 files changed

+117
-39
lines changed

9 files changed

+117
-39
lines changed

.gitignore

-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ config/cp.txt
44
.project
55
.settings
66
/target/
7-
/bin/
87
**/*.swp
98
**/*.retry
109
.flattened-pom.xml

bin/enUS/generate.sh

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#!/bin/bash
2+
cd $COMPUTATE_SRC
3+
mvn dependency:build-classpath -Dmdep.outputFile=$COMPUTATE_SRC/config/cp.txt -q
4+
env WATCH=false java -cp "$(cat $COMPUTATE_SRC/config/cp.txt):$COMPUTATE_SRC/target/classes" org.computate.frFR.java.RegarderRepertoire

bin/frFR/regarder.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
#!/bin/bash
22
cd $COMPUTATE_SRC
33
mvn dependency:build-classpath -Dmdep.outputFile=$COMPUTATE_SRC/config/cp.txt -q
4-
java -cp "$(cat $COMPUTATE_SRC/config/cp.txt):$COMPUTATE_SRC/target/classes" org.computate.frFR.java.RegarderRepertoire
4+
env REGARDER=false java -cp "$(cat $COMPUTATE_SRC/config/cp.txt):$COMPUTATE_SRC/target/classes" org.computate.frFR.java.RegarderRepertoire

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

+1
Original file line numberDiff line numberDiff line change
@@ -218,6 +218,7 @@ public class ConfigCles {
218218
public static final String var_Future = "var_Future";
219219
public static final String var_gamme = "var_gamme";
220220
public static final String var_Gamme = "var_Gamme";
221+
public static final String var_Generer = "var_Generer";
221222
public static final String var_generer = "var_generer";
222223
public static final String var_gestionnaireEvenements = "var_gestionnaireEvenements";
223224
public static final String var_GestionnaireEvenements = "var_GestionnaireEvenements";

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

+12-1
Original file line numberDiff line numberDiff line change
@@ -6404,7 +6404,11 @@ public void ecrireClasseCommentaire(JsonObject langueConfig, String siteNom, Str
64046404
String jsonType = field.getString("type");
64056405
String description = field.getString("description");
64066406
String javaType = "JsonObject";
6407-
if("string".equals(jsonType))
6407+
if("areaServed".equals(fieldName))
6408+
javaType = "Polygon";
6409+
else if("location".equals(fieldName))
6410+
javaType = "Point";
6411+
else if("string".equals(jsonType))
64086412
javaType = "String";
64096413
else if("boolean".equals(jsonType))
64106414
javaType = "Boolean";
@@ -6417,6 +6421,13 @@ else if("location".equals(fieldName))
64176421
l(" * <br>");
64186422
l(" * {@literal /**}<br>");
64196423
l(" * {@literal * {@inheritDoc}}<br>");
6424+
if("areaServed".equals(fieldName)) {
6425+
l(" * {@literal * FiwareType: geo:linestring}<br>");
6426+
l(" * {@literal * Location: true}<br>");
6427+
}
6428+
if("location".equals(fieldName)) {
6429+
l(" * {@literal * FiwareType: geo:point}<br>");
6430+
}
64206431
l(" * {@literal * DocValues: true}<br>");
64216432
l(" * {@literal * Persist: true}<br>");
64226433
l(" * {@literal * DisplayName: ", StringUtils.join(StringUtils.splitByCharacterTypeCamelCase(fieldName), " ").toLowerCase(), "}<br>");

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

+41-28
Original file line numberDiff line numberDiff line change
@@ -4681,19 +4681,25 @@ else if(langueConfig.getString(ConfigCles.var_PUTCopie).equals(classeApiMethode)
46814681
if(classeVarEmplacement != null) {
46824682
auteurPageJs.l();
46834683
auteurPageJs.tl(2, "// ", langueConfig.getString(ConfigCles.var_Graphique), " ", langueConfig.getString(ConfigCles.var_Emplacement));
4684+
auteurPageJs.tl(2, "var map = L.map('htmBody", langueConfig.getString(ConfigCles.var_Graphique), langueConfig.getString(ConfigCles.var_Emplacement), classePageSuperNomSimple, "');");
4685+
auteurPageJs.tl(2, "var geojsonLayer = L.geoJSON().addTo(map);");
46844686
auteurPageJs.tl(2, "var data = [];");
46854687
auteurPageJs.tl(2, "var layout = {};");
46864688
auteurPageJs.tl(2, "layout['showlegend'] = true;");
46874689
auteurPageJs.tl(2, "layout['dragmode'] = 'zoom';");
46884690
auteurPageJs.tl(2, "layout['uirevision'] = 'true';");
4691+
auteurPageJs.tl(2, "L.tileLayer('https://tile.openstreetmap.org/{z}/{x}/{y}.png', {");
4692+
auteurPageJs.tl(3, "maxZoom: 19,");
4693+
auteurPageJs.tl(3, "attribution: '&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap</a>'");
4694+
auteurPageJs.tl(2, "}).addTo(map);");
4695+
auteurPageJs.l();
46894696
auteurPageJs.tl(2, "if(window['DEFAULT_MAP_LOCATION'] && window['DEFAULT_MAP_ZOOM'])");
4690-
auteurPageJs.tl(3, "layout['mapbox'] = { style: 'open-street-map', center: { lat: window['DEFAULT_MAP_LOCATION']['lat'], lon: window['DEFAULT_MAP_LOCATION']['lon'] }, zoom: window['DEFAULT_MAP_ZOOM'] };");
4697+
auteurPageJs.tl(3, "map.setView([window['DEFAULT_MAP_LOCATION']['lat'], window['DEFAULT_MAP_LOCATION']['lon']], window['DEFAULT_MAP_ZOOM']);");
46914698
auteurPageJs.tl(2, "else if(window['DEFAULT_MAP_ZOOM'])");
4692-
auteurPageJs.tl(3, "layout['mapbox'] = { style: 'open-street-map', zoom: window['DEFAULT_MAP_ZOOM'] };");
4699+
auteurPageJs.tl(3, "map.setView(null, window['DEFAULT_MAP_ZOOM']);");
46934700
auteurPageJs.tl(2, "else if(window['DEFAULT_MAP_LOCATION'])");
4694-
auteurPageJs.tl(3, "layout['mapbox'] = { style: 'open-street-map', center: { lat: window['DEFAULT_MAP_LOCATION']['lat'], lon: window['DEFAULT_MAP_LOCATION']['lon'] } };");
4695-
auteurPageJs.tl(2, "else");
4696-
auteurPageJs.tl(3, "layout['mapbox'] = { style: 'open-street-map' };");
4701+
auteurPageJs.tl(3, "map.setView([window['DEFAULT_MAP_LOCATION']['lat'], window['DEFAULT_MAP_LOCATION']['lon']]);");
4702+
auteurPageJs.l();
46974703
auteurPageJs.tl(2, "layout['margin'] = { r: 0, t: 0, b: 0, l: 0 };");
46984704
auteurPageJs.tl(2, "$.each( window.", langueConfig.getString(ConfigCles.var_liste), classeNomSimple, ", function(index, ", StringUtils.uncapitalize(classeNomSimple), ") {");
46994705
auteurPageJs.tl(3, "if(", StringUtils.uncapitalize(classeNomSimple), ".", classeVarEmplacement, ") {");
@@ -4720,35 +4726,42 @@ else if(langueConfig.getString(ConfigCles.var_PUTCopie).equals(classeApiMethode)
47204726
auteurPageJs.tl(4, "else");
47214727
auteurPageJs.tl(5, "shapes.push(", StringUtils.uncapitalize(classeNomSimple), ".", classeVarEmplacement, ");");
47224728
auteurPageJs.tl(4, "shapes.forEach(shape => {");
4723-
auteurPageJs.tl(5, "var parts = [];");
4724-
auteurPageJs.tl(5, "if(shape.coordinates && shape.coordinates[0].length > 0 && Array.isArray(shape.coordinates[0][0]))");
4725-
auteurPageJs.tl(6, "parts = parts.concat(shape.coordinates);");
4726-
auteurPageJs.tl(5, "else");
4727-
auteurPageJs.tl(6, "parts.push(shape.coordinates);");
4728-
auteurPageJs.tl(5, "parts.forEach(part => {");
4729-
auteurPageJs.tl(6, "var lat = part.map(elem => elem[0]);");
4730-
auteurPageJs.tl(6, "var lon = part.map(elem => elem[1]);");
4731-
auteurPageJs.tl(6, "if(shape.type == 'Polygon') {");
4732-
auteurPageJs.tl(7, "lat.push(lat[0]);");
4733-
auteurPageJs.tl(7, "lon.push(lon[0]);");
4729+
auteurPageJs.tl(5, "geojsonLayer.addData({");
4730+
auteurPageJs.tl(6, "\"type\": \"Feature\"");
4731+
auteurPageJs.tl(6, ", \"properties\": {");
4732+
auteurPageJs.tl(7, "\"name\": \"stuff\"");
47344733
auteurPageJs.tl(6, "}");
4735-
auteurPageJs.tl(6, "data.push({");
4736-
auteurPageJs.tl(7, "type: 'scattermapbox'");
4737-
auteurPageJs.tl(7, ", name: ", StringUtils.uncapitalize(classeNomSimple), ".", classeVarTitre);
4738-
auteurPageJs.tl(7, ", lat: lat");
4739-
auteurPageJs.tl(7, ", lon: lon");
4740-
auteurPageJs.tl(7, ", mode: 'lines+markers'");
4741-
auteurPageJs.tl(7, ", line:{");
4742-
auteurPageJs.tl(8, "width: 2,");
4743-
auteurPageJs.tl(8, "color: 'red'");
4744-
auteurPageJs.tl(7, "}");
4745-
auteurPageJs.tl(6, "});");
4734+
auteurPageJs.tl(6, ", \"geometry\": shape");
47464735
auteurPageJs.tl(5, "});");
4736+
// auteurPageJs.tl(5, "var parts = [];");
4737+
// auteurPageJs.tl(5, "if(shape.coordinates && shape.coordinates[0].length > 0 && Array.isArray(shape.coordinates[0][0]))");
4738+
// auteurPageJs.tl(6, "parts = parts.concat(shape.coordinates);");
4739+
// auteurPageJs.tl(5, "else");
4740+
// auteurPageJs.tl(6, "parts.push(shape.coordinates);");
4741+
// auteurPageJs.tl(5, "parts.forEach(part => {");
4742+
// auteurPageJs.tl(6, "var lat = part.map(elem => elem[0]);");
4743+
// auteurPageJs.tl(6, "var lon = part.map(elem => elem[1]);");
4744+
// auteurPageJs.tl(6, "if(shape.type == 'Polygon') {");
4745+
// auteurPageJs.tl(7, "lat.push(lat[0]);");
4746+
// auteurPageJs.tl(7, "lon.push(lon[0]);");
4747+
// auteurPageJs.tl(6, "}");
4748+
// auteurPageJs.tl(6, "data.push({");
4749+
// auteurPageJs.tl(7, "type: 'scattermapbox'");
4750+
// auteurPageJs.tl(7, ", name: ", StringUtils.uncapitalize(classeNomSimple), ".", classeVarTitre);
4751+
// auteurPageJs.tl(7, ", lat: lat");
4752+
// auteurPageJs.tl(7, ", lon: lon");
4753+
// auteurPageJs.tl(7, ", mode: 'lines+markers'");
4754+
// auteurPageJs.tl(7, ", line:{");
4755+
// auteurPageJs.tl(8, "width: 2,");
4756+
// auteurPageJs.tl(8, "color: 'red'");
4757+
// auteurPageJs.tl(7, "}");
4758+
// auteurPageJs.tl(6, "});");
4759+
// auteurPageJs.tl(5, "});");
47474760
auteurPageJs.tl(4, "});");
47484761
// auteurPageJs.tl(4, "}");
47494762
auteurPageJs.tl(3, "}");
47504763
auteurPageJs.tl(2, "});");
4751-
auteurPageJs.tl(2, "Plotly.react('htmBody", langueConfig.getString(ConfigCles.var_Graphique), langueConfig.getString(ConfigCles.var_Emplacement), classePageSuperNomSimple, "', data, layout);");
4764+
// auteurPageJs.tl(2, "Plotly.react(, data, layout);");
47524765
}
47534766
auteurPageJs.tl(1, "}");
47544767
auteurPageJs.tl(0, "}");

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

+54-8
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,8 @@ public static void main(String[] args) throws Exception {
228228
YAMLConfiguration classeLangueConfig = configurations.fileBased(YAMLConfiguration.class, String.format("%s/src/main/resources/org/computate/i18n/i18n_%s.yml", appComputate, lang));
229229
String SITE_NOM = System.getenv(classeLangueConfig.getString("var_SITE_NOM"));
230230
String SITE_CHEMIN = System.getenv(classeLangueConfig.getString("var_SITE_CHEMIN"));
231+
Boolean REGARDER = Boolean.parseBoolean(Optional.ofNullable(System.getenv(classeLangueConfig.getString("var_REGARDER"))).orElse("true"));
232+
231233
RegarderRepertoire regarderRepertoire = new RegarderRepertoire();
232234
regarderRepertoire.langueNom = lang;
233235
regarderRepertoire.SITE_NOM = SITE_NOM;
@@ -246,17 +248,22 @@ public static void main(String[] args) throws Exception {
246248
regarderRepertoire.trace = true;
247249
try {
248250
regarderRepertoire.initialiserRegarderRepertoire(classeLangueConfig);
249-
regarderRepertoire.ajouterCheminsARegarder(classeLangueConfig);
251+
regarderRepertoire.ajouterCheminsARegarder(classeLangueConfig, REGARDER);
250252

251253
try {
252-
indexerClasses(SITE_CHEMIN, classeLangueConfig);
253-
indexerClasses(SITE_CHEMIN, classeLangueConfig);
254-
indexerClasses(SITE_CHEMIN, classeLangueConfig);
254+
if(REGARDER) {
255+
indexerClasses(SITE_CHEMIN, classeLangueConfig);
256+
indexerClasses(SITE_CHEMIN, classeLangueConfig);
257+
indexerClasses(SITE_CHEMIN, classeLangueConfig);
258+
regarderRepertoire.traiterEvenements();
259+
} else {
260+
indexerClasses(SITE_CHEMIN, classeLangueConfig);
261+
indexerClasses(SITE_CHEMIN, classeLangueConfig);
262+
indexerEcrireClasses(SITE_CHEMIN, classeLangueConfig);
263+
}
255264
} catch(Exception ex) {
256265
System.out.println(String.format("Error indexing files on startup: %s", ex.getMessage()));
257266
}
258-
259-
regarderRepertoire.traiterEvenements();
260267
}
261268
catch(Exception e) {
262269
System.err.println("Erreur pendant traiterEvenements. ");
@@ -265,9 +272,43 @@ public static void main(String[] args) throws Exception {
265272
}
266273

267274
public static void indexerClasses(String SITE_CHEMIN, YAMLConfiguration classeLangueConfig) throws Exception {
275+
String classeLangueNom = StringUtils.defaultString(System.getenv("SITE_LANG"), "frFR");
276+
File dir = new File(String.format("%s/src/main/java", SITE_CHEMIN));
277+
278+
try (Stream<Path> stream = Files.walk(Paths.get(dir.getAbsolutePath()))) {
279+
stream.filter(Files::isRegularFile)
280+
.filter(chemin -> chemin.toString().endsWith(".java"))
281+
.filter(chemin -> {
282+
try {
283+
return !FileUtils.readFileToString(chemin.toFile(), "UTF-8").contains("* Translate: false");
284+
} catch(Exception ex) {
285+
return false;
286+
}
287+
})
288+
.forEach(chemin -> {
289+
String cheminStr = chemin.toString();
290+
// System.out.println(String.format("%s %s", chemin.toString().endsWith(".java"), chemin.toString()));
291+
RegarderClasse regarderClasse = new RegarderClasse();
292+
try {
293+
regarderClasse.setArgs(new String[] {SITE_CHEMIN, cheminStr});
294+
regarderClasse.initRegarderClasseBase(classeLangueNom, classeLangueConfig);
295+
SolrInputDocument classeDoc = new SolrInputDocument();
296+
regarderClasse.indexerClasse(cheminStr, classeDoc, classeLangueNom);
297+
System.out.println(String.format("%s %s", classeLangueConfig.getString(ConfigCles.var_Indexe), cheminStr));
298+
} catch(Exception ex) {
299+
System.err.println(String.format("An exception occured while indexing files: %s", ExceptionUtils.getStackTrace(ex)));
300+
}
301+
});
302+
}
303+
}
268304

305+
306+
public static void indexerEcrireClasses(String SITE_CHEMIN, YAMLConfiguration classeLangueConfig) throws Exception {
307+
String appComputate = System.getenv("COMPUTATE_SRC");
269308
String classeLangueNom = StringUtils.defaultString(System.getenv("SITE_LANG"), "frFR");
270309
File dir = new File(String.format("%s/src/main/java", SITE_CHEMIN));
310+
Configurations configurations = new Configurations();
311+
271312
try (Stream<Path> stream = Files.walk(Paths.get(dir.getAbsolutePath()))) {
272313
stream.filter(Files::isRegularFile)
273314
.filter(chemin -> chemin.toString().endsWith(".java"))
@@ -287,6 +328,8 @@ public static void indexerClasses(String SITE_CHEMIN, YAMLConfiguration classeLa
287328
regarderClasse.initRegarderClasseBase(classeLangueNom, classeLangueConfig);
288329
SolrInputDocument classeDoc = new SolrInputDocument();
289330
regarderClasse.indexerClasse(cheminStr, classeDoc, classeLangueNom);
331+
YAMLConfiguration langueConfig = configurations.fileBased(YAMLConfiguration.class, String.format("%s/src/main/resources/org/computate/i18n/i18n_%s.yml", appComputate, classeLangueNom));
332+
regarderClasse.ecrireGenClasses(regarderClasse.classeCheminAbsolu, classeLangueNom, classeLangueNom, langueConfig);
290333
System.out.println(String.format("%s %s", classeLangueConfig.getString(ConfigCles.var_Indexe), cheminStr));
291334
} catch(Exception ex) {
292335
System.err.println(String.format("An exception occured while indexing files: %s", ExceptionUtils.getStackTrace(ex)));
@@ -383,11 +426,14 @@ public void initialiserRegarderRepertoire(YAMLConfiguration classeLangueConfig)
383426
* r: Erreur à ajouter chemin pour regarder.
384427
* r.enUS: Error adding path to watch.
385428
*/
386-
public void ajouterCheminsARegarder(YAMLConfiguration classeLangueConfig) {
429+
public void ajouterCheminsARegarder(YAMLConfiguration classeLangueConfig, Boolean REGARDER) {
387430
for(String cheminARegarder : cheminsARegarder) {
388431
try {
389432
chemins.add(enregistrerTout(Paths.get(cheminARegarder)));
390-
LOG.info("{}: {}", classeLangueConfig.getString(ConfigCles.var_Regarder), cheminARegarder);
433+
if(REGARDER)
434+
LOG.info("{}: {}", classeLangueConfig.getString(ConfigCles.var_Regarder), cheminARegarder);
435+
else
436+
LOG.info("{}: {}", classeLangueConfig.getString(ConfigCles.var_Generer), cheminARegarder);
391437
} catch (IOException e) {
392438
LOG.error("Erreur à ajouter chemin pour regarder.", e);
393439
}

src/main/resources/org/computate/i18n/i18n_enUS.yml

+2
Original file line numberDiff line numberDiff line change
@@ -435,6 +435,7 @@ var_Fusion: "Merge"
435435
var_Future: "Future"
436436
var_gamme: "range"
437437
var_Gamme: "Range"
438+
var_Generer: "Generate"
438439
var_generer: "generate"
439440
var_gestionnaireEvenements: "eventHandler"
440441
var_GestionnaireEvenements: "EventHandler"
@@ -587,6 +588,7 @@ var_RechercherTousNomPar: "SearchAllNameBy"
587588
var_RechercherTousNom: "SearchAllName"
588589
var_Recherche: "Search"
589590
var_rechercheSolr: "solrQuery"
591+
var_REGARDER: "WATCH"
590592
var_Regarder: "Watch"
591593
var_relations: "relations"
592594
var_relier: "relate"

src/main/resources/org/computate/i18n/i18n_frFR.yml

+2
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,7 @@ var_Fusion: "Fusion"
201201
var_Future: "Future"
202202
var_gamme: "gamme"
203203
var_Gamme: "Gamme"
204+
var_Generer: "generer"
204205
var_generer: "generer"
205206
var_gestionnaireEvenements: "gestionnaireEvenements"
206207
var_GestionnaireEvenements: "GestionnaireEvenements"
@@ -355,6 +356,7 @@ var_Rechercher: "Rechercher"
355356
var_RechercherTousNomPar: "RechercherTousNomPar"
356357
var_RechercherTousNom: "RechercherTousNom"
357358
var_rechercheSolr: "rechercheSolr"
359+
var_REGARDER: "REGARDER"
358360
var_Regarder: "Regarder"
359361
var_relations: "relations"
360362
var_relier: "relier"

0 commit comments

Comments
 (0)