Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: 5e1b7baa by Tony Chemit at 2020-07-01T13:45:10+02:00 [7.6.3][PS] Les thonidés sont disponibles dans la liste déroulante du form Espèces accessoires, alors qu'ils ne sont pas dans la display liste correspondante - Closes #1562 (report v8) - - - - - db96c24b by Tony Chemit at 2020-07-01T13:48:53+02:00 Deux comportements étranges sur l'assistant tableaux de synthèse - Closes #1533 (report v8) - - - - - 3 changed files: - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/config/ConfigModel.java - client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/report/ReportModel.java - client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/observation/NonTargetCatchUIHandler.java Changes: ===================================== client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/config/ConfigModel.java ===================================== @@ -27,6 +27,7 @@ import fr.ird.observe.client.datasource.actions.AdminActionModel; import fr.ird.observe.client.datasource.actions.AdminStep; import fr.ird.observe.client.datasource.actions.AdminUI; import fr.ird.observe.client.datasource.actions.AdminUIModel; +import fr.ird.observe.client.datasource.actions.report.ReportModel; import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.ReferentialSynchronizeMode; import fr.ird.observe.client.datasource.api.ObserveDataSourcesManagerApplicationComponent; import fr.ird.observe.client.datasource.api.ObserveSwingDataSource; @@ -37,6 +38,7 @@ import fr.ird.observe.client.util.ObserveKeyStrokesSupport; import fr.ird.observe.client.util.UIHelper; import fr.ird.observe.services.configuration.ObserveDataSourceConfiguration; import fr.ird.observe.services.configuration.ObserveDataSourceInformation; +import fr.ird.observe.services.service.actions.report.Report; import org.apache.commons.lang3.StringUtils; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -44,6 +46,7 @@ import org.apache.logging.log4j.Logger; import java.beans.PropertyChangeListener; import java.io.File; import java.util.EnumSet; +import java.util.List; import java.util.Objects; import static fr.ird.observe.client.constants.DbMode.USE_LOCAL; @@ -365,8 +368,10 @@ public class ConfigModel extends AdminActionModel { if (uiModel.containsOperation(AdminStep.REPORT)) { // il faut le fichier di'mport existe - File reportFile = uiModel.getReportModel().getReportFile(); - validate &= reportFile != null && reportFile.exists(); + ReportModel reportModel = uiModel.getReportModel(); + File reportFile = reportModel.getReportFile(); + List<Report> reports = reportModel.getReports(); + validate &= reportFile != null && reportFile.exists() && reports!=null && !reports.isEmpty(); } if (uiModel.containsOperation(AdminStep.ACTIVITY_LONGLINE_PAIRING)) { validate &= localSourceModel.getDataSourceInformation() != null ===================================== client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/report/ReportModel.java ===================================== @@ -39,6 +39,8 @@ import java.beans.PropertyChangeListener; import java.io.File; import java.io.IOException; import java.net.URL; +import java.nio.file.Files; +import java.util.Collections; import java.util.List; import java.util.Map; import java.util.TreeMap; @@ -184,12 +186,18 @@ public class ReportModel extends AdminActionModel { public List<Report> getAllReports() { if (allReports == null) { - try { - URL resource = reportFile.toURI().toURL(); - allReports = loadReports(resource); - log.debug(String.format("Add loaded %d report(s).", allReports.size())); - } catch (IOException e) { - throw new IllegalStateException(String.format("Could not load reports definition file (%s).", reportFile), e); + if (reportFile == null || Files.notExists(reportFile.toPath())) { + log.warn("No report file, no reports loaded."); + allReports = Collections.emptyList(); + } else { + try { + URL resource = reportFile.toURI().toURL(); + allReports = loadReports(resource); + log.debug(String.format("Add loaded %d report(s).", allReports.size())); + } catch (IOException e) { + throw new IllegalStateException( + String.format("Could not load reports definition file (%s).", reportFile), e); + } } } return allReports; @@ -257,6 +265,7 @@ public class ReportModel extends AdminActionModel { public void updateReports() { setSelectedReport(null); + allReports = null; if (reportFile == null) { return; } @@ -272,12 +281,11 @@ public class ReportModel extends AdminActionModel { File reportFile = ObserveClientResourceManager.Resource.report.getFile(config.getReportDirectory()); if (reportFile.exists()) { - log.info(String.format("Will use report file : %s", reportFile)); - - setReportFile(reportFile); + log.info(String.format("Will use default report file : %s", reportFile)); } else { log.warn(String.format("Default report file %s does not exists.", reportFile)); } + setReportFile(reportFile); // on ecoute la modification du modèle PropertyChangeListener listenReportModified = evt -> { ===================================== client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/observation/NonTargetCatchUIHandler.java ===================================== @@ -179,13 +179,6 @@ public class NonTargetCatchUIHandler extends ContentTableUIHandler<SetNonTargetC protected void loadEditBean(String beanId) { Form<SetNonTargetCatchDto> form = getPsObservationNonTargetCatchService().loadForm(beanId); getModel().openForm(form); - //FIXME voir pk on faisait ça à ce moment -// addReferentialFilter(NonTargetCatchDto.PROPERTY_SPECIES, (ReferentialReferencesFilter<SpeciesDto, SpeciesReference>) incomingReferences -> { -// String speciesListId = getClientConfig().getSpeciesListSeineObservationNonTargetCatchId(); -// String tripId = ObserveSelectModelApplicationComponent.value().getSeine().getTrip().getId(); -// List<SpeciesReference> result = getTripService().getSpeciesByListAndTrip(tripId, speciesListId).toList(); -// return DtoReferenceCollection.filterEnabled(result); -// }); } @Override View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/621d20eb4303b6d0fb9854bd5... -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/621d20eb4303b6d0fb9854bd5... You're receiving this email because of your account on gitlab.com.