r745 - in trunk: tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities tutti-service/src/main/java/fr/ifremer/tutti/service/export tutti-service/src/test/java/fr/ifremer/tutti/service tutti-service/src/test/java/fr/ifremer/tutti/service/export
Author: tchemit Date: 2013-04-06 14:37:18 +0200 (Sat, 06 Apr 2013) New Revision: 745 Url: http://forge.codelutin.com/projects/tutti/repository/revisions/745 Log: move SampleCategory to entities module (add tests and fix some export models) Added: trunk/tutti-service/src/test/java/fr/ifremer/tutti/service/export/ trunk/tutti-service/src/test/java/fr/ifremer/tutti/service/export/TuttiExportServiceTest.java Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/CaracteristicMap.java trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/CatchExportModel.java trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/OperationExportModel.java trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/ParameterExportModel.java trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/SurveyExportRow.java trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/TuttiExportService.java Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/CaracteristicMap.java =================================================================== --- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/CaracteristicMap.java 2013-04-06 11:30:17 UTC (rev 744) +++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/CaracteristicMap.java 2013-04-06 12:37:18 UTC (rev 745) @@ -27,7 +27,7 @@ import fr.ifremer.tutti.persistence.entities.referential.Caracteristic; import java.io.Serializable; -import java.util.HashMap; +import java.util.LinkedHashMap; /** * A map (key are {@link Caracteristic}, values are values of caracteristics). @@ -35,6 +35,6 @@ * @author tchemit <chemit@codelutin.com> * @since 0.3 */ -public class CaracteristicMap extends HashMap<Caracteristic, Serializable> { +public class CaracteristicMap extends LinkedHashMap<Caracteristic, Serializable> { private static final long serialVersionUID = 1L; } Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/CatchExportModel.java =================================================================== --- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/CatchExportModel.java 2013-04-06 11:30:17 UTC (rev 744) +++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/CatchExportModel.java 2013-04-06 12:37:18 UTC (rev 745) @@ -49,7 +49,7 @@ newColumnForExport("Serie", Cruise.PROPERTY_PROGRAM, Program.PROPERTY_NAME); newColumnForExport("Serie_Partielle", Cruise.PROPERTY_SURVEY_PART); newColumnForExport("Id_Operation", FishingOperation.PROPERTY_STATION_NUMBER); - newColumnForExport("NumOrdre_Station", FishingOperation.PROPERTY_FISHING_OPERATION_NUMBER); + newColumnForExport("NumOrdre_Station", FishingOperation.PROPERTY_FISHING_OPERATION_NUMBER, TuttiCsvUtil.INTEGER); newColumnForExport("Navire", Cruise.PROPERTY_VESSEL, Vessel.PROPERTY_NAME); //FIXME newColumnForExport("Pays", Cruise.PROPERTY_VESSEL); Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/OperationExportModel.java =================================================================== --- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/OperationExportModel.java 2013-04-06 11:30:17 UTC (rev 744) +++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/OperationExportModel.java 2013-04-06 12:37:18 UTC (rev 745) @@ -49,26 +49,26 @@ newColumnForExport("Serie", Cruise.PROPERTY_PROGRAM, Program.PROPERTY_NAME); newColumnForExport("Serie_Partielle", Cruise.PROPERTY_SURVEY_PART); newColumnForExport("Id_Operation", FishingOperation.PROPERTY_STATION_NUMBER); - newColumnForExport("NumOrdre_Station", FishingOperation.PROPERTY_FISHING_OPERATION_NUMBER); + newColumnForExport("NumOrdre_Station", FishingOperation.PROPERTY_FISHING_OPERATION_NUMBER, TuttiCsvUtil.INTEGER); newColumnForExport("Engin", Cruise.PROPERTY_GEAR, Gear.PROPERTY_NAME); newColumnForExport("Navire", Cruise.PROPERTY_VESSEL, Vessel.PROPERTY_NAME); newColumnForExport("DateDeb_Op", FishingOperation.PROPERTY_GEAR_SHOOTING_START_DATE, TuttiCsvUtil.DAY_EMPTY_TIME); newColumnForExport("HeureDeb_Op", FishingOperation.PROPERTY_GEAR_SHOOTING_START_DATE, TuttiCsvUtil.TIME); - newColumnForExport("LatDeb", FishingOperation.PROPERTY_GEAR_SHOOTING_START_LATITUDE); - newColumnForExport("LongDeb", FishingOperation.PROPERTY_GEAR_SHOOTING_START_LONGITUDE); + newColumnForExport("LatDeb", FishingOperation.PROPERTY_GEAR_SHOOTING_START_LATITUDE, TuttiCsvUtil.FLOAT); + newColumnForExport("LongDeb", FishingOperation.PROPERTY_GEAR_SHOOTING_START_LONGITUDE, TuttiCsvUtil.FLOAT); newColumnForExport("DateFin_Op", FishingOperation.PROPERTY_GEAR_SHOOTING_END_DATE, TuttiCsvUtil.DAY_EMPTY_TIME); newColumnForExport("HeureFin_OP", FishingOperation.PROPERTY_GEAR_SHOOTING_END_DATE, TuttiCsvUtil.TIME); - newColumnForExport("LatFin", FishingOperation.PROPERTY_GEAR_SHOOTING_END_LATITUDE); - newColumnForExport("LongFin", FishingOperation.PROPERTY_GEAR_SHOOTING_END_LONGITUDE); + newColumnForExport("LatFin", FishingOperation.PROPERTY_GEAR_SHOOTING_END_LATITUDE, TuttiCsvUtil.FLOAT); + newColumnForExport("LongFin", FishingOperation.PROPERTY_GEAR_SHOOTING_END_LONGITUDE, TuttiCsvUtil.FLOAT); //FIXME newColumnForExport("Duree", FishingOperation.PROPERTY_); newColumnForExport("Strate", FishingOperation.PROPERTY_STRATA, TuttiLocation.PROPERTY_NAME, "NA"); newColumnForExport("Sous-Strate", FishingOperation.PROPERTY_SUB_STRATA, TuttiLocation.PROPERTY_NAME, "NA"); newColumnForExport("Localite", FishingOperation.PROPERTY_LOCATION, TuttiLocation.PROPERTY_NAME, "NA"); //FIXME newColumnForExport("Rectangle_CIEM",); - newColumnForExport("Validite_OP", FishingOperation.PROPERTY_FISHING_OPERATION_VALID); - newColumnForExport("Rectiligne", FishingOperation.PROPERTY_FISHING_OPERATION_RECTILIGNE); - newColumnForExport("Distance", FishingOperation.PROPERTY_TRAWL_DISTANCE); + newColumnForExport("Validite_OP", FishingOperation.PROPERTY_FISHING_OPERATION_VALID, TuttiCsvUtil.BOOLEAN); + newColumnForExport("Rectiligne", FishingOperation.PROPERTY_FISHING_OPERATION_RECTILIGNE, TuttiCsvUtil.BOOLEAN); + newColumnForExport("Distance", FishingOperation.PROPERTY_TRAWL_DISTANCE, TuttiCsvUtil.FLOAT); //FIXME newColumnForExport("Ouv_Verticale",); //FIXME newColumnForExport("Ouv_Horizontale_Ailes",); //FIXME newColumnForExport("Ouv_Horizontale_Panneaux",); Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/ParameterExportModel.java =================================================================== --- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/ParameterExportModel.java 2013-04-06 11:30:17 UTC (rev 744) +++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/ParameterExportModel.java 2013-04-06 12:37:18 UTC (rev 745) @@ -28,8 +28,11 @@ import fr.ifremer.tutti.persistence.entities.data.FishingOperation; import fr.ifremer.tutti.persistence.entities.data.Program; import fr.ifremer.tutti.persistence.entities.referential.Caracteristic; +import fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativeValue; import fr.ifremer.tutti.service.DecoratorService; import fr.ifremer.tutti.service.TuttiCsvUtil; +import org.nuiton.util.csv.ValueFormatter; +import org.nuiton.util.csv.ValueParserFormatter; import java.io.Serializable; import java.util.List; @@ -43,7 +46,6 @@ */ public class ParameterExportModel extends TuttiCsvUtil.AbstractTuttiExportModel<ParameterExportRow> { - public ParameterExportModel(char separator, DecoratorService decoratorService) { super(separator); @@ -51,11 +53,34 @@ newColumnForExport("Serie", Cruise.PROPERTY_PROGRAM, Program.PROPERTY_NAME); newColumnForExport("Serie_Partielle", Cruise.PROPERTY_SURVEY_PART); newColumnForExport("Id_Operation", FishingOperation.PROPERTY_STATION_NUMBER); - newColumnForExport("NumOrdre_Station", FishingOperation.PROPERTY_FISHING_OPERATION_NUMBER); + newColumnForExport("NumOrdre_Station", FishingOperation.PROPERTY_FISHING_OPERATION_NUMBER, TuttiCsvUtil.INTEGER); newColumnForExport("Code_PMFM", ParameterExportRow.PROPERTY_CARACTERISTIC, Caracteristic.PROPERTY_ID); newColumnForExportByDecorator("Libelle_PMFm", ParameterExportRow.PROPERTY_CARACTERISTIC, decoratorService.getDecoratorByType(Caracteristic.class)); - newColumnForExport("Valeur", ParameterExportRow.PROPERTY_VALUE); + newColumnForExport("Valeur", ParameterExportRow.PROPERTY_VALUE, new ValueFormatter<Serializable>() { + + ValueParserFormatter<Integer> integerDelegate = TuttiCsvUtil.INTEGER; + + ValueParserFormatter<Float> floatDelegate = TuttiCsvUtil.FLOAT; + + ValueParserFormatter<String> textDelegate = TuttiCsvUtil.STRING; + + @Override + public String format(Serializable value) { + if (value instanceof Float) { + return floatDelegate.format((Float) value); + } + if (value instanceof Integer) { + return integerDelegate.format((Integer) value); + } + if (value instanceof String) { + return textDelegate.format((String) value); + } + // qualitive value + CaracteristicQualitativeValue qv = (CaracteristicQualitativeValue) value; + return qv.getName(); + } + }); } public void prepareRows(List<ParameterExportRow> rows, Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/SurveyExportRow.java =================================================================== --- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/SurveyExportRow.java 2013-04-06 11:30:17 UTC (rev 744) +++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/SurveyExportRow.java 2013-04-06 12:37:18 UTC (rev 745) @@ -62,7 +62,7 @@ return cruise.getSurveyPart(); } - public TuttiLocation getProgramZone() { + public TuttiLocation getZone() { return cruise.getProgram().getZone(); } Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/TuttiExportService.java =================================================================== --- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/TuttiExportService.java 2013-04-06 11:30:17 UTC (rev 744) +++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/TuttiExportService.java 2013-04-06 12:37:18 UTC (rev 745) @@ -104,7 +104,7 @@ TuttiIOUtil.zip(basedir, exportFile, "Could not create export zip"); } - protected void exportSurvey(File file, Cruise cruise) { + public void exportSurvey(File file, Cruise cruise) { if (log.isInfoEnabled()) { log.info("Will export survey to file: " + file); @@ -130,9 +130,9 @@ } } - protected void exportOperations(File file, - Cruise cruise, - List<FishingOperation> operations) { + public void exportOperations(File file, + Cruise cruise, + List<FishingOperation> operations) { if (log.isInfoEnabled()) { log.info("Will export operations to file: " + file); @@ -159,9 +159,9 @@ } } - protected void exportParameters(File file, - Cruise cruise, - List<FishingOperation> operations) { + public void exportParameters(File file, + Cruise cruise, + List<FishingOperation> operations) { if (log.isInfoEnabled()) { log.info("Will export parameters to file: " + file); @@ -193,9 +193,9 @@ } } - protected void exportCatches(File file, - Cruise cruise, - List<FishingOperation> operations) { + public void exportCatches(File file, + Cruise cruise, + List<FishingOperation> operations) { if (log.isInfoEnabled()) { log.info("Will export catches to file: " + file); Added: trunk/tutti-service/src/test/java/fr/ifremer/tutti/service/export/TuttiExportServiceTest.java =================================================================== --- trunk/tutti-service/src/test/java/fr/ifremer/tutti/service/export/TuttiExportServiceTest.java (rev 0) +++ trunk/tutti-service/src/test/java/fr/ifremer/tutti/service/export/TuttiExportServiceTest.java 2013-04-06 12:37:18 UTC (rev 745) @@ -0,0 +1,350 @@ +package fr.ifremer.tutti.service.export; + +/* + * #%L + * Tutti :: Service + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2012 - 2013 Ifremer + * %% + * 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 + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * 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 + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ + +import com.google.common.collect.Lists; +import com.google.common.io.Files; +import fr.ifremer.tutti.persistence.RessourceClassLoader; +import fr.ifremer.tutti.persistence.entities.CaracteristicMap; +import fr.ifremer.tutti.persistence.entities.TuttiBeanFactory; +import fr.ifremer.tutti.persistence.entities.data.Cruise; +import fr.ifremer.tutti.persistence.entities.data.FishingOperation; +import fr.ifremer.tutti.persistence.entities.data.Program; +import fr.ifremer.tutti.persistence.entities.referential.Caracteristic; +import fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativeValue; +import fr.ifremer.tutti.persistence.entities.referential.CaracteristicType; +import fr.ifremer.tutti.persistence.entities.referential.Gear; +import fr.ifremer.tutti.persistence.entities.referential.Person; +import fr.ifremer.tutti.persistence.entities.referential.TuttiLocation; +import fr.ifremer.tutti.persistence.entities.referential.Vessel; +import fr.ifremer.tutti.service.AbstractServiceTest; +import fr.ifremer.tutti.service.TuttiServiceContext; +import fr.ifremer.tutti.service.config.TuttiServiceConfig; +import org.apache.commons.io.Charsets; +import org.apache.commons.lang3.time.DateUtils; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + +import java.io.File; +import java.util.Date; +import java.util.List; + +/** + * @author tchemit <chemit@codelutin.com> + * @since 1.3 + */ +public class TuttiExportServiceTest extends AbstractServiceTest { + + /** Logger. */ + private static final Log log = + LogFactory.getLog(TuttiExportServiceTest.class); + + protected TuttiExportService service; + + @Override + protected TuttiServiceContext createServiceContext(RessourceClassLoader loader, + TuttiServiceConfig config) { + return new TuttiServiceContext(loader, config); + } + + @Before + public void setUp() throws Exception { + super.setUp(); + + serviceContext.getConfig().setCsvSeparator(';'); + service = serviceContext.getService(TuttiExportService.class); + } + + @Test + public void exportSurvey() throws Exception { + + File exportFile = new File(datadirectory, "exportSurvey.csv"); + + Files.createParentDirs(exportFile); + + Assert.assertFalse(exportFile.exists()); + + Cruise cruise = createCruise(); + + service.exportSurvey(exportFile, cruise); + Assert.assertTrue(exportFile.exists()); + + if (log.isInfoEnabled()) { + log.info("Survey export:\n" + + Files.toString(exportFile, Charsets.UTF_8)); + } + } + + @Test + public void exportOperations() throws Exception { + + File exportFile = new File(datadirectory, "exportOperations.csv"); + + Files.createParentDirs(exportFile); + + Assert.assertFalse(exportFile.exists()); + + Cruise cruise = createCruise(); + List<FishingOperation> operations = createOperations(cruise); + + service.exportOperations(exportFile, cruise, operations); + Assert.assertTrue(exportFile.exists()); + + if (log.isInfoEnabled()) { + log.info("Operation export:\n" + + Files.toString(exportFile, Charsets.UTF_8)); + } + } + + @Test + public void exportParameters() throws Exception { + + File exportFile = new File(datadirectory, "exportParameters.csv"); + + Files.createParentDirs(exportFile); + + Assert.assertFalse(exportFile.exists()); + + Cruise cruise = createCruise(); + List<FishingOperation> operations = createOperations(cruise); + + service.exportParameters(exportFile, cruise, operations); + Assert.assertTrue(exportFile.exists()); + + if (log.isInfoEnabled()) { + log.info("Parameter export:\n" + + Files.toString(exportFile, Charsets.UTF_8)); + } + } + + //TODO + public void exportCatches() throws Exception { + + File exportFile = new File(datadirectory, "exportCatches.csv"); + + Files.createParentDirs(exportFile); + + Assert.assertFalse(exportFile.exists()); + + if (log.isInfoEnabled()) { + log.info("Catch export:\n" + + Files.toString(exportFile, Charsets.UTF_8)); + } + } + + private Cruise createCruise() { + TuttiLocation programZone = TuttiBeanFactory.newTuttiLocation(); + programZone.setId(0); + programZone.setName("ProgramZoneName"); + programZone.setLabel("ProgramZoneLabel"); + + TuttiLocation departureLocation = TuttiBeanFactory.newTuttiLocation(); + departureLocation.setId(1); + departureLocation.setName("DepartureLocationName"); + departureLocation.setLabel("DepartureLocationLabel"); + + TuttiLocation returnLocation = TuttiBeanFactory.newTuttiLocation(); + returnLocation.setId(2); + returnLocation.setName("ReturnLocationName"); + returnLocation.setLabel("ReturnLocationLabel"); + + Program program = TuttiBeanFactory.newProgram(); + program.setId(1); + program.setName("ProgramName"); + program.setZone(programZone); + + Cruise cruise = TuttiBeanFactory.newCruise(); + cruise.setId(2); + cruise.setName("CruiseName"); + cruise.setComment("CruiseComment"); + cruise.setMultirigNumber(1); + cruise.setProgram(program); + cruise.setSurveyPart("CruiseSurveyPart"); + + cruise.setBeginDate(getDate(2013, 4, 5)); + cruise.setEndDate(getDate(2013, 5, 5)); + cruise.setDepartureLocation(departureLocation); + cruise.setReturnLocation(returnLocation); + + List<Gear> gears = Lists.newArrayList(); + Gear gear = TuttiBeanFactory.newGear(); + gear.setId(4); + gear.setLabel("GearLabel"); + gear.setName("GearName"); + gear.setScientificGear(false); + + gears.add(gear); + cruise.setGear(gears); + List<Person> headOfMission = Lists.newArrayList(); + cruise.setHeadOfMission(headOfMission); + List<Person> headOfSortRoom = Lists.newArrayList(); + cruise.setHeadOfSortRoom(headOfSortRoom); + + Vessel vessel = TuttiBeanFactory.newVessel(); + vessel.setId(4); + vessel.setName("VesselName"); + vessel.setRegistrationCode("VesselRegistrationCode"); + vessel.setInternationalRegistrationCode("VesselInternationalRegistrationCode"); + + cruise.setVessel(vessel); + return cruise; + } + + private List<FishingOperation> createOperations(Cruise cruise) { + List<FishingOperation> result = Lists.newArrayList(); + + Caracteristic caracteristicInteger = TuttiBeanFactory.newCaracteristic(); + caracteristicInteger.setCaracteristicType(CaracteristicType.NUMBER); + caracteristicInteger.setId(0); + caracteristicInteger.setNumericType(true); + caracteristicInteger.setParameterName("CaracteristicIntegerParameterName"); + caracteristicInteger.setMatrixName("CaracteristicIntegerMatrixName"); + caracteristicInteger.setFractionName("CaracteristicIntegerFractionName"); + caracteristicInteger.setMethodName("CaracteristicIntegerMethodName"); + + Caracteristic caracteristicFloat = TuttiBeanFactory.newCaracteristic(); + caracteristicFloat.setCaracteristicType(CaracteristicType.NUMBER); + caracteristicFloat.setId(0); + caracteristicFloat.setNumericType(true); + caracteristicFloat.setParameterName("CaracteristicFloatParameterName"); + caracteristicFloat.setMatrixName("CaracteristicFloatMatrixName"); + caracteristicFloat.setFractionName("CaracteristicFloatFractionName"); + caracteristicFloat.setMethodName("CaracteristicFloatMethodName"); + + Caracteristic caracteristicText = TuttiBeanFactory.newCaracteristic(); + caracteristicText.setCaracteristicType(CaracteristicType.TEXT); + caracteristicText.setId(1); + caracteristicText.setNumericType(false); + caracteristicText.setParameterName("CaracteristicTextParameterName"); + caracteristicText.setMatrixName("CaracteristicTextMatrixName"); + caracteristicText.setFractionName("CaracteristicTextFractionName"); + caracteristicText.setMethodName("CaracteristicTextMethodName"); + + Caracteristic caracteristicQualitative = TuttiBeanFactory.newCaracteristic(); + caracteristicQualitative.setCaracteristicType(CaracteristicType.QUALITATIVE); + caracteristicQualitative.setId(2); + caracteristicQualitative.setNumericType(false); + caracteristicQualitative.setParameterName("CaracteristicQualitativeParameterName1"); + caracteristicQualitative.setMatrixName("CaracteristicQualitativeMatrixName1"); + caracteristicQualitative.setFractionName("CaracteristicQualitativeFractionName1"); + caracteristicQualitative.setMethodName("CaracteristicQualitativeMethodName1"); + caracteristicQualitative.setQualitativeValue(Lists.<CaracteristicQualitativeValue>newArrayList()); + + Caracteristic caracteristicQualitative2 = TuttiBeanFactory.newCaracteristic(); + caracteristicQualitative2.setCaracteristicType(CaracteristicType.QUALITATIVE); + caracteristicQualitative2.setId(3); + caracteristicQualitative2.setNumericType(false); + caracteristicQualitative2.setParameterName("CaracteristicQualitativeParameterName2"); + caracteristicQualitative2.setMatrixName("CaracteristicQualitativeMatrixName2"); + caracteristicQualitative2.setFractionName("CaracteristicQualitativeFractionName2"); + caracteristicQualitative2.setMethodName("CaracteristicQualitativeMethodName2"); + caracteristicQualitative2.setQualitativeValue(Lists.<CaracteristicQualitativeValue>newArrayList()); + + for (int i = 0; i < 3; i++) { + CaracteristicQualitativeValue caracteristicQualitativeValue = TuttiBeanFactory.newCaracteristicQualitativeValue(); + caracteristicQualitativeValue.setId(i); + caracteristicQualitativeValue.setName("CaracteristicQualitativeValueName" + i); + caracteristicQualitativeValue.setDescription("CaracteristicQualitativeValueDescription" + i); + caracteristicQualitative.addQualitativeValue(caracteristicQualitativeValue); + + caracteristicQualitativeValue = TuttiBeanFactory.newCaracteristicQualitativeValue(); + caracteristicQualitativeValue.setId(5 + i); + caracteristicQualitativeValue.setName("CaracteristicQualitativeValueName2_" + i); + caracteristicQualitativeValue.setDescription("CaracteristicQualitativeValueDescription2_" + i); + caracteristicQualitative2.addQualitativeValue(caracteristicQualitativeValue); + } + + for (int i = 0; i < 3; i++) { + + TuttiLocation location = TuttiBeanFactory.newTuttiLocation(); + location.setId(i); + location.setName("LocationName" + i); + location.setLabel("LocationLabel" + i); + + TuttiLocation strata = TuttiBeanFactory.newTuttiLocation(); + strata.setId(3 * i); + strata.setName("StrataName" + i); + strata.setLabel("StrataLabel" + i); + + TuttiLocation subStrata = TuttiBeanFactory.newTuttiLocation(); + subStrata.setId(5 * i); + subStrata.setName("SubStrataName" + i); + subStrata.setLabel("SubStrataLabel" + i); + + CaracteristicMap gearUseFeatures = new CaracteristicMap(); + gearUseFeatures.put(caracteristicInteger, 10); + gearUseFeatures.put(caracteristicFloat, 5.2f); + gearUseFeatures.put(caracteristicText, "Text"); + gearUseFeatures.put(caracteristicQualitative, caracteristicQualitative.getQualitativeValue(0)); + gearUseFeatures.put(caracteristicQualitative2, caracteristicQualitative.getQualitativeValue(1)); + + CaracteristicMap vesselUseFeatures = new CaracteristicMap(); + gearUseFeatures.put(caracteristicInteger, 20); + gearUseFeatures.put(caracteristicFloat, 10.4f); + gearUseFeatures.put(caracteristicText, "Text2"); + gearUseFeatures.put(caracteristicQualitative, caracteristicQualitative.getQualitativeValue(2)); + gearUseFeatures.put(caracteristicQualitative2, caracteristicQualitative.getQualitativeValue(1)); + + FishingOperation operation = TuttiBeanFactory.newFishingOperation(); + operation.setId(i); + operation.setCruise(cruise); + operation.setComment("OperationComment" + i); + operation.setFishingOperationNumber(100 + i); + operation.setFishingOperationRectiligne(true); + operation.setFishingOperationValid(i % 2 == 0 ? null : false); + operation.setGear(cruise.getGear().get(0)); + operation.setGearShootingEndDate(getDate(2013, 4, 6)); + operation.setGearShootingEndLatitude(45.4f); + operation.setGearShootingEndLongitude(23.7f); + operation.setGearShootingStartDate(getDate(2013, 4, 6)); + operation.setGearShootingStartLatitude(45.3f); + operation.setGearShootingStartLongitude(23.6f); + + operation.setGearUseFeatures(gearUseFeatures); + operation.setLocation(i % 2 == 0 ? null : location); + operation.setMultirigAggregation("1,2"); + operation.setRecorderPerson(null); + operation.setStationNumber("A" + i); + operation.setStrata(i % 2 == 0 ? null : strata); + operation.setSubStrata(i % 2 == 0 ? null : subStrata); + operation.setTrawlDistance(10.4f + i); + operation.setVessel(cruise.getVessel()); + operation.setVesselUseFeatures(vesselUseFeatures); + + result.add(operation); + } + return result; + } + + public static Date getDate(int year, int month, int day) { + Date fromDate = DateUtils.setYears(new Date(), year); + fromDate = DateUtils.setMonths(fromDate, month); + fromDate = DateUtils.setDays(fromDate, day); + return fromDate; + } +} Property changes on: trunk/tutti-service/src/test/java/fr/ifremer/tutti/service/export/TuttiExportServiceTest.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native
participants (1)
-
tchemit@users.forge.codelutin.com