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 c67f4e421ec774d2f978dd11870c19747bfa9527 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Oct 27 11:03:06 2016 +0200 Déplacement de ReportType en ObserveModelType + ajout de ce type sur les rapports --- application-swing/pom.xml | 2 +- .../application/swing/ui/admin/AdminUIModel.java | 40 ++++++------------ .../swing/ui/admin/report/ReportConfigUI.jaxx | 11 ++--- .../swing/ui/admin/report/ReportConfigUI.jcss | 10 ++--- .../swing/ui/admin/report/ReportModel.java | 47 +++++++++++++--------- .../swing/ui/admin/report/ReportUIHandler.java | 5 ++- .../i18n/application-swing_en_GB.properties | 6 +-- .../i18n/application-swing_es_ES.properties | 6 +-- .../i18n/application-swing_fr_FR.properties | 6 +-- .../ird/observe/services/dto/ObserveModelType.java | 4 +- .../services/dto/actions/report/Report.java | 20 ++++++--- .../src/main/filters/observe-reports.properties | 31 +++++++------- .../service/actions/report/ReportBuilder.java | 5 ++- 13 files changed, 101 insertions(+), 92 deletions(-) diff --git a/application-swing/pom.xml b/application-swing/pom.xml index 1f716c9..88e19be 100644 --- a/application-swing/pom.xml +++ b/application-swing/pom.xml @@ -440,7 +440,7 @@ <enum>fr.ird.observe.application.swing.ui.storage.ObstunaAdminAction</enum> <enum>fr.ird.observe.application.swing.ui.admin.AdminStep</enum> <enum>fr.ird.observe.application.swing.db.constants.ConnexionStatus</enum> - <enum>fr.ird.observe.application.swing.ui.admin.report.ReportType</enum> + <enum>fr.ird.observe.services.dto.ObserveModelType</enum> </enums> </enumerationSet> <enumerationSet> diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/AdminUIModel.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/AdminUIModel.java index f512ad2..24255db 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/AdminUIModel.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/AdminUIModel.java @@ -25,13 +25,12 @@ import com.google.common.collect.Lists; import fr.ird.observe.application.swing.I18nEnumHelper; import fr.ird.observe.application.swing.ObserveSwingApplicationContext; import fr.ird.observe.application.swing.configuration.ObserveSwingApplicationConfig; -import fr.ird.observe.application.swing.db.ObserveSwingDataSource; import fr.ird.observe.application.swing.configuration.constants.DbMode; +import fr.ird.observe.application.swing.db.ObserveSwingDataSource; import fr.ird.observe.application.swing.ui.admin.config.ConfigUI; import fr.ird.observe.application.swing.ui.admin.consolidate.ConsolidateModel; import fr.ird.observe.application.swing.ui.admin.export.ExportModel; import fr.ird.observe.application.swing.ui.admin.report.ReportModel; -import fr.ird.observe.application.swing.ui.admin.report.ReportType; import fr.ird.observe.application.swing.ui.admin.save.SaveLocalModel; import fr.ird.observe.application.swing.ui.admin.synchronize.data.DataSynchroModel; import fr.ird.observe.application.swing.ui.admin.synchronize.referential.ReferentialSynchronizeMode; @@ -47,7 +46,7 @@ import fr.ird.observe.services.configuration.ObserveDataSourceInformation; import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.DataReferenceSet; import fr.ird.observe.services.dto.IdHelper; -import fr.ird.observe.services.dto.actions.report.Report; +import fr.ird.observe.services.dto.ObserveModelType; import fr.ird.observe.services.dto.longline.TripLonglineDto; import fr.ird.observe.services.dto.seine.TripSeineDto; import fr.ird.observe.services.service.BabModelVersionException; @@ -277,21 +276,6 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { AdminStep oldStep = (AdminStep) evt.getOldValue(); AdminStep newStep = (AdminStep) evt.getNewValue(); - if (AdminStep.REPORT == newStep) { - - if (oldStep != null && oldStep.ordinal() < newStep.ordinal()) { - - int oldIndex = getStepIndex(oldStep); - int newIndex = getStepIndex(newStep); - - if (oldIndex < newIndex) { - - // on reinitialise le report sélectionné - getReportModel().setSelectedReport(null); - } - } - } - if (AdminStep.CONFIG == newStep) { // on repasse sur l'écran de configuration @@ -338,13 +322,13 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { // on remplit le modèle de sélection uniquement avec le bon type de marées ReportModel reportModel = getReportModel(); - ReportType reportType = reportModel.getReportType(); - boolean loadSeineTrip = ReportType.PS == reportType; + ObserveModelType reportType = reportModel.getModelType(); + boolean loadSeineTrip = ObserveModelType.PS == reportType; ObserveSwingDataSource dataSource = getSafeLocalSource(true); populateSelectionModel(dataSource, loadSeineTrip); return; - + } // on remplit le modèle de sélection @@ -620,8 +604,8 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { if (log.isWarnEnabled()) log.warn("Default report file " + reportFile + " does not exists."); } - // on charge la liste des reports disponilbes - List<Report> reports = getReportModel().getReports(); +// // on charge la liste des reports disponilbes +// List<Report> reports = getReportModel().getReports(); // on ecoute la modification du modèle getReportModel().removePropertyChangeListener(listenReportModified); @@ -631,9 +615,9 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { getSelectionDataModel().removePropertyChangeListener(DataSelectionModel.PROPERTY_SELECTED_DATA, listenerSelectedDataForReport); getSelectionDataModel().addPropertyChangeListener(DataSelectionModel.PROPERTY_SELECTED_DATA, listenerSelectedDataForReport); - if (log.isInfoEnabled()) { - log.info("Detects " + reports.size() + " report(s)."); - } +// if (log.isInfoEnabled()) { +// log.info("Detects " + reports.size() + " report(s)."); +// } } if (containsOperation(AdminStep.CONSOLIDATE)) { @@ -1205,7 +1189,7 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { if (containsOperation(AdminStep.SYNCHRONIZE)) { if (!localSourceModel.isValid()) { - return false; + return false; } ObserveDataSourceInformation leftDataSourceInformation = getLocalSourceInformation(); @@ -1214,7 +1198,7 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { } if (!centralSourceModel.isValid()) { - return false; + return false; } ObserveDataSourceInformation rightDataSourceInformation = centralSourceModel.getDataSourceInformation(); diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportConfigUI.jaxx b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportConfigUI.jaxx index 43cce49..f1cd03d 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportConfigUI.jaxx +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportConfigUI.jaxx @@ -27,6 +27,7 @@ <import> fr.ird.observe.application.swing.ui.admin.AdminUIModel + fr.ird.observe.services.dto.ObserveModelType java.io.File @@ -55,13 +56,13 @@ protected void finalize() throws Throwable { <row> <cell anchor="west"> - <JLabel id='reportTypeLabel'/> + <JLabel id='modelTypeLabel'/> </cell> <cell weightx='1' fill="horizontal" columns="2"> - <EnumEditor id="reportType" - genericType='ReportType' - constructorParams='ReportType.class' - onItemStateChanged='getHandler().setReportTypeFromEvent(event)'/> + <EnumEditor id="modelType" + genericType='ObserveModelType' + constructorParams='ObserveModelType.class' + onItemStateChanged='getHandler().setModelTypeFromEvent(event)'/> </cell> </row> <row> diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportConfigUI.jcss b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportConfigUI.jcss index 1279020..181406e 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportConfigUI.jcss +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportConfigUI.jcss @@ -24,13 +24,13 @@ border:{new TitledBorder(t("observe.actions.report.config"))}; } -#reportTypeLabel { - text:"observe.actions.report.report.type"; - labelFor:{reportType}; +#modelTypeLabel { + text:"observe.actions.report.model.type"; + labelFor:{modelType}; } -#reportType { - selectedItem:{stepModel.getReportType()}; +#modelType { + selectedItem:{stepModel.getModelType()}; } #reportFileLabel { diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportModel.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportModel.java index c107824..d5e9c05 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportModel.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportModel.java @@ -23,6 +23,7 @@ package fr.ird.observe.application.swing.ui.admin.report; import fr.ird.observe.application.swing.ui.admin.AdminActionModel; import fr.ird.observe.application.swing.ui.admin.AdminStep; +import fr.ird.observe.services.dto.ObserveModelType; import fr.ird.observe.services.dto.actions.report.Report; import fr.ird.observe.services.service.actions.report.ReportBuilder; import org.apache.commons.logging.Log; @@ -35,6 +36,7 @@ import java.util.List; import java.util.Map; import java.util.TreeMap; import java.util.regex.Pattern; +import java.util.stream.Collectors; /** * Le modèle utilisé pour la fonctionnalité de génération de rapport. @@ -50,7 +52,7 @@ public class ReportModel extends AdminActionModel { public static final String REPORTS_PROPERTY_NAME = "reports"; - public static final String REPORT_TYPE_PROPERTY_NAME = "reportType"; + public static final String MODEL_TYPE_PROPERTY_NAME = "modelType"; public static final String REPORT_FILE_PROPERTY_NAME = "reportFile"; @@ -70,7 +72,7 @@ public class ReportModel extends AdminActionModel { private static final Log log = LogFactory.getLog(ReportModel.class); /** Type de rapport à charger. */ - protected ReportType reportType = ReportType.PS; + protected ObserveModelType modelType = ObserveModelType.PS; /** la fichier contenant la définition des reports. */ protected File reportFile; @@ -105,6 +107,8 @@ public class ReportModel extends AdminActionModel { public ReportModel() { super(AdminStep.REPORT); variables = new TreeMap<>(); + // quand le type de modèle change, on mets à jour les rapports disponibles + addPropertyChangeListener(MODEL_TYPE_PROPERTY_NAME, evt -> updateReports()); } public List<Report> loadReports(URL resource) throws IOException { @@ -180,38 +184,36 @@ public class ReportModel extends AdminActionModel { return reports != null; } - public List<Report> getReports() { - if (reports == null && reportFile.exists()) { - + private List<Report> allReports; + public List<Report> getAllReports() { + if (allReports == null) { try { URL resource = reportFile.toURI().toURL(); - List<Report> reports = loadReports(resource); + allReports = loadReports(resource); if (log.isDebugEnabled()) { - log.debug("Add loaded " + reports.size() + " report(s)."); + log.debug("Add loaded " + allReports.size() + " report(s)."); } - setReports(reports); } catch (IOException e) { throw new IllegalStateException( "Could not load reports definition file (" + reportFile + ").", e); } } - return reports; + return allReports; } - public void setReports(List<Report> reports) { - this.reports = reports; - firePropertyChange(REPORTS_PROPERTY_NAME, reports); + public List<Report> getReports() { + return reports; } - public ReportType getReportType() { - return reportType; + public ObserveModelType getModelType() { + return modelType; } - public void setReportType(ReportType reportType) { - ReportType oldValue = getReportType(); - this.reportType = reportType; - firePropertyChange(REPORT_TYPE_PROPERTY_NAME, oldValue, reportType); + public void setModelType(ObserveModelType reportType) { + ObserveModelType oldValue = getModelType(); + this.modelType = reportType; + firePropertyChange(MODEL_TYPE_PROPERTY_NAME, oldValue, reportType); } public Report getSelectedReport() { @@ -259,4 +261,13 @@ public class ReportModel extends AdminActionModel { variables.clear(); firePropertyChange(VARIABLES_PROPERTY_NAME, null, variables); } + + public void updateReports() { + setSelectedReport(null); + reports = getAllReports().stream().filter(r -> modelType == r.getModelType()).collect(Collectors.toList()); + firePropertyChange(REPORTS_PROPERTY_NAME, reports); + if (log.isInfoEnabled()) { + log.info("Detects " + (reports.size() - 1) + " report(s)."); + } + } } diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportUIHandler.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportUIHandler.java index f0bf99d..23d45c8 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportUIHandler.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportUIHandler.java @@ -35,6 +35,7 @@ import fr.ird.observe.application.swing.ui.admin.config.SelectDataUI; import fr.ird.observe.application.swing.ui.storage.tabs.DataSelectionModel; import fr.ird.observe.services.dto.DataDto; import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.ObserveModelType; import fr.ird.observe.services.dto.actions.report.DataMatrix; import fr.ird.observe.services.dto.actions.report.Report; import fr.ird.observe.services.dto.actions.report.ReportVariable; @@ -215,9 +216,9 @@ public class ReportUIHandler extends AdminTabUIHandler { }); } - public void setReportTypeFromEvent(ItemEvent event) { + public void setModelTypeFromEvent(ItemEvent event) { if (event.getStateChange() == ItemEvent.SELECTED) { - getStepModel().setReportType((ReportType) event.getItem()); + getStepModel().setModelType((ObserveModelType) event.getItem()); } } 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 72101c3..cfa4eb7 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 @@ -174,8 +174,8 @@ observe.actions.report=Report observe.actions.report.config=Report configuration observe.actions.report.copy.options=Copy into clipboard options observe.actions.report.description=Generate reports +observe.actions.report.model.type=Model type to use observe.actions.report.report.description=Description of selected report -observe.actions.report.report.type=Model type to use observe.actions.report.result=Results observe.actions.report.select=Select report observe.actions.report.select.file=File of reports definitions @@ -1329,8 +1329,6 @@ observe.enum.fr.ird.observe.application.swing.ui.admin.AdminStep.SYNCHRONIZE=Upd observe.enum.fr.ird.observe.application.swing.ui.admin.AdminStep.SYNCHRONIZE.description=Update referential observe.enum.fr.ird.observe.application.swing.ui.admin.AdminStep.VALIDATE=Validation observe.enum.fr.ird.observe.application.swing.ui.admin.AdminStep.VALIDATE.description=Validation data -observe.enum.fr.ird.observe.application.swing.ui.admin.report.ReportType.LL=Longline -observe.enum.fr.ird.observe.application.swing.ui.admin.report.ReportType.PS=Seine observe.enum.fr.ird.observe.application.swing.ui.admin.synchronize.referential.ReferentialSynchronizeMode.BOTH=Bi directionnal observe.enum.fr.ird.observe.application.swing.ui.admin.synchronize.referential.ReferentialSynchronizeMode.FROM_LEFT_TO_RIGHT=From left to right observe.enum.fr.ird.observe.application.swing.ui.admin.synchronize.referential.ReferentialSynchronizeMode.FROM_RIGHT_TO_LEFT=From right to left @@ -1379,6 +1377,8 @@ observe.enum.fr.ird.observe.application.swing.validation.ValidationModelMode.DAT observe.enum.fr.ird.observe.application.swing.validation.ValidationModelMode.DATA.description=Only data observe.enum.fr.ird.observe.application.swing.validation.ValidationModelMode.REFERENTIEL=Only referentials observe.enum.fr.ird.observe.application.swing.validation.ValidationModelMode.REFERENTIEL.description=Only referentials +observe.enum.fr.ird.observe.services.dto.ObserveModelType.LL=Longline +observe.enum.fr.ird.observe.services.dto.ObserveModelType.PS=Seine observe.enum.fr.ird.observe.services.dto.constants.GearType.longline=Longline gear type observe.enum.fr.ird.observe.services.dto.constants.GearType.seine=Senne gear type observe.enum.fr.ird.observe.services.dto.constants.ReferenceStatus.disabled=Disabled 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 dcd4890..375f23d 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 @@ -174,8 +174,8 @@ observe.actions.report=Cuadros de síntesis observe.actions.report.config=Configuración de los informes observe.actions.report.copy.options=Opciones de copia en el portapapeles observe.actions.report.description=Generar los cuadros de síntesis del informe de fin del embarque +observe.actions.report.model.type=Model type to use \#TODO observe.actions.report.report.description=Descripción del informe seleccionado -observe.actions.report.report.type=Model type to use \#TODO observe.actions.report.result=Resultados del informe observe.actions.report.select=Selección del informe observe.actions.report.select.file=Archivo de definición de informes @@ -1329,8 +1329,6 @@ observe.enum.fr.ird.observe.application.swing.ui.admin.AdminStep.SYNCHRONIZE=Act observe.enum.fr.ird.observe.application.swing.ui.admin.AdminStep.SYNCHRONIZE.description=Actualizar el referencial con una base central observe.enum.fr.ird.observe.application.swing.ui.admin.AdminStep.VALIDATE=Validación observe.enum.fr.ird.observe.application.swing.ui.admin.AdminStep.VALIDATE.description=Validación de los datos de una fuente de datos -observe.enum.fr.ird.observe.application.swing.ui.admin.report.ReportType.LL=Palangre -observe.enum.fr.ird.observe.application.swing.ui.admin.report.ReportType.PS=Senne observe.enum.fr.ird.observe.application.swing.ui.admin.synchronize.referential.ReferentialSynchronizeMode.BOTH=Bidireccional observe.enum.fr.ird.observe.application.swing.ui.admin.synchronize.referential.ReferentialSynchronizeMode.FROM_LEFT_TO_RIGHT=De izquierda a derecha observe.enum.fr.ird.observe.application.swing.ui.admin.synchronize.referential.ReferentialSynchronizeMode.FROM_RIGHT_TO_LEFT=De derecha a izquierda @@ -1379,6 +1377,8 @@ observe.enum.fr.ird.observe.application.swing.validation.ValidationModelMode.DAT observe.enum.fr.ird.observe.application.swing.validation.ValidationModelMode.DATA.description=Datos del observador observe.enum.fr.ird.observe.application.swing.validation.ValidationModelMode.REFERENTIEL=Referencial observe.enum.fr.ird.observe.application.swing.validation.ValidationModelMode.REFERENTIEL.description=Todos los referenciales +observe.enum.fr.ird.observe.services.dto.ObserveModelType.LL=Palangre +observe.enum.fr.ird.observe.services.dto.ObserveModelType.PS=Senne observe.enum.fr.ird.observe.services.dto.constants.GearType.longline=Palangre observe.enum.fr.ird.observe.services.dto.constants.GearType.seine=Senne observe.enum.fr.ird.observe.services.dto.constants.ReferenceStatus.disabled=Desactivado 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 129e451..16a0fd8 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 @@ -174,8 +174,8 @@ observe.actions.report=Tableaux de synthèse observe.actions.report.config=Configuration des reports observe.actions.report.copy.options=Options de copie dans le presse-papier observe.actions.report.description=Générer les tableaux de synthèse du rapport de fin d'embarquement +observe.actions.report.model.type=Type de modèle à utiliser observe.actions.report.report.description=Description du rapport sélectionné -observe.actions.report.report.type=Type de modèle à utiliser observe.actions.report.result=Résultats du rapport observe.actions.report.select=Sélection du rapport observe.actions.report.select.file=Fichier de définition de reports @@ -1329,8 +1329,6 @@ observe.enum.fr.ird.observe.application.swing.ui.admin.AdminStep.SYNCHRONIZE=Mis observe.enum.fr.ird.observe.application.swing.ui.admin.AdminStep.SYNCHRONIZE.description=Mettre à jour le référentiel depuis une base centrale observe.enum.fr.ird.observe.application.swing.ui.admin.AdminStep.VALIDATE=Validation observe.enum.fr.ird.observe.application.swing.ui.admin.AdminStep.VALIDATE.description=Validation des données d'une source de données -observe.enum.fr.ird.observe.application.swing.ui.admin.report.ReportType.LL=Palangre -observe.enum.fr.ird.observe.application.swing.ui.admin.report.ReportType.PS=Senne observe.enum.fr.ird.observe.application.swing.ui.admin.synchronize.referential.ReferentialSynchronizeMode.BOTH=Bi directionnel observe.enum.fr.ird.observe.application.swing.ui.admin.synchronize.referential.ReferentialSynchronizeMode.FROM_LEFT_TO_RIGHT=De la gauche vers la droite observe.enum.fr.ird.observe.application.swing.ui.admin.synchronize.referential.ReferentialSynchronizeMode.FROM_RIGHT_TO_LEFT=De la droite vers la gauche @@ -1379,6 +1377,8 @@ observe.enum.fr.ird.observe.application.swing.validation.ValidationModelMode.DAT observe.enum.fr.ird.observe.application.swing.validation.ValidationModelMode.DATA.description=Données observées observe.enum.fr.ird.observe.application.swing.validation.ValidationModelMode.REFERENTIEL=Référentiel observe.enum.fr.ird.observe.application.swing.validation.ValidationModelMode.REFERENTIEL.description=Tous les référentiels +observe.enum.fr.ird.observe.services.dto.ObserveModelType.LL=Palangre +observe.enum.fr.ird.observe.services.dto.ObserveModelType.PS=Senne observe.enum.fr.ird.observe.services.dto.constants.GearType.longline=Longline observe.enum.fr.ird.observe.services.dto.constants.GearType.seine=Senne observe.enum.fr.ird.observe.services.dto.constants.ReferenceStatus.disabled=Désactivé diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportType.java b/services-dto/src/main/java/fr/ird/observe/services/dto/ObserveModelType.java similarity index 58% rename from application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportType.java rename to services-dto/src/main/java/fr/ird/observe/services/dto/ObserveModelType.java index 203d4f9..2dbcf20 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/report/ReportType.java +++ b/services-dto/src/main/java/fr/ird/observe/services/dto/ObserveModelType.java @@ -1,4 +1,4 @@ -package fr.ird.observe.application.swing.ui.admin.report; +package fr.ird.observe.services.dto; /** * Created on 27/10/16. @@ -6,7 +6,7 @@ package fr.ird.observe.application.swing.ui.admin.report; * @author Tony Chemit - chemit@codelutin.com * @since 5.0.2 */ -public enum ReportType { +public enum ObserveModelType { PS, LL } diff --git a/services-dto/src/main/java/fr/ird/observe/services/dto/actions/report/Report.java b/services-dto/src/main/java/fr/ird/observe/services/dto/actions/report/Report.java index f023039..c05906e 100644 --- a/services-dto/src/main/java/fr/ird/observe/services/dto/actions/report/Report.java +++ b/services-dto/src/main/java/fr/ird/observe/services/dto/actions/report/Report.java @@ -24,6 +24,7 @@ package fr.ird.observe.services.dto.actions.report; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; import fr.ird.observe.services.dto.ObserveDto; +import fr.ird.observe.services.dto.ObserveModelType; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -64,9 +65,13 @@ public class Report implements Serializable, ObserveDto { /** la liste des variables de type repeat du report */ protected final ReportVariable[] repeatVariables; + /** Type de modèle utilisable pour ce report. */ + protected final ObserveModelType modelType; + private static final long serialVersionUID = 1L; - public Report(String id, + public Report(ObserveModelType modelType, + String id, String name, String description, String[] rowHeaders, @@ -75,6 +80,7 @@ public class Report implements Serializable, ObserveDto { ReportVariable[] variables, ReportVariable[] repeatVariables, ReportRequest... requests) { + this.modelType = modelType; this.id = id; this.name = name; this.description = description; @@ -86,10 +92,10 @@ public class Report implements Serializable, ObserveDto { this.repeatVariables = repeatVariables; if (log.isDebugEnabled()) { log.debug("New report [" + id + ":" + name + "], nb requests : " + - requests.length + ", nb objectOperations : " + - operations.length + ", nb variables : " + - variables.length + ", nb repeat variables : " + - repeatVariables.length); + requests.length + ", nb objectOperations : " + + operations.length + ", nb variables : " + + variables.length + ", nb repeat variables : " + + repeatVariables.length); } } @@ -188,4 +194,8 @@ public class Report implements Serializable, ObserveDto { return true; } + public ObserveModelType getModelType() { + return modelType; + } + } diff --git a/services/src/main/filters/observe-reports.properties b/services/src/main/filters/observe-reports.properties index ca55046..1ea6616 100644 --- a/services/src/main/filters/observe-reports.properties +++ b/services/src/main/filters/observe-reports.properties @@ -23,7 +23,7 @@ ################################################################################ ## Liste des activit\u00e9s avec des comments ################################################################################ - +report.activityWithComment.modelType=PS report.activityWithComment.name=Activit\u00e9s avec comment et leurs positions report.activityWithComment.description=Afficher les activit\u00e9s avec comment et leurs positions g\u00e9ographiques report.activityWithComment.columns=Jour - Heure observation, Latitude, Longitude, Activit\u00e9, Commentaire @@ -41,7 +41,7 @@ report.activityWithComment.request.1=0,0|row|\ ################################################################################ ## Liste de toutes les activit\u00e9s et leurs positions ################################################################################ - +report.allActivitys.modelType=PS report.allActivitys.name=Toutes les activit\u00e9s et leurs positions report.allActivitys.description=Afficher toutes les activit\u00e9s et leurs positions g\u00e9ographiques report.allActivitys.columns=Jour - Heure observation, Latitude, Longitude, Activit\u00e9, Commentaire @@ -58,7 +58,7 @@ report.allActivitys.request.1=0,0|row|\ ################################################################################ ## Nombre de cal\u00e9es et captures journali\u00e8res d'une mar\u00e9e ################################################################################ - +report.dailySetAndCatch.modelType=PS report.dailySetAndCatch.name=Nombre de cal\u00e9es et captures journali\u00e8res d'une mar\u00e9e report.dailySetAndCatch.description=Afficher le nombre de cal\u00e9es et les captures journali\u00e8res d\u2019une cal\u00e9e report.dailySetAndCatch.columns=Jour observation,Nombre de cal\u00e9es ,Captures thon @@ -77,7 +77,7 @@ report.dailySetAndCatch.request.1=0,0|row|\ ################################################################################ ## Utilisation des DCP ################################################################################ - +report.dcpUsage.modelType=PS report.dcpUsage.name=Utilisation des DCP report.dcpUsage.description=Tableau r\u00e9capitulatif du nombre de DCP visit\u00e9s selon l\u2019action effectu\u00e9e (visites avec et sans p\u00eache, mis \u00e0 l\u2019eau, r\u00e9cuperation), et tortues observ\u00e9es report.dcpUsage.columns=Type de DCP (Tableau 8),Nombre visit\u00e9s,Nombre p\u00each\u00e9s,Nombre mis \u00e0 l\u2019eau seuls,Nombre renforc\u00e9s par radeau balis\u00e9,R\u00e9cup\u00e9r\u00e9 sans p\u00eache,Nombre de tortues associ\u00e9es @@ -176,7 +176,7 @@ report.dcpUsage.request.7.repeat=typeObjetId|column ################################################################################ ## Nombre des cal\u00e9es selon le type d'association ################################################################################ - +report.setByAssociation.modelType=PS report.setByAssociation.name=Nombre de cal\u00e9es selon le type d\u2019association report.setByAssociation.description=Afficher la r\u00e9partitions des cal\u00e9es selon le type d\u2019association l\u2019issue du coup. Les coups sur BL baleine et BO requin-baleine sont sp\u00e9cifi\u00e9s. report.setByAssociation.columns=BL sans baleine, BL avec baleine, BO avec requin-baleine, BO sans requin-baleine, Total @@ -290,7 +290,7 @@ report.setByAssociation.request.8=3,1|column|\ ################################################################################ ## Captures thon par type d'association ################################################################################ - +report.targetCatchByAssociation.modelType=PS report.targetCatchByAssociation.name=Capture de thon selon le type d'association (en t) report.targetCatchByAssociation.description=Afficher la r\u00e9partitions des captures de thons selon le type d'association report.targetCatchByAssociation.columns=YFT, SKJ, BET, LTA, FRI, Autres, Total @@ -429,7 +429,7 @@ report.targetCatchByAssociation.request.19=0,3|row|\ ################################################################################ ## Rejets thons selon le type d'association ################################################################################ - +report.targetDiscardedByAssociation.modelType=PS report.targetDiscardedByAssociation.name=Rejets de thons selon le type d\u2019association (en t) report.targetDiscardedByAssociation.description=Afficher la r\u00e9partitions des rejets de thons selon le type d'association report.targetDiscardedByAssociation.columns=YFT, SKJ, BET, LTA, FRI, Autres, Total @@ -568,8 +568,7 @@ report.targetDiscardedByAssociation.request.19=0,3|row|\ ################################################################################ ## Captures accessoires observ\u00e9es ################################################################################ - - +report.accessoryCatch.modelType=PS report.accessoryCatch.name=Liste des captures accessoires selon le type de banc, filtr\u00e9es par groupe report.accessoryCatch.description=Afficher les captures accessoires par groupe d'esp\u00e8ce\nLes poids sont exprim\u00e9s en tonnes. report.accessoryCatch.columns=Esp\u00e8ce, Banc libre, Banc objet @@ -625,7 +624,7 @@ report.accessoryCatch.request.3.repeat=speciesId|column ################################################################################ ## Captures accessoires par speciesGroup d'esp\u00e8ces ################################################################################ - +report.accessoryCatchByGroup.modelType=PS report.accessoryCatchByGroup.name=D\u00e9nombrement des captures accessoires et devenir, filtr\u00e9s par groupe report.accessoryCatchByGroup.description=Afficher les nombres de captures accessoires par groupe d'esp\u00e8ce selon le type de banc et le devenir report.accessoryCatchByGroup.columns=Esp\u00e8ce, Total BL, Total BO, Sorti vivant/\u00e9chapp\u00e9, Sorti mort, Rejet\u00e9 vivant, Rejet\u00e9 mort, Partiellement conserv\u00e9, Cuve, Cuisine, Autre @@ -677,7 +676,7 @@ report.accessoryCatchByGroup.request.1=0,0|row|\ ########################################################### ## Distribution des tailles par espèces non ciblées ########################################################### - +report.nonTargetDistributionLengths.modelType=PS report.nonTargetDistributionLengths.name=Distribution des tailles par esp\u00e8ces non cibl\u00e9es report.nonTargetDistributionLengths.description=Afficher la nombre d'individus mesur\u00e9s par classe de taille pour les esp\u00e8ces non cibl\u00e9es report.nonTargetDistributionLengths.columns=Classe de taille,Effectif @@ -705,7 +704,7 @@ Order By ntl.length #################################################################### ## Distribution des tailles des conservés par espèces ciblées (LD1) #################################################################### - +report.targetStoredDistributionLengthsLD1.modelType=PS report.targetStoredDistributionLengthsLD1.name=Distribution des tailles des captures par esp\u00e8ces cibl\u00e9es (mesure LD1) report.targetStoredDistributionLengthsLD1.description=Afficher le nombre d'individus captur\u00e9s, mesur\u00e9s par classe de taille LD1 pour les esp\u00e8ces cibl\u00e9es report.targetStoredDistributionLengthsLD1.columns=Classe de taille,Effectif @@ -737,7 +736,7 @@ Order By tl.length ################################################################ ## Distribution des tailles des rejets par espèces ciblées (LD1) ################################################################ - +report.targetDiscardedDistributionLengthsLD1.modelType=PS report.targetDiscardedDistributionLengthsLD1.name=Distribution des tailles des rejets par esp\u00e8ces cibl\u00e9es (mesure LD1) report.targetDiscardedDistributionLengthsLD1.description=Afficher la nombre d'individus rejet\u00e9s, mesur\u00e9s par classe de taille LD1 pour les esp\u00e8ces cibl\u00e9es report.targetDiscardedDistributionLengthsLD1.columns=Classe de taille,Effectif @@ -769,7 +768,7 @@ Order By tl.length ############################################################### ## Distribution des tailles des conservés par espèces ciblées (LF) ############################################################### - +report.targetStoredDistributionLengthsLF.modelType=PS report.targetStoredDistributionLengthsLF.name=Distribution des tailles des captures par esp\u00e8ces cibl\u00e9es (mesure LF) report.targetStoredDistributionLengthsLF.description=Afficher le nombre d'individus captur\u00e9s, mesur\u00e9s par classe de taille LF pour les esp\u00e8ces cibl\u00e9es report.targetStoredDistributionLengthsLF.columns=Classe de taille,Effectif @@ -801,7 +800,7 @@ Order By tl.length ############################################################### ## Distribution des tailles des rejets par espèces ciblées (LF) ############################################################### - +report.targetDiscardedDistributionLengthsLF.modelType=PS report.targetDiscardedDistributionLengthsLF.name=Distribution des tailles des rejets par esp\u00e8ces cibl\u00e9es (mesure LF) report.targetDiscardedDistributionLengthsLF.description=Afficher le nombre d'individus rejet\u00e9s, mesur\u00e9s par classe de taille LF pour les esp\u00e8ces cibl\u00e9es report.targetDiscardedDistributionLengthsLF.columns=Classe de taille,Effectif @@ -833,7 +832,7 @@ Order By tl.length ############################################ ## Répartition des calées par cuves ############################################ - +report.repartionCaleeParCuve.modelType=PS report.repartionCaleeParCuve.name=R\u00e9partition des cal\u00e9es par cuves report.repartionCaleeParCuve.description=R\u00e9partition des cal\u00e9es par cuves, type de banc et esp\u00e8ce report.repartionCaleeParCuve.columns=Jour - Heure observation,Latitude,Longitude,Type de banc,Esp\u00e8ce,Tonnage,Cuve diff --git a/services/src/main/java/fr/ird/observe/services/service/actions/report/ReportBuilder.java b/services/src/main/java/fr/ird/observe/services/service/actions/report/ReportBuilder.java index 13b5d35..cb1d7d1 100644 --- a/services/src/main/java/fr/ird/observe/services/service/actions/report/ReportBuilder.java +++ b/services/src/main/java/fr/ird/observe/services/service/actions/report/ReportBuilder.java @@ -22,6 +22,7 @@ package fr.ird.observe.services.service.actions.report; +import fr.ird.observe.services.dto.ObserveModelType; import fr.ird.observe.services.dto.actions.report.Report; import fr.ird.observe.services.dto.actions.report.ReportOperation; import fr.ird.observe.services.dto.actions.report.ReportRequest; @@ -131,6 +132,7 @@ public class ReportBuilder { log.debug("Will build report [" + reportName + "] with " + dico.size() + " properties (" + dico + ")."); } + ObserveModelType modelType = ObserveModelType.valueOf(getValue(dico, "modelType").trim().toUpperCase()); String name = getValue(dico, "name").trim(); String description = getValue(dico, "description").trim(); String rows = getValue(dico, "rows"); @@ -161,7 +163,8 @@ public class ReportBuilder { } } - return new Report(reportName, + return new Report(modelType, + reportName, name, description, rowHeaders, -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.