diff --git a/batch/src/main/java/fr/abes/item/traitement/ProxyRetry.java b/batch/src/main/java/fr/abes/item/traitement/ProxyRetry.java index d6e0c691..00446e29 100644 --- a/batch/src/main/java/fr/abes/item/traitement/ProxyRetry.java +++ b/batch/src/main/java/fr/abes/item/traitement/ProxyRetry.java @@ -1,7 +1,6 @@ package fr.abes.item.traitement; import fr.abes.cbs.exception.CBSException; -import fr.abes.cbs.exception.CommException; import fr.abes.cbs.exception.ZoneException; import fr.abes.cbs.notices.DonneeLocale; import fr.abes.cbs.notices.Exemplaire; @@ -28,6 +27,7 @@ import org.springframework.retry.annotation.Retryable; import org.springframework.stereotype.Component; +import java.io.IOException; import java.sql.SQLException; import java.util.List; @@ -46,10 +46,10 @@ public class ProxyRetry { * * @param login login d'authentification * @throws CBSException erreur de validation CBS - * @throws CommException erreur de communication avec le CBS + * @throws IOException erreur de communication avec le CBS */ - @Retryable(include = CommException.class, exclude = CBSException.class, backoff = @Backoff(delay = 1000, multiplier = 2)) - public void authenticate(String login) throws CBSException, CommException { + @Retryable(include = IOException.class, exclude = CBSException.class, backoff = @Backoff(delay = 1000, multiplier = 2)) + public void authenticate(String login) throws CBSException, IOException { log.warn(Constant.PROXY_AUTHENTICATION_WITH_LOGIN + login); getService().getTraitement().authenticate(login); } @@ -64,10 +64,10 @@ public void disconnect() throws CBSException { * @param demande demande de modification * @param ligneFichierDtoModif dto de la ligne fichier à modifier * @throws CBSException : erreur CBS - * @throws CommException : erreur de communication avec le CBS + * @throws IOException : erreur de communication avec le CBS */ - @Retryable(maxAttempts = 4, include = CommException.class, exclude = {CBSException.class, ZoneException.class}, backoff = @Backoff(delay = 1000, multiplier = 2) ) - public void saveExemplaire(DemandeModif demande, LigneFichierDtoModif ligneFichierDtoModif) throws CBSException, CommException, ZoneException { + @Retryable(maxAttempts = 4, include = IOException.class, exclude = {CBSException.class, ZoneException.class}, backoff = @Backoff(delay = 1000, multiplier = 2) ) + public void saveExemplaire(DemandeModif demande, LigneFichierDtoModif ligneFichierDtoModif) throws CBSException, IOException, ZoneException { ILigneFichierDtoMapper ligneFichierDtoMapper = factory.getStrategy(ILigneFichierDtoMapper.class, TYPE_DEMANDE.MODIF); try { //récupération de la exemplaire correpondant à la ligne du fichier en cours @@ -82,7 +82,7 @@ public void saveExemplaire(DemandeModif demande, LigneFichierDtoModif ligneFichi this.authenticate("M" + demande.getRcr()); } throw ex; - } catch (CommException ex) { + } catch (IOException ex) { log.error("Erreur de communication avec le CBS sur demande modif " + demande.getId() + " / ligne fichier n°" + ligneFichierDtoModif.getNumLigneFichier() + " / epn : " + ligneFichierDtoModif.getEpn()); //si un pb de communication avec le CBS est détecté, on se reconnecte, et on renvoie l'exception pour que le retry retente la méthode this.disconnect(); @@ -97,11 +97,11 @@ public void saveExemplaire(DemandeModif demande, LigneFichierDtoModif ligneFichi * @param ligneFichierDtoExemp ligne fichier à traiter * @throws CBSException : erreur CBS * @throws ZoneException : erreur de construction de la notice - * @throws CommException : erreur de communication avec le CBS + * @throws IOException : erreur de communication avec le CBS */ - @Retryable(maxAttempts = 4, include = CommException.class, + @Retryable(maxAttempts = 4, include = IOException.class, exclude = {CBSException.class, ZoneException.class}, backoff = @Backoff(delay = 1000, multiplier = 2) ) - public void newExemplaire(DemandeExemp demande, LigneFichierDtoExemp ligneFichierDtoExemp) throws CBSException, ZoneException, CommException { + public void newExemplaire(DemandeExemp demande, LigneFichierDtoExemp ligneFichierDtoExemp) throws CBSException, ZoneException, IOException { try { ligneFichierDtoExemp.setRequete(getService().getDemandeExemp().getQueryToSudoc(demande.getIndexRecherche().getCode(), demande.getTypeExemp().getLibelle(), ligneFichierDtoExemp.getIndexRecherche().split(";"))); //lancement de la requête de récupération de la notice dans le CBS @@ -140,7 +140,7 @@ public void newExemplaire(DemandeExemp demande, LigneFichierDtoExemp ligneFichie log.error("Erreur SQL : " + sqlEx.getErrorCode()); log.error(sqlEx.getSQLState() + "|" + sqlEx.getMessage() + "|" + sqlEx.getLocalizedMessage()); } - } catch (CommException ex) { + } catch (IOException ex) { log.error("Erreur de communication avec le CBS sur demande exemp " + demande.getId() + " / ligne fichier n°" + ligneFichierDtoExemp.getNumLigneFichier()); //si un pb de communication avec le CBS est détecté, on se reconnecte, et on renvoie l'exception pour que le retry retente la méthode this.disconnect(); @@ -164,11 +164,11 @@ private String getL035fromDonneesLocales(String donneeLocale) throws ZoneExcepti * @param ligneFichierDtoRecouv ligne fichier à traiter * @throws CBSException : erreur CBS * @throws QueryToSudocException : erreur dans le type d'index de recherche - * @throws CommException : erreur de communication avec le CBS + * @throws IOException : erreur de communication avec le CBS */ - @Retryable(maxAttempts = 4, include = CommException.class, + @Retryable(maxAttempts = 4, include = IOException.class, exclude = {CBSException.class, QueryToSudocException.class}, backoff = @Backoff(delay = 1000, multiplier = 2) ) - public void recouvExemplaire(DemandeRecouv demande, LigneFichierDtoRecouv ligneFichierDtoRecouv) throws CommException, QueryToSudocException, CBSException { + public void recouvExemplaire(DemandeRecouv demande, LigneFichierDtoRecouv ligneFichierDtoRecouv) throws IOException, QueryToSudocException, CBSException { ligneFichierDtoRecouv.setRequete(getService().getDemandeRecouv().getQueryToSudoc(demande.getIndexRecherche().getCode(), ligneFichierDtoRecouv.getIndexRecherche().split(";"))); try { ligneFichierDtoRecouv.setNbReponses(getService().getDemandeRecouv().launchQueryToSudoc(demande.getIndexRecherche().getCode(), ligneFichierDtoRecouv.getIndexRecherche())); @@ -182,7 +182,7 @@ public void recouvExemplaire(DemandeRecouv demande, LigneFichierDtoRecouv ligneF default: ligneFichierDtoRecouv.setListePpn(getService().getTraitement().getCbs().getListePpn().toString().replace(';', ',')); } - } catch (CommException ex) { + } catch (IOException ex) { log.error("Erreur de communication avec le CBS sur demande recouv " + demande.getId() + " / ligne fichier n°" + ligneFichierDtoRecouv.getNumLigneFichier()); //si un pb de communication avec le CBS est détecté, on se reconnecte, et on renvoie l'exception pour que le retry retente la méthode this.disconnect(); diff --git a/batch/src/main/java/fr/abes/item/traitement/traiterlignesfichierchunk/LignesFichierProcessor.java b/batch/src/main/java/fr/abes/item/traitement/traiterlignesfichierchunk/LignesFichierProcessor.java index 217fc0f0..af9b1c09 100644 --- a/batch/src/main/java/fr/abes/item/traitement/traiterlignesfichierchunk/LignesFichierProcessor.java +++ b/batch/src/main/java/fr/abes/item/traitement/traiterlignesfichierchunk/LignesFichierProcessor.java @@ -1,7 +1,6 @@ package fr.abes.item.traitement.traiterlignesfichierchunk; import fr.abes.cbs.exception.CBSException; -import fr.abes.cbs.exception.CommException; import fr.abes.cbs.exception.ZoneException; import fr.abes.item.constant.Constant; import fr.abes.item.constant.TYPE_DEMANDE; @@ -31,6 +30,7 @@ import org.springframework.dao.DataAccessException; import org.springframework.stereotype.Component; +import java.io.IOException; import java.sql.SQLException; @Slf4j @@ -80,7 +80,7 @@ public LigneFichierDto process(LigneFichierDto ligneFichierDto) { default: return processDemandeRecouv(ligneFichierDto); } - } catch (CBSException | ZoneException | QueryToSudocException | CommException e) { + } catch (CBSException | ZoneException | QueryToSudocException | IOException e) { log.error(Constant.ERROR_FROM_SUDOC_REQUEST_OR_METHOD_SAVEXEMPLAIRE + e); ligneFichierDto.setRetourSudoc(e.getMessage()); } catch (JDBCConnectionException | ConstraintViolationException j) { @@ -106,9 +106,9 @@ public LigneFichierDto process(LigneFichierDto ligneFichierDto) { * @return la DTO de la ligne fichier modifiée en fonction du résultat du traitement * @throws CBSException : erreur CBS * @throws ZoneException : erreur de construction de la notice - * @throws CommException : erreur de communication avec le CBS + * @throws IOException : erreur de communication avec le CBS */ - private LigneFichierDtoModif processDemandeModif(LigneFichierDto ligneFichierDto) throws CBSException, ZoneException, CommException { + private LigneFichierDtoModif processDemandeModif(LigneFichierDto ligneFichierDto) throws CBSException, ZoneException, IOException { DemandeModif demandeModif = (DemandeModif) demande; LigneFichierDtoModif ligneFichierDtoModif = (LigneFichierDtoModif) ligneFichierDto; //sauvegarde la notice modifiée @@ -124,9 +124,9 @@ private LigneFichierDtoModif processDemandeModif(LigneFichierDto ligneFichierDto * @return la DTO de la ligne fichier modifiée en fonction du résultat du traitement * @throws CBSException : erreur CBS * @throws ZoneException : erreur de construction de la notice - * @throws CommException : erreur de communication avec le CBS + * @throws IOException : erreur de communication avec le CBS */ - private LigneFichierDtoExemp processDemandeExemp(LigneFichierDto ligneFichierDto) throws CBSException, ZoneException, CommException { + private LigneFichierDtoExemp processDemandeExemp(LigneFichierDto ligneFichierDto) throws CBSException, ZoneException, IOException { DemandeExemp demandeExemp = (DemandeExemp) this.demande; LigneFichierDtoExemp ligneFichierDtoExemp = (LigneFichierDtoExemp) ligneFichierDto; this.proxyRetry.newExemplaire(demandeExemp, ligneFichierDtoExemp); @@ -141,9 +141,9 @@ private LigneFichierDtoExemp processDemandeExemp(LigneFichierDto ligneFichierDto * @return la DTO ligneFichier mise à jour en fonction du résultat de la requête che * @throws CBSException : erreur CBS * @throws QueryToSudocException : erreur dans le type d'index de recherche - * @throws CommException : erreur de communication avec le CBS + * @throws IOException : erreur de communication avec le CBS */ - private LigneFichierDtoRecouv processDemandeRecouv(LigneFichierDto ligneFichierDto) throws CBSException, QueryToSudocException, CommException { + private LigneFichierDtoRecouv processDemandeRecouv(LigneFichierDto ligneFichierDto) throws CBSException, QueryToSudocException, IOException { DemandeRecouv demandeRecouv = (DemandeRecouv) this.demande; LigneFichierDtoRecouv ligneFichierDtoRecouv = (LigneFichierDtoRecouv) ligneFichierDto; this.proxyRetry.recouvExemplaire(demandeRecouv, ligneFichierDtoRecouv); diff --git a/batch/src/main/resources/application-dev.properties b/batch/src/main/resources/application-dev.properties index d3b9c114..47140b3f 100644 --- a/batch/src/main/resources/application-dev.properties +++ b/batch/src/main/resources/application-dev.properties @@ -29,7 +29,6 @@ sudoc.serveur= sudoc.port= #login permettant de tester si le CBS répond sudoc.login= -sudoc.poll= batch.min.hour=8 batch.max.hour=20 diff --git a/batch/src/main/resources/application-prod.properties b/batch/src/main/resources/application-prod.properties index febd6c69..61c87415 100644 --- a/batch/src/main/resources/application-prod.properties +++ b/batch/src/main/resources/application-prod.properties @@ -30,7 +30,6 @@ sudoc.serveur= sudoc.port= #login permettant de tester si le CBS répond sudoc.login= -sudoc.poll= batch.min.hour=8 batch.max.hour=20 diff --git a/batch/src/main/resources/application-test.properties b/batch/src/main/resources/application-test.properties index febd6c69..61c87415 100644 --- a/batch/src/main/resources/application-test.properties +++ b/batch/src/main/resources/application-test.properties @@ -30,7 +30,6 @@ sudoc.serveur= sudoc.port= #login permettant de tester si le CBS répond sudoc.login= -sudoc.poll= batch.min.hour=8 batch.max.hour=20 diff --git a/core/src/main/java/fr/abes/item/service/IDemandeExempService.java b/core/src/main/java/fr/abes/item/service/IDemandeExempService.java index b9d97f0e..ebf8d2a3 100644 --- a/core/src/main/java/fr/abes/item/service/IDemandeExempService.java +++ b/core/src/main/java/fr/abes/item/service/IDemandeExempService.java @@ -1,7 +1,6 @@ package fr.abes.item.service; import fr.abes.cbs.exception.CBSException; -import fr.abes.cbs.exception.CommException; import fr.abes.cbs.exception.ZoneException; import fr.abes.item.entities.item.*; import fr.abes.item.exception.DemandeCheckingException; @@ -42,13 +41,13 @@ public interface IDemandeExempService extends IDemandeService{ boolean hasDonneeLocaleExistante(); - String[] getNoticeExemplaireAvantApres(DemandeExemp demande, LigneFichierExemp ligneFichier) throws CBSException, ZoneException, CommException; + String[] getNoticeExemplaireAvantApres(DemandeExemp demande, LigneFichierExemp ligneFichier) throws CBSException, ZoneException, IOException; String creerExemplaireFromHeaderEtValeur(String header, String valeur, String rcr, String numExemp) throws CBSException, ZoneException; String creerDonneesLocalesFromHeaderEtValeur(String header, String valeur) throws ZoneException; - String launchQueryToSudoc(DemandeExemp demande, String valeurs) throws CBSException, QueryToSudocException; + String launchQueryToSudoc(DemandeExemp demande, String valeurs) throws CBSException, QueryToSudocException, IOException; LigneFichierExemp getLigneFichier(DemandeExemp demande, Integer numLigne); diff --git a/core/src/main/java/fr/abes/item/service/IDemandeModifService.java b/core/src/main/java/fr/abes/item/service/IDemandeModifService.java index c93fd4c5..5e8cb0d3 100644 --- a/core/src/main/java/fr/abes/item/service/IDemandeModifService.java +++ b/core/src/main/java/fr/abes/item/service/IDemandeModifService.java @@ -1,7 +1,6 @@ package fr.abes.item.service; import fr.abes.cbs.exception.CBSException; -import fr.abes.cbs.exception.CommException; import fr.abes.cbs.exception.ZoneException; import fr.abes.cbs.notices.Exemplaire; import fr.abes.item.entities.item.*; @@ -48,7 +47,7 @@ public interface IDemandeModifService extends IDemandeService{ LigneFichierModif getLigneFichier(DemandeModif demandeModif, Integer numLigne); - String getNoticeInitiale(DemandeModif demandeModif, String epn) throws CBSException, CommException, ZoneException; + String getNoticeInitiale(DemandeModif demandeModif, String epn) throws CBSException, IOException, ZoneException; Exemplaire getNoticeTraitee(DemandeModif demandeModif, String noticeInit, LigneFichierModif ligneFichierModif) throws ZoneException; diff --git a/core/src/main/java/fr/abes/item/service/IDemandeRecouvService.java b/core/src/main/java/fr/abes/item/service/IDemandeRecouvService.java index b9136476..e212ccc4 100644 --- a/core/src/main/java/fr/abes/item/service/IDemandeRecouvService.java +++ b/core/src/main/java/fr/abes/item/service/IDemandeRecouvService.java @@ -1,6 +1,5 @@ package fr.abes.item.service; -import fr.abes.cbs.exception.CommException; import fr.abes.item.entities.item.Demande; import fr.abes.item.entities.item.DemandeRecouv; import fr.abes.item.entities.item.EtatDemande; @@ -18,7 +17,7 @@ public interface IDemandeRecouvService extends IDemandeService { String stockerFichier(MultipartFile file, Demande demande) throws IOException, FileTypeException, FileCheckingException, DemandeCheckingException; - int launchQueryToSudoc(String codeIndex, String valeurs) throws QueryToSudocException, CommException; + int launchQueryToSudoc(String codeIndex, String valeurs) throws QueryToSudocException, IOException; String getQueryToSudoc(String codeIndex, String[] tabValeurs) throws QueryToSudocException; diff --git a/core/src/main/java/fr/abes/item/service/ITraitementService.java b/core/src/main/java/fr/abes/item/service/ITraitementService.java index 8d19abd8..8332da7f 100644 --- a/core/src/main/java/fr/abes/item/service/ITraitementService.java +++ b/core/src/main/java/fr/abes/item/service/ITraitementService.java @@ -7,6 +7,7 @@ import fr.abes.cbs.process.ProcessCBS; import fr.abes.item.entities.item.Traitement; +import java.io.IOException; import java.util.List; /** @@ -28,9 +29,9 @@ public interface ITraitementService { ProcessCBS getCbs(); - void authenticate(String login) throws CBSException, CommException; + void authenticate(String login) throws CBSException, CommException, IOException; - String getNoticeFromEPN(String epn) throws CBSException, CommException, ZoneException; + String getNoticeFromEPN(String epn) throws CBSException, CommException, ZoneException, IOException; Exemplaire creerNouvelleZone(String notice, String tag, String subTag, String valeur) throws ZoneException; @@ -42,7 +43,7 @@ public interface ITraitementService { Exemplaire remplacerSousZone(String notice, String tag, String subTag, String valeur) throws ZoneException; - String saveExemplaire(String noticeModifiee, String epn) throws CBSException, CommException; + String saveExemplaire(String noticeModifiee, String epn) throws CBSException, CommException, IOException; void disconnect() throws CBSException; diff --git a/core/src/main/java/fr/abes/item/service/impl/DemandeExempService.java b/core/src/main/java/fr/abes/item/service/impl/DemandeExempService.java index 33533e34..ad9cfc32 100644 --- a/core/src/main/java/fr/abes/item/service/impl/DemandeExempService.java +++ b/core/src/main/java/fr/abes/item/service/impl/DemandeExempService.java @@ -1,7 +1,6 @@ package fr.abes.item.service.impl; import fr.abes.cbs.exception.CBSException; -import fr.abes.cbs.exception.CommException; import fr.abes.cbs.exception.ZoneException; import fr.abes.cbs.notices.DonneeLocale; import fr.abes.cbs.notices.Exemplaire; @@ -123,7 +122,7 @@ public List getActiveDemandesForUser(String iln) { @Override public boolean hasDonneeLocaleExistante() { - return (donneeLocaleExistante.isEmpty())?false:true; + return (donneeLocaleExistante.isEmpty()) ? false : true; } /** @@ -148,7 +147,8 @@ public DemandeExemp majTypeExemp(Integer demandeId, TypeExemp typeExemp) { /** * vérification du fichier et création de l'objet correspondant - * @param file fichier issu du front + * + * @param file fichier issu du front * @param demande demande concernée * @return message indiquant le bon déroulement de l'opération renvoyé au front * @throws IOException @@ -360,7 +360,7 @@ public Demande closeDemande(Demande demande) throws DemandeCheckingException { * @param ligneFichier ligneFichier à traiter * @return la chaine de l'exemplaire construit, ou message d'erreur */ - public String[] getNoticeExemplaireAvantApres(DemandeExemp demande, LigneFichierExemp ligneFichier) throws CBSException, CommException { + public String[] getNoticeExemplaireAvantApres(DemandeExemp demande, LigneFichierExemp ligneFichier) throws CBSException, IOException { try { getService().getTraitement().authenticate("M" + demande.getRcr()); String numEx = launchQueryToSudoc(demande, ligneFichier.getIndexRecherche()); @@ -389,18 +389,14 @@ public String[] getNoticeExemplaireAvantApres(DemandeExemp demande, LigneFichier * @return le numéro du prochain exemplaire à créer dans la notice au format "xx" */ @Override - public String launchQueryToSudoc(DemandeExemp demande, String valeurs) throws CBSException, QueryToSudocException { + public String launchQueryToSudoc(DemandeExemp demande, String valeurs) throws CBSException, QueryToSudocException, IOException { String[] tabvaleurs = valeurs.split(";"); String query = getQueryToSudoc(demande.getIndexRecherche().getCode(), demande.getTypeExemp().getLibelle(), tabvaleurs); - //TODO insérer la requête pour sauver la requête en base if (!query.isEmpty()) { - try { - getService().getTraitement().getCbs().search(query); - nbReponses = getService().getTraitement().getCbs().getNbNotices(); - } catch (CommException e) { - nbReponses = 0; - } + getService().getTraitement().getCbs().search(query); + nbReponses = getService().getTraitement().getCbs().getNbNotices(); + switch (nbReponses) { //Le sudoc n'a pas trouvé de notice correspondant au PPN ou autre critère de recherche case 0: @@ -743,7 +739,7 @@ public String getQueryToSudoc(String codeIndex, String typeExemp, String[] valeu case "SOU": return "tno t; tdo b; che sou " + valeur[0]; case "DAT": - if(valeur[1].isEmpty()){ + if (valeur[1].isEmpty()) { return "tno t; tdo b; apu " + valeur[0] + "; che mti " + Utilitaires.replaceDiacritical(valeur[2]); } return "tno t; tdo b; apu " + valeur[0] + "; che aut " + Utilitaires.replaceDiacritical(valeur[1]) + " et mti " + Utilitaires.replaceDiacritical(valeur[2]); @@ -753,7 +749,8 @@ public String getQueryToSudoc(String codeIndex, String typeExemp, String[] valeu } } - /** méthode d'archivage d'une demande + /** + * méthode d'archivage d'une demande * supprime les lignes fichiers au moment de l'archivage * * @param demande demande à archiver diff --git a/core/src/main/java/fr/abes/item/service/impl/DemandeModifService.java b/core/src/main/java/fr/abes/item/service/impl/DemandeModifService.java index 6575a0d5..10f10618 100644 --- a/core/src/main/java/fr/abes/item/service/impl/DemandeModifService.java +++ b/core/src/main/java/fr/abes/item/service/impl/DemandeModifService.java @@ -1,7 +1,6 @@ package fr.abes.item.service.impl; import fr.abes.cbs.exception.CBSException; -import fr.abes.cbs.exception.CommException; import fr.abes.cbs.exception.ZoneException; import fr.abes.cbs.notices.Exemplaire; import fr.abes.item.components.Fichier; @@ -311,7 +310,7 @@ public LigneFichierModif getLigneFichier(DemandeModif demandeModif, Integer numL * @throws CBSException : erreur CBS */ @Override - public String getNoticeInitiale(DemandeModif demandeModif, String epn) throws CBSException, CommException, ZoneException { + public String getNoticeInitiale(DemandeModif demandeModif, String epn) throws CBSException, IOException, ZoneException { try { getService().getTraitement().authenticate('M' + demandeModif.getRcr()); // appel getNoticeFromEPN sur EPN récupéré diff --git a/core/src/main/java/fr/abes/item/service/impl/DemandeRecouvService.java b/core/src/main/java/fr/abes/item/service/impl/DemandeRecouvService.java index f44311c3..c4c71fe8 100644 --- a/core/src/main/java/fr/abes/item/service/impl/DemandeRecouvService.java +++ b/core/src/main/java/fr/abes/item/service/impl/DemandeRecouvService.java @@ -1,6 +1,5 @@ package fr.abes.item.service.impl; -import fr.abes.cbs.exception.CommException; import fr.abes.item.components.Fichier; import fr.abes.item.components.FichierEnrichiRecouv; import fr.abes.item.constant.Constant; @@ -292,7 +291,7 @@ private int getPreviousState(int etatDemande) { } @Override - public int launchQueryToSudoc(String codeIndex, String valeurs) throws CommException, QueryToSudocException { + public int launchQueryToSudoc(String codeIndex, String valeurs) throws IOException, QueryToSudocException { String[] tabvaleurs = valeurs.split(";"); String query = getQueryToSudoc(codeIndex, tabvaleurs); getService().getTraitement().getCbs().search(query); diff --git a/core/src/main/java/fr/abes/item/service/impl/TraitementService.java b/core/src/main/java/fr/abes/item/service/impl/TraitementService.java index b0d1e11d..703ee2e5 100644 --- a/core/src/main/java/fr/abes/item/service/impl/TraitementService.java +++ b/core/src/main/java/fr/abes/item/service/impl/TraitementService.java @@ -1,7 +1,6 @@ package fr.abes.item.service.impl; import fr.abes.cbs.exception.CBSException; -import fr.abes.cbs.exception.CommException; import fr.abes.cbs.exception.ZoneException; import fr.abes.cbs.notices.Exemplaire; import fr.abes.cbs.notices.Zone; @@ -20,6 +19,7 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; +import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; @@ -28,9 +28,6 @@ @Service public class TraitementService implements ITraitementService { - @Value("${sudoc.poll}") - private Integer poll; - @Value("${sudoc.serveur}") private String serveurSudoc; @@ -45,13 +42,12 @@ public class TraitementService implements ITraitementService { private DaoProvider dao; public TraitementService() { - cbs = new ProcessCBS(poll); + cbs = new ProcessCBS(); } @Override - public void authenticate(String login) throws CBSException, CommException { + public void authenticate(String login) throws CBSException, IOException { this.cbs.authenticate(serveurSudoc, portSudoc, login, Constant.PASSSUDOC); - log.debug("je suis authentifié"); } /** @@ -60,9 +56,10 @@ public void authenticate(String login) throws CBSException, CommException { * @param epn : epn à rechercher * @return notice d'exemplaire trouvée * @throws CBSException : Erreur CBS + * @throws IOException : erreur de communication avec le CBS */ @Override - public String getNoticeFromEPN(String epn) throws CBSException, CommException { + public String getNoticeFromEPN(String epn) throws CBSException, IOException { cbs.search("che EPN " + epn); if (cbs.getNbNotices() == 1) { String noticeEpn = cbs.getClientCBS().mod("1", String.valueOf(cbs.getLotEncours())); @@ -190,9 +187,10 @@ public Exemplaire ajout991(Exemplaire exemp) throws ZoneException { * @param noticeModifiee notice à sauvegarder * @return : retour CBS * @throws CBSException : erreur CBS + * @throws IOException : erreur de communication CBS */ @Override - public String saveExemplaire(String noticeModifiee, String epn) throws CBSException, CommException { + public String saveExemplaire(String noticeModifiee, String epn) throws CBSException, IOException { String numEx = Utilitaires.getNumExFromExemp(noticeModifiee); log.debug(epn + " sauvegarde exemplaire"); return cbs.modifierExemp(noticeModifiee, numEx); diff --git a/pom.xml b/pom.xml index 01f42d83..4bf063cc 100644 --- a/pom.xml +++ b/pom.xml @@ -77,7 +77,7 @@ fr.abes.api-communes AccesCbs - 2.5.53 + 2.5.62 diff --git a/web/src/main/java/fr/abes/item/web/IDemandeRestService.java b/web/src/main/java/fr/abes/item/web/IDemandeRestService.java index cd3075e9..a222c703 100644 --- a/web/src/main/java/fr/abes/item/web/IDemandeRestService.java +++ b/web/src/main/java/fr/abes/item/web/IDemandeRestService.java @@ -72,7 +72,7 @@ String uploadDemande(@RequestParam(required = false, defaultValue = "MODIF") TYP @GetMapping("/simulerLigne") @ApiOperation(value = "permet de simuler la modification d'un exemplaire", notes="pour un exemplaire donné du fichier enrichi, renvoie un tableau contenant la notice avant et après modification") - String[] simulerLigne(@RequestParam(required = false, defaultValue = "MODIF") TYPE_DEMANDE type, @RequestParam Integer numDemande, @RequestParam Integer numLigne, HttpServletRequest request) throws CBSException, UserExistException, ForbiddenException, QueryToSudocException, ZoneException, CommException; + String[] simulerLigne(@RequestParam(required = false, defaultValue = "MODIF") TYPE_DEMANDE type, @RequestParam Integer numDemande, @RequestParam Integer numLigne, HttpServletRequest request) throws CBSException, UserExistException, ForbiddenException, QueryToSudocException, ZoneException, CommException, IOException; @GetMapping("/passerEnAttente") @ApiOperation(value = "permet de modifier le statut de la demande pour la passer à : en attente") diff --git a/web/src/main/java/fr/abes/item/web/impl/DemandeRestService.java b/web/src/main/java/fr/abes/item/web/impl/DemandeRestService.java index aba11c8a..d39a6099 100644 --- a/web/src/main/java/fr/abes/item/web/impl/DemandeRestService.java +++ b/web/src/main/java/fr/abes/item/web/impl/DemandeRestService.java @@ -1,7 +1,6 @@ package fr.abes.item.web.impl; import fr.abes.cbs.exception.CBSException; -import fr.abes.cbs.exception.CommException; import fr.abes.cbs.exception.ZoneException; import fr.abes.cbs.notices.Exemplaire; import fr.abes.item.constant.Constant; @@ -305,7 +304,7 @@ public String uploadDemande(TYPE_DEMANDE type, MultipartFile file, Integer numDe @Override @GetMapping("/simulerLigne") public String[] simulerLigne(TYPE_DEMANDE type, @RequestParam Integer numDemande, @RequestParam Integer numLigne, HttpServletRequest request) - throws CBSException, UserExistException, ForbiddenException, ZoneException, CommException { + throws CBSException, UserExistException, ForbiddenException, ZoneException, IOException { checkAccessToServices.autoriserAccesDemandeParIln(numDemande, request.getAttribute(Constant.USER_NUM).toString()); switch (type) { case MODIF: diff --git a/web/src/main/resources/application-dev.properties b/web/src/main/resources/application-dev.properties index 9e677050..46b77077 100644 --- a/web/src/main/resources/application-dev.properties +++ b/web/src/main/resources/application-dev.properties @@ -30,7 +30,6 @@ sudoc.serveur= sudoc.port= #login permettant de tester si le CBS répond sudoc.login= -sudoc.poll= # Configuration des logs logging.config=classpath:log4j2-dev.xml diff --git a/web/src/main/resources/application-prod.properties b/web/src/main/resources/application-prod.properties index bf779fe9..6212d385 100644 --- a/web/src/main/resources/application-prod.properties +++ b/web/src/main/resources/application-prod.properties @@ -30,7 +30,6 @@ sudoc.serveur= sudoc.port= #login permettant de tester si le CBS répond sudoc.login= -sudoc.poll= # Configuration des logs logging.config=classpath:log4j2-prod.xml diff --git a/web/src/main/resources/application-test.properties b/web/src/main/resources/application-test.properties index b539277f..ebfb1a17 100644 --- a/web/src/main/resources/application-test.properties +++ b/web/src/main/resources/application-test.properties @@ -30,7 +30,6 @@ sudoc.serveur= sudoc.port= #login permettant de tester si le CBS répond sudoc.login= -sudoc.poll= # Configuration des logs logging.config=classpath:log4j2-tests.xml