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 1c0e909b4178325b00768652a44bcd6178a8af9e Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Thu Aug 27 15:27:13 2015 +0200 implantation SetLonglineDetailCompositionService (refs #7458). --- .../SetLonglineDetailCompositionService.java | 8 +- .../SetLonglineDetailCompositionServiceTopia.java | 63 ++++++++ ...tLonglineDetailCompositionServiceTopiaTest.java | 168 +++++++++++++++++++++ 3 files changed, 235 insertions(+), 4 deletions(-) diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionService.java index 4058f75..8f35d2f 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionService.java @@ -2,7 +2,7 @@ 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.longline.SetLonglineGlobalCompositionDto; +import fr.ird.observe.services.dto.longline.SetLonglineDetailCompositionDto; import fr.ird.observe.services.spi.Write; /** @@ -10,11 +10,11 @@ import fr.ird.observe.services.spi.Write; */ public interface SetLonglineDetailCompositionService extends ObserveService { - FormDto<SetLonglineGlobalCompositionDto> loadToRead(String setLonglineId); + FormDto<SetLonglineDetailCompositionDto> loadToRead(String setLonglineId); - FormDto<SetLonglineGlobalCompositionDto> loadToEdit(String setLonglineId); + FormDto<SetLonglineDetailCompositionDto> loadToEdit(String setLonglineId); @Write - String save(FormDto<SetLonglineGlobalCompositionDto> form); + String save(FormDto<SetLonglineDetailCompositionDto> form); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionServiceTopia.java new file mode 100644 index 0000000..de52dc3 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionServiceTopia.java @@ -0,0 +1,63 @@ +package fr.ird.observe.services.service.longline; + +import fr.ird.observe.entities.longline.SetLongline; +import fr.ird.observe.services.ObserveServiceTopia; +import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.longline.SetLonglineDetailCompositionDto; +import fr.ird.observe.services.dto.referential.longline.BaitHaulingStatusDto; +import fr.ird.observe.services.dto.referential.longline.BaitSettingStatusDto; +import fr.ird.observe.services.dto.referential.longline.BaitTypeDto; +import fr.ird.observe.services.dto.referential.longline.HookSizeDto; +import fr.ird.observe.services.dto.referential.longline.HookTypeDto; +import fr.ird.observe.services.dto.referential.longline.LineTypeDto; + +/** + * @author Sylvain Bavencoff - bavencoff@codelutin.com + */ +public class SetLonglineDetailCompositionServiceTopia extends ObserveServiceTopia implements SetLonglineDetailCompositionService { + + @Override + public FormDto<SetLonglineDetailCompositionDto> loadToRead(String setLonglineId) { + + SetLongline setLongline = loadEntity(SetLonglineDetailCompositionDto.class, SetLongline.class, setLonglineId); + + FormDto<SetLonglineDetailCompositionDto> form = entityToReadFormDto( + SetLonglineDetailCompositionDto.class, + SetLongline.class, + setLongline); + + return form; + } + + @Override + public FormDto<SetLonglineDetailCompositionDto> loadToEdit(String setLonglineId) { + + SetLongline setLongline = loadEntity(SetLonglineDetailCompositionDto.class, SetLongline.class, setLonglineId); + + FormDto<SetLonglineDetailCompositionDto> form = entityToEditFormDto( + SetLonglineDetailCompositionDto.class, + SetLongline.class, + setLongline, + LineTypeDto.class, + HookTypeDto.class, + HookSizeDto.class, + BaitTypeDto.class, + BaitSettingStatusDto.class, + BaitHaulingStatusDto.class); + + return form; + } + + @Override + public String save(FormDto<SetLonglineDetailCompositionDto> form) { + + SetLonglineDetailCompositionDto setLonglineDetailCompositionDto = form.getForm(); + + SetLongline setLongline = dtoToEntity(SetLonglineDetailCompositionDto.class, SetLongline.class, setLonglineDetailCompositionDto); + + setLongline = saveEntity(SetLongline.class, setLongline); + + return setLongline.getTopiaId(); + } + +} diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionServiceTopiaTest.java new file mode 100644 index 0000000..bf5ae25 --- /dev/null +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionServiceTopiaTest.java @@ -0,0 +1,168 @@ +package fr.ird.observe.services.service.longline; + +import com.google.common.collect.ImmutableSet; +import fr.ird.observe.entities.longline.Basket; +import fr.ird.observe.entities.longline.Branchline; +import fr.ird.observe.entities.longline.Section; +import fr.ird.observe.entities.longline.SetLongline; +import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.longline.BasketDto; +import fr.ird.observe.services.dto.longline.BranchlineDto; +import fr.ird.observe.services.dto.longline.SectionDto; +import fr.ird.observe.services.dto.longline.SetLonglineDetailCompositionDto; +import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.referential.longline.BaitHaulingStatusDto; +import fr.ird.observe.services.dto.referential.longline.BaitSettingStatusDto; +import fr.ird.observe.services.dto.referential.longline.BaitTypeDto; +import fr.ird.observe.services.dto.referential.longline.HookSizeDto; +import fr.ird.observe.services.dto.referential.longline.HookTypeDto; +import fr.ird.observe.services.dto.referential.longline.LineTypeDto; +import fr.ird.observe.services.service.AbstractServiceTopiaTest; +import org.junit.Assert; +import org.junit.Test; +import org.nuiton.util.DateUtil; + +import java.util.Set; + +/** + * @author Sylvain Bavencoff - bavencoff@codelutin.com + */ +public class SetLonglineDetailCompositionServiceTopiaTest extends AbstractServiceTopiaTest { + + protected SetLonglineDetailCompositionService service; + + public static final String SET_LONGLINE_ID = "fr.ird.observe.entities.longline.SetLongline#1429538714446#0.0876020351424813"; + + @Override + public Set<String> getTestNamesChangeDataBase() { + return ImmutableSet.of( + "saveTest"); + } + + @Override + public String getScriptName() { + return "dataForTestLongline"; + } + + @Override + public void setUp() throws Exception { + + super.setUp(); + + service = newService(SetLonglineDetailCompositionService.class); + + } + + @Test + public void loadToEditTest() { + + FormDto<SetLonglineDetailCompositionDto> formDto = service.loadToEdit(SET_LONGLINE_ID); + + Assert.assertNotNull(formDto); + + SetLonglineDetailCompositionDto compositionDto = formDto.getForm(); + Assert.assertNotNull(compositionDto); + + Assert.assertEquals(18, compositionDto.sizeSection()); + + SectionDto sectionDto = compositionDto.getSection(0); + Assert.assertEquals(new Integer(1), sectionDto.getSettingIdentifier()); + Assert.assertEquals(new Integer(18), sectionDto.getHaulingIdentifier()); + Assert.assertEquals(13, sectionDto.sizeBasket()); + + BasketDto basketDto = sectionDto.getBasket(0); + Assert.assertEquals(new Integer(1), basketDto.getSettingIdentifier()); + Assert.assertEquals(new Integer(13), basketDto.getHaulingIdentifier()); + Assert.assertEquals(6, basketDto.sizeBranchline()); + + BranchlineDto branchlineDto = basketDto.getBranchline(0); + Assert.assertEquals(new Integer(1), branchlineDto.getSettingIdentifier()); + Assert.assertEquals(new Integer(6), branchlineDto.getHaulingIdentifier()); + } + + @Test + public void saveTest() { + + FormDto<SetLonglineDetailCompositionDto> formDto = service.loadToEdit(SET_LONGLINE_ID); + SetLonglineDetailCompositionDto compositionDto = formDto.getForm(); + + SectionDto sectionDto = compositionDto.getSection(4); + + BasketDto basketDto = sectionDto.getBasket(3); + basketDto.setFloatline1Length(4.4f); + basketDto.setFloatline2Length(5.5f); + + BranchlineDto branchlineDto = basketDto.getBranchline(0); + branchlineDto.setBranchlineLength(1.2f); + branchlineDto.setTracelineLength(2.8f); + + ReferentialReferenceDto<LineTypeDto> topType = formDto.getReferentialReferenceById(LineTypeDto.class, "fr.ird.observe.entities.referentiel.longline.LineType#1239832686157#0.1"); + branchlineDto.setTopType(topType); + ReferentialReferenceDto<LineTypeDto> tracelineType = formDto.getReferentialReferenceById(LineTypeDto.class, "fr.ird.observe.entities.referentiel.longline.LineType#1239832686157#0.3"); + branchlineDto.setTracelineType(tracelineType); + branchlineDto.setDepthRecorder(true); + branchlineDto.setHookLost(false); + branchlineDto.setTraceCutOff(false); + branchlineDto.setTimer(true); + branchlineDto.setTimeSinceContact(25478l); + branchlineDto.setTimerTimeOnBoard(DateUtil.createDate(14, 57, 10, 2, 8, 2009)); + branchlineDto.setWeightedSnap(true); + branchlineDto.setSnapWeight(0.8f); + branchlineDto.setWeightedSwivel(true); + branchlineDto.setSwivelWeight(0.45f); + + ReferentialReferenceDto<HookTypeDto> hookType = formDto.getReferentialReferenceById(HookTypeDto.class, "fr.ird.observe.entities.referentiel.longline.HookType#1239832686152#0.2"); + branchlineDto.setHookType(hookType); + ReferentialReferenceDto<HookSizeDto> hookSize = formDto.getReferentialReferenceById(HookSizeDto.class, "fr.ird.observe.entities.referentiel.longline.HookSize#1239832686151#0.6"); + branchlineDto.setHookSize(hookSize); + branchlineDto.setHookOffset(24); + ReferentialReferenceDto<BaitTypeDto> baitType = formDto.getReferentialReferenceById(BaitTypeDto.class, "fr.ird.observe.entities.referentiel.longline.BaitType#1239832686124#0.8"); + branchlineDto.setBaitType(baitType); + ReferentialReferenceDto<BaitSettingStatusDto> baitSettingStatus = formDto.getReferentialReferenceById(BaitSettingStatusDto.class, "fr.ird.observe.entities.referentiel.longline.BaitSettingStatus#1239832686123#0.1"); + branchlineDto.setBaitSettingStatus(baitSettingStatus); + ReferentialReferenceDto<BaitHaulingStatusDto> baitHaulingStatus = formDto.getReferentialReferenceById(BaitHaulingStatusDto.class, "fr.ird.observe.entities.referentiel.longline.BaitHaulingStatus#1239832686122#0.4"); + branchlineDto.setBaitHaulingStatus(baitHaulingStatus); + + service.save(formDto); + + SetLongline setLongline = dataSourceResource.findById(SetLongline.class, SET_LONGLINE_ID); + + Section section = setLongline.getSectionByTopiaId(sectionDto.getId()); + Assert.assertEquals(sectionDto.getSettingIdentifier(), section.getSettingIdentifier()); + Assert.assertEquals(sectionDto.getHaulingIdentifier(), section.getHaulingIdentifier()); + + Basket basket = section.getBasketByTopiaId(basketDto.getId()); + Assert.assertEquals(basketDto.getSettingIdentifier(), basket.getSettingIdentifier()); + Assert.assertEquals(basketDto.getHaulingIdentifier(), basket.getHaulingIdentifier()); + Assert.assertEquals(basketDto.getFloatline1Length(), basket.getFloatline1Length()); + Assert.assertEquals(basketDto.getFloatline2Length(), basket.getFloatline2Length()); + + Branchline branchline = basket.getBranchlineByTopiaId(branchlineDto.getId()); + Assert.assertEquals(branchlineDto.getSettingIdentifier(), branchline.getSettingIdentifier()); + Assert.assertEquals(branchlineDto.getHaulingIdentifier(), branchline.getHaulingIdentifier()); + Assert.assertEquals(branchlineDto.getBranchlineLength(), branchline.getBranchlineLength()); + Assert.assertEquals(branchlineDto.getTracelineLength(), branchline.getTracelineLength()); + + assertReferenceDtoEqualsEntity(topType, branchline.getTopType()); + assertReferenceDtoEqualsEntity(tracelineType, branchline.getTracelineType()); + Assert.assertEquals(branchlineDto.getDepthRecorder(), branchline.getDepthRecorder()); + Assert.assertEquals(branchlineDto.getHookLost(), branchline.getHookLost()); + Assert.assertEquals(branchlineDto.getTraceCutOff(), branchline.getTraceCutOff()); + Assert.assertEquals(branchlineDto.getTimer(), branchline.getTimer()); + Assert.assertEquals(branchlineDto.getTimeSinceContact().longValue(), branchline.getTimeSinceContact()); + Assert.assertEquals(branchlineDto.getTimerTimeOnBoard(), branchline.getTimerTimeOnBoard()); + Assert.assertEquals(branchlineDto.getWeightedSnap(), branchline.getWeightedSnap()); + Assert.assertEquals(branchlineDto.getSnapWeight(), branchline.getSnapWeight()); + Assert.assertEquals(branchlineDto.getWeightedSwivel(), branchline.getWeightedSwivel()); + Assert.assertEquals(branchlineDto.getSwivelWeight(), branchline.getSwivelWeight()); + + assertReferenceDtoEqualsEntity(hookType, branchline.getHookType()); + assertReferenceDtoEqualsEntity(hookSize, branchline.getHookSize()); + Assert.assertEquals(branchlineDto.getSwivelWeight(), branchline.getSwivelWeight()); + assertReferenceDtoEqualsEntity(baitType, branchline.getBaitType()); + assertReferenceDtoEqualsEntity(baitSettingStatus, branchline.getBaitSettingStatus()); + assertReferenceDtoEqualsEntity(baitHaulingStatus, branchline.getBaitHaulingStatus()); + + } + +} -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.