Skip to content

Commit 08d7f8b

Browse files
committed
Simplifying api registration with a new service interface
1 parent ecd5764 commit 08d7f8b

File tree

2 files changed

+51
-56
lines changed

2 files changed

+51
-56
lines changed

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

Lines changed: 13 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -262,6 +262,7 @@ public void ecrireGenApiService(String classeLangueNom) throws Exception {
262262
if(activerOpenIdConnect) {
263263
auteurGenApiService.l("import io.vertx.ext.auth.oauth2.OAuth2Auth;");
264264
auteurGenApiService.l("import io.vertx.ext.auth.authorization.AuthorizationProvider;");
265+
auteurGenApiService.l("import org.computate.vertx.api.BaseApiServiceInterface;");
265266
}
266267
auteurGenApiService.l();
267268
auteurGenApiService.l("/**");
@@ -275,30 +276,10 @@ public void ecrireGenApiService(String classeLangueNom) throws Exception {
275276
auteurGenApiService.l(" **/");
276277
auteurGenApiService.l("@WebApiServiceGen");
277278
auteurGenApiService.l("@ProxyGen");
278-
auteurGenApiService.s("public interface ", classeNomSimpleGenApiService, " {");
279+
auteurGenApiService.s("public interface ", classeNomSimpleGenApiService, " extends BaseApiServiceInterface {");
279280
auteurGenApiService.l();
280281
// auteurGenApiService.tl(1, "// Une méthode d'usine pour créer une instance et un proxy. ");
281282

282-
l();
283-
l();
284-
tl(8, "protected EventBus eventBus;");
285-
l();
286-
tl(8, "protected JsonObject config;");
287-
l();
288-
tl(8, "protected WorkerExecutor ", i18nGlobale.getString(I18n.var_executeurTravailleur), ";");
289-
l();
290-
tl(8, "protected PgPool pgPool;");
291-
l();
292-
tl(8, "protected KafkaProducer<String, String> kafkaProducer;");
293-
l();
294-
tl(8, "protected WebClient ", i18nGlobale.getString(I18n.var_clientWeb), ";");
295-
296-
auteurGenApiService.tl(1, "static ", classeNomSimpleApiServiceImpl, " ", i18nGlobale.getString(I18n.var_enregistrer), "Service(Vertx vertx, JsonObject config, WorkerExecutor ", i18nGlobale.getString(I18n.var_executeurTravailleur), ", ComputateOAuth2AuthHandlerImpl oauth2AuthHandler, PgPool pgPool, KafkaProducer<String, String> kafkaProducer, MqttClient mqttClient, AmqpSender amqpSender, RabbitMQClient rabbitmqClient, WebClient ", i18nGlobale.getString(I18n.var_clientWeb), activerOpenIdConnect ? ", OAuth2Auth oauth2AuthenticationProvider, AuthorizationProvider authorizationProvider" : "", classePage ? ", Jinjava jinjava" : "", ") {");
297-
auteurGenApiService.tl(2, classeNomSimpleApiServiceImpl, " api = new ", classeNomSimpleApiServiceImpl, "(vertx, config, ", i18nGlobale.getString(I18n.var_executeurTravailleur), ", oauth2AuthHandler, pgPool, kafkaProducer, mqttClient, amqpSender, rabbitmqClient, ", i18nGlobale.getString(I18n.var_clientWeb), activerOpenIdConnect ? ", oauth2AuthenticationProvider, authorizationProvider" : "", classePage ? ", jinjava" : "", ");");
298-
auteurGenApiService.tl(2, "new ServiceBinder(vertx).setAddress(", classeNomSimple, ".get", i18nGlobale.getString(I18n.var_ClasseApiAddresse), "()).register(", classeNomSimpleGenApiService, ".class, api);");
299-
auteurGenApiService.tl(2, "return api;");
300-
auteurGenApiService.tl(1, "}");
301-
auteurGenApiService.l();
302283
for(String classeApiMethode : classeApiMethodes) {
303284
String classeApiOperationIdMethode = classeDoc.getString("classeApiOperationId" + classeApiMethode + "_" + classeLangueNom + "_stored_string");
304285
String classePageNomCanoniqueMethode = classeDoc.getString("classePageNomCanonique" + classeApiMethode + "_" + classeLangueNom + "_stored_string");
@@ -389,10 +370,6 @@ public void ecrireApiServiceImpl(String classeLangueNom) throws Exception {
389370
}
390371
auteurApiServiceImpl.l(" **/");
391372
auteurApiServiceImpl.l("public class ", classeNomSimpleApiServiceImpl, " extends ", classeNomSimpleGenApiServiceImpl, " {");
392-
auteurApiServiceImpl.l();
393-
auteurApiServiceImpl.tl(1, "public ", classeNomSimpleApiServiceImpl, "(Vertx vertx, JsonObject config, WorkerExecutor ", i18nGlobale.getString(I18n.var_executeurTravailleur), ", ComputateOAuth2AuthHandlerImpl oauth2AuthHandler, PgPool pgPool, KafkaProducer<String, String> kafkaProducer, MqttClient mqttClient, AmqpSender amqpSender, RabbitMQClient rabbitmqClient, WebClient ", i18nGlobale.getString(I18n.var_clientWeb), activerOpenIdConnect ? ", OAuth2Auth oauth2AuthenticationProvider, AuthorizationProvider authorizationProvider" : "", classePage ? ", Jinjava jinjava" : "", ") {");
394-
auteurApiServiceImpl.tl(2, "super(vertx, config, ", i18nGlobale.getString(I18n.var_executeurTravailleur), ", oauth2AuthHandler, pgPool, kafkaProducer, mqttClient, amqpSender, rabbitmqClient, ", i18nGlobale.getString(I18n.var_clientWeb), activerOpenIdConnect ? ", oauth2AuthenticationProvider, authorizationProvider" : "", classePage ? ", jinjava" : "", ");");
395-
auteurApiServiceImpl.tl(1, "}");
396373
auteurApiServiceImpl.l("}");
397374

398375
auteurApiServiceImpl.flushClose();
@@ -1893,10 +1870,6 @@ public void ecrireGenApiServiceImpl2(String classeLangueNom) throws Exception {
18931870
l(" {");
18941871
l();
18951872
tl(1, "protected static final Logger LOG = LoggerFactory.getLogger(", classeNomSimpleGenApiServiceImpl, ".class);");
1896-
l();
1897-
tl(1, "public ", classeNomSimpleGenApiServiceImpl, "(Vertx vertx, JsonObject config, WorkerExecutor ", i18nGlobale.getString(I18n.var_executeurTravailleur), ", ComputateOAuth2AuthHandlerImpl oauth2AuthHandler, PgPool pgPool, KafkaProducer<String, String> kafkaProducer, MqttClient mqttClient, AmqpSender amqpSender, RabbitMQClient rabbitmqClient, WebClient ", i18nGlobale.getString(I18n.var_clientWeb), activerOpenIdConnect ? ", OAuth2Auth oauth2AuthenticationProvider, AuthorizationProvider authorizationProvider" : "", classePage ? ", Jinjava jinjava" : "", ") {");
1898-
tl(2, "super(vertx, config, ", i18nGlobale.getString(I18n.var_executeurTravailleur), ", oauth2AuthHandler, pgPool, kafkaProducer, mqttClient, amqpSender, rabbitmqClient, ", i18nGlobale.getString(I18n.var_clientWeb), activerOpenIdConnect ? ", oauth2AuthenticationProvider, authorizationProvider" : "", classePage ? ", jinjava" : "", ");");
1899-
tl(1, "}");
19001873

19011874
for(String classeApiMethode : classeApiMethodes) {
19021875
String classePageNomCanoniqueMethode = classeDoc.getString("classePageNomCanonique" + classeApiMethode + "_" + classeLangueNom + "_stored_string");
@@ -1907,7 +1880,7 @@ public void ecrireGenApiServiceImpl2(String classeLangueNom) throws Exception {
19071880
String classeApiTypeMedia200Methode = classeDoc.getString("classeApiTypeMedia200" + classeApiMethode + "_" + classeLangueNom + "_stored_string");
19081881
String classeApiTypeMediaRequeteMethode = classeDoc.getString("classeApiTypeMediaRequete" + classeApiMethode + "_" + classeLangueNom + "_stored_string");
19091882
String classePageLangueNom = classeDoc.getString("classePageLangueNom" + classeApiMethode + "_" + classeLangueNom + "_stored_string");
1910-
String classePageRechercheTemplate = classeDoc.getString("classe" + classeApiMethode + "Template_" + classeLangueNom + "_stored_string");
1883+
String classePageTemplateMethode = classeDoc.getString("classe" + classeApiMethode + "Template_" + classeLangueNom + "_stored_string");
19111884
Boolean classePageAvecTemplateMethode = classeDoc.getBoolean("classePageAvecTemplate" + classeApiMethode + "_stored_boolean");
19121885

19131886
if(classePageLangueNom == null || classePageLangueNom.equals(classeLangueNom)) {
@@ -3608,8 +3581,15 @@ else if(classeApiMethode.equals(i18nGlobale.getString(I18n.var_PUTCopie)))
36083581
/////////////////
36093582
if(classePageNomCanoniqueMethode != null) {
36103583
l();
3611-
tl(1, "public String ", i18nGlobale.getString(I18n.var_template), classeApiMethode, classeNomSimple, "() {");
3612-
tl(2, "return \"", classePageRechercheTemplate, "\";");
3584+
tl(1, "public String ", i18nGlobale.getString(I18n.var_template), classeApiMethode, classeNomSimple, "(ServiceRequest ", i18nGlobale.getString(I18n.var_requeteService), ") {");
3585+
//STUFF0
3586+
if(classeApiMethode.contains(i18nGlobale.getString(I18n.var_PageEdition))
3587+
|| classeApiMethode.contains(i18nGlobale.getString(I18n.var_PageRecherche))
3588+
) {
3589+
tl(2, "return \"", classePageTemplateMethode, "\";");
3590+
} else {
3591+
tl(2, "return String.format(\"", classePageTemplateMethode, "\", ", i18nGlobale.getString(I18n.var_requeteService), ".getExtra().getString(\"uri\").substring(1));");
3592+
}
36133593
t(1, "}");
36143594
}
36153595
l();
@@ -3650,7 +3630,7 @@ else if(classePageAvecTemplateMethode || classeApiMethode.contains(i18nGlobale.g
36503630
if(classePageNomCanoniqueMethode != null) {
36513631
if(classePartsToutEcrivain == null)
36523632
throw new RuntimeException(String.format("%s %s %s %s %s. ", i18nGlobale.getString(I18n.var_classe), i18nGlobale.getString(I18n.var_ToutEcrivain), i18nGlobale.getString(I18n.var_manquante), i18nGlobale.getString(I18n.var_dans), cheminSrcMainJava));
3653-
tl(3, "String pageTemplateUri = ", i18nGlobale.getString(I18n.var_template), classeApiMethode, classeNomSimple, "();");
3633+
tl(3, "String pageTemplateUri = ", i18nGlobale.getString(I18n.var_template), classeApiMethode, classeNomSimple, "(", i18nGlobale.getString(I18n.var_requeteSite), ".get", i18nGlobale.getString(I18n.var_RequeteService), "());");
36543634
tl(3, "String siteTemplatePath = config.getString(ComputateConfigKeys.TEMPLATE_PATH);");
36553635
tl(3, "Path resourceTemplatePath = Path.of(siteTemplatePath, pageTemplateUri);");
36563636
tl(3, "String template = siteTemplatePath == null ? Resources.toString(Resources.getResource(resourceTemplatePath.toString()), StandardCharsets.UTF_8) : Files.readString(resourceTemplatePath, Charset.forName(\"UTF-8\"));");

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

Lines changed: 38 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -5424,34 +5424,49 @@ else if(i18nGlobale.getString(I18n.var_PUTFusion).equals(classeApiMethode))
54245424
else {
54255425
//STUFF0
54265426
if(classePageMethode != null) {
5427-
String classePageNomFichier = String.format("%s%s.htm", classeNomSimple, classeApiMethode.contains(i18nGlobale.getString(I18n.var_PageEdition)) ? i18nGlobale.getString(I18n.var_Edition) : i18nGlobale.getString(I18n.var_Recherche));
5428-
String classeGenPageNomFichier = String.format("%sGen%s.htm", classeNomSimple, classeApiMethode.contains(i18nGlobale.getString(I18n.var_PageEdition)) ? i18nGlobale.getString(I18n.var_Edition) : i18nGlobale.getString(I18n.var_Recherche));
5429-
String classePageTemplateMethode = apiMethode.getString(i18nGlobale.getString(I18n.var_PageTemplate), String.format("%s/%s", classeApiUriMethode.substring(1), classePageNomFichier));
5430-
if(classeApiMethode.contains(i18nGlobale.getString(I18n.var_PageRecherche))) {
5431-
classePageRechercheTemplate = classePageTemplateMethode;
5432-
}
5433-
if(classeApiMethode.equals(i18nGlobale.getString(I18n.var_PageRecherche))) {
5434-
String classePageUriCss = indexerStockerSolr(langueNomGlobale, classeDoc, "classePageUriCss", concat("/css/", StringUtils.substringBeforeLast(classePageTemplateMethode, "/"), "/", classeNomSimple, ".css"));
5435-
String classePageUriJs = indexerStockerSolr(langueNomGlobale, classeDoc, "classePageUriJs", concat("/js/", StringUtils.substringBeforeLast(classePageTemplateMethode, "/"), "/", classeNomSimple, ".js"));
5436-
String classePageUriJsRecherche = indexerStockerSolr(langueNomGlobale, classeDoc, "classePageUriJsRecherche", concat("/js/", StringUtils.substringBeforeLast(classePageTemplateMethode, "/"), "/", classeNomSimple, i18nGlobale.getString(I18n.var_Recherche), ".js"));
5437-
String classePageUriJsEdition = indexerStockerSolr(langueNomGlobale, classeDoc, "classePageUriJsEdition", concat("/js/", StringUtils.substringBeforeLast(classePageTemplateMethode, "/"), "/", classeNomSimple, i18nGlobale.getString(I18n.var_Edition), ".js"));
5438-
5439-
String classePageCheminCss = indexerStockerSolr(langueNomGlobale, classeDoc, "classePageCheminCss", concat(cheminStatique, classePageUriCss));
5440-
String classePageCheminJs = indexerStockerSolr(langueNomGlobale, classeDoc, "classePageCheminJs", concat(cheminStatique, classePageUriJs));
5441-
String classePageCheminJsRecherche = indexerStockerSolr(langueNomGlobale, classeDoc, "classePageCheminJsRecherche", concat(cheminStatique, classePageUriJsRecherche));
5442-
String classePageCheminJsEdition = indexerStockerSolr(langueNomGlobale, classeDoc, "classePageCheminJsEdition", concat(cheminStatique, classePageUriJsEdition));
5443-
}
5444-
5445-
indexerStockerSolr(langueNomGlobale, classeDoc, String.format("classe%sTemplate", classeApiMethode), classePageTemplateMethode);
5446-
indexerStockerSolr(langueNomGlobale, classeDoc, String.format("classe%sCheminJinja", classeApiMethode), String.format("%s/%s", templateChemin, classePageTemplateMethode));
5447-
if(classeApiMethode.contains(i18nGlobale.getString(I18n.var_PageRecherche))
5448-
|| classeApiMethode.contains(i18nGlobale.getString(I18n.var_PageEdition))
5427+
// String classePageNomFichier = String.format("%s%s.htm", classeNomSimple,
5428+
// classeApiMethode.contains(i18nGlobale.getString(I18n.var_PageEdition))
5429+
// || classeApiMethode.contains(i18nGlobale.getString(I18n.var_PageAffichage))
5430+
// || classeApiMethode.contains(i18nGlobale.getString(I18n.var_PageUtilisateur))
5431+
// ? i18nGlobale.getString(I18n.var_Edition) : i18nGlobale.getString(I18n.var_Recherche));
5432+
// String classeGenPageNomFichier = String.format("%sGen%s.htm", classeNomSimple,
5433+
// classeApiMethode.contains(i18nGlobale.getString(I18n.var_PageEdition))
5434+
// || classeApiMethode.contains(i18nGlobale.getString(I18n.var_PageAffichage))
5435+
// || classeApiMethode.contains(i18nGlobale.getString(I18n.var_PageUtilisateur))
5436+
// ? i18nGlobale.getString(I18n.var_Edition) : i18nGlobale.getString(I18n.var_Recherche));
5437+
String classePageTemplateMethode = null;
5438+
if(
5439+
classeApiMethode.contains(i18nGlobale.getString(I18n.var_PageEdition))
5440+
|| classeApiMethode.contains(i18nGlobale.getString(I18n.var_PageRecherche))
54495441
) {
5442+
String classePageNomFichier = String.format("%s%s.htm", classeNomSimple, classeApiMethode.contains(i18nGlobale.getString(I18n.var_PageEdition)) ? i18nGlobale.getString(I18n.var_Edition) : i18nGlobale.getString(I18n.var_Recherche));
5443+
String classeGenPageNomFichier = String.format("%sGen%s.htm", classeNomSimple, classeApiMethode.contains(i18nGlobale.getString(I18n.var_PageEdition)) ? i18nGlobale.getString(I18n.var_Edition) : i18nGlobale.getString(I18n.var_Recherche));
5444+
classePageTemplateMethode = apiMethode.getString(i18nGlobale.getString(I18n.var_PageTemplate), String.format("%s/%s", classeApiUriMethode.substring(1), classePageNomFichier));
5445+
5446+
if(classeApiMethode.contains(i18nGlobale.getString(I18n.var_PageRecherche))) {
5447+
classePageRechercheTemplate = classePageTemplateMethode;
5448+
}
5449+
if(classeApiMethode.equals(i18nGlobale.getString(I18n.var_PageRecherche))) {
5450+
String classePageUriCss = indexerStockerSolr(langueNomGlobale, classeDoc, "classePageUriCss", concat("/css/", StringUtils.substringBeforeLast(classePageTemplateMethode, "/"), "/", classeNomSimple, ".css"));
5451+
String classePageUriJs = indexerStockerSolr(langueNomGlobale, classeDoc, "classePageUriJs", concat("/js/", StringUtils.substringBeforeLast(classePageTemplateMethode, "/"), "/", classeNomSimple, ".js"));
5452+
String classePageUriJsRecherche = indexerStockerSolr(langueNomGlobale, classeDoc, "classePageUriJsRecherche", concat("/js/", StringUtils.substringBeforeLast(classePageTemplateMethode, "/"), "/", classeNomSimple, i18nGlobale.getString(I18n.var_Recherche), ".js"));
5453+
String classePageUriJsEdition = indexerStockerSolr(langueNomGlobale, classeDoc, "classePageUriJsEdition", concat("/js/", StringUtils.substringBeforeLast(classePageTemplateMethode, "/"), "/", classeNomSimple, i18nGlobale.getString(I18n.var_Edition), ".js"));
5454+
5455+
indexerStockerSolr(langueNomGlobale, classeDoc, "classePageCheminCss", concat(cheminStatique, classePageUriCss));
5456+
indexerStockerSolr(langueNomGlobale, classeDoc, "classePageCheminJs", concat(cheminStatique, classePageUriJs));
5457+
indexerStockerSolr(langueNomGlobale, classeDoc, "classePageCheminJsRecherche", concat(cheminStatique, classePageUriJsRecherche));
5458+
indexerStockerSolr(langueNomGlobale, classeDoc, "classePageCheminJsEdition", concat(cheminStatique, classePageUriJsEdition));
5459+
}
5460+
54505461
String classeGenPageTemplateMethode = apiMethode.getString(i18nGlobale.getString(I18n.var_PageTemplate), String.format("%s/%s", classeApiUriMethode.substring(1), classeGenPageNomFichier));
54515462
String classeGenPageTemplate = indexerStockerSolr(langueNomGlobale, classeDoc, String.format("classeGen%sTemplate", classeApiMethode), classeGenPageTemplateMethode);
54525463
indexerStockerSolr(langueNomGlobale, classeDoc, String.format("classeGen%sCheminJinja", classeApiMethode), String.format("%s/%s", templateChemin, classeGenPageTemplate));
5464+
} else {
5465+
classePageTemplateMethode = apiMethode.getString(i18nGlobale.getString(I18n.var_PageTemplate), "%s.htm");
54535466
}
5454-
// classeApiUriMethode = classeUriPageRecherche;
5467+
5468+
indexerStockerSolr(langueNomGlobale, classeDoc, String.format("classe%sTemplate", classeApiMethode), classePageTemplateMethode);
5469+
indexerStockerSolr(langueNomGlobale, classeDoc, String.format("classe%sCheminJinja", classeApiMethode), String.format("%s/%s", templateChemin, classePageTemplateMethode));
54555470
}
54565471
if(classeApiUriMethode == null) {
54575472
classeApiUriMethode = classeApiUri;

0 commit comments

Comments
 (0)