branch develop updated (594e01c -> 76821c7)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git from 594e01c Suppression code mort new bcefef2 Fix NPE if no set defined on activity new 76821c7 Improve unselect of report The 2 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 76821c73fa0026c737a490d03e27a08ed3befa06 Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue Aug 23 10:16:56 2016 +0200 Improve unselect of report commit bcefef2f09ea46350a636a0478e5bb5ba355161f Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue Aug 23 10:16:39 2016 +0200 Fix NPE if no set defined on activity Summary of changes: .../fr/ird/observe/ui/admin/report/ReportUI.jaxx | 3 +- .../observe/ui/admin/report/ReportUIHandler.java | 145 ++++++++++++--------- .../consolidate/ConsolidateDataServiceTopia.java | 9 +- 3 files changed, 97 insertions(+), 60 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 observe. See https://gitlab.nuiton.org/codelutin/observe.git commit bcefef2f09ea46350a636a0478e5bb5ba355161f Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue Aug 23 10:16:39 2016 +0200 Fix NPE if no set defined on activity --- .../service/actions/consolidate/ConsolidateDataServiceTopia.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/consolidate/ConsolidateDataServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/consolidate/ConsolidateDataServiceTopia.java index 4a361cb..753f9c1 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/consolidate/ConsolidateDataServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/consolidate/ConsolidateDataServiceTopia.java @@ -284,6 +284,13 @@ public class ConsolidateDataServiceTopia extends ObserveServiceTopia implements } SetSeine setSeine = activity.getSetSeine(); + + if (setSeine == null) { + if (log.isInfoEnabled()) { + log.info("No set found for activity: " + activity.getTopiaId()); + } + return; + } SchoolTypePersist oldSchoolType = setSeine.getSchoolType(); SchoolTypePersist newSchoolType = activity.getSchoolType(); if (oldSchoolType == null || oldSchoolType != newSchoolType) { @@ -598,7 +605,7 @@ public class ConsolidateDataServiceTopia extends ObserveServiceTopia implements } if (meanWeight == null && totalCount != null && totalCount != 0 && catchWeight != null && - !NonTargetCatchComputedValueSourcePersist.fromSample.equals(nonTargetCatch.getTotalCountComputedSource())) { + !NonTargetCatchComputedValueSourcePersist.fromSample.equals(nonTargetCatch.getTotalCountComputedSource())) { // calcul le poids moyen à partir de nb estime et du poids estime // uniquement si le nombre estimé ne vient pas des échantillons (voir http://forge.codelutin.com/issues/4670) -- 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 observe. See https://gitlab.nuiton.org/codelutin/observe.git commit 76821c73fa0026c737a490d03e27a08ed3befa06 Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue Aug 23 10:16:56 2016 +0200 Improve unselect of report --- .../fr/ird/observe/ui/admin/report/ReportUI.jaxx | 3 +- .../observe/ui/admin/report/ReportUIHandler.java | 145 ++++++++++++--------- 2 files changed, 89 insertions(+), 59 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/report/ReportUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/report/ReportUI.jaxx index 5289faa..af5382a 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/report/ReportUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/report/ReportUI.jaxx @@ -78,7 +78,8 @@ public void destroy() { <!-- selecteur de report --> <JComboBox id='reportSelector' constraints='BorderLayout.CENTER' - onItemStateChanged='if (event.getStateChange() == ItemEvent.SELECTED) getHandler().updateSelectedReport((Report) ((JComboBox)event.getSource()).getSelectedItem());'/> + onItemStateChanged='getHandler().updateSelectedReportFromEvent(event)'/> + <!--onItemStateChanged='if (event.getStateChange() == ItemEvent.SELECTED) getHandler().updateSelectedReport((Report) ((JComboBox)event.getSource()).getSelectedItem());'/>--> <JScrollPane id='reportDescriptionPane' constraints='BorderLayout.SOUTH'> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/report/ReportUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/report/ReportUIHandler.java index 0f73579..f42720d 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/report/ReportUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/report/ReportUIHandler.java @@ -111,7 +111,7 @@ public class ReportUIHandler extends AdminTabUIHandler { String propertyName = evt.getPropertyName(); Object newValue = evt.getNewValue(); - final ReportModel source = (ReportModel) evt.getSource(); + ReportModel source = (ReportModel) evt.getSource(); if (ReportModel.REPORTS_PROPERTY_NAME.equals(propertyName)) { List<?> reports = (List<?>) newValue; @@ -215,11 +215,29 @@ public class ReportUIHandler extends AdminTabUIHandler { }); } + public void updateSelectedReportFromEvent(ItemEvent event) { + + if (event.getStateChange() == ItemEvent.SELECTED) { + if (log.isInfoEnabled()) { + log.info("Item selected!"); + } + JComboBox<Report> source = (JComboBox<Report>) event.getSource(); + updateSelectedReport((Report) source.getSelectedItem()); + } else if (getStepModel().getSelectedReport() != null) { + + Object item = event.getItem(); + if (log.isInfoEnabled()) { + log.info("Item not selected: " + item); + } + updateSelectedReport(null); + } + } + public void updateSelectedReport(Report report) { getModel().setBusy(true); try { - if (log.isDebugEnabled()) { - log.debug("New selected report : " + report); + if (log.isInfoEnabled()) { + log.info("New selected report : " + report); } getStepModel().setSelectedReport(report); @@ -296,24 +314,13 @@ public class ReportUIHandler extends AdminTabUIHandler { ReportModel model, Report report) { - if (report != null) { - - if (log.isInfoEnabled()) { - log.info("New selected report [" + report + "]"); - } - - try { - - ObserveSwingDataSource dataSource = getModel().getSafeLocalSource(true); - - ReportService reportService = dataSource.newReportService(); - - report = reportService.populateVariables(report, getModel().getSelectedTrip().getId()); + if (log.isInfoEnabled()) { + log.info("New selected report [" + report + "]"); + } - } catch (Exception e) { - throw new ObserveSwingTechnicalException("unable to populate report : " + report.getName(), e); - } + getModel().setBusy(true); + try { // on regénère l'ui de configuration des variables JPanel variablesPanel = tabUI.getReportVariableSelectorPanel(); variablesPanel.removeAll(); @@ -322,55 +329,77 @@ public class ReportUIHandler extends AdminTabUIHandler { boolean useVariables = report != null && report.isVariableRequired(); tabUI.getReportVariableSelectorPane().setVisible(useVariables); - if (useVariables) { - - // on construit les ui pour chaqsue variable - for (ReportVariable variable : report.getVariables()) { - String variableName = variable.getName(); - // String value = variables.get(variableName); - Set values = variable.getValues(); - List<Object> universe = Lists.newArrayList(values); - BeanComboBox<Object> combo = new BeanComboBox<>(); - - combo.setShowReset(true); - variablesPanel.add(combo); - Decorator decorator; - if (ReferentialDto.class.isAssignableFrom(variable.getType()) && !universe.isEmpty()) { - decorator = getDecoratorService().getReferentialReferenceDecorator(variable.getType()); - } else if (DataDto.class.isAssignableFrom(variable.getType()) && !universe.isEmpty()) { - decorator = getDecoratorService().getDataReferenceDecorator(variable.getType()); - } else { - decorator = getDecoratorService().getDecoratorByType(variable.getType()); - } - combo.init((JXPathDecorator<Object>) decorator, universe); - JComboBox jComboBox = combo.getCombobox(); - jComboBox.putClientProperty(VARIABLE_NAME, variableName); - jComboBox.addItemListener(e -> { + // calcul des données et contruction du tableau + model.getResultModel().clear(); - JComboBox comboBox = (JComboBox) e.getSource(); + if (report != null) { - if (e.getStateChange() == ItemEvent.DESELECTED) { + try { - // ne rien faire de l'évènement de déselection - // sauf si le modèle devient vide + ObserveSwingDataSource dataSource = getModel().getSafeLocalSource(true); - if (comboBox.getSelectedItem() == null) { - updateVariable(comboBox, null); - } - return; + ReportService reportService = dataSource.newReportService(); + + report = reportService.populateVariables(report, getModel().getSelectedTrip().getId()); + + } catch (Exception e) { + throw new ObserveSwingTechnicalException("unable to populate report : " + report.getName(), e); + } + + if (useVariables) { + + // on construit les ui pour chaqsue variable + for (ReportVariable variable : report.getVariables()) { + String variableName = variable.getName(); + // String value = variables.get(variableName); + Set values = variable.getValues(); + List<Object> universe = Lists.newArrayList(values); + BeanComboBox<Object> combo = new BeanComboBox<>(); + + combo.setShowReset(true); + variablesPanel.add(combo); + Decorator decorator; + if (ReferentialDto.class.isAssignableFrom(variable.getType()) && !universe.isEmpty()) { + decorator = getDecoratorService().getReferentialReferenceDecorator(variable.getType()); + } else if (DataDto.class.isAssignableFrom(variable.getType()) && !universe.isEmpty()) { + decorator = getDecoratorService().getDataReferenceDecorator(variable.getType()); + } else { + decorator = getDecoratorService().getDecoratorByType(variable.getType()); } + combo.init((JXPathDecorator<Object>) decorator, universe); + JComboBox jComboBox = combo.getCombobox(); + jComboBox.putClientProperty(VARIABLE_NAME, variableName); + jComboBox.addItemListener(e -> { + + JComboBox comboBox = (JComboBox) e.getSource(); - Object o = e.getItem(); - updateVariable(comboBox, o); - }); + if (e.getStateChange() == ItemEvent.DESELECTED) { + + // ne rien faire de l'évènement de déselection + // sauf si le modèle devient vide + + if (comboBox.getSelectedItem() == null) { + updateVariable(comboBox, null); + } + return; + } + + Object o = e.getItem(); + updateVariable(comboBox, o); + }); + } } + + // on revalide la disposition de l'onglet + SwingUtilities.invokeLater(revalidateTabUI); + + Map<String, Object> variables = model.getVariables(); + updateValidState(report, variables); } + } finally { - // on revalide la disposition de l'onglet - SwingUtilities.invokeLater(revalidateTabUI); + getModel().setBusy(false); - Map<String, Object> variables = model.getVariables(); - updateValidState(report, variables); } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm