Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

merge dev to test #75

Merged
merged 5 commits into from
Oct 4, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -221,7 +221,7 @@ private void ajout469(String ppnNoticeBouquet, String ppn, LigneKbartConnect lig
} catch (IOException e) {
//cas d'une erreur de communication avec le Sudoc, on se relogge au cbs, et on retry la méthode
try {
log.debug("erreur de communication avec le Sudoc, tentative de reconnexion");
log.error("erreur de communication avec le Sudoc, tentative de reconnexion");
service.disconnect();
service.authenticate(serveurSudoc, portSudoc, loginSudoc, passwordSudoc);
} catch (CBSException ex) {
Expand Down
4 changes: 3 additions & 1 deletion src/main/java/fr/abes/kafkatosudoc/kafka/WorkInProgress.java
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,9 @@ public void addNotice(T notice) {
}

public void incrementCurrentNbLignes() {
log.debug("Current line : " + this.currentNbLines.incrementAndGet() + " | total lines : " + this.getNbLinesTotal());
StackTraceElement[] stack = new Throwable().getStackTrace();
StackTraceElement caller = stack[1];
log.debug("Méthode " + caller.getMethodName() + " | Current line : " + this.currentNbLines.incrementAndGet() + " | total lines : " + this.getNbLinesTotal());
}

public void addErrorMessagesConnectionCbs(String message) {
Expand Down
28 changes: 20 additions & 8 deletions src/main/java/fr/abes/kafkatosudoc/service/EmailService.java
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,10 @@ public class EmailService {
@Value("${spring.profiles.active}")
private String env;

private final String SUBJECT_ERROR_EXNIHILO = "[KBART2SUDOC : erreurs créations ex nihilo ]";
private final String SUBJECT_ERROR_IMPRIME = "[KBART2SUDOC : erreurs créations par dérivations]";
private final String SUBJECT_ERROR_LIEN_BOUQUET = "[KBART2SUDOC : erreurs liens 469]";

public void sendErrorsMessageCreateFromKafka(String filename, WorkInProgress<LigneKbartConnect> workInProgress) throws IOException {
JsonObject listErrors = Json.createObjectBuilder()
.add("kbart info : ", getKbartInfo(filename))
Expand All @@ -54,7 +58,7 @@ public void sendErrorsMessageCreateFromKafka(String filename, WorkInProgress<Lig
.add(workInProgress.getErrorMessages().stream().filter(m -> m.getType().equals(ERROR_TYPE.ADD469)).count() + " erreur(s) d'ajout de 469", formatErrorMessageListToJson(workInProgress.getErrorMessages().stream().filter(m -> m.getType().equals(ERROR_TYPE.ADD469)).toList()))
.add(workInProgress.getErrorMessages().stream().filter(m -> m.getType().equals(ERROR_TYPE.SUPP469)).count() + " erreur(s) de suppression de 469", formatErrorMessageListToJson(workInProgress.getErrorMessages().stream().filter(m -> m.getType().equals(ERROR_TYPE.SUPP469)).toList()))
.build();
sendErrorsMessage(filename, listErrors);
sendErrorsMessage(filename, listErrors, SUBJECT_ERROR_LIEN_BOUQUET);
}

private JsonObjectBuilder formatErrorMessageListToJson(List<ErrorMessage> list) {
Expand All @@ -72,26 +76,26 @@ public void sendErrorMessagesExNihilo(String filename, WorkInProgress<LigneKbart
.add("kbart info : ", getKbartInfo(filename))
.add(workInProgress.getErrorMessages().stream().filter(m -> m.getType().equals(ERROR_TYPE.EXNIHILO)).count() + " erreur(s) lors de la création de notice(s) ExNihilo", workInProgress.getErrorMessages().stream().filter(m -> m.getType().equals(ERROR_TYPE.EXNIHILO)).toList().toString())
.build();
sendErrorsMessage(filename, listErrors);
sendErrorsMessage(filename, listErrors, SUBJECT_ERROR_EXNIHILO);
}

public void sendErrorMessagesImprime(String filename, WorkInProgress<LigneKbartImprime> workInProgress) throws IOException {
JsonObject listErrors = Json.createObjectBuilder()
.add("kbart info : ", getKbartInfo(filename))
.add(workInProgress.getErrorMessages().stream().filter(m -> m.getType().equals(ERROR_TYPE.FROMIMPRIME)).count() + " erreur(s) lors de la création de notice(s) électronique(s) à partir d'un imprimé",workInProgress.getErrorMessages().stream().filter(m -> m.getType().equals(ERROR_TYPE.FROMIMPRIME)).toList().toString())
.build();
sendErrorsMessage(filename, listErrors);
sendErrorsMessage(filename, listErrors, SUBJECT_ERROR_IMPRIME);
}

private void sendErrorsMessage(String filename, JsonObject listErrors) throws IOException {
private void sendErrorsMessage(String filename, JsonObject listErrors, String subject) throws IOException {
// Création du chemin d'accès pour le fichier .json
Path jsonFilePath = Path.of("errorsList_" + filename + ".json");

// Création du fichier
createAttachment(listErrors, jsonFilePath);

// Création du mail
String requestJson = mailToJSON(this.recipient, "[CONVERGENCE]["+env.toUpperCase()+"] Erreurs lors du traitement sur le fichier " + filename, "[CONVERGENCE]["+env.toUpperCase()+"] Erreurs lors du traitement sur le fichier " + filename);
String requestJson = mailToJSON(this.recipient, subject + getTag() + " " + filename, "Erreurs lors du traitement sur le fichier " + filename);

// Récupération du fichier
File file = jsonFilePath.toFile();
Expand All @@ -113,7 +117,7 @@ public void sendErrorMailSuppressionPackage(String packageName, String provider,
e.getMessage();

// Création du mail
String requestJson = mailToJSON(this.recipient, "[CONVERGENCE]["+env.toUpperCase()+"] Erreur lors de la suppression du package " + packageName + " / " + provider, body);
String requestJson = mailToJSON(this.recipient, getTag() + " Erreur lors de la suppression du package " + packageName + " / " + provider, body);
// Envoi du message par mail
sendMail(requestJson);
log.info("L'email a été correctement envoyé.");
Expand All @@ -132,7 +136,7 @@ public void sendErrorMailProviderPackageDeleted(List<String> listError, String f
createAttachment(listErrors, jsonFilePath);

// Création du mail
String requestJson = mailToJSON(this.recipient, "[CONVERGENCE]["+env.toUpperCase()+"] Erreur lors de la suppression des liens vers les notices bouquet", "[CONVERGENCE]["+env.toUpperCase()+"] Erreur lors de la suppression des liens vers les notices bouquet");
String requestJson = mailToJSON(this.recipient, SUBJECT_ERROR_LIEN_BOUQUET + getTag() + " " + filename, "Erreur lors de la suppression des liens vers les notices bouquet");

// Récupération du fichier
File file = jsonFilePath.toFile();
Expand Down Expand Up @@ -215,7 +219,7 @@ private String mailToJSON(String to, String subject, String text) {
String json = "";
ObjectMapper mapper = new ObjectMapper();
MailDto mail = new MailDto();
mail.setApp("kafka2sudoc");
mail.setApp("convergence");
mail.setTo(to.split(";"));
mail.setCc(new String[]{});
mail.setCci(new String[]{});
Expand Down Expand Up @@ -254,4 +258,12 @@ protected void createAttachment(JsonObject dataLines, Path path) {
throw new RuntimeException(e);
}
}

private String getTag(){
if(env.equalsIgnoreCase("PROD")){
return "";
} else {
return "[" + env.toUpperCase() + "]";
}
}
}
Loading