This is an automated email from the git hooks/post-receive script. New commit to branch feature/7458-LonglineTopiaService in repository observe. See http://git.codelutin.com/observe.git commit 556c1209adf0d9fbf038378288294e49ae0b5c6f Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Thu Aug 27 09:38:21 2015 +0200 implantation TripLonglineService (refs #7458). --- .../entities/longline/TripLonglineTopiaDao.java | 4 +- .../service/longline/TripLonglineService.java | 4 +- .../main/xmi/observe-services-dto-longline.zargo | Bin 57340 -> 58090 bytes .../services/dto/ObserveDtosInitializer.java | 5 + .../service/longline/TripLonglineServiceTopia.java | 114 +++++++++++++++++++++ 5 files changed, 123 insertions(+), 4 deletions(-) diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/longline/TripLonglineTopiaDao.java b/observe-entities/src/main/java/fr/ird/observe/entities/longline/TripLonglineTopiaDao.java index d82baed..bba6edd 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/longline/TripLonglineTopiaDao.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/longline/TripLonglineTopiaDao.java @@ -302,8 +302,8 @@ public class TripLonglineTopiaDao extends AbstractTripLonglineTopiaDao<TripLongl trip.setStartDate(set.getTimestamp(2)); trip.setEndDate(set.getTimestamp(3)); - String observerFirstName = set.getString(4); - String observerLastName = set.getString(5); + String observerLastName = set.getString(4); + String observerFirstName = set.getString(5); Person observer = new PersonImpl(); observer.setFirstName(observerFirstName); observer.setLastName(observerLastName); diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/TripLonglineService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/TripLonglineService.java index 336df82..bbca5df 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/TripLonglineService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/TripLonglineService.java @@ -2,8 +2,8 @@ package fr.ird.observe.services.service.longline; import fr.ird.observe.services.ObserveService; import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.longline.TripLonglineDto; +import fr.ird.observe.services.dto.longline.TripLonglineStubDto; import fr.ird.observe.services.spi.Write; import java.util.List; @@ -13,7 +13,7 @@ import java.util.List; */ public interface TripLonglineService extends ObserveService { - List<ReferenceDto<TripLonglineDto>> getTripLonglineByProgram(String programId); + List<TripLonglineStubDto> getTripLonglineByProgram(String programId); FormDto<TripLonglineDto> loadToRead(String tripLonglineId); 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 348b6d6..54f806d 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 3cebef7..96dcef8 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 @@ -653,6 +653,11 @@ public class ObserveDtosInitializer implements ObserveModelInitializer { } @Override + public void initTripLonglineStubDto() { + // la logique de copie est à ecrire directement dans le service + } + + @Override public void initWeightMeasureDto() { registerMainDto(WeightMeasureDto.class, WeightMeasure.class, WeightMeasureDto.PROPERTY_WEIGHT, diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TripLonglineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TripLonglineServiceTopia.java new file mode 100644 index 0000000..a0363cb --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TripLonglineServiceTopia.java @@ -0,0 +1,114 @@ +package fr.ird.observe.services.service.longline; + +import com.google.common.collect.Lists; +import fr.ird.observe.entities.constants.ReferenceLocale; +import fr.ird.observe.entities.longline.TripLongline; +import fr.ird.observe.entities.longline.TripLonglineTopiaDao; +import fr.ird.observe.entities.referentiel.Program; +import fr.ird.observe.services.ObserveServiceTopia; +import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.longline.TripLonglineDto; +import fr.ird.observe.services.dto.longline.TripLonglineStubDto; +import fr.ird.observe.services.dto.referential.ProgramDto; +import org.nuiton.util.DateUtil; + +import java.util.Collections; +import java.util.Date; +import java.util.List; + +/** + * @author Sylvain Bavencoff - bavencoff@codelutin.com + */ +public class TripLonglineServiceTopia extends ObserveServiceTopia implements TripLonglineService { + + protected TripLonglineTopiaDao getDao() { + return (TripLonglineTopiaDao) serviceContext.getTopiaPersistenceContext().getDao(TripLongline.class); + } + + @Override + public List<TripLonglineStubDto> getTripLonglineByProgram(String programId) { + + ReferenceLocale referenceLocale = getReferenceLocale(); + + List<TripLongline> tripLonglines = getDao().findAllStubByProgramId(programId, referenceLocale); + + List<TripLonglineStubDto> stubs = Lists.newLinkedList(); + + for (TripLongline tripLongline : tripLonglines) { + + TripLonglineStubDto stub = new TripLonglineStubDto(); + stub.setId(tripLongline.getTopiaId()); + stub.setStartDate(tripLongline.getStartDate()); + stub.setEndDate(tripLongline.getEndDate()); + stub.setVesselLabel(referenceLocale.getLabel(tripLongline.getVessel())); + stub.setObserverLabel(tripLongline.getObserverLabel()); + + stubs.add(stub); + + } + + return stubs; + } + + @Override + public FormDto<TripLonglineDto> loadToRead(String tripLonglineId) { + + TripLongline tripLongline = loadEntity(TripLonglineDto.class, TripLongline.class, tripLonglineId); + + FormDto<TripLonglineDto> form = entityToReadFormDto(TripLonglineDto.class, TripLongline.class, tripLongline); + + return form; + } + + @Override + public FormDto<TripLonglineDto> loadToEdit(String tripLonglineId) { + + TripLongline tripLongline = loadEntity(TripLonglineDto.class, TripLongline.class, tripLonglineId); + + FormDto<TripLonglineDto> form = entityToEditFormDto(TripLonglineDto.class, TripLongline.class, tripLongline); + + TripLonglineDto tripLonglineDto = form.getForm(); + + if (tripLonglineDto.getEndDate() == null) { + Date date = DateUtil.getEndOfDay(now()); + tripLonglineDto.setEndDate(date); + } + + return form; + } + + @Override + public FormDto<TripLonglineDto> preCreate(String programId) { + + TripLongline tripLongline = newEntity(TripLongline.class); + + Program program = loadEntity(ProgramDto.class, Program.class, programId); + + Date date = DateUtil.getDay(now()); + + tripLongline.setStartDate(date); + + tripLongline.setEndDate(date); + + tripLongline.setProgram(program); + + FormDto<TripLonglineDto> form = entityToEditFormDto(TripLonglineDto.class, TripLongline.class, tripLongline); + + return form; + } + + @Override + public String save(FormDto<TripLonglineDto> form) { + + TripLongline tripLongline = dtoToEntity(TripLonglineDto.class, TripLongline.class, form.getForm()); + + tripLongline = saveEntity(TripLongline.class, tripLongline); + + return tripLongline.getTopiaId(); + } + + @Override + public void delete(String tripLonglineId) { + deleteEntity(TripLonglineDto.class, TripLongline.class, Collections.singleton(tripLonglineId)); + } +} -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.