Tony CHEMIT pushed to branch develop at ultreiaio / ird-t3 Commits: 7f04e295 by Tony CHEMIT at 2018-02-19T07:49:49+01:00 Ordonnacement du traitement de marées au 1.4 (distribution des échantillons sur les calées de l'échantillon) (See #259) - - - - - bf12f594 by Tony CHEMIT at 2018-02-19T07:52:57+01:00 Erreur de libellé dans le log N0.1 (calcul des RF1) (See #270) - - - - - 7 changed files: - t3-actions/src/main/java/fr/ird/t3/actions/data/level0/ComputeRF1Action.java - t3-actions/src/main/java/fr/ird/t3/actions/data/level1/AbstractLevel1Action.java - t3-actions/src/main/resources/ftl/fr/ird/t3/actions/data/level1/RedistributeSampleNumberToSetAction.ftl - t3-actions/src/main/resources/ftl/fr/ird/t3/actions/data/level1/RedistributeSampleNumberToSetAction_en.ftl - t3-actions/src/main/resources/i18n/t3-actions_en_GB.properties - t3-actions/src/main/resources/i18n/t3-actions_fr_FR.properties - t3-domain/src/main/java/fr/ird/t3/services/DecoratorService.java Changes: ===================================== t3-actions/src/main/java/fr/ird/t3/actions/data/level0/ComputeRF1Action.java ===================================== --- a/t3-actions/src/main/java/fr/ird/t3/actions/data/level0/ComputeRF1Action.java +++ b/t3-actions/src/main/java/fr/ird/t3/actions/data/level0/ComputeRF1Action.java @@ -32,13 +32,13 @@ import fr.ird.t3.entities.reference.Species; import fr.ird.t3.entities.reference.Vessel; import fr.ird.t3.services.DecoratorService; import fr.ird.t3.services.ioc.InjectDAO; -import java.util.Collection; -import java.util.List; -import java.util.Set; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import java.util.Collection; +import java.util.List; +import java.util.Set; import static org.nuiton.i18n.I18n.l; @@ -347,14 +347,12 @@ public class ComputeRF1Action extends AbstractLevel0Action<ComputeRF1Configurati String warnMessage = l(locale, "t3.level0.computeRF1.warning.too.low.rf1", - decorate(completeTrip.getDepartureTrip()), - decorate(completeTrip.getLandingTrip()), - rf1, - minimumRate - ); - + completeTrip.getDepartureTrip().getVesselLabel(), + DecoratorService.formatDate(completeTrip.getDepartureTrip().getDepartureDate()), + DecoratorService.formatDate(completeTrip.getLandingTrip().getLandingDate()), + rf1, + minimumRate); addWarningMessage(warnMessage); - nbCompleteAcceptedTripsWithBadRF1++; } @@ -362,11 +360,11 @@ public class ComputeRF1Action extends AbstractLevel0Action<ComputeRF1Configurati String warnMessage = l(locale, "t3.level0.computeRF1.warning.too.high.rf1", - decorate(completeTrip.getDepartureTrip()), - decorate(completeTrip.getLandingTrip()), - rf1, - maximumRate - ); + completeTrip.getDepartureTrip().getVesselLabel(), + DecoratorService.formatDate(completeTrip.getDepartureTrip().getDepartureDate()), + DecoratorService.formatDate(completeTrip.getLandingTrip().getLandingDate()), + rf1, + maximumRate); addWarningMessage(warnMessage); nbCompleteAcceptedTripsWithBadRF1++; } ===================================== t3-actions/src/main/java/fr/ird/t3/actions/data/level1/AbstractLevel1Action.java ===================================== --- a/t3-actions/src/main/java/fr/ird/t3/actions/data/level1/AbstractLevel1Action.java +++ b/t3-actions/src/main/java/fr/ird/t3/actions/data/level1/AbstractLevel1Action.java @@ -33,7 +33,11 @@ import fr.ird.t3.services.DecoratorService; import fr.ird.t3.services.ioc.InjectDAO; import fr.ird.t3.services.ioc.InjectEntityById; import java.util.Collection; +import java.util.Comparator; +import java.util.List; import java.util.Set; +import java.util.stream.Collectors; + import org.apache.commons.collections.CollectionUtils; import org.nuiton.topia.persistence.TopiaException; @@ -48,6 +52,10 @@ import static org.nuiton.i18n.I18n.l; */ public abstract class AbstractLevel1Action extends T3Action<Level1Configuration> { + private static final Comparator<Trip> TRIP_COMPARATOR = Comparator + .<Trip, Integer>comparing(t -> t.getVessel().getCode()) + .thenComparing(Comparator.comparing(Trip::getLandingDate)); + protected final Level1Step step; protected final Set<Level1Step> higherSteps; @@ -81,6 +89,10 @@ public abstract class AbstractLevel1Action extends T3Action<Level1Configuration> return samplesByTrip.keySet(); } + public List<Trip> getOrderedTrips() { + return samplesByTrip.keySet().stream().sorted(TRIP_COMPARATOR).collect(Collectors.toList()); + } + public Collection<Sample> getSamples(Trip trip) { return getSamplesByTrip().get(trip); } ===================================== t3-actions/src/main/resources/ftl/fr/ird/t3/actions/data/level1/RedistributeSampleNumberToSetAction.ftl ===================================== --- a/t3-actions/src/main/resources/ftl/fr/ird/t3/actions/data/level1/RedistributeSampleNumberToSetAction.ftl +++ b/t3-actions/src/main/resources/ftl/fr/ird/t3/actions/data/level1/RedistributeSampleNumberToSetAction.ftl @@ -49,7 +49,7 @@ Nombre de marées traitées : ${action.nbTripsTreated} Nombre d'échantillons traités : ${action.nbSamplesTreated} Nombre d'échantillons non traités : ${action.nbSamplesNotTreated} -<#list action.trips as trip> +<#list action.orderedTrips as trip> Marée ${tripDecorator.toString(trip)} : <#assign samples = action.getSamples(trip)/> <#list samples as sample> ===================================== t3-actions/src/main/resources/ftl/fr/ird/t3/actions/data/level1/RedistributeSampleNumberToSetAction_en.ftl ===================================== --- a/t3-actions/src/main/resources/ftl/fr/ird/t3/actions/data/level1/RedistributeSampleNumberToSetAction_en.ftl +++ b/t3-actions/src/main/resources/ftl/fr/ird/t3/actions/data/level1/RedistributeSampleNumberToSetAction_en.ftl @@ -49,7 +49,7 @@ Number of treated trips: ${action.nbTripsTreated} Number of treated samples: ${action.nbSamplesTreated} Number of untreated samples: ${action.nbSamplesNotTreated} -<#list action.trips as trip> +<#list action.orderedTrips as trip> Trip ${tripDecorator.toString(trip)} : <#assign samples = action.getSamples(trip)/> <#list samples as sample> ===================================== t3-actions/src/main/resources/i18n/t3-actions_en_GB.properties ===================================== --- a/t3-actions/src/main/resources/i18n/t3-actions_en_GB.properties +++ b/t3-actions/src/main/resources/i18n/t3-actions_en_GB.properties @@ -33,8 +33,8 @@ t3.level0.computeRF1.warning.no.catches.but.some.landings=Trip %s has no catches t3.level0.computeRF1.warning.no.landings.but.some.catches=Trip %s has no landing but some catches (%s), this trip will not be use to compute rf1. t3.level0.computeRF1.warning.no.logbook=No log book for trip %s, use a null rf1 value t3.level0.computeRF1.warning.no.species.usable.for.country=Could not find usable species fro Raising Factor 1 computation from country %s -t3.level0.computeRF1.warning.too.high.rf1=For complete trip from %s to %s computed rf1 %s is too high (higher than %s) -t3.level0.computeRF1.warning.too.low.rf1=For complete trip from %s to %s computed rf1 is too small (less than %s) +t3.level0.computeRF1.warning.too.high.rf1=For complete trip %s from %s to %s computed rf1 %s is too high (higher than %s) +t3.level0.computeRF1.warning.too.low.rf1=For complete trip %s from %s to %s computed rf1 is too small (less than %s) t3.level0.computeRF1.warning.trip.is.not.complete=Trip %s is not compelte, can not compute any rf1 for it t3.level0.computeRF2.computed.rf2.for.stratum=Computed rf2 for stratum \: %s t3.level0.computeRF2.nbTrips.for.stratum=%s trip(s) for Stratum (%s) [%s/%s/%s/%s] ===================================== t3-actions/src/main/resources/i18n/t3-actions_fr_FR.properties ===================================== --- a/t3-actions/src/main/resources/i18n/t3-actions_fr_FR.properties +++ b/t3-actions/src/main/resources/i18n/t3-actions_fr_FR.properties @@ -33,8 +33,8 @@ t3.level0.computeRF1.warning.no.catches.but.some.landings=La marée %s n'a pas d t3.level0.computeRF1.warning.no.landings.but.some.catches=La marée %s n'a pas de lots commerciaux mais des captures (%s), marée non utilisée dans le calcul du rf1. t3.level0.computeRF1.warning.no.logbook=Pas de livre de bord pour la marée %s, utilisation de la valeur null pour le rf1 t3.level0.computeRF1.warning.no.species.usable.for.country=Aucune espèces utilisable dans le calcul du rf1 pour le pays %s -t3.level0.computeRF1.warning.too.high.rf1=Pour la marée complète de %s à %s le rf1 calculé %s est trop grand (supérieur à %s) -t3.level0.computeRF1.warning.too.low.rf1=Pour la marée complète de %s à %s le rf1 calculé %s est trop petit (inférieur à %s) +t3.level0.computeRF1.warning.too.high.rf1=Pour la marée complète %s de %s à %s le rf1 calculé %s est trop grand (supérieur à %s) +t3.level0.computeRF1.warning.too.low.rf1=Pour la marée complète %s de %s à %s le rf1 calculé %s est trop petit (inférieur à %s) t3.level0.computeRF1.warning.trip.is.not.complete=La marée %s n'est pas complète, calcul du rf1 impossible t3.level0.computeRF2.computed.rf2.for.stratum=Valeur du rf2 calculé pour la strate \: %s t3.level0.computeRF2.nbTrips.for.stratum=%s marée(s) pour la Strate (%s) [%s/%s/%s/%s] ===================================== t3-domain/src/main/java/fr/ird/t3/services/DecoratorService.java ===================================== --- a/t3-domain/src/main/java/fr/ird/t3/services/DecoratorService.java +++ b/t3-domain/src/main/java/fr/ird/t3/services/DecoratorService.java @@ -48,10 +48,6 @@ import fr.ird.t3.entities.reference.zone.ZoneStratumAwareMeta; import fr.ird.t3.entities.reference.zone.ZoneVersion; import fr.ird.t3.entities.user.UserOutputDatabase; import fr.ird.t3.entities.user.UserT3Database; -import java.util.Collection; -import java.util.List; -import java.util.Locale; -import java.util.Map; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.jxpath.JXPathContext; import org.nuiton.decorator.Decorator; @@ -60,6 +56,12 @@ import org.nuiton.decorator.DecoratorUtil; import org.nuiton.decorator.JXPathDecorator; import org.nuiton.topia.persistence.TopiaEntity; +import java.text.SimpleDateFormat; +import java.util.Collection; +import java.util.Date; +import java.util.List; +import java.util.Locale; +import java.util.Map; import static org.nuiton.i18n.I18n.l; @@ -75,6 +77,12 @@ public class DecoratorService extends T3ServiceSupport implements T3ServiceSingl private final DecoratorMulti18nProvider decoratorProvider; + private static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("dd/MM/yyyy"); + + public static String formatDate(Date date) { + return DATE_FORMAT.format(date); + } + public DecoratorService() { decoratorProvider = new T3DecoratorProvider(); } View it on GitLab: https://gitlab.com/ultreiaio/ird-t3/compare/9afa9c1acc91aca4d128e3ed822d6660... --- View it on GitLab: https://gitlab.com/ultreiaio/ird-t3/compare/9afa9c1acc91aca4d128e3ed822d6660... You're receiving this email because of your account on gitlab.com.