This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit a539bb8716f335a515e8ee52b82c15f7f45fbf96 Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue Oct 25 14:00:52 2016 +0200 [ObserveLL] Trip - SensorUsed : laisser le bouton importer disponible même si un fichier a déjà été téléchargé (fixes #6470) --- .../content/table/impl/longline/SensorUsedUI.jcss | 1 - .../table/impl/longline/SensorUsedUIHandler.java | 31 ++++++++++++++++---- .../ui/content/table/impl/longline/TdrUI.jcss | 1 - .../content/table/impl/longline/TdrUIHandler.java | 33 ++++++++++++++++++---- .../i18n/application-swing_en_GB.properties | 4 +++ .../i18n/application-swing_es_ES.properties | 4 +++ .../i18n/application-swing_fr_FR.properties | 4 +++ 7 files changed, 65 insertions(+), 13 deletions(-) diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/SensorUsedUI.jcss b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/SensorUsedUI.jcss index b1d6374..27f20ae 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/SensorUsedUI.jcss +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/SensorUsedUI.jcss @@ -94,7 +94,6 @@ actionIcon:data-import; text:"observe.content.sensorUsed.importData"; toolTipText:"observe.content.sensorUsed.importData.tip"; - enabled:{! tableEditBean.isHasData()}; } #exportDataButton { diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/SensorUsedUIHandler.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/SensorUsedUIHandler.java index 4da79cf..b68f982 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/SensorUsedUIHandler.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/SensorUsedUIHandler.java @@ -25,6 +25,9 @@ package fr.ird.observe.application.swing.ui.content.table.impl.longline; import fr.ird.observe.application.swing.ObserveSwingApplicationContext; import fr.ird.observe.application.swing.ObserveSwingTechnicalException; import fr.ird.observe.application.swing.db.constants.DataContextType; +import fr.ird.observe.application.swing.ui.ObserveMainUI; +import fr.ird.observe.application.swing.ui.UIHelper; +import fr.ird.observe.application.swing.ui.content.table.ContentTableUIHandler; import fr.ird.observe.services.dto.DataFileDto; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.ActivityLonglineSensorUsedDto; @@ -35,9 +38,6 @@ import fr.ird.observe.services.dto.referential.longline.SensorDataFormatDto; import fr.ird.observe.services.dto.referential.longline.SensorTypeDto; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.service.longline.ActivityLongLineSensorUsedService; -import fr.ird.observe.application.swing.ui.ObserveMainUI; -import fr.ird.observe.application.swing.ui.UIHelper; -import fr.ird.observe.application.swing.ui.content.table.ContentTableUIHandler; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.jaxx.runtime.JaxxFileChooser; @@ -116,6 +116,27 @@ public class SensorUsedUIHandler extends ContentTableUIHandler<ActivityLonglineS public void importData() { + if (getTableEditBean().isHasData()) { + + DataFileDto dataFile = getTableEditBean().getData(); + if (dataFile == null) { + dataFile = getActivityLonglineSensorUsedService().getDataFile(getTableEditBean().getId()); + } + + int response = UIHelper.askUser((Component) ui, + t("observe.title.confirmReplace"), + t("observe.content.sensorUsed.replace.data.message", dataFile.getName()), + JOptionPane.WARNING_MESSAGE, + new Object[]{t("observe.choice.confirm.replace"), + t("observe.choice.cancel")}, + 1); + + boolean doReplace = response == 0; + if (!doReplace) { + return; + } + } + File file = UIHelper.chooseFile((Component) ui, t("observe.content.choose.sensorUsed.title.importData"), t("observe.action.choose.sensorUsed.importData"), @@ -142,7 +163,7 @@ public class SensorUsedUIHandler extends ContentTableUIHandler<ActivityLonglineS t("observe.content.sensorUsed.delete.data.message"), JOptionPane.WARNING_MESSAGE, new Object[]{t("observe.choice.confirm.delete"), - t("observe.choice.cancel")}, + t("observe.choice.cancel")}, 1); boolean doDelete = response == 0; @@ -200,7 +221,7 @@ public class SensorUsedUIHandler extends ContentTableUIHandler<ActivityLonglineS @Override protected void doPersist(ActivityLonglineSensorUsedDto bean) { - SaveResultDto saveResult= getActivityLonglineSensorUsedService().save(bean); + SaveResultDto saveResult = getActivityLonglineSensorUsedService().save(bean); saveResult.toDto(bean); } diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/TdrUI.jcss b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/TdrUI.jcss index c5477b8..6fa9128 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/TdrUI.jcss +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/TdrUI.jcss @@ -95,7 +95,6 @@ actionIcon:data-import; text:"observe.content.tdr.importData"; toolTipText:"observe.content.tdr.importData.tip"; - enabled:{! tableEditBean.isHasData()}; } #exportDataButton { diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/TdrUIHandler.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/TdrUIHandler.java index 04d8653..6b3e57c 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/TdrUIHandler.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/impl/longline/TdrUIHandler.java @@ -25,6 +25,11 @@ package fr.ird.observe.application.swing.ui.content.table.impl.longline; import fr.ird.observe.application.swing.ObserveSwingApplicationContext; import fr.ird.observe.application.swing.ObserveSwingTechnicalException; import fr.ird.observe.application.swing.db.constants.DataContextType; +import fr.ird.observe.application.swing.ui.ObserveMainUI; +import fr.ird.observe.application.swing.ui.UIHelper; +import fr.ird.observe.application.swing.ui.content.table.ContentTableModel; +import fr.ird.observe.application.swing.ui.content.table.ContentTableUIHandler; +import fr.ird.observe.application.swing.ui.content.table.ContentTableUIModel; import fr.ird.observe.services.dto.DataFileDto; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.SetLonglineTdrDto; @@ -37,11 +42,6 @@ import fr.ird.observe.services.dto.referential.longline.SensorBrandDto; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.service.longline.TdrService; import fr.ird.observe.services.service.longline.TripLonglineService; -import fr.ird.observe.application.swing.ui.ObserveMainUI; -import fr.ird.observe.application.swing.ui.UIHelper; -import fr.ird.observe.application.swing.ui.content.table.ContentTableModel; -import fr.ird.observe.application.swing.ui.content.table.ContentTableUIHandler; -import fr.ird.observe.application.swing.ui.content.table.ContentTableUIModel; import jaxx.runtime.context.JAXXContextEntryDef; import jaxx.runtime.swing.HidorButton; import jaxx.runtime.validator.swing.SwingValidatorMessage; @@ -276,6 +276,27 @@ public class TdrUIHandler extends ContentTableUIHandler<SetLonglineTdrDto, TdrDt public void importData() { + if (getTableEditBean().isHasData()) { + + DataFileDto dataFile = getTableEditBean().getData(); + if (dataFile == null) { + dataFile = getTdrService().getDataFile(getTableEditBean().getId()); + } + + int response = UIHelper.askUser((Component) ui, + t("observe.title.confirmReplace"), + t("observe.content.tdr.replace.data.message", dataFile.getName()), + JOptionPane.WARNING_MESSAGE, + new Object[]{t("observe.choice.confirm.replace"), + t("observe.choice.cancel")}, + 1); + + boolean doReplace = response == 0; + if (!doReplace) { + return; + } + } + File file = UIHelper.chooseFile((Component) ui, t("observe.content.choose.tdr.title.importData"), t("observe.action.choose.tdr.importData"), @@ -302,7 +323,7 @@ public class TdrUIHandler extends ContentTableUIHandler<SetLonglineTdrDto, TdrDt t("observe.content.tdr.delete.data.message"), JOptionPane.WARNING_MESSAGE, new Object[]{t("observe.choice.confirm.delete"), - t("observe.choice.cancel")}, + t("observe.choice.cancel")}, 1); boolean doDelete = response == 0; diff --git a/application-swing/src/main/resources/i18n/application-swing_en_GB.properties b/application-swing/src/main/resources/i18n/application-swing_en_GB.properties index 4d41196..517ed1a 100644 --- a/application-swing/src/main/resources/i18n/application-swing_en_GB.properties +++ b/application-swing/src/main/resources/i18n/application-swing_en_GB.properties @@ -324,6 +324,7 @@ observe.backup.done=[%s] Auto backup done (in %s) observe.backup.start=[%s] Start auto backup observe.choice.cancel=Cancel observe.choice.confirm.delete=Confirm delete +observe.choice.confirm.replace=Replace observe.choice.continue=Continue observe.choice.create.fin.veille.activity=Create end activity observe.choice.create.fin.veille.activity.and.continue=Create end watch activity and continue @@ -1055,6 +1056,7 @@ observe.content.sensorUsed.exportData.tip=Export data file observe.content.sensorUsed.importData=Import observe.content.sensorUsed.importData.tip=Import the data file observe.content.sensorUsed.message.data.exported=the data file was exported at %s. +observe.content.sensorUsed.replace.data.message=Confirm to replace existing data file «%s» observe.content.sensorUsed.sensorBrand=Brand observe.content.sensorUsed.sensorDataFormat=Data format observe.content.sensorUsed.sensorSerialNo=Serial no @@ -1222,6 +1224,7 @@ observe.content.tdr.meanFishingDepth=Maximum fishing depth (m) observe.content.tdr.medianDeployementDepth=Median deployement depth (m) observe.content.tdr.medianFishingDepth=Median fishing depth (m) observe.content.tdr.minFishingDepth=Minimum fishing depth (m) +observe.content.tdr.replace.data.message=Confirm to replace existing data file «%s» observe.content.tdr.section=Section observe.content.tdr.selectedSpecies=Selected species observe.content.tdr.sensorBrand=Brand @@ -1648,6 +1651,7 @@ observe.title.can.not.export.obstuna=Could not export obstuna data... observe.title.choose.db.dump=Choose a database backup observe.title.choose.db.dump.directory=Chhose directory of backup observe.title.choose.reportFile=Choose report definition file +observe.title.confirmReplace=Confirm to replace observe.title.connect.existingDB=Connect to existing database observe.title.connect.localDB=Connect to local database observe.title.connect.remoteDB=Connect to remove database diff --git a/application-swing/src/main/resources/i18n/application-swing_es_ES.properties b/application-swing/src/main/resources/i18n/application-swing_es_ES.properties index 0bee3a7..f229e6a 100644 --- a/application-swing/src/main/resources/i18n/application-swing_es_ES.properties +++ b/application-swing/src/main/resources/i18n/application-swing_es_ES.properties @@ -324,6 +324,7 @@ observe.backup.done=[%s] Fin de la sauvegarde automatique (en %s) \#TODO observe.backup.start=[%s] Début de la sauvegarde automatique \#TODO observe.choice.cancel=Cancelar observe.choice.confirm.delete=Eliminar +observe.choice.confirm.replace=Reemplazar observe.choice.continue=Continuar observe.choice.create.fin.veille.activity=Crear la actividad de fin de guardia observe.choice.create.fin.veille.activity.and.continue=Crear la actividad de fin de guardia y continuar @@ -1055,6 +1056,7 @@ observe.content.sensorUsed.exportData.tip=Exportar el archivo de datos registrad observe.content.sensorUsed.importData=Importar observe.content.sensorUsed.importData.tip=Importar un archivo de datos observe.content.sensorUsed.message.data.exported=El archivo de datos ha sido exportado (%s). +observe.content.sensorUsed.replace.data.message=Confirm to replace existing data file «%s» \#TODO observe.content.sensorUsed.sensorBrand=Marca observe.content.sensorUsed.sensorDataFormat=Formato de datos observe.content.sensorUsed.sensorSerialNo=Número de serie @@ -1222,6 +1224,7 @@ observe.content.tdr.meanFishingDepth=Profundidad media de pesca (m) observe.content.tdr.medianDeployementDepth=Profundidad mediana de despliegue (m) observe.content.tdr.medianFishingDepth=Profundidad mediana de pesca (m) observe.content.tdr.minFishingDepth=Profundidad minimal de pesca (m) +observe.content.tdr.replace.data.message=Confirm to replace existing data file «%s» \#TODO observe.content.tdr.section=Sección observe.content.tdr.selectedSpecies=Especies seleccionadas observe.content.tdr.sensorBrand=Marca @@ -1648,6 +1651,7 @@ observe.title.can.not.export.obstuna=Impossible exportar los datos de obstuna... observe.title.choose.db.dump=Seleccionar una copia de seguridad de base local observe.title.choose.db.dump.directory=Seleccionar e directorio de destinación de la copia de seguridad observe.title.choose.reportFile=Seleccionar el archivo de definición de los informes +observe.title.confirmReplace=Confirm to replace \#TODO observe.title.connect.existingDB=Conexión a una fuente de datos que ya existe observe.title.connect.localDB=Conexión a una fuente de datos local observe.title.connect.remoteDB=Conexión a una fuente de datos distante diff --git a/application-swing/src/main/resources/i18n/application-swing_fr_FR.properties b/application-swing/src/main/resources/i18n/application-swing_fr_FR.properties index 6b08c0c..1ca1856 100644 --- a/application-swing/src/main/resources/i18n/application-swing_fr_FR.properties +++ b/application-swing/src/main/resources/i18n/application-swing_fr_FR.properties @@ -324,6 +324,7 @@ observe.backup.done=[%s] Fin de la sauvegarde automatique (en %s) observe.backup.start=[%s] Début de la sauvegarde automatique observe.choice.cancel=Annuler observe.choice.confirm.delete=Supprimer +observe.choice.confirm.replace=Remplacer observe.choice.continue=Continuer observe.choice.create.fin.veille.activity=Créer l'activité de fin de veille observe.choice.create.fin.veille.activity.and.continue=Créer l'activité de fin de veille et continuer @@ -1055,6 +1056,7 @@ observe.content.sensorUsed.exportData.tip=Exporter le fichier de données enregi observe.content.sensorUsed.importData=Importer observe.content.sensorUsed.importData.tip=Importer un fichier de données observe.content.sensorUsed.message.data.exported=Le fichier de données a été exporté (%s). +observe.content.sensorUsed.replace.data.message=Confirmer le remplacement du fichier de données déjà existant «%s» observe.content.sensorUsed.sensorBrand=Marque observe.content.sensorUsed.sensorDataFormat=Format de données observe.content.sensorUsed.sensorSerialNo=Numéro de série @@ -1222,6 +1224,7 @@ observe.content.tdr.meanFishingDepth=Profondeur moyenne de pêche (m) observe.content.tdr.medianDeployementDepth=Profondeur médiane de deploiement (m) observe.content.tdr.medianFishingDepth=Profondeur médiane de pêche (m) observe.content.tdr.minFishingDepth=Profondeur minimale de pêche (m) +observe.content.tdr.replace.data.message=Confirmer le remplacement du fichier de données déjà existant «%s» observe.content.tdr.section=Section observe.content.tdr.selectedSpecies=Espèces sélectionnées observe.content.tdr.sensorBrand=Marque @@ -1648,6 +1651,7 @@ observe.title.can.not.export.obstuna=Impossible d'exporter des données d'obstun observe.title.choose.db.dump=Choisir une sauvegarder de base locale observe.title.choose.db.dump.directory=Choisir le répertoire de destination de la sauvegarde observe.title.choose.reportFile=Choisir le fichier de définition des reports +observe.title.confirmReplace=Confirmation de remplacement observe.title.connect.existingDB=Connexion à une source de données existante observe.title.connect.localDB=Connexion à une source de données locale observe.title.connect.remoteDB=Connexion à une source de données distante -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.