Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: 901d5cd2 by tchemit at 2019-02-07T13:51:27Z Perte des tooltips sur les données calculées - Closes #1218 - - - - - 56e4ddce by tchemit at 2019-02-07T13:59:26Z Problème avec le calcul sur certaines marées 2 - See #1217 - - - - - 11 changed files: - client-core/src/main/java/fr/ird/observe/client/ui/admin/consolidate/ConsolidateUIHandler.java - client-core/src/main/java/fr/ird/observe/client/ui/content/data/ps/observation/AbstractSampleUIHandler.java - client-core/src/main/java/fr/ird/observe/client/ui/content/data/ps/observation/NonTargetSampleUI.jaxx - client-core/src/main/java/fr/ird/observe/client/ui/content/data/ps/observation/TargetSampleUI.jaxx - client-core/src/main/java/fr/ird/observe/client/ui/storage/tabs/StorageTabUI.jaxx - client-core/src/main/java/fr/ird/observe/client/ui/storage/tabs/StorageTabUIHandler.java - observe-i18n/src/main/i18n/translations/observe_en_GB.properties - observe-i18n/src/main/i18n/translations/observe_es_ES.properties - observe-i18n/src/main/i18n/translations/observe_fr_FR.properties - services-local/src/main/java/fr/ird/observe/services/local/service/actions/consolidate/ConsolidateDataServiceLocal.java - services-local/src/main/java/fr/ird/observe/services/local/service/actions/consolidate/ConsolidationActivitySeineDataContext.java Changes: ===================================== client-core/src/main/java/fr/ird/observe/client/ui/admin/consolidate/ConsolidateUIHandler.java ===================================== @@ -6,7 +6,7 @@ * %% * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the + * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, @@ -14,7 +14,7 @@ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * - * You should have received a copy of the GNU General Public + * You should have received a copy of the GNU General Public * License along with this program. If not, see * <http://www.gnu.org/licenses/gpl-3.0.html>. * #L% @@ -109,11 +109,11 @@ public class ConsolidateUIHandler extends AdminTabUIHandler<ConsolidateUI> imple String tripSeineLabel = result.getTripSeineLabel(); - sendMessage(t("observe.actions.consolidate.message.trip", tripSeineLabel)); + sendMessage(t("observe.actions.consolidate.message.trip", result.getTripSeineId(), tripSeineLabel)); for (ConsolidateActivitySeineDataResult activitySeineDataResult : result.getConsolidateActivitySeineDataResults()) { - sendMessage(t("observe.actions.consolidate.message.activity", activitySeineDataResult.getActivitySeineLabel())); + sendMessage(t("observe.actions.consolidate.message.activity", activitySeineDataResult.getActivitySeineId(), activitySeineDataResult.getActivitySeineLabel())); } resultsBuilder.add(result); ===================================== client-core/src/main/java/fr/ird/observe/client/ui/content/data/ps/observation/AbstractSampleUIHandler.java ===================================== @@ -38,6 +38,8 @@ import java.beans.PropertyChangeListener; import java.util.List; import java.util.Optional; +import static io.ultreia.java4all.i18n.I18n.n; + /** * Created on 31/10/16. * @@ -46,6 +48,11 @@ import java.util.Optional; */ public abstract class AbstractSampleUIHandler<E extends DataDto, D extends DataDto, U extends ContentTableUI<E, D, U>> extends ContentTableUIHandler<E, D, U> { + public static final String POIDS_COMPUTED_TIP = n("observe.common.Sample.weight.computed.tip"); + public static final String POIDS_OBSERVED_TIP = n("observe.common.Sample.weight.observed.tip"); + public static final String LONGUEUR_COMPUTED_TIP = n("observe.common.Sample.length.computed.tip"); + public static final String LONGUEUR_OBSERVED_TIP = n("observe.common.Sample.length.observed.tip"); + protected final Logger log = LogManager.getLogger(getClass()); /** * Ecoute les modifications de la propriété {@link TargetLengthDto#getWeight()}, ===================================== client-core/src/main/java/fr/ird/observe/client/ui/content/data/ps/observation/NonTargetSampleUI.jaxx ===================================== @@ -82,22 +82,14 @@ <script><![CDATA[ -public static final String POIDS_COMPUTED_TIP = n("observe.common.Sample.weight.computed.tip"); -public static final String POIDS_OBSERVED_TIP = n("observe.common.Sample.weight.observed.tip"); -public static final String LONGUEUR_COMPUTED_TIP = n("observe.common.Sample.length.computed.tip"); -public static final String LONGUEUR_OBSERVED_TIP = n("observe.common.Sample.length.observed.tip"); - public String getWeightDataTip(boolean computed) { - return computed ? t(POIDS_COMPUTED_TIP) : t(POIDS_OBSERVED_TIP); + return computed ? t(NonTargetSampleUIHandler.POIDS_COMPUTED_TIP) : t(NonTargetSampleUIHandler.POIDS_OBSERVED_TIP); } public String getLengthDataTip(boolean computed) { - return computed ? t(LONGUEUR_COMPUTED_TIP) : t(LONGUEUR_OBSERVED_TIP); + return computed ? t(NonTargetSampleUIHandler.LONGUEUR_COMPUTED_TIP) : t(NonTargetSampleUIHandler.LONGUEUR_OBSERVED_TIP); } -public String getSpeciesFauneTypeTaille(SpeciesReference species) { - return species == null ? t("observe.message.no.species.selected") : species.getSizeMeasureTypeId(); -} ]]> </script> ===================================== client-core/src/main/java/fr/ird/observe/client/ui/content/data/ps/observation/TargetSampleUI.jaxx ===================================== @@ -79,20 +79,15 @@ <script><![CDATA[ -public static final String POIDS_COMPUTED_TIP = n("observe.common.Sample.weight.computed.tip"); -public static final String POIDS_OBSERVED_TIP = n("observe.common.Sample.weight.observed.tip"); -public static final String LONGUEUR_COMPUTED_TIP = n("observe.common.Sample.length.computed.tip"); -public static final String LONGUEUR_OBSERVED_TIP = n("observe.common.Sample.length.observed.tip"); - @Override public abstract TargetSampleUIHandler getHandler(); public String getWeightDataTip(boolean computed) { - return computed ? t(POIDS_COMPUTED_TIP) : t(POIDS_OBSERVED_TIP); + return computed ? t(TargetSampleUIHandler.POIDS_COMPUTED_TIP) : t(TargetSampleUIHandler.POIDS_OBSERVED_TIP); } public String getLengthDataTip(boolean computed) { - return computed ? t(LONGUEUR_COMPUTED_TIP) : t(LONGUEUR_OBSERVED_TIP); + return computed ? t(TargetSampleUIHandler.LONGUEUR_COMPUTED_TIP) : t(TargetSampleUIHandler.LONGUEUR_OBSERVED_TIP); } ]]> </script> ===================================== client-core/src/main/java/fr/ird/observe/client/ui/storage/tabs/StorageTabUI.jaxx ===================================== @@ -64,13 +64,7 @@ protected void setDescriptionText(String text) { } protected String getProgressString(int currentStep, int nbStep) { - StorageStep step = getStep(); - String txt = ""; - if (step != null) { - txt = n("observe.storage.step.label"); - txt = t(txt, currentStep + 1, nbStep, I18nEnumHelper.getLabel(step)); - } - return txt; + return getProgressString(currentStep, nbStep, getStep()); } ]]> </script> ===================================== client-core/src/main/java/fr/ird/observe/client/ui/storage/tabs/StorageTabUIHandler.java ===================================== @@ -23,12 +23,15 @@ package fr.ird.observe.client.ui.storage.tabs; import fr.ird.observe.client.ObserveSwingApplicationContext; import fr.ird.observe.client.ObserveTextGenerator; +import fr.ird.observe.client.ui.storage.StorageStep; import fr.ird.observe.client.ui.storage.StorageUIModel; +import fr.ird.observe.dto.I18nEnumHelper; import fr.ird.observe.services.configuration.ObserveDataSourceInformation; import org.nuiton.jaxx.runtime.JAXXObject; import javax.swing.JLabel; +import static io.ultreia.java4all.i18n.I18n.n; import static io.ultreia.java4all.i18n.I18n.t; /** @@ -80,4 +83,12 @@ public class StorageTabUIHandler<U extends JAXXObject> { this.ui = ui; } + protected String getProgressString(int currentStep, int nbStep,StorageStep step) { + String txt = ""; + if (step != null) { + txt = n("observe.storage.step.label"); + txt = t(txt, currentStep + 1, nbStep, I18nEnumHelper.getLabel(step)); + } + return txt; + } } ===================================== observe-i18n/src/main/i18n/translations/observe_en_GB.properties ===================================== @@ -161,11 +161,11 @@ observe.action.translate.tip=Translate application observe.action.validate.config.generateReport=Generate validation report observe.actions.consolidate=Consolidate data observe.actions.consolidate.description=Consolidate observed data -observe.actions.consolidate.message.activity=Computed data for activity %1$s +observe.actions.consolidate.message.activity=Computed data for activity [%s] %s observe.actions.consolidate.message.noChanges=No data modified. observe.actions.consolidate.message.operation.done=Consolidate operation done in %1$s. observe.actions.consolidate.message.save.changes=Save modified %1$s trip(s). -observe.actions.consolidate.message.trip=Data consolidate for trip %1$s +observe.actions.consolidate.message.trip=Data consolidate for trip [%s] %s observe.actions.consolidate.start.trip=Start consolidate data on trip %s / %s (%s) observe.actions.consolidate.title=Consolidate data observe.actions.consolidate.title.tip=Consolidate observed data @@ -1713,7 +1713,7 @@ observe.common.Sample.action.resetDefaultSizeMeasureType.tip=Use default size me observe.common.Sample.length.computed.tip=Length was computed observe.common.Sample.length.observed.tip=Length was observed observe.common.Sample.weight=Individual weight (kg) -observe.common.Sample.weight.computed.tip=Weight was computed (%s) +observe.common.Sample.weight.computed.tip=Weight was computed observe.common.Sample.weight.observed.tip=Weight was observed observe.common.SampleLogbook.message.creating=Sample is in creation observe.common.SampleLogbook.message.updating=Sample is updating ===================================== observe-i18n/src/main/i18n/translations/observe_es_ES.properties ===================================== @@ -161,11 +161,11 @@ observe.action.translate.tip=Traduire l'application \#TODO observe.action.validate.config.generateReport=Generar un informe de validación observe.actions.consolidate=Calcular los datos observe.actions.consolidate.description=Calcular los datos que no fueron observados -observe.actions.consolidate.message.activity=Datos calculados para la actividad %1$s +observe.actions.consolidate.message.activity=Datos calculados para la actividad [%s] %s observe.actions.consolidate.message.noChanges=No modificación de datos. observe.actions.consolidate.message.operation.done=Operación de calculo de datos terminada en %1$s. observe.actions.consolidate.message.save.changes=Guardar las modificaciones de la(s) %1$s marea(s) modificada(s). -observe.actions.consolidate.message.trip=Datos calculados para la marea %1$s +observe.actions.consolidate.message.trip=Datos calculados para la marea [%s] %s observe.actions.consolidate.start.trip=Démarrage de la consolidation pour la marée %s / %s (%s) \#TODO observe.actions.consolidate.title=Consolidar los datos observados observe.actions.consolidate.title.tip=Consolidar los datos observados ===================================== observe-i18n/src/main/i18n/translations/observe_fr_FR.properties ===================================== @@ -161,11 +161,11 @@ observe.action.translate.tip=Traduire l'application observe.action.validate.config.generateReport=Générer un rapport de validation observe.actions.consolidate=Calculer les données observe.actions.consolidate.description=Calculer les données non observées -observe.actions.consolidate.message.activity=Données calculées pour l'activité %1$s +observe.actions.consolidate.message.activity=Données calculées pour l'activité [%s] %s observe.actions.consolidate.message.noChanges=Aucune donnée modifiée. observe.actions.consolidate.message.operation.done=Opération de calcul des données terminée à %1$s. observe.actions.consolidate.message.save.changes=Sauvegarde des modifications sur la(es) %1$s marée(s) modifiée(s). -observe.actions.consolidate.message.trip=Données calculées pour la marée %1$s +observe.actions.consolidate.message.trip=Données calculées pour la marée [%s] %s. observe.actions.consolidate.start.trip=Démarrage de la consolidation pour la marée %s / %s (%s) observe.actions.consolidate.title=Consolider les données observateur observe.actions.consolidate.title.tip=Consolider les données observateur ===================================== services-local/src/main/java/fr/ird/observe/services/local/service/actions/consolidate/ConsolidateDataServiceLocal.java ===================================== @@ -147,10 +147,10 @@ public class ConsolidateDataServiceLocal extends ObserveServiceLocal implements @Override public ConsolidateTripSeineDataResult consolidateTripSeine(ConsolidateTripSeineDataRequest request) { ReferentialLocale referenceLocale = serviceContext.getReferentialLocale(); - boolean failIfLenghtWeightParameterNotFound = request.isFailIfLengthWeightParameterNotFound(); + boolean failIfLengthWeightParameterNotFound = request.isFailIfLengthWeightParameterNotFound(); boolean failIfLengthLengthParameterNotFound = request.isFailIfLengthLengthParameterNotFound(); - Optional<ConsolidateTripSeineDataResult> consolidateTripSeineDataResult = consolidateTripSeine(referenceLocale, request.getTripSeineId(), failIfLenghtWeightParameterNotFound, failIfLengthLengthParameterNotFound); + Optional<ConsolidateTripSeineDataResult> consolidateTripSeineDataResult = consolidateTripSeine(referenceLocale, request.getTripSeineId(), failIfLengthWeightParameterNotFound,failIfLengthLengthParameterNotFound ); return consolidateTripSeineDataResult.orElse(null); } @@ -173,6 +173,8 @@ public class ConsolidateDataServiceLocal extends ObserveServiceLocal implements private Optional<ConsolidateTripSeineDataResult> consolidateTripSeine(ReferentialLocale referenceLocale, String tripSeineId, boolean failIfLengthWeightParameterNotFound, boolean failIfLengthLengthParameterNotFound) { + log.info(String.format("Start consolidate trip: %s", tripSeineId)); + TripSeine tripSeine = TRIP_SEINE_SPI.loadEntity(getTopiaPersistenceContext(), tripSeineId); BeanMonitor targetLengthMonitor = new BeanMonitor( @@ -210,17 +212,23 @@ public class ConsolidateDataServiceLocal extends ObserveServiceLocal implements DataEntityDtoBinderSupport<FloatingObjectDto, FloatingObject> floatingObjectBinder = DbModelHelper.fromDataDto(FloatingObjectDto.class).toEntityBinder(); DataEntityDtoBinderSupport<FloatingObjectPartDto, FloatingObjectPart> floatingObjectPartBinder = DbModelHelper.fromDataDto(FloatingObjectPartDto.class).toEntityBinder(); - + int routeIndex = 0; + int routeMax = tripSeine.sizeRoute(); for (Route route : tripSeine.getRoute()) { + String routePrefix =String.format("Route [%s/%s] ", ++routeIndex, routeMax); + log.info(String.format("%s Start consolidate route: %s", routePrefix, route.getTopiaId())); + int activityIndex = 0; + int activityMax = route.sizeActivitySeine(); for (ActivitySeine activitySeine : route.getActivitySeine()) { + String activityPrefix = String.format("%s - Activity [%s/%s] ", routePrefix, ++activityIndex, activityMax); + if (!activitySeine.isSetOperation() && !activitySeine.isDCPOperation()) { - log.debug("No set nor dcp on activity " + activitySeine); + log.info(String.format("%s Skip activity (No set nor dcp): %s", activityPrefix, activitySeine.getTopiaId())); continue; } - ConsolidateActivitySeineDataResultBuilder resultBuilder = new ConsolidateActivitySeineDataResultBuilder(applicationLocale, referenceLocale, activitySeine.getTopiaId(), ActivitySeines.decorate(referenceLocale.ordinal(), activitySeine)); ConsolidationActivitySeineDataContext activityContext = new ConsolidationActivitySeineDataContext(); @@ -238,15 +246,21 @@ public class ConsolidateDataServiceLocal extends ObserveServiceLocal implements activityContext.floatingObjectConsolidateEngine = floatingObjectConsolidateEngine; activityContext.floatingObjectBinder = floatingObjectBinder; activityContext.floatingObjectPartBinder = floatingObjectPartBinder; + activityContext.activityPrefix = activityPrefix; - consolidateActivitySeine(activityContext); + try { + consolidateActivitySeine(activityContext); + } catch (Exception e) { + log.error(String.format("%s Could not consolidate trip: %s, route: %s - activity: %s", activityPrefix, tripSeineId, route.getTopiaId(), activitySeine.getTopiaId()), e); + throw e; + } Optional<ConsolidateActivitySeineDataResult> optionalConsolidateActivitySeineDataResult = resultBuilder.build(); if (optionalConsolidateActivitySeineDataResult.isPresent()) { // Des modifications ont été enregistrées sur l'activité ConsolidateActivitySeineDataResult consolidateActivitySeineDataResult = optionalConsolidateActivitySeineDataResult.get(); - log.info("Found some modifications on activity: " + consolidateActivitySeineDataResult.getActivitySeineLabel()); + log.info(String.format("%s Found some modifications on activity: %s - %s", activityPrefix, activitySeine.getTopiaId(), consolidateActivitySeineDataResult.getActivitySeineLabel())); activitiesResultBuilder.add(consolidateActivitySeineDataResult); } @@ -265,7 +279,7 @@ public class ConsolidateDataServiceLocal extends ObserveServiceLocal implements consolidateTripSeineDataResult = new ConsolidateTripSeineDataResult(tripSeineId, TripSeines.decorate(referenceLocale.ordinal(), tripSeine), consolidateActivitySeineDataResults); - log.info("Found some modifications on trip: " + consolidateTripSeineDataResult.getTripSeineLabel()); + log.info(String.format("Found some modifications on trip: %s - %s", tripSeineId, consolidateTripSeineDataResult.getTripSeineLabel())); } return Optional.ofNullable(consolidateTripSeineDataResult); @@ -275,7 +289,8 @@ public class ConsolidateDataServiceLocal extends ObserveServiceLocal implements ActivitySeine activity = activityContext.activity; - log.debug("Start consolidate activity: " + activity.getTopiaId()); + log.info(String.format("%s Start consolidate activity: %s", activityContext.activityPrefix, activity.getTopiaId())); + if (activity.isFloatingObjectNotEmpty()) { for (FloatingObject dcp : activity.getFloatingObject()) { @@ -285,7 +300,7 @@ public class ConsolidateDataServiceLocal extends ObserveServiceLocal implements SetSeine setSeine = activity.getSetSeine(); if (setSeine == null) { - log.info("No set found for activity: " + activity.getTopiaId()); + log.debug(String.format("%s No set found for activity: %s", activityContext.activityPrefix, activity.getTopiaId())); return; } SchoolType oldSchoolType = setSeine.getSchoolType(); @@ -302,7 +317,7 @@ public class ConsolidateDataServiceLocal extends ObserveServiceLocal implements // des echantillons thons trouves for (TargetSample targetSample : setSeine.getTargetSample()) { - if (!targetSample.isTargetLengthEmpty()) { + if (targetSample.isTargetLengthNotEmpty()) { for (TargetLength targetLength : targetSample.getTargetLength()) { activityContext.watchTargetLength(targetLength); @@ -324,7 +339,7 @@ public class ConsolidateDataServiceLocal extends ObserveServiceLocal implements // des echantillons faunes trouves for (NonTargetSample nonTargetSample : setSeine.getNonTargetSample()) { - if (!nonTargetSample.isNonTargetLengthEmpty()) { + if (nonTargetSample.isNonTargetLengthNotEmpty()) { for (NonTargetLength nonTargetLength : nonTargetSample.getNonTargetLength()) { activityContext.watchNonTargetLenght(nonTargetLength); @@ -643,6 +658,11 @@ public class ConsolidateDataServiceLocal extends ObserveServiceLocal implements // recherche du parametrage adequate SizeMeasureType inputSizeMeasureType = lengthWeightComputable.getSizeMeasureType(); + //FIXME https://gitlab.com/ultreiaio/ird-observe/issues/1217 + if (inputSizeMeasureType == null) { + log.error(String.format("No size measure type found for TargetLength (%s) will use the one of the species", lengthWeightComputable.getTopiaId())); + inputSizeMeasureType = species.getSizeMeasureType(); + } Optional<LengthWeightParameter> optionalLengthWeightParameter = activityContext.findLengthWeightParameter(species, sex, inputSizeMeasureType); if (!optionalLengthWeightParameter.isPresent()) { @@ -677,7 +697,7 @@ public class ConsolidateDataServiceLocal extends ObserveServiceLocal implements if (optionalLengthLengthParameter.isPresent()) { length = optionalLengthLengthParameter.get().computeFromFormulaOne(length); } else { - log.warn("Could not find lengthLengthParameter for input: " + inputSizeMeasureType + " - output: " + outputSizeMeasureType); + log.warn(String.format("Could not find LengthLengthParameter for input: %s - output: %s", inputSizeMeasureType, outputSizeMeasureType)); return; } } ===================================== services-local/src/main/java/fr/ird/observe/services/local/service/actions/consolidate/ConsolidationActivitySeineDataContext.java ===================================== @@ -71,6 +71,7 @@ class ConsolidationActivitySeineDataContext { boolean failIfLengthWeightParameterNotFound; boolean failIfLengthLengthParameterNotFound; BeanMonitor targetLengthMonitor; + String activityPrefix; BeanMonitor nonTargetLengthMonitor; View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/compare/0513a173bb8a0b44f526cc1c142... -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/compare/0513a173bb8a0b44f526cc1c142... You're receiving this email because of your account on gitlab.com.
participants (1)
-
Tony CHEMIT