branch feature/7706 updated (efafe24 -> af75b52)
This is an automated email from the git hooks/post-receive script. New change to branch feature/7706 in repository observe. See http://git.codelutin.com/observe.git from efafe24 migartion du validateur sur les tailles et poids des espèces (refs 7706) new 8b4b0cd utilisation des decorateur pour les validateur vitesse d'activité (refs 7706) new af75b52 Opération de péche palangre : ajout des autres operations de péches pour la validation de l'unicité de l'id métier et du numéro (refs 7706) 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 af75b527a7e891fa7a2c0abeb1c6e6ec28750a9f Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Tue Nov 10 09:19:56 2015 +0100 Opération de péche palangre : ajout des autres operations de péches pour la validation de l'unicité de l'id métier et du numéro (refs 7706) commit 8b4b0cd15f932cb812963b80f641a16fc19a448f Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Mon Nov 9 17:14:45 2015 +0100 utilisation des decorateur pour les validateur vitesse d'activité (refs 7706) Summary of changes: .../java/fr/ird/observe/ui/DecoratorService.java | 3 ++ .../dto/ActivitySimpleSpeedDtoValidator.java | 10 ++-- .../validator/dto/ActivitySpeedDtoValidator.java | 7 ++- .../dto/SetLonglineUniqueHomeIdDtoValidator.java | 50 +++++------------- .../dto/SetLonglineUniqueNumberDtoValidator.java | 57 ++++++++------------- .../xmi/observe-services-dto-longline.properties | 3 ++ .../main/xmi/observe-services-dto-longline.zargo | Bin 65285 -> 66568 bytes .../services/dto/ObserveDtosInitializer.java | 5 ++ .../service/longline/SetLonglineServiceTopia.java | 44 ++++++++++++++++ 9 files changed, 96 insertions(+), 83 deletions(-) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/7706 in repository observe. See http://git.codelutin.com/observe.git commit 8b4b0cd15f932cb812963b80f641a16fc19a448f Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Mon Nov 9 17:14:45 2015 +0100 utilisation des decorateur pour les validateur vitesse d'activité (refs 7706) --- .../src/main/java/fr/ird/observe/ui/DecoratorService.java | 3 +++ .../validator/dto/ActivitySimpleSpeedDtoValidator.java | 10 ++++------ .../validation/validator/dto/ActivitySpeedDtoValidator.java | 7 +++---- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/DecoratorService.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/DecoratorService.java index 3b2ffcb..5d60408 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/DecoratorService.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/DecoratorService.java @@ -100,6 +100,7 @@ import fr.ird.observe.services.dto.referential.seine.VesselActivitySeineDto; import fr.ird.observe.services.dto.referential.seine.WeightCategoryDto; import fr.ird.observe.services.dto.referential.seine.WindDto; import fr.ird.observe.services.dto.seine.ActivitySeineDto; +import fr.ird.observe.services.dto.seine.ActivitySeineStubDto; import fr.ird.observe.services.dto.seine.FloatingObjectDto; import fr.ird.observe.services.dto.seine.GearUseFeaturesMeasurementSeineDto; import fr.ird.observe.services.dto.seine.NonTargetCatchDto; @@ -428,6 +429,8 @@ public class DecoratorService extends DecoratorProvider { "${time}$tH:%1$tM##${vesselActivitySeine/label}$s", "${time}$tH:%1$tM##${vesselActivitySeine}$s", " - "); + registerObserveDecorator(ActivitySeineStubDto.class, "${time}$tH:%1$tM"); + registerReferenceDtoDecorator(ActivityLonglineDto.class, "${timeStamp}$td/%1$tm/%1$tY %1$tH:%1$tM##${vesselActivityLongline/label}$s", "${timeStamp}$td/%1$tm/%1$tY %1$tH:%1$tM##${vesselActivityLongline}$s", diff --git a/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/ActivitySimpleSpeedDtoValidator.java b/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/ActivitySimpleSpeedDtoValidator.java index 6dc48f7..b8e0e9e 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/ActivitySimpleSpeedDtoValidator.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/ActivitySimpleSpeedDtoValidator.java @@ -25,6 +25,7 @@ package fr.ird.observe.validation.validator.dto; import com.opensymphony.xwork2.util.ValueStack; import com.opensymphony.xwork2.validator.ValidationException; import com.opensymphony.xwork2.validator.validators.FieldValidatorSupport; +import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.business.gps.GPSPoint; import fr.ird.observe.business.gps.GpsPoints; import fr.ird.observe.services.dto.seine.ActivitySeineDto; @@ -170,19 +171,16 @@ public class ActivitySimpleSpeedDtoValidator extends FieldValidatorSupport { return "activitySimpleSpeed"; } - //FIXME protected String decorate(ActivitySeineDto activitySeine) { - return activitySeine.toString(); + return ObserveSwingApplicationContext.get().getDecorator(ActivitySeineDto.class).toString(activitySeine); } - //FIXME protected String decorate(ActivitySeineStubDto activitySeine) { - return activitySeine.toString(); + return ObserveSwingApplicationContext.get().getDecorator(ActivitySeineStubDto.class).toString(activitySeine); } - //FIXME protected String decorate(GPSPoint currentPoint) { - return currentPoint.toString(); + return ObserveSwingApplicationContext.get().getDecorator(GPSPoint.class).toString(currentPoint); } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/ActivitySpeedDtoValidator.java b/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/ActivitySpeedDtoValidator.java index 0b0149e..7347e57 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/ActivitySpeedDtoValidator.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/ActivitySpeedDtoValidator.java @@ -25,6 +25,7 @@ package fr.ird.observe.validation.validator.dto; import com.opensymphony.xwork2.util.ValueStack; import com.opensymphony.xwork2.validator.ValidationException; import com.opensymphony.xwork2.validator.validators.FieldValidatorSupport; +import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.business.gps.GPSPoint; import fr.ird.observe.business.gps.GpsPoints; import fr.ird.observe.services.dto.seine.ActivitySeineStubDto; @@ -96,14 +97,12 @@ public class ActivitySpeedDtoValidator extends FieldValidatorSupport { return invalidActivity; } - //FIXME protected String decorate(ActivitySeineStubDto activitySeine) { - return activitySeine.toString(); + return ObserveSwingApplicationContext.get().getDecorator(ActivitySeineStubDto.class).toString(activitySeine); } - //FIXME protected String decorate(GPSPoint currentPoint) { - return currentPoint.toString(); + return ObserveSwingApplicationContext.get().getDecorator(GPSPoint.class).toString(currentPoint); } public CollectionFieldExpressionValidator getDelegate(final RouteDto route) { -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/7706 in repository observe. See http://git.codelutin.com/observe.git commit af75b527a7e891fa7a2c0abeb1c6e6ec28750a9f Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Tue Nov 10 09:19:56 2015 +0100 Opération de péche palangre : ajout des autres operations de péches pour la validation de l'unicité de l'id métier et du numéro (refs 7706) --- .../dto/SetLonglineUniqueHomeIdDtoValidator.java | 50 +++++------------- .../dto/SetLonglineUniqueNumberDtoValidator.java | 57 ++++++++------------- .../xmi/observe-services-dto-longline.properties | 3 ++ .../main/xmi/observe-services-dto-longline.zargo | Bin 65285 -> 66568 bytes .../services/dto/ObserveDtosInitializer.java | 5 ++ .../service/longline/SetLonglineServiceTopia.java | 44 ++++++++++++++++ 6 files changed, 86 insertions(+), 73 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/SetLonglineUniqueHomeIdDtoValidator.java b/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/SetLonglineUniqueHomeIdDtoValidator.java index ff167d3..f79007a 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/SetLonglineUniqueHomeIdDtoValidator.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/SetLonglineUniqueHomeIdDtoValidator.java @@ -22,15 +22,18 @@ package fr.ird.observe.validation.validator.dto; * #L% */ -import com.google.common.base.Objects; +import com.google.common.base.Optional; +import com.google.common.collect.Iterables; import com.opensymphony.xwork2.util.ValueStack; import com.opensymphony.xwork2.validator.ValidationException; import com.opensymphony.xwork2.validator.validators.FieldValidatorSupport; +import fr.ird.observe.ObserveSwingApplicationContext; +import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.longline.ActivityLonglineDto; import fr.ird.observe.services.dto.longline.SetLonglineDto; -import fr.ird.observe.services.dto.longline.TripLonglineActivityDto; -import fr.ird.observe.services.dto.longline.TripLonglineDto; - -import java.util.Set; +import fr.ird.observe.services.dto.longline.SetLonglineStubDto; +import fr.ird.observe.services.dto.longline.SetLonglineStubDtos; +import org.nuiton.decorator.Decorator; /** * Created on 12/7/14. @@ -54,46 +57,21 @@ public class SetLonglineUniqueHomeIdDtoValidator extends FieldValidatorSupport { if (homeId != null) { - String setLonglineTopiaId = setLongline.getId(); - - TripLonglineDto tripLongline = (TripLonglineDto) stack.findValue("currentTripLongline"); - - Set<TripLonglineActivityDto> activityLonglines = tripLongline.getActivityLongline(); - - boolean notValid = false; - - for (TripLonglineActivityDto activityLongline : activityLonglines) { - - // FIXME migration client-serveur -// SetLonglineDto setLongline1 = activityLongline.getSetLongline(); - SetLonglineDto setLongline1 = null; - - if (setLongline1 != null - && !Objects.equal(setLonglineTopiaId, setLongline1.getId()) - && homeId.equals(setLongline1.getHomeId())) { + Optional<SetLonglineStubDto> sameHomeIdSetLonglineOptional = Iterables.tryFind(setLongline.getOtherSets(), SetLonglineStubDtos.newHomeIdPredicate(homeId)); - notValid = true; + if (sameHomeIdSetLonglineOptional.isPresent()) { - //FIXME -// DecoratorService provider = ObserveServiceHelper.getDecoratorService(); -// Decorator<?> decorator = provider.getDecorator(activityLongline); + ReferenceDto<ActivityLonglineDto> activityLonglineRef = sameHomeIdSetLonglineOptional.get().getActivityLongline(); - stack.set("duplicatedActivity", activityLongline); + Decorator<ReferenceDto> decorator = ObserveSwingApplicationContext.get().getDecorator(ReferenceDto.class, ActivityLonglineDto.class.getSimpleName()); - break; + stack.set("duplicatedActivity", decorator.toString(activityLonglineRef)); - } - - } - - if (notValid) { - - // vitesse trop grande addFieldError(getFieldName(), object); + } } - } @Override diff --git a/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/SetLonglineUniqueNumberDtoValidator.java b/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/SetLonglineUniqueNumberDtoValidator.java index fb59e56..8b1502b 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/SetLonglineUniqueNumberDtoValidator.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/SetLonglineUniqueNumberDtoValidator.java @@ -22,11 +22,18 @@ package fr.ird.observe.validation.validator.dto; * #L% */ +import com.google.common.base.Optional; +import com.google.common.collect.Iterables; import com.opensymphony.xwork2.util.ValueStack; import com.opensymphony.xwork2.validator.ValidationException; import com.opensymphony.xwork2.validator.validators.FieldValidatorSupport; +import fr.ird.observe.ObserveSwingApplicationContext; +import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.longline.ActivityLonglineDto; import fr.ird.observe.services.dto.longline.SetLonglineDto; -import fr.ird.observe.services.dto.longline.TripLonglineDto; +import fr.ird.observe.services.dto.longline.SetLonglineStubDto; +import fr.ird.observe.services.dto.longline.SetLonglineStubDtos; +import org.nuiton.decorator.Decorator; /** * Created on 12/7/14. @@ -50,45 +57,21 @@ public class SetLonglineUniqueNumberDtoValidator extends FieldValidatorSupport { if (number != null) { - String setLonglineTopiaId = setLongline.getId(); - - TripLonglineDto tripLongline = (TripLonglineDto) stack.findValue("currentTripLongline"); - - boolean notValid = false; - - // FIXME migration client-serveur -// Set<ActivityLonglineDto> activityLonglines = tripLongline.getActivityLongline(); -// -// for (ActivityLonglineDto activityLongline : activityLonglines) { -// -// SetLonglineDto setLongline1 = activityLongline.getSetLongline(); -// -// -// if (setLongline1 != null -// && !Objects.equal(setLonglineTopiaId, setLongline1.getId()) -// && number.equals(setLongline1.getNumber())) { -// -// notValid = true; -// -// //FIXME -//// DecoratorService provider = ObserveServiceHelper.getDecoratorService(); -//// Decorator<?> decorator = provider.getDecorator(activityLongline); -// -// stack.set("duplicatedActivity", activityLongline); -// -// break; -// -// } -// -// } - - if (notValid) { - - // vitesse trop grande + Optional<SetLonglineStubDto> sameNumberSetLonglineOptional = Iterables.tryFind(setLongline.getOtherSets(), SetLonglineStubDtos.newNumberPredicate(number)); + + if (sameNumberSetLonglineOptional.isPresent()) { + + ReferenceDto<ActivityLonglineDto> activityLonglineRef = sameNumberSetLonglineOptional.get().getActivityLongline(); + + Decorator<ReferenceDto> decorator = ObserveSwingApplicationContext.get().getDecorator(ReferenceDto.class, ActivityLonglineDto.class.getSimpleName()); + + stack.set("duplicatedActivity", decorator.toString(activityLonglineRef)); + addFieldError(getFieldName(), object); + } - } + } } diff --git a/observe-services-model/src/main/xmi/observe-services-dto-longline.properties b/observe-services-model/src/main/xmi/observe-services-dto-longline.properties index 3096cbf..0aed190 100644 --- a/observe-services-model/src/main/xmi/observe-services-dto-longline.properties +++ b/observe-services-model/src/main/xmi/observe-services-dto-longline.properties @@ -32,6 +32,8 @@ fr.ird.observe.services.dto.longline.SetLongline.attribute.lineType.tagValue.sim fr.ird.observe.services.dto.longline.SetLongline.attribute.lightsticksType.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.longline.LightsticksTypeDto fr.ird.observe.services.dto.longline.SetLongline.attribute.lightsticksColor.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.longline.LightsticksColorDto +fr.ird.observe.services.dto.longline.SetLonglineStub.attribute.activityLongline.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.longline.ActivityLonglineDto + fr.ird.observe.services.dto.longline.HooksComposition.attribute.hookType.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.longline.HookTypeDto fr.ird.observe.services.dto.longline.HooksComposition.attribute.hookSize.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.longline.HookSizeDto @@ -107,4 +109,5 @@ fr.ird.observe.services.dto.longline.Basket.attribute.branchline.stereotype=uniq fr.ird.observe.services.dto.longline.GearUseFeaturesLongline.attribute.gearUseFeaturesMeasurement.stereotype=unique,ordered fr.ird.observe.services.dto.longline.TripLonglineGearUse.attribute.gearUseFeaturesLongline.stereotype=unique,ordered fr.ird.observe.services.dto.longline.TripLongline.attribute.activityLongline.stereotype=unique,ordered +fr.ird.observe.services.dto.longline.SetLonglineStub.attribute.activityLongline.stereotype=unique diff --git a/observe-services-model/src/main/xmi/observe-services-dto-longline.zargo b/observe-services-model/src/main/xmi/observe-services-dto-longline.zargo index df6798f..361b3a3 100644 Binary files a/observe-services-model/src/main/xmi/observe-services-dto-longline.zargo and b/observe-services-model/src/main/xmi/observe-services-dto-longline.zargo differ diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/dto/ObserveDtosInitializer.java b/observe-services-topia/src/main/java/fr/ird/observe/services/dto/ObserveDtosInitializer.java index 96eecd4..512b690 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/dto/ObserveDtosInitializer.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/dto/ObserveDtosInitializer.java @@ -709,6 +709,11 @@ public class ObserveDtosInitializer implements ObserveModelInitializer { } @Override + public void initSetLonglineStubDto() { + // la logique de copie est à ecrire directement dans le service + } + + @Override public void initSetLonglineTdrDto() { registerDto(SetLonglineTdrDto.class, SetLongline.class, SetLonglineTdrDto.PROPERTY_TDR, diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineServiceTopia.java index 1e5cdb3..d87a5d3 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineServiceTopia.java @@ -22,19 +22,25 @@ package fr.ird.observe.services.service.longline; * #L% */ +import com.google.common.collect.Sets; import fr.ird.observe.entities.longline.ActivityLongline; +import fr.ird.observe.entities.longline.ActivityLonglineTopiaDao; import fr.ird.observe.entities.longline.SetLongline; +import fr.ird.observe.entities.longline.TripLongline; +import fr.ird.observe.entities.longline.TripLonglineTopiaDao; import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; import fr.ird.observe.services.dto.longline.SetLonglineDto; +import fr.ird.observe.services.dto.longline.SetLonglineStubDto; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.SaveResultDtos; import fr.ird.observe.services.service.DataNotFoundException; import org.apache.commons.lang3.time.DateUtils; import java.util.Date; +import java.util.Set; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com @@ -74,6 +80,12 @@ public class SetLonglineServiceTopia extends ObserveServiceTopia implements SetL FormDto<SetLonglineDto> form = entityToEditFormDto(SetLonglineDto.class, SetLongline.class, setLongline); + ActivityLonglineTopiaDao activityLonglineDao = getTopiaPersistenceContext().getActivityLonglineDao(); + + ActivityLongline activityLongline = activityLonglineDao.forSetLonglineEquals(setLongline).findUnique(); + + form.getForm().setOtherSets(getOtherSetLonglineDtos(activityLongline, setLongline)); + return form; } @@ -105,6 +117,8 @@ public class SetLonglineServiceTopia extends ObserveServiceTopia implements SetL FormDto<SetLonglineDto> form = entityToEditFormDto(SetLonglineDto.class, SetLongline.class, preCreated); + form.getForm().setOtherSets(getOtherSetLonglineDtos(activityLongline, preCreated)); + return form; } @@ -151,4 +165,34 @@ public class SetLonglineServiceTopia extends ObserveServiceTopia implements SetL public boolean exists(String id) { return existsEntity(SetLongline.class, id); } + + protected Set<SetLonglineStubDto> getOtherSetLonglineDtos(ActivityLongline currentActivityLongline, SetLongline setLongline) { + + Set<SetLonglineStubDto> otherSetLonglineDtos = Sets.newHashSet(); + + TripLonglineTopiaDao tripLonglineDao = getTopiaPersistenceContext().getTripLonglineDao(); + + TripLongline tripLongline = tripLonglineDao.forActivityLonglineContains(currentActivityLongline).findUnique(); + + for (ActivityLongline activityLongline : tripLongline.getActivityLongline()) { + + SetLongline otherSetLongline = activityLongline.getSetLongline(); + + if (otherSetLongline != null && ! setLongline.equals(otherSetLongline)) { + + SetLonglineStubDto otherSetDto = new SetLonglineStubDto(); + otherSetDto.setId(otherSetLongline.getTopiaId()); + otherSetDto.setHomeId(otherSetLongline.getHomeId()); + otherSetDto.setNumber(otherSetLongline.getNumber()); + otherSetDto.setActivityLongline(entityToReferenceDto(activityLongline)); + otherSetLonglineDtos.add(otherSetDto); + + } + + } + + return otherSetLonglineDtos; + + } + } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
participants (1)
-
codelutin.com scm