branch develop updated (dba70c6 -> 965a665)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository tutti. See http://git.codelutin.com/tutti.git from dba70c6 fixes #6869: Impossible de valider ou d'annuler un login pour la récupération de la base new 46c638b refs #6870 Correction API protocol + ajout getProtocolByName new a0f8e0a refs #6870 Gestion de la surcharge du protocol new 9285511 select imported protocol in UI after import new 965a665 fixes #6870: [IMPORT GENERIQUE] Améliorer la gestion du protocole Merge branch 'feature/6870' into develop The 4 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit 965a665adb98a31dc7a1dbf4487a21d389172bd9 Merge: dba70c6 9285511 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Mar 26 09:37:40 2015 +0100 fixes #6870: [IMPORT GENERIQUE] Améliorer la gestion du protocole Merge branch 'feature/6870' into develop commit 9285511611d08a9bfa5de3dd2a0576f5fe17be4b Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Mar 26 09:36:39 2015 +0100 select imported protocol in UI after import commit a0f8e0ae943a02fecd840df3dcf50e89e175a949 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Mar 26 09:08:33 2015 +0100 refs #6870 Gestion de la surcharge du protocol commit 46c638b3863e7e271e9c870c985363b4349cf43a Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Mar 26 09:08:05 2015 +0100 refs #6870 Correction API protocol + ajout getProtocolByName Summary of changes: .../tutti/persistence/TuttiPersistenceImpl.java | 9 ++- .../persistence/TuttiPersistenceNoDbImpl.java | 5 ++ .../service/ProtocolPersistenceService.java | 3 +- .../service/ProtocolPersistenceServiceImpl.java | 12 ++++ .../ifremer/tutti/service/PersistenceService.java | 5 ++ .../genericformat/GenericFormatContextSupport.java | 10 +++ .../GenericFormatImportConfiguration.java | 10 +++ .../genericformat/GenericFormatImportRequest.java | 4 ++ .../genericformat/GenericFormatResultSupport.java | 12 +++- .../importactions/ImportProtocolAction.java | 9 ++- .../importactions/RestoreAfterImportAction.java | 36 +++++++++- .../resources/i18n/tutti-service_en_GB.properties | 2 + .../resources/i18n/tutti-service_fr_FR.properties | 4 +- .../actions/GenericFormatImportAction.java | 78 +++++++++++++++++++++- .../resources/i18n/tutti-ui-swing_en_GB.properties | 6 ++ .../resources/i18n/tutti-ui-swing_fr_FR.properties | 6 ++ 16 files changed, 201 insertions(+), 10 deletions(-) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository tutti. See http://git.codelutin.com/tutti.git commit 46c638b3863e7e271e9c870c985363b4349cf43a Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Mar 26 09:08:05 2015 +0100 refs #6870 Correction API protocol + ajout getProtocolByName --- .../fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java | 9 ++++++++- .../ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java | 5 +++++ .../persistence/service/ProtocolPersistenceService.java | 3 ++- .../persistence/service/ProtocolPersistenceServiceImpl.java | 12 ++++++++++++ .../java/fr/ifremer/tutti/service/PersistenceService.java | 5 +++++ 5 files changed, 32 insertions(+), 2 deletions(-) diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java index 292c608..f125b75 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java @@ -851,9 +851,16 @@ public class TuttiPersistenceImpl implements TuttiPersistence { @Override public List<String> getAllProtocolNames() { - return getProtocolService().getAllProtocolId(); + return getProtocolService().getAllProtocolNames(); + } + + @Override + public TuttiProtocol getProtocolByName(String protocolName) { + return getProtocolService().getProtocolByName(protocolName); } + + @Override public List<TuttiProtocol> getAllProtocol() { return getProtocolService().getAllProtocol(); diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java index 24bcc12..879c146 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java @@ -472,6 +472,11 @@ public class TuttiPersistenceNoDbImpl implements TuttiPersistence { } @Override + public TuttiProtocol getProtocolByName(String protocolName) { + throw notImplemented(); + } + + @Override public void setProtocol(TuttiProtocol protocol) { throw notImplemented(); } diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProtocolPersistenceService.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProtocolPersistenceService.java index 605fc55..1d69cba 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProtocolPersistenceService.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProtocolPersistenceService.java @@ -66,6 +66,8 @@ public interface ProtocolPersistenceService extends TuttiPersistenceServiceImple */ String getFirstAvailableName(String protocolName); + TuttiProtocol getProtocolByName(String protocolName); + List<String> getAllProtocolId(); List<String> getAllProtocolNames(); @@ -79,5 +81,4 @@ public interface ProtocolPersistenceService extends TuttiPersistenceServiceImple TuttiProtocol saveProtocol(TuttiProtocol bean); void deleteProtocol(String protocolId); - } diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProtocolPersistenceServiceImpl.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProtocolPersistenceServiceImpl.java index 5fae1fb..ca7bdc2 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProtocolPersistenceServiceImpl.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProtocolPersistenceServiceImpl.java @@ -113,6 +113,18 @@ public class ProtocolPersistenceServiceImpl extends AbstractPersistenceService i } @Override + public TuttiProtocol getProtocolByName(String protocolName) { + + TuttiProtocol result=null; + for (TuttiProtocol protocol : getAllProtocol()) { + if (protocolName.equals(protocol.getName())) + result = protocol; + } + return result; + + } + + @Override public List<String> getAllProtocolId() { File protocolDirectory = config.getProtocolDirectory(); diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java index ca5828f..8512225 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java @@ -1144,6 +1144,11 @@ public class PersistenceService extends AbstractTuttiService implements TuttiPer } @Override + public TuttiProtocol getProtocolByName(String protocolName) { + return driver.getProtocolByName(protocolName); + } + + @Override public TuttiProtocol createProtocol(TuttiProtocol bean) { return driver.createProtocol(bean); } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository tutti. See http://git.codelutin.com/tutti.git commit a0f8e0ae943a02fecd840df3dcf50e89e175a949 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Mar 26 09:08:33 2015 +0100 refs #6870 Gestion de la surcharge du protocol --- .../genericformat/GenericFormatContextSupport.java | 10 +++ .../GenericFormatImportConfiguration.java | 10 +++ .../genericformat/GenericFormatImportRequest.java | 4 ++ .../genericformat/GenericFormatResultSupport.java | 12 +++- .../importactions/ImportProtocolAction.java | 9 ++- .../importactions/RestoreAfterImportAction.java | 36 ++++++++++- .../resources/i18n/tutti-service_en_GB.properties | 2 + .../resources/i18n/tutti-service_fr_FR.properties | 4 +- .../actions/GenericFormatImportAction.java | 74 +++++++++++++++++++++- .../resources/i18n/tutti-ui-swing_en_GB.properties | 6 ++ .../resources/i18n/tutti-ui-swing_fr_FR.properties | 6 ++ 11 files changed, 165 insertions(+), 8 deletions(-) diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericFormatContextSupport.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericFormatContextSupport.java index 6e32462..42cb74b 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericFormatContextSupport.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericFormatContextSupport.java @@ -125,6 +125,8 @@ public abstract class GenericFormatContextSupport implements Closeable { private final Map<String, GenericFormatImportCruiseContext> cruiseContexts; + private String protocolOriginalName; + protected abstract void onClose(); public GenericFormatContextSupport(GenericFormatImportRequest importRequest, @@ -524,6 +526,14 @@ public abstract class GenericFormatContextSupport implements Closeable { return isTechnicalFilesValid() && getOperationFileResult().isValid(); } + public String getProtocolOriginalName() { + return protocolOriginalName; + } + + public void setProtocolOriginalName(String protocolOriginalName) { + this.protocolOriginalName = protocolOriginalName; + } + public static interface CruiseContextAction { diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericFormatImportConfiguration.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericFormatImportConfiguration.java index cf930a8..ccb03cb 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericFormatImportConfiguration.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericFormatImportConfiguration.java @@ -49,6 +49,8 @@ public class GenericFormatImportConfiguration implements Serializable { private boolean overrideData; + private boolean overrideProtocol; + public String getProgramId() { return programId; } @@ -96,4 +98,12 @@ public class GenericFormatImportConfiguration implements Serializable { public void setOverrideData(boolean overrideData) { this.overrideData = overrideData; } + + public void setOverrideProtocol(boolean overrideProtocol) { + this.overrideProtocol = overrideProtocol; + } + + public boolean isOverrideProtocol() { + return overrideProtocol; + } } diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericFormatImportRequest.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericFormatImportRequest.java index 1d56f7d..6fc9d1d 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericFormatImportRequest.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericFormatImportRequest.java @@ -139,6 +139,10 @@ public class GenericFormatImportRequest implements Serializable { return importConfiguration.isOverrideData(); } + public boolean isOverrideProtocol() { + return importConfiguration.isOverrideProtocol(); + } + public File getReportFile() { return importConfiguration.getReportFile(); } diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericFormatResultSupport.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericFormatResultSupport.java index 09d57b1..7a8ff84 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericFormatResultSupport.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericFormatResultSupport.java @@ -84,6 +84,8 @@ public abstract class GenericFormatResultSupport implements Serializable { private final GenericFormatCsvFileResult accidentalCatchFileResult; + private String protocolOriginalName; + protected GenericFormatResultSupport(GenericFormatContextSupport importContext) { this.importRequest = importContext.getImportRequest(); @@ -102,7 +104,7 @@ public abstract class GenericFormatResultSupport implements Serializable { this.marineLitterFileResult = importContext.getMarineLitterFileResult(); this.individualObservationFileResult = importContext.getIndividualObservationFileResult(); this.accidentalCatchFileResult = importContext.getAccidentalCatchFileResult(); - + this.protocolOriginalName = importContext.getProtocolOriginalName(); Set<String> archiveLayoutErrors1; if (importContext.isArchiveLayoutValid()) { archiveLayoutErrors1 = Collections.emptySet(); @@ -238,4 +240,12 @@ public abstract class GenericFormatResultSupport implements Serializable { return valid; } + public String getProtocolOriginalName() { + return protocolOriginalName; + } + + public void setProtocolOriginalName(String protocolOriginalName) { + this.protocolOriginalName = protocolOriginalName; + } + } diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/importactions/ImportProtocolAction.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/importactions/ImportProtocolAction.java index 680b3b9..b3795f0 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/importactions/ImportProtocolAction.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/importactions/ImportProtocolAction.java @@ -85,7 +85,9 @@ public class ImportProtocolAction extends ImportActionSupport { Map<String, String> idTranslationMap = importContext.getReferentialTemporarySpeciesFileResult().getIdTranslationMap(); TuttiProtocols.translateReferenceTaxonIds(tuttiProtocol, idTranslationMap); - String newName = persistenceService.getFirstAvailableName(tuttiProtocol.getName()); + String protocolOriginalName = tuttiProtocol.getName(); + + String newName = persistenceService.getFirstAvailableName(protocolOriginalName); tuttiProtocol.setName(newName); List<Species> referentSpecies = persistenceService.getAllReferentSpecies(); @@ -111,16 +113,17 @@ public class ImportProtocolAction extends ImportActionSupport { if (fileResult.isValid()) { - importContext.increments(t("tutti.service.genericFormat.import.protocol", tuttiProtocol.getName())); + importContext.increments(t("tutti.service.genericFormat.import.protocol", protocolOriginalName)); tuttiProtocol = persistenceService.createProtocol(tuttiProtocol); persistenceService.setProtocol(tuttiProtocol); importContext.setImportedProtocol(tuttiProtocol); + importContext.setProtocolOriginalName(protocolOriginalName); } else { - importContext.increments(t("tutti.service.genericFormat.import.protocol.notValid", tuttiProtocol.getName())); + importContext.increments(t("tutti.service.genericFormat.import.protocol.notValid", protocolOriginalName)); } diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/importactions/RestoreAfterImportAction.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/importactions/RestoreAfterImportAction.java index 8965ba9..dbb076b 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/importactions/RestoreAfterImportAction.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/importactions/RestoreAfterImportAction.java @@ -1,6 +1,7 @@ package fr.ifremer.tutti.service.genericformat.importactions; import fr.ifremer.tutti.persistence.entities.data.SampleCategoryModel; +import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol; import fr.ifremer.tutti.service.PersistenceService; import fr.ifremer.tutti.service.genericformat.GenericFormatContextSupport; import fr.ifremer.tutti.service.genericformat.GenericFormatImportRequest; @@ -35,7 +36,13 @@ public class RestoreAfterImportAction extends ImportActionSupport { GenericFormatImportRequest importRequest = importContext.getImportRequest(); - rollbackSampleCategoryModel(importRequest); + try { + rollbackSampleCategoryModel(importRequest); + } finally { + + rollbackProtocol(importRequest); + + } } @@ -50,4 +57,31 @@ public class RestoreAfterImportAction extends ImportActionSupport { } + protected void rollbackProtocol(GenericFormatImportRequest importRequest) { + + if (importRequest.isOverrideProtocol()) { + + String protocolOriginalName = importContext.getProtocolOriginalName(); + + TuttiProtocol toDelete = persistenceService.getProtocolByName(protocolOriginalName); + + if (log.isInfoEnabled()) { + log.info("Delete previous protocol: " + toDelete.getId() + " - " + toDelete.getName()); + } + + // delete previous protocol + persistenceService.deleteProtocol(toDelete.getId()); + + TuttiProtocol importedProtocol = importContext.getImportedProtocol(); + importedProtocol.setName(protocolOriginalName); + if (log.isInfoEnabled()) { + log.info("Save imported protocol: " + importedProtocol.getId() + " - " + importedProtocol.getName()); + } + + persistenceService.saveProtocol(importedProtocol); + + } + + } + } diff --git a/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties b/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties index ed06934..f44c1fe 100644 --- a/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties +++ b/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties @@ -192,6 +192,8 @@ tutti.service.genericFormat.import.parameters= tutti.service.genericFormat.import.protocol= tutti.service.genericFormat.import.protocol.notValid= tutti.service.genericFormat.import.sampleCategoryModel= +tutti.service.genericFormat.import.sampleCategoryModel.error.alreadyUsedCaracteristic= +tutti.service.genericFormat.import.sampleCategoryModel.error.alreadyUsedCode= tutti.service.genericFormat.import.sampleCategoryModel.error.caracteristicNotMatching= tutti.service.genericFormat.import.sampleCategoryModel.error.codeNotMatching= tutti.service.genericFormat.import.sampleCategoryModel.error.missingCategories= diff --git a/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties b/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties index 3ae7a58..cdf4a1b 100644 --- a/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties +++ b/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties @@ -155,10 +155,10 @@ tutti.service.genericFormat.import.parameters=Import des paramètres de trait tutti.service.genericFormat.import.protocol=Import d'un nouveau protocol %s tutti.service.genericFormat.import.protocol.notValid=Import d'un nouveau protocol %s annulé (protocol non valide) tutti.service.genericFormat.import.sampleCategoryModel=Import du modèle de catégorisation -tutti.service.genericFormat.import.sampleCategoryModel.error.noCaracteristic=La catactéristique est obligatoire tutti.service.genericFormat.import.sampleCategoryModel.error.alreadyUsedCaracteristic=La catactéristique %s est déja utilisée -tutti.service.genericFormat.import.sampleCategoryModel.error.noCode=Le code est obligatoire tutti.service.genericFormat.import.sampleCategoryModel.error.alreadyUsedCode=Le code %s est déja utilisé +tutti.service.genericFormat.import.sampleCategoryModel.error.noCaracteristic=La catactéristique est obligatoire +tutti.service.genericFormat.import.sampleCategoryModel.error.noCode=Le code est obligatoire tutti.service.genericFormat.import.temporaryGears=Import des références temporaires d'engins tutti.service.genericFormat.import.temporaryPersons=Import des références temporaires de personnes tutti.service.genericFormat.import.temporarySpecies=Import des références temporaires de Taxons diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/genericformat/actions/GenericFormatImportAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/genericformat/actions/GenericFormatImportAction.java index bb50b1d..63e16ba 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/genericformat/actions/GenericFormatImportAction.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/genericformat/actions/GenericFormatImportAction.java @@ -28,20 +28,25 @@ import fr.ifremer.tutti.persistence.entities.data.Program; import fr.ifremer.tutti.service.genericformat.GenericFormatImportConfiguration; import fr.ifremer.tutti.service.genericformat.GenericFormatImportResult; import fr.ifremer.tutti.service.genericformat.GenericFormatImportService; -import fr.ifremer.tutti.ui.swing.util.actions.LongActionSupport; +import fr.ifremer.tutti.service.genericformat.GenericFormatValidateFileResult; import fr.ifremer.tutti.ui.swing.content.genericformat.GenericFormatImportUI; import fr.ifremer.tutti.ui.swing.content.genericformat.GenericFormatImportUIHandler; import fr.ifremer.tutti.ui.swing.content.genericformat.GenericFormatImportUIModel; +import fr.ifremer.tutti.ui.swing.util.actions.LongActionSupport; import jaxx.runtime.SwingUtil; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.nuiton.jaxx.application.swing.AbstractApplicationUIHandler; import javax.swing.Icon; import javax.swing.JLabel; +import javax.swing.JOptionPane; +import java.awt.Component; import java.io.File; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; +import java.util.List; import static org.nuiton.i18n.I18n.t; @@ -77,6 +82,9 @@ public class GenericFormatImportAction extends LongActionSupport<GenericFormatIm } + // Check if protocol already exist with same name + doAction &= acceptProtocol(); + // Do a backup before import if (doAction && !getConfig().isGenericFormatImportSkipBackup()) { @@ -120,6 +128,8 @@ public class GenericFormatImportAction extends LongActionSupport<GenericFormatIm GenericFormatImportConfiguration configuration = getModel().toImportConfiguration(); + configuration.setOverrideProtocol(overrideProtocol); + GenericFormatImportService service = getContext().getGenericFormatImportService(); boolean doBackup = !getConfig().isGenericFormatImportSkipBackup() && backupFile != null; @@ -176,6 +186,7 @@ public class GenericFormatImportAction extends LongActionSupport<GenericFormatIm public void releaseAction() { backupFile = null; importResult = null; + overrideProtocol = false; super.releaseAction(); } @@ -210,4 +221,65 @@ public class GenericFormatImportAction extends LongActionSupport<GenericFormatIm } } + + protected boolean acceptProtocol() { + + GenericFormatValidateFileResult validateResult = getModel().getValidateResult(); + + boolean withProtocolToImport = validateResult.getProtocolFileResult().isImported(); + + boolean doAction = true; + if (withProtocolToImport) { + + List<String> allProtocolNames = getContext().getPersistenceService().getAllProtocolNames(); + + String protocolOriginalName = validateResult.getProtocolOriginalName(); + + if (allProtocolNames.contains(protocolOriginalName)) { + + // Ask user what to do ? + // - generate a new name + // - delete previous protocol + // - Cancel + + String cancel = t("tutti.genericformat.protocol.action.cancel"); + String override = t("tutti.genericformat.protocol.action.override"); + String add = t("tutti.genericformat.protocol.action.add"); + + String htmlMessage = String.format( + AbstractApplicationUIHandler.CONFIRMATION_FORMAT, + t("tutti.genericformat.protocolName.conflict.message", protocolOriginalName), + t("tutti.genericformat.protocolName.conflict.help", validateResult.getProtocol().getName())); + Component ui = getDialogParentComponent(); + int response = JOptionPane.showOptionDialog( + ui, + htmlMessage, + t("tutti.genericformat.protocolName.conflict.title"), + JOptionPane.OK_CANCEL_OPTION, + JOptionPane.QUESTION_MESSAGE, + null, + new String[]{add, override, cancel}, + add); + + switch (response) { + case 2: + // cancel + doAction = false; + break; + case 1: + // override + doAction = true; + overrideProtocol = true; + break; + case 0: + // add + doAction = true; + break; + } + } + } + return doAction; + } + + protected boolean overrideProtocol; } \ No newline at end of file diff --git a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties index 5cb2587..be193c4 100644 --- a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties +++ b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties @@ -1496,6 +1496,12 @@ tutti.genericFormatImport.validateImport.legend= tutti.genericFormatImport.validationResult.description= tutti.genericFormatImport.validationResult.description.tip= tutti.genericFormatImport.validationResult.legend= +tutti.genericformat.protocol.action.add= +tutti.genericformat.protocol.action.cancel= +tutti.genericformat.protocol.action.override= +tutti.genericformat.protocolName.conflict.help= +tutti.genericformat.protocolName.conflict.message= +tutti.genericformat.protocolName.conflict.title= tutti.help.mkDir.error= tutti.i18n.deleteCache.error= tutti.i18n.mkDir.error= diff --git a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties index c1ec889..f68ad71 100644 --- a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties +++ b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties @@ -1431,6 +1431,12 @@ tutti.genericFormatImport.validateReportFile.extension=pdf tutti.genericFormatImport.validateReportFile.extension.description=Rapport de validation (.pdf) tutti.genericFormatImport.validationResult.description=Résultat de la validation tutti.genericFormatImport.validationResult.description.tip=Résultat de la validation +tutti.genericformat.protocol.action.add=Ajouter +tutti.genericformat.protocol.action.cancel=Annuler +tutti.genericformat.protocol.action.override=Remplacer +tutti.genericformat.protocolName.conflict.help=Que voulez-vous faire ?<ul><li><strong>Annuler</strong> pour annuler l'import</li><li><strong>Remplacer</strong> pour supprimer le protocol et le remplacer par le protocole à importer</li><li><strong>Ajouter</strong> pour importer le protocole en le renommant en <i>%s</i></li></ul> +tutti.genericformat.protocolName.conflict.message=Le protocole à importer existe déjà avec le même nom (<i>%s</i>) +tutti.genericformat.protocolName.conflict.title=Conflit sur le nom du protocole à importer tutti.help.mkDir.error=Erreur à la création du dossier d'aide tutti.i18n.deleteCache.error=Erreur à la suppression du cache de l'internationalisation tutti.i18n.mkDir.error=Erreur à la création du dossier d'internationalisation -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository tutti. See http://git.codelutin.com/tutti.git commit 9285511611d08a9bfa5de3dd2a0576f5fe17be4b Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Mar 26 09:36:39 2015 +0100 select imported protocol in UI after import --- .../content/genericformat/actions/GenericFormatImportAction.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/genericformat/actions/GenericFormatImportAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/genericformat/actions/GenericFormatImportAction.java index 63e16ba..cc33f98 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/genericformat/actions/GenericFormatImportAction.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/genericformat/actions/GenericFormatImportAction.java @@ -67,6 +67,8 @@ public class GenericFormatImportAction extends LongActionSupport<GenericFormatIm private GenericFormatImportResult importResult; + protected boolean overrideProtocol; + public GenericFormatImportAction(GenericFormatImportUIHandler handler) { super(handler, false); } @@ -180,6 +182,10 @@ public class GenericFormatImportAction extends LongActionSupport<GenericFormatIm updateResult(importResult); + if (importResult.getProtocol()!=null) { + getDataContext().setProtocolId(importResult.getProtocol().getId()); + } + } @Override @@ -280,6 +286,4 @@ public class GenericFormatImportAction extends LongActionSupport<GenericFormatIm } return doAction; } - - protected boolean overrideProtocol; } \ No newline at end of file -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository tutti. See http://git.codelutin.com/tutti.git commit 965a665adb98a31dc7a1dbf4487a21d389172bd9 Merge: dba70c6 9285511 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Mar 26 09:37:40 2015 +0100 fixes #6870: [IMPORT GENERIQUE] Améliorer la gestion du protocole Merge branch 'feature/6870' into develop .../tutti/persistence/TuttiPersistenceImpl.java | 9 ++- .../persistence/TuttiPersistenceNoDbImpl.java | 5 ++ .../service/ProtocolPersistenceService.java | 3 +- .../service/ProtocolPersistenceServiceImpl.java | 12 ++++ .../ifremer/tutti/service/PersistenceService.java | 5 ++ .../genericformat/GenericFormatContextSupport.java | 10 +++ .../GenericFormatImportConfiguration.java | 10 +++ .../genericformat/GenericFormatImportRequest.java | 4 ++ .../genericformat/GenericFormatResultSupport.java | 12 +++- .../importactions/ImportProtocolAction.java | 9 ++- .../importactions/RestoreAfterImportAction.java | 36 +++++++++- .../resources/i18n/tutti-service_en_GB.properties | 2 + .../resources/i18n/tutti-service_fr_FR.properties | 4 +- .../actions/GenericFormatImportAction.java | 78 +++++++++++++++++++++- .../resources/i18n/tutti-ui-swing_en_GB.properties | 6 ++ .../resources/i18n/tutti-ui-swing_fr_FR.properties | 6 ++ 16 files changed, 201 insertions(+), 10 deletions(-) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm