Tutti-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- 4058 discussions
r923 - trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service
by tchemit@users.forge.codelutin.com 07 May '13
by tchemit@users.forge.codelutin.com 07 May '13
07 May '13
Author: tchemit
Date: 2013-05-07 11:16:46 +0200 (Tue, 07 May 2013)
New Revision: 923
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/923
Log:
refs #2401: [TRAI] erreur ?\195?\160 la cr?\195?\169ation d'un premier trait sur une campagne
Modified:
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/IndividualObservationBatchPersistenceServiceImpl.java
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/IndividualObservationBatchPersistenceServiceImpl.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/IndividualObservationBatchPersistenceServiceImpl.java 2013-05-06 19:47:06 UTC (rev 922)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/IndividualObservationBatchPersistenceServiceImpl.java 2013-05-07 09:16:46 UTC (rev 923)
@@ -329,8 +329,6 @@
sampleMeasurementPersistenceHelper.setSampleMeasurements(target,
caracteristics);
-
-
}
protected Batch getBatch(Integer operationId) {
@@ -338,16 +336,6 @@
CatchBatch catchBatch = batchHelper.getRootCatchBatchByFishingOperationId(operationId.toString(), false);
return catchBatch;
-// // Vrac / Species
-// SortingBatch vracSpeciesBatch = batchHelper.getSortingBatch(
-// catchBatch,
-// "Vrac > Species > Alive Itemized",
-// enumeration.PMFM_ID_SORTED_UNSORTED, enumeration.QUALITATIVE_VRAC_ID,
-// enumeration.PMFM_ID_SORTING_TYPE, enumeration.QUALITATIVE_ID_SORTING_TYPE_SPECIES,
-// enumeration.PMFM_ID_SORTING_TYPE_2, enumeration.QUALITATIVE_ID_SORTING_TYPE_2_ALIVE_ITEMIZED
-// );
-// Preconditions.checkNotNull(vracSpeciesBatch);
-// return vracSpeciesBatch;
}
protected void fillSampleMeasurements(IndividualObservationBatch batch) {
1
0
r922 - in trunk/tutti-persistence/src/main: java/fr/ifremer/tutti/persistence/service resources
by tchemit@users.forge.codelutin.com 06 May '13
by tchemit@users.forge.codelutin.com 06 May '13
06 May '13
Author: tchemit
Date: 2013-05-06 21:47:06 +0200 (Mon, 06 May 2013)
New Revision: 922
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/922
Log:
fixes #2394: [TRAIT] - Mauvaise info sauvegard?\195?\169e dans le champ OPERATION.NAME
Modified:
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceServiceImpl.java
trunk/tutti-persistence/src/main/resources/queries-override.hbm.xml
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceServiceImpl.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceServiceImpl.java 2013-05-06 19:33:55 UTC (rev 921)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceServiceImpl.java 2013-05-06 19:47:06 UTC (rev 922)
@@ -74,6 +74,7 @@
import fr.ifremer.tutti.persistence.entities.referential.Vessel;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.MapUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.hibernate.FlushMode;
@@ -179,18 +180,8 @@
// Fishing operation number : trying to retrieve from name
String name = (String) source[colIndex++];
- String gearLabel = (String) source[colIndex++];
- String fishingOperationNumberStr;
- if (name != null && !name.isEmpty()) {
- if (gearLabel != null && !gearLabel.isEmpty()
- && name.startsWith(gearLabel)) {
- fishingOperationNumberStr = name.substring(gearLabel.length());
- } else {
- fishingOperationNumberStr = name;
- }
- if (fishingOperationNumberStr.matches("\\d+")) {
- fishingOperation.setFishingOperationNumber(Integer.valueOf(fishingOperationNumberStr));
- }
+ if (StringUtils.isNotBlank(name)) {
+ fishingOperation.setFishingOperationNumber(Integer.valueOf(name));
}
// If not found, compute it using a counter (see "order by startDateTime" in HQL query)
@@ -246,21 +237,10 @@
int colIndex = 0;
- // Name = <GearLabel><FishingOperationNumber>
+ // Name
String name = (String) source[colIndex++];
- String gearLabel = (String) source[colIndex++];
-
- String fishingOperationNumberStr;
- if (name != null && !name.isEmpty()) {
- if (gearLabel != null && !gearLabel.isEmpty()
- && name.startsWith(gearLabel)) {
- fishingOperationNumberStr = name.substring(gearLabel.length());
- } else {
- fishingOperationNumberStr = name;
- }
- if (fishingOperationNumberStr.matches("\\d+")) {
- result.setFishingOperationNumber(Integer.valueOf(fishingOperationNumberStr));
- }
+ if (StringUtils.isNotBlank(name)) {
+ result.setFishingOperationNumber(Integer.valueOf(name));
}
// If not found, compute it using a counter (see "order by startDateTime" in HQL query)
@@ -503,9 +483,10 @@
}
// remove operation vessel associations
- if (CollectionUtils.isNotEmpty(fishingOperation.getOperationVesselAssociations())) {
- fishingOperation.getOperationVesselAssociations().clear();
- }
+ removeAllOperationVesselAssociation(fishingOperation);
+// if (CollectionUtils.isNotEmpty(fishingOperation.getOperationVesselAssociations())) {
+// fishingOperation.getOperationVesselAssociations().clear();
+// }
// remove fishing areas
if (CollectionUtils.isNotEmpty(fishingAreas)) {
@@ -568,7 +549,7 @@
Integer pmfmId = (Integer) source[colIndex++];
Float numericalValue = (Float) source[colIndex++];
String alphanumericalValue = (String) source[colIndex++];
- Integer qualitativeValueId = (Integer) source[colIndex++];
+ Integer qualitativeValueId = (Integer) source[colIndex];
// Trawl distance
if (enumeration.PMFM_ID_TRAWL_DISTANCE.equals(pmfmId)) {
@@ -634,7 +615,7 @@
Integer pmfmId = (Integer) source[colIndex++];
Float numericalValue = (Float) source[colIndex++];
String alphanumericalValue = (String) source[colIndex++];
- Integer qualitativeValueId = (Integer) source[colIndex++];
+ Integer qualitativeValueId = (Integer) source[colIndex];
// Trawl net number
if (enumeration.PMFM_ID_MULTIRIG_AGGREGATION.equals(pmfmId)
@@ -670,7 +651,6 @@
protected void beanToEntity(FishingOperation source,
fr.ifremer.adagio.core.dao.data.operation.FishingOperation target) {
- StringBuilder nameBuffer = new StringBuilder();
// Retrieve entities : FishingTrip and ScientificCruise
ScientificCruise scientificCruise;
@@ -753,9 +733,6 @@
gearPhysicalFeatures.getOperations().add(target);
}
}
- if (source.getGear() != null && source.getGear().getLabel() != null) {
- nameBuffer.append(source.getGear().getLabel());
- }
// Retrieve entities : Fishing Area
FishingArea fishingArea;
@@ -795,9 +772,8 @@
// OP N°
if (source.getFishingOperationNumber() != null) {
- nameBuffer.append(source.getFishingOperationNumber());
+ target.setName(source.getFishingOperationNumber().toString());
}
- target.setName(nameBuffer.toString());
// Multirig Aggregation
if (source.getMultirigAggregation() != null) {
@@ -806,9 +782,6 @@
if (mutlirigNumber > cruiseMultirigCount) {
throw new DataIntegrityViolationException("An operation could not have a 'multirig number' greater than 'multirig count' defined in the cruise.");
}
- } else {
- // TODO BLA : Then parse the String when more than one number (ie "1,3")
- // and validate content
}
// Store into Gear Use Features
@@ -1228,7 +1201,7 @@
} else if (value instanceof Float) {
vesselUseMeasurement.setNumericalValue((Float) value);
} else if (value instanceof Integer) {
- vesselUseMeasurement.setQualitativeValue(load(QualitativeValueImpl.class, (Integer) value));
+ vesselUseMeasurement.setQualitativeValue(load(QualitativeValueImpl.class, value));
}
return vesselUseMeasurement;
@@ -1241,26 +1214,6 @@
return vesselUseMeasurement;
}
-// protected void setMeasurement(Measurement measurement, Caracteristic caracteristic, Serializable value) {
-// if (value == null) {
-// return;
-// }
-// if (caracteristic.getCaracteristicType() == CaracteristicType.TEXT) {
-// measurement.setAlphanumericalValue((String) value);
-// } else if (caracteristic.getCaracteristicType() == CaracteristicType.NUMBER) {
-// measurement.setNumericalValue((Float) value);
-// } else if (caracteristic.getCaracteristicType() == CaracteristicType.QUALITATIVE) {
-// Integer qvId = null;
-// if (value instanceof CaracteristicQualitativeValue) {
-// qvId = Integer.valueOf(((CaracteristicQualitativeValue) value).getId());
-// } else if (value instanceof Integer) {
-// qvId = (Integer) value;
-// }
-// QualitativeValue qv = load(QualitativeValueImpl.class, qvId);
-// measurement.setQualitativeValue(qv);
-// }
-// }
-
protected GearUseMeasurement setGearUseMeasurement(ScientificCruise scientificCruise, GearUseFeatures gearUseFeatures,
Integer pmfmId,
Float numericalValue,
Modified: trunk/tutti-persistence/src/main/resources/queries-override.hbm.xml
===================================================================
--- trunk/tutti-persistence/src/main/resources/queries-override.hbm.xml 2013-05-06 19:33:55 UTC (rev 921)
+++ trunk/tutti-persistence/src/main/resources/queries-override.hbm.xml 2013-05-06 19:47:06 UTC (rev 922)
@@ -213,7 +213,6 @@
SELECT
o.id AS id,
o.name AS name,
- g.label AS gearLabel,
o.startDateTime AS startDateTime,
(select vum.alphanumericalValue from VesselUseMeasurementImpl vum where vum.vesselUseFeatures.id = vuf.id and vum.pmfm.id=:pmfmIdStationNumber) AS stationNumber,
(select gum.alphanumericalValue from GearUseMeasurementImpl gum where gum.gearUseFeatures.id = guf.id and gum.pmfm.id=:pmfmIdMultirigAggregation) AS multirigAggregation
@@ -236,7 +235,6 @@
<![CDATA[
SELECT
o.name AS name,
- max(g.label) AS gearLabel,
max(o.startDateTime) AS startDateTime,
max(o.endDateTime) AS endDateTime,
max(o.comments) AS comments,
1
0
06 May '13
Author: tchemit
Date: 2013-05-06 21:33:55 +0200 (Mon, 06 May 2013)
New Revision: 921
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/921
Log:
refs #1975: [TRAIT] - Pouvoir supprimer un trait
Added:
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/DeleteFishingOperationAction.java
Modified:
trunk/pom.xml
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistence.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/AccidentalBatchPersistenceService.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/AccidentalBatchPersistenceServiceImpl.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CatchBatchPersistenceService.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CatchBatchPersistenceServiceImpl.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceServiceImpl.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/IndividualObservationBatchPersistenceService.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/IndividualObservationBatchPersistenceServiceImpl.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/batch/BatchPersistenceHelper.java
trunk/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/DatabaseFixtures.java
trunk/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/AccidentalBatchPersistenceServiceWriteTest.java
trunk/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/CatchBatchPersistenceServiceWriteTest.java
trunk/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceServiceWriteTest.java
trunk/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/IndividualObservationBatchPersistenceServiceWriteTest.java
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java
trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-en.properties
trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIModel.java
trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties
trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2013-05-06 13:01:52 UTC (rev 920)
+++ trunk/pom.xml 2013-05-06 19:33:55 UTC (rev 921)
@@ -136,9 +136,9 @@
<swingXVersion>1.6.4</swingXVersion>
<xworkVersion>2.3.7</xworkVersion>
- <slf4jVersion>1.7.2</slf4jVersion>
+ <slf4jVersion>1.7.5</slf4jVersion>
- <adagioVersion>3.3.5</adagioVersion>
+ <adagioVersion>3.3.6-SNAPSHOT</adagioVersion>
<msaccessImporterVersion>1.4.1</msaccessImporterVersion>
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistence.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistence.java 2013-05-06 13:01:52 UTC (rev 920)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistence.java 2013-05-06 19:33:55 UTC (rev 921)
@@ -24,7 +24,6 @@
* #L%
*/
-import fr.ifremer.tutti.persistence.entities.CaracteristicMap;
import fr.ifremer.tutti.persistence.entities.data.AccidentalBatch;
import fr.ifremer.tutti.persistence.entities.data.AttachementObjectTypeEnum;
import fr.ifremer.tutti.persistence.entities.data.Attachment;
@@ -440,6 +439,9 @@
@Transactional(readOnly = false)
FishingOperation saveFishingOperation(FishingOperation bean);
+ @Transactional(readOnly = false)
+ void deleteFishingOperation(String id);
+
//------------------------------------------------------------------------//
//-- CatchBatch methods --//
//------------------------------------------------------------------------//
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java 2013-05-06 13:01:52 UTC (rev 920)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java 2013-05-06 19:33:55 UTC (rev 921)
@@ -26,7 +26,6 @@
import com.google.common.collect.Maps;
import fr.ifremer.adagio.core.service.technical.CacheService;
-import fr.ifremer.tutti.persistence.entities.CaracteristicMap;
import fr.ifremer.tutti.persistence.entities.data.AccidentalBatch;
import fr.ifremer.tutti.persistence.entities.data.AttachementObjectTypeEnum;
import fr.ifremer.tutti.persistence.entities.data.Attachment;
@@ -583,6 +582,11 @@
return fishingOperationService.saveFishingOperation(bean);
}
+ @Override
+ public void deleteFishingOperation(String id) {
+ fishingOperationService.deleteFishingOperation(id);
+ }
+
//------------------------------------------------------------------------//
//-- CatchBatch methods --//
//------------------------------------------------------------------------//
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java 2013-05-06 13:01:52 UTC (rev 920)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java 2013-05-06 19:33:55 UTC (rev 921)
@@ -24,7 +24,6 @@
* #L%
*/
-import fr.ifremer.tutti.persistence.entities.CaracteristicMap;
import fr.ifremer.tutti.persistence.entities.data.AccidentalBatch;
import fr.ifremer.tutti.persistence.entities.data.AttachementObjectTypeEnum;
import fr.ifremer.tutti.persistence.entities.data.Attachment;
@@ -393,6 +392,11 @@
}
@Override
+ public void deleteFishingOperation(String id) {
+ throw notImplemented();
+ }
+
+ @Override
public CatchBatch getCatchBatchFromFishingOperation(String id) {
throw notImplemented();
}
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/AccidentalBatchPersistenceService.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/AccidentalBatchPersistenceService.java 2013-05-06 13:01:52 UTC (rev 920)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/AccidentalBatchPersistenceService.java 2013-05-06 19:33:55 UTC (rev 921)
@@ -49,4 +49,7 @@
@Transactional(readOnly = false)
void deleteAccidentalBatch(String id);
+
+ @Transactional(readOnly = false)
+ void deleteAccidentalBatchForFishingOperation(String fishingOperationId);
}
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/AccidentalBatchPersistenceServiceImpl.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/AccidentalBatchPersistenceServiceImpl.java 2013-05-06 13:01:52 UTC (rev 920)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/AccidentalBatchPersistenceServiceImpl.java 2013-05-06 19:33:55 UTC (rev 921)
@@ -45,6 +45,7 @@
import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
import fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativeValue;
import fr.ifremer.tutti.persistence.entities.referential.Species;
+import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.hibernate.type.IntegerType;
@@ -164,11 +165,26 @@
log.info("Will delete accidental batch: " + batchId);
}
sampleDao.remove(batchId);
+
attachmentPersistenceService.deleteAllAttachment(
AttachementObjectTypeEnum.SAMPLE,
batchId);
}
+ @Override
+ public void deleteAccidentalBatchForFishingOperation(String fishingOperationId) {
+ Preconditions.checkNotNull(fishingOperationId);
+
+ List<AccidentalBatch> batches =
+ getAllAccidentalBatch(fishingOperationId);
+
+ if (CollectionUtils.isNotEmpty(batches)) {
+ for (AccidentalBatch batch : batches) {
+ deleteAccidentalBatch(batch.getId());
+ }
+ }
+ }
+
// ------------------------------------------------------------------------//
// -- Internal methods --//
// ------------------------------------------------------------------------//
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CatchBatchPersistenceService.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CatchBatchPersistenceService.java 2013-05-06 13:01:52 UTC (rev 920)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CatchBatchPersistenceService.java 2013-05-06 19:33:55 UTC (rev 921)
@@ -38,7 +38,7 @@
/**
* Get the catchBatch from the fishing Operation id.
*
- * @param fishingOperationId id of the fihsing operation
+ * @param fishingOperationId id of the fishing operation
* @return found catchBatch
*/
CatchBatch getCatchBatchFromFishingOperation(String fishingOperationId);
@@ -61,4 +61,14 @@
@Transactional(readOnly = false)
CatchBatch saveCatchBatch(CatchBatch bean);
+ /**
+ * Delete catch batch for the given fishing Operation id (will then delete
+ * in cascade all sorting batchs + individual observation batchs).
+ *
+ * @param fishingOperationId id of the fishing operation
+ * @since 2.2
+ */
+ @Transactional(readOnly = false)
+ void deleteCatchBatch(String fishingOperationId);
+
}
\ No newline at end of file
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CatchBatchPersistenceServiceImpl.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CatchBatchPersistenceServiceImpl.java 2013-05-06 13:01:52 UTC (rev 920)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CatchBatchPersistenceServiceImpl.java 2013-05-06 19:33:55 UTC (rev 921)
@@ -261,6 +261,18 @@
return bean;
}
+ @Override
+ public void deleteCatchBatch(String fishingOperationId) {
+ Preconditions.checkNotNull(fishingOperationId);
+ Integer catchBatchId = batchHelper.getCatchBatchIdByFishingOperationId(Integer.valueOf(fishingOperationId));
+
+ if (catchBatchId == null) {
+ throw new DataRetrievalFailureException("Could not retrieve catch batch for fishingOperation id=" + fishingOperationId);
+ }
+
+ batchHelper.deleteCatchBatch(fishingOperationId, catchBatchId);
+ }
+
//------------------------------------------------------------------------//
//-- Internal methods --//
//------------------------------------------------------------------------//
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceServiceImpl.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceServiceImpl.java 2013-05-06 13:01:52 UTC (rev 920)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceServiceImpl.java 2013-05-06 19:33:55 UTC (rev 921)
@@ -28,10 +28,11 @@
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
-import fr.ifremer.adagio.core.dao.administration.user.PersonImpl;
import fr.ifremer.adagio.core.dao.data.fishingArea.FishingArea;
import fr.ifremer.adagio.core.dao.data.fishingArea.FishingArea2RegulationLocation;
+import fr.ifremer.adagio.core.dao.data.fishingArea.FishingArea2RegulationLocationDao;
import fr.ifremer.adagio.core.dao.data.fishingArea.FishingArea2RegulationLocationPK;
+import fr.ifremer.adagio.core.dao.data.fishingArea.FishingAreaDao;
import fr.ifremer.adagio.core.dao.data.measure.GearPhysicalMeasurement;
import fr.ifremer.adagio.core.dao.data.measure.GearUseMeasurement;
import fr.ifremer.adagio.core.dao.data.measure.VesselUseMeasurement;
@@ -72,6 +73,7 @@
import fr.ifremer.tutti.persistence.entities.referential.TuttiLocation;
import fr.ifremer.tutti.persistence.entities.referential.Vessel;
import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.collections.MapUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.hibernate.FlushMode;
@@ -85,7 +87,15 @@
import java.io.Serializable;
import java.sql.Timestamp;
import java.text.MessageFormat;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Date;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
/**
* @author tchemit <chemit(a)codelutin.com>
@@ -102,6 +112,12 @@
protected ReferentialPersistenceService referentialService;
@Autowired
+ protected CatchBatchPersistenceService catchBatchService;
+
+ @Autowired
+ protected AccidentalBatchPersistenceService accidentalBatchService;
+
+ @Autowired
protected AttachmentPersistenceService attachmentPersistenceService;
@Autowired
@@ -116,9 +132,15 @@
@Resource(name = "gearPhysicalFeaturesDao")
protected GearPhysicalFeaturesExtendDao gearPhysicalFeaturesDao;
+ @Resource(name = "fishingArea2RegulationLocationDao")
+ protected FishingArea2RegulationLocationDao fishingArea2RegulationLocationDao;
+
@Resource(name = "fishingOperationDao")
protected FishingOperationDao fishingOperationDao;
+ @Resource(name = "fishingAreaDao")
+ protected FishingAreaDao fishingAreaDao;
+
@Resource(name = "operationVesselAssociationDao")
protected OperationVesselAssociationDao operationVesselAssociationDao;
@@ -339,7 +361,6 @@
return result;
}
-
@Override
public FishingOperation createFishingOperation(FishingOperation bean) {
Preconditions.checkNotNull(bean);
@@ -410,8 +431,106 @@
if (fishingOperation == null) {
throw new DataRetrievalFailureException("Could not retrieve fishing operation with id=" + fishingOperationId);
}
+
+ // delete accidental batchs
+ accidentalBatchService.deleteAccidentalBatchForFishingOperation(id);
+ getCurrentSession().flush();
+
+ // delete catch batch
+ catchBatchService.deleteCatchBatch(id);
+ getCurrentSession().flush();
+
+ Set<FishingArea> fishingAreas = Sets.newHashSet();
+
+ // remove gear use features
+ if (CollectionUtils.isNotEmpty(fishingOperation.getGearUseFeatures())) {
+ for (GearUseFeatures gearUseFeatures : fishingOperation.getGearUseFeatures()) {
+
+ gearUseFeatures.setOperation(null);
+ gearUseFeatures.getGearUseMeasurements().clear();
+
+ if (CollectionUtils.isNotEmpty(gearUseFeatures.getFishingAreas())) {
+ for (FishingArea fishingArea : gearUseFeatures.getFishingAreas()) {
+ fishingArea.setGearUseFeatures(null);
+ }
+ fishingAreas.addAll(gearUseFeatures.getFishingAreas());
+ }
+ }
+ // must remove all features content before removing them (data integrity will then failed otherwise)
+ getCurrentSession().flush();
+ fishingOperation.getGearUseFeatures().clear();
+ }
+
+ // remove vessel use features
+ if (CollectionUtils.isNotEmpty(fishingOperation.getVesselUseFeatures())) {
+ for (VesselUseFeatures vesselUseFeatures : fishingOperation.getVesselUseFeatures()) {
+
+ vesselUseFeatures.setOperation(null);
+ vesselUseFeatures.getVesselUseMeasurements().clear();
+
+ if (CollectionUtils.isNotEmpty(vesselUseFeatures.getFishingAreas())) {
+ for (FishingArea fishingArea : vesselUseFeatures.getFishingAreas()) {
+ fishingArea.setVesselUseFeatures(null);
+ }
+ fishingAreas.addAll(vesselUseFeatures.getFishingAreas());
+ }
+ }
+
+ // must remove all features content before removing them (data integrity will then failed otherwise)
+ getCurrentSession().flush();
+ fishingOperation.getVesselUseFeatures().clear();
+ }
+
+ // remove vessel position
+ if (CollectionUtils.isNotEmpty(fishingOperation.getVesselPositions())) {
+ fishingOperation.getVesselPositions().clear();
+ }
+
+ // remove vessel person features
+ if (CollectionUtils.isNotEmpty(fishingOperation.getVesselPersonFeatures())) {
+ fishingOperation.getVesselPersonFeatures().clear();
+ }
+
+ // remove gear physical features
+ fishingOperation.setGearPhysicalFeatures(null);
+
+ // remove catch batch
+ fishingOperation.setCatchBatch(null);
+
+ // remove samples
+ if (CollectionUtils.isNotEmpty(fishingOperation.getSamples())) {
+ fishingOperation.getSamples().clear();
+ }
+
+ // remove operation vessel associations
+ if (CollectionUtils.isNotEmpty(fishingOperation.getOperationVesselAssociations())) {
+ fishingOperation.getOperationVesselAssociations().clear();
+ }
+
+ // remove fishing areas
+ if (CollectionUtils.isNotEmpty(fishingAreas)) {
+ for (FishingArea fishingArea : fishingAreas) {
+ fishingArea.setProduce(null);
+ fishingArea2RegulationLocationDao.remove(fishingArea.getRegulationLocation());
+ fishingArea.getRegulationLocation().clear();
+ }
+ getCurrentSession().flush();
+ fishingAreaDao.remove(fishingAreas);
+ }
+
+ getCurrentSession().flush();
+
+ // remove fishing operation produces
+ if (CollectionUtils.isNotEmpty(fishingOperation.getProduces())) {
+ fishingOperation.getProduces().clear();
+ getCurrentSession().flush();
+ }
+
+ // remove fishing operations
fishingOperationDao.remove(fishingOperation);
+ getCurrentSession().flush();
+
attachmentPersistenceService.deleteAllAttachment(
AttachementObjectTypeEnum.OPERATION,
fishingOperationId);
@@ -669,25 +788,19 @@
}
// StationNumber
- if (source.getStationNumber() == null) {
- // Nothing to do : will be removed using the list notChangedVesselUseMeasurements
- } else if (source.getStationNumber() != null) {
+ if (source.getStationNumber() != null) {
VesselUseMeasurement vum = setVesselUseMeasurement(scientificCruise, vesselUseFeatures, enumeration.PMFM_ID_STATION_NUMBER, null, source.getStationNumber(), null);
notChangedVesselUseMeasurements.remove(vum);
}
// OP N°
- if (source.getFishingOperationNumber() == null) {
- // Leave empty in the name buffer
- } else if (source.getFishingOperationNumber() != null) {
+ if (source.getFishingOperationNumber() != null) {
nameBuffer.append(source.getFishingOperationNumber());
}
target.setName(nameBuffer.toString());
// Multirig Aggregation
- if (source.getMultirigAggregation() == null) {
- // Nothing to do : will be removed later, using notChangedGearUseMeasurements
- } else if (source.getMultirigAggregation() != null) {
+ if (source.getMultirigAggregation() != null) {
if (source.getMultirigAggregation().matches("\\d+")) {
int mutlirigNumber = Integer.valueOf(source.getMultirigAggregation());
if (mutlirigNumber > cruiseMultirigCount) {
@@ -726,9 +839,7 @@
}
// Trawl distance
- if (source.getTrawlDistance() == null) {
- // Nothing to do : will be removed later, using notChangedVesselUseMeasurements
- } else if (source.getTrawlDistance() != null) {
+ if (source.getTrawlDistance() != null) {
VesselUseMeasurement vum = setVesselUseMeasurement(scientificCruise, vesselUseFeatures, enumeration.PMFM_ID_TRAWL_DISTANCE, source.getTrawlDistance(), null, null);
notChangedVesselUseMeasurements.remove(vum);
}
@@ -740,9 +851,7 @@
}
// Operation is valid ?
- if (source.getFishingOperationValid() == null) {
- // Nothing to do : will be removed later, using notChangedVesselUseMeasurements
- } else if (source.getFishingOperationValid() != null) {
+ if (source.getFishingOperationValid() != null) {
VesselUseMeasurement vum = setVesselUseMeasurement(scientificCruise, vesselUseFeatures, enumeration.PMFM_ID_HAUL_VALID, null, null, source.getFishingOperationValid() ? enumeration.QUALITATIVE_HAUL_VALID_YES : enumeration.QUALITATIVE_HAUL_VALID_NO);
notChangedVesselUseMeasurements.remove(vum);
}
@@ -875,9 +984,7 @@
// Vessel user features
CaracteristicMap vesselUseCaracteristics = source.getVesselUseFeatures();
- if (vesselUseCaracteristics == null || vesselUseCaracteristics.size() == 0) {
- // Nothing to do : will be removed later, using notChangedVesselUseMeasurements
- } else if (vesselUseCaracteristics != null && vesselUseCaracteristics.size() > 0) {
+ if (MapUtils.isNotEmpty(vesselUseCaracteristics)) {
for (Caracteristic caracteristic : vesselUseCaracteristics.keySet()) {
VesselUseMeasurement vum = setVesselUseMeasurement(scientificCruise, vesselUseFeatures, caracteristic, vesselUseCaracteristics.get(caracteristic));
notChangedVesselUseMeasurements.remove(vum);
@@ -894,9 +1001,9 @@
for (Person person : source.getRecorderPerson()) {
Integer personId = person.getIdAsInt();
vesselPersonFeaturesPersistenceHelper.fillVesselPersonFeatures(vesselPersonFeaturesMap,
- personId,
- target,
- recorderPersonRole);
+ personId,
+ target,
+ recorderPersonRole);
}
}
if (fishingTrip.getVesselPersonFeatures() == null) {
@@ -914,25 +1021,26 @@
// Gear use Caracteristics
CaracteristicMap gearUseCaracteristics = source.getGearUseFeatures();
- if (gearUseCaracteristics == null || gearUseCaracteristics.size() == 0) {
- // Nothing to do : will be removed later, using notChangedGearUseMeasurements
- } else if (gearUseCaracteristics != null && gearUseCaracteristics.size() > 0) {
+ if (MapUtils.isNotEmpty(gearUseCaracteristics)) {
for (Caracteristic caracteristic : gearUseCaracteristics.keySet()) {
- GearUseMeasurement gum = setGearUseMeasurement(scientificCruise, gearUseFeatures, caracteristic, gearUseCaracteristics.get(caracteristic));
+ GearUseMeasurement gum = setGearUseMeasurement(
+ scientificCruise,
+ gearUseFeatures,
+ caracteristic,
+ gearUseCaracteristics.get(caracteristic));
notChangedGearUseMeasurements.remove(gum);
}
}
// Removed not changed measurements (in Vessel & Gear Use Measurement lists)
- if (vesselUseFeatures.getVesselUseMeasurements() != null && notChangedVesselUseMeasurements.size() > 0) {
- for (VesselUseMeasurement vum : notChangedVesselUseMeasurements) {
- vesselUseFeatures.getVesselUseMeasurements().remove(vum);
- }
+ if (vesselUseFeatures.getVesselUseMeasurements() != null &&
+ notChangedVesselUseMeasurements.size() > 0) {
+ vesselUseFeatures.getVesselUseMeasurements().removeAll(notChangedVesselUseMeasurements);
+
}
- if (gearUseFeatures.getGearUseMeasurements() != null && notChangedGearUseMeasurements.size() > 0) {
- for (GearUseMeasurement gum : notChangedGearUseMeasurements) {
- gearUseFeatures.getGearUseMeasurements().remove(gum);
- }
+ if (gearUseFeatures.getGearUseMeasurements() != null &&
+ notChangedGearUseMeasurements.size() > 0) {
+ gearUseFeatures.getGearUseMeasurements().removeAll(notChangedGearUseMeasurements);
}
// ----------------------------------------------------------------
@@ -949,11 +1057,7 @@
}
// Strata :
- if (source.getStrata() == null || source.getStrata().getId() == null) {
-
- // will be removed using notChangedRegulationLocation
-
- } else if (source.getStrata() != null && source.getStrata().getId() != null) {
+ if (source.getStrata() != null && source.getStrata().getId() != null) {
FishingArea2RegulationLocation fa2rl = FishingArea2RegulationLocation.Factory.newInstance();
FishingArea2RegulationLocationPK fa2rlPK = new FishingArea2RegulationLocationPK();
fa2rl.setFishingArea2RegulationLocationPk(fa2rlPK);
@@ -972,11 +1076,7 @@
}
// Sub-Strata :
- if (source.getSubStrata() == null || source.getSubStrata().getId() == null) {
-
- // will be removed using notChangedRegulationLocation
-
- } else if (source.getSubStrata() != null && source.getSubStrata().getId() != null) {
+ if (source.getSubStrata() != null && source.getSubStrata().getId() != null) {
FishingArea2RegulationLocation fa2rl = FishingArea2RegulationLocation.Factory.newInstance();
FishingArea2RegulationLocationPK fa2rlPK = new FishingArea2RegulationLocationPK();
fa2rl.setFishingArea2RegulationLocationPk(fa2rlPK);
@@ -996,11 +1096,7 @@
}
// Localite :
- if (source.getLocation() == null || source.getLocation().getId() == null) {
-
- // will be removed using notChangedRegulationLocation
-
- } else if (source.getLocation() != null && source.getLocation().getId() != null) {
+ if (source.getLocation() != null && source.getLocation().getId() != null) {
FishingArea2RegulationLocation fa2rl = FishingArea2RegulationLocation.Factory.newInstance();
FishingArea2RegulationLocationPK fa2rlPK = new FishingArea2RegulationLocationPK();
fa2rl.setFishingArea2RegulationLocationPk(fa2rlPK);
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/IndividualObservationBatchPersistenceService.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/IndividualObservationBatchPersistenceService.java 2013-05-06 13:01:52 UTC (rev 920)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/IndividualObservationBatchPersistenceService.java 2013-05-06 19:33:55 UTC (rev 921)
@@ -49,4 +49,7 @@
@Transactional(readOnly = false)
void deleteIndividualObservationBatch(String id);
+
+ @Transactional(readOnly = false)
+ void deleteIndividualObservationBatchForFishingOperation(String fishingOperationId);
}
\ No newline at end of file
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/IndividualObservationBatchPersistenceServiceImpl.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/IndividualObservationBatchPersistenceServiceImpl.java 2013-05-06 13:01:52 UTC (rev 920)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/IndividualObservationBatchPersistenceServiceImpl.java 2013-05-06 19:33:55 UTC (rev 921)
@@ -48,6 +48,7 @@
import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
import fr.ifremer.tutti.persistence.entities.referential.Species;
import fr.ifremer.tutti.persistence.service.batch.BatchPersistenceHelper;
+import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.hibernate.type.IntegerType;
@@ -202,6 +203,20 @@
}
}
+ @Override
+ public void deleteIndividualObservationBatchForFishingOperation(String fishingOperationId) {
+ Preconditions.checkNotNull(fishingOperationId);
+
+ List<IndividualObservationBatch> batches =
+ getAllIndividualObservationBatch(fishingOperationId);
+
+ if (CollectionUtils.isNotEmpty(batches)) {
+ for (IndividualObservationBatch batch : batches) {
+ deleteIndividualObservationBatch(batch.getId());
+ }
+ }
+ }
+
// ------------------------------------------------------------------------//
// -- Internal methods --//
// ------------------------------------------------------------------------//
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/batch/BatchPersistenceHelper.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/batch/BatchPersistenceHelper.java 2013-05-06 13:01:52 UTC (rev 920)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/batch/BatchPersistenceHelper.java 2013-05-06 19:33:55 UTC (rev 921)
@@ -31,6 +31,7 @@
import fr.ifremer.adagio.core.dao.data.batch.CatchBatch;
import fr.ifremer.adagio.core.dao.data.batch.CatchBatchExtendDao;
import fr.ifremer.adagio.core.dao.data.batch.SortingBatch;
+import fr.ifremer.adagio.core.dao.data.batch.SortingBatchDao;
import fr.ifremer.adagio.core.dao.data.batch.validator.CatchBatchValidationException;
import fr.ifremer.adagio.core.dao.data.batch.validator.CatchBatchValidator;
import fr.ifremer.adagio.core.dao.data.measure.QuantificationMeasurement;
@@ -39,17 +40,21 @@
import fr.ifremer.adagio.core.dao.referential.pmfm.Pmfm;
import fr.ifremer.tutti.persistence.InvalidBatchModelException;
import fr.ifremer.tutti.persistence.entities.TuttiEntity;
+import fr.ifremer.tutti.persistence.entities.data.AttachementObjectTypeEnum;
import fr.ifremer.tutti.persistence.entities.data.SampleCategoryEnum;
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.service.AbstractPersistenceService;
+import fr.ifremer.tutti.persistence.service.AttachmentPersistenceService;
+import fr.ifremer.tutti.persistence.service.IndividualObservationBatchPersistenceService;
import fr.ifremer.tutti.persistence.service.MeasurementPersistenceHelper;
import fr.ifremer.tutti.persistence.service.ReferentialPersistenceService;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DataIntegrityViolationException;
+import org.springframework.dao.DataRetrievalFailureException;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
@@ -77,9 +82,18 @@
@Resource(name = "referentialPersistenceService")
protected ReferentialPersistenceService referentialService;
+ @Resource(name = "attachmentPersistenceService")
+ protected AttachmentPersistenceService attachmentPersistenceService;
+
+ @Resource(name = "individualObservationBatchPersistenceService")
+ protected IndividualObservationBatchPersistenceService individualObservationBatchPersistenceService;
+
@Resource(name = "catchBatchDao")
protected CatchBatchExtendDao catchBatchDao;
+ @Resource(name = "sortingBatchDao")
+ protected SortingBatchDao sortingBatchDao;
+
@Resource(name = "scientificCruiseCatchBatchValidator")
protected CatchBatchValidator catchBatchValidator;
@@ -104,6 +118,27 @@
return bean;
}
+ public void deleteCatchBatch(String fishingOperationId, Integer catchBatchId) {
+
+ // delete individual observation batchs
+ individualObservationBatchPersistenceService.deleteIndividualObservationBatchForFishingOperation(fishingOperationId);
+
+ getCurrentSession().flush();
+
+ // get all catch batch children ids (to delete attachments)
+ List<Integer> ids = catchBatchDao.getAllChildrenIds(catchBatchId);
+
+ catchBatchDao.remove(catchBatchId);
+
+ getCurrentSession().flush();
+
+ for (Integer id : ids) {
+ attachmentPersistenceService.deleteAllAttachment(
+ AttachementObjectTypeEnum.BATCH,
+ id);
+ }
+ }
+
public <D extends TuttiEntity> D createSortingBatch(D bean, CatchBatch catchBatch, SortingBatch batch) {
batch = catchBatchDao.createSortingBatch(batch, catchBatch);
bean.setId(batch.getId());
@@ -197,6 +232,10 @@
return result;
}
+ public Integer getCatchBatchIdByFishingOperationId(Integer fishingOperationId) throws DataRetrievalFailureException {
+ return catchBatchDao.getIdByFishingOperationId(fishingOperationId);
+ }
+
public fr.ifremer.adagio.core.dao.data.batch.CatchBatch getRootCatchBatchByBatchId(Integer batchId) {
Preconditions.checkNotNull(batchId);
@@ -768,14 +807,9 @@
}
parentBatch.getChildBatchs().add(result);
-// Collection<QuantificationMeasurement> quantificationMeasurements = result.getQuantificationMeasurements();
Collection<SortingMeasurement> sortingMeasurements = result.getSortingMeasurements();
// Create lists to store all updates, then remove not updated items
-// Set<QuantificationMeasurement> notChangedQuantificationMeasurements = Sets.newHashSet();
-// if (quantificationMeasurements != null) {
-// notChangedQuantificationMeasurements.addAll(quantificationMeasurements);
-// }
Set<SortingMeasurement> notChangedSortingMeasurements = Sets.newHashSet();
if (sortingMeasurements != null) {
notChangedSortingMeasurements.addAll(sortingMeasurements);
Modified: trunk/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/DatabaseFixtures.java
===================================================================
--- trunk/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/DatabaseFixtures.java 2013-05-06 13:01:52 UTC (rev 920)
+++ trunk/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/DatabaseFixtures.java 2013-05-06 19:33:55 UTC (rev 921)
@@ -282,16 +282,23 @@
List<Caracteristic> allEnvironmentCaracteristics = referentialService.getAllCaracteristic();
CaracteristicMap environmentCaracteristics = new CaracteristicMap();
CaracteristicMap environmentValuesOneEntry = new CaracteristicMap();
+ int count=0;
for (Caracteristic caracteristic : allEnvironmentCaracteristics) {
+ if (count==3) {
+ break;
+ }
Serializable value = null;
if (caracteristic.getCaracteristicType() == CaracteristicType.NUMBER) {
value = 1.0f;
+ count++;
} else if (caracteristic.getCaracteristicType() == CaracteristicType.TEXT) {
value = "some text";
+ count++;
} else if (caracteristic.getCaracteristicType() == CaracteristicType.QUALITATIVE
&& caracteristic.getQualitativeValue(0) != null) {
// Choose the first qualitative value
value = caracteristic.getQualitativeValue(0);
+ count++;
}
if (value != null) {
environmentCaracteristics.put(caracteristic, value);
@@ -305,16 +312,23 @@
List<Caracteristic> allGearShootingCaracteristics = referentialService.getAllCaracteristic();
CaracteristicMap gearShootingCaracteristics = new CaracteristicMap();
CaracteristicMap gearShootingCaracteristicsOneEntry = new CaracteristicMap();
+ count=0;
for (Caracteristic caracteristic : allGearShootingCaracteristics) {
+ if (count==3) {
+ break;
+ }
Serializable value = null;
if (caracteristic.getCaracteristicType() == CaracteristicType.NUMBER) {
value = 1.0f;
+ count++;
} else if (caracteristic.getCaracteristicType() == CaracteristicType.TEXT) {
value = "some text";
+ count++;
} else if (caracteristic.getCaracteristicType() == CaracteristicType.QUALITATIVE
&& caracteristic.getQualitativeValue(0) != null) {
// Choose the first qualitative value
value = caracteristic.getQualitativeValue(0);
+ count++;
}
if (value != null) {
gearShootingCaracteristics.put(caracteristic, value);
@@ -365,7 +379,7 @@
return result;
}
- public CatchBatch createCatchBatch(FishingOperation fishingOperation) {
+ public CatchBatch createMinimalCatchBatch(FishingOperation fishingOperation) {
setUp();
Modified: trunk/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/AccidentalBatchPersistenceServiceWriteTest.java
===================================================================
--- trunk/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/AccidentalBatchPersistenceServiceWriteTest.java 2013-05-06 13:01:52 UTC (rev 920)
+++ trunk/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/AccidentalBatchPersistenceServiceWriteTest.java 2013-05-06 19:33:55 UTC (rev 921)
@@ -153,7 +153,7 @@
}
@Test
- public void deleteAccidentalBatch(/*String id*/) {
+ public void deleteAccidentalBatch(/*String fishingOperationId*/) {
AccidentalBatch createdAccidentalBatch =
dbResource.getFixtures().createMinimalAccidentalBatch(
@@ -168,6 +168,24 @@
Assert.assertTrue(CollectionUtils.isEmpty(allAccidentalBatch2));
}
+ @Test
+ public void deleteAccidentalBatchForFishingOperation(/*String id*/) {
+
+ dbResource.getFixtures().createMinimalAccidentalBatch(
+ fishingOperation);
+
+ dbResource.getFixtures().createMinimalAccidentalBatch(
+ fishingOperation);
+
+ List<AccidentalBatch> allAccidentalBatch = service.getAllAccidentalBatch(fishingOperation.getId());
+ Assert.assertFalse(CollectionUtils.isEmpty(allAccidentalBatch));
+
+ service.deleteAccidentalBatchForFishingOperation(fishingOperation.getId());
+
+ List<AccidentalBatch> allAccidentalBatch2 = service.getAllAccidentalBatch(fishingOperation.getId());
+ Assert.assertTrue(CollectionUtils.isEmpty(allAccidentalBatch2));
+ }
+
protected void assertEqualsAccidentalBatch(AccidentalBatch expected,
AccidentalBatch actual) {
Assert.assertEquals(expected, actual);
Modified: trunk/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/CatchBatchPersistenceServiceWriteTest.java
===================================================================
--- trunk/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/CatchBatchPersistenceServiceWriteTest.java 2013-05-06 13:01:52 UTC (rev 920)
+++ trunk/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/CatchBatchPersistenceServiceWriteTest.java 2013-05-06 19:33:55 UTC (rev 921)
@@ -30,21 +30,16 @@
import fr.ifremer.tutti.persistence.entities.data.CatchBatch;
import fr.ifremer.tutti.persistence.entities.data.Cruise;
import fr.ifremer.tutti.persistence.entities.data.FishingOperation;
+import org.apache.commons.collections.CollectionUtils;
import org.junit.Assert;
import org.junit.Before;
import org.junit.ClassRule;
-import org.junit.Ignore;
import org.junit.Test;
+import org.springframework.dao.DataRetrievalFailureException;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.GregorianCalendar;
-import java.util.List;
-
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
/**
* To test {@link CatchBatchPersistenceService} for write operation.
@@ -52,7 +47,6 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 1.0
*/
-@Ignore
public class CatchBatchPersistenceServiceWriteTest {
@ClassRule
@@ -66,6 +60,8 @@
protected FishingOperationPersistenceService fishingOperationService;
+ protected IndividualObservationBatchPersistenceService individualObservationBatchPersistenceService;
+
protected ReferentialPersistenceService referentialService;
/*
@@ -73,7 +69,7 @@
* */
protected Cruise cruise;
- protected FishingOperation fishingOperationNoCatchBatch;
+ protected FishingOperation fishingOperation;
@Before
public void setUp() throws Exception {
@@ -81,39 +77,10 @@
cruiseService = TuttiPersistenceServiceLocator.getCruisePersistenceService();
fishingOperationService = TuttiPersistenceServiceLocator.getFishingOperationPersistenceService();
referentialService = TuttiPersistenceServiceLocator.getReferentialPersistenceService();
+ individualObservationBatchPersistenceService = TuttiPersistenceServiceLocator.getIndividualObservationBatchPersistenceService();
cruise = dbResource.getFixtures().createCruise();
-// cruiseService.getCruise(dbResource.getFixtures().cruiseId());
-// cruise.setId((String) null);
- Calendar calendar = new GregorianCalendar();
-// cruise.setBeginDate(calendar.getTime());
-// calendar.add(Calendar.MONTH, 1); // add one month
-// cruise.setEndDate(calendar.getTime());
-// List<TuttiLocation> allHarbour = referentialService.getAllHarbour();
-// Assert.assertNotNull(allHarbour);
-// Assert.assertTrue(allHarbour.size() > 1);
-// cruise.setDepartureLocation(allHarbour.get(0));
-// cruise.setReturnLocation(allHarbour.get(1));
-//
-// cruise = cruiseService.createCruise(cruise);
-
- // Create a first operation, with no cacth batch : to test CatchBatch insert/update :
- List<FishingOperation> fishingOperations = fishingOperationService.getAllFishingOperation(dbResource.getFixtures().cruiseId());
- assertNotNull(fishingOperations);
- assertTrue(fishingOperations.size() > 0);
- fishingOperationNoCatchBatch = fishingOperations.get(0);
- fishingOperationNoCatchBatch = fishingOperationService.getFishingOperation(fishingOperationNoCatchBatch.getId());
- fishingOperationNoCatchBatch.setId((String) null);
- fishingOperationNoCatchBatch.setCruise(cruise);
- calendar.setTime(new Date());
- calendar.set(Calendar.HOUR_OF_DAY, 1);
- calendar.set(Calendar.MILLISECOND, 0);
- fishingOperationNoCatchBatch.setGearShootingStartDate(calendar.getTime());
- calendar.setTime(new Date());
- calendar.set(Calendar.HOUR_OF_DAY, 10);
- calendar.set(Calendar.MILLISECOND, 0);
- fishingOperationNoCatchBatch.setGearShootingEndDate(calendar.getTime());
- fishingOperationNoCatchBatch = fishingOperationService.createFishingOperation(fishingOperationNoCatchBatch);
+ fishingOperation = dbResource.getFixtures().createFishingOperation(cruise);
}
@Test
@@ -121,14 +88,14 @@
CatchBatch catchBatch;
catchBatch = TuttiBeanFactory.newCatchBatch();
- catchBatch.setFishingOperation(fishingOperationNoCatchBatch);
+ catchBatch.setFishingOperation(fishingOperation);
// -----------------------------------------------------------------------------
// 1. Test with only mandatory properties
// -----------------------------------------------------------------------------
// Create and reload (test round trip)
- assertCreateAndReloadCatchBatch(catchBatch, fishingOperationNoCatchBatch.getId());
+ assertCreateAndReloadCatchBatch(catchBatch, fishingOperation.getId());
// -----------------------------------------------------------------------------
// 2. Test with all properties
@@ -166,7 +133,7 @@
catchBatch.setCatchTotalRejectedWeight(15f);
// Create and reload (test round trip)
- assertCreateAndReloadCatchBatch(catchBatch, fishingOperationNoCatchBatch.getId());
+ assertCreateAndReloadCatchBatch(catchBatch, fishingOperation.getId());
// -----------------------------------------------------------------------------
// 2. Test save after modification
@@ -176,9 +143,65 @@
catchBatch.setSpeciesTotalSortedWeight(null);
catchBatch.setBenthosTotalSortedWeight(null);
- assertSaveAndReloadCatchBatch(catchBatch, fishingOperationNoCatchBatch.getId());
+ assertSaveAndReloadCatchBatch(catchBatch, fishingOperation.getId());
}
+ @Test
+ public void deleteCatchBatch(/*String fishingOperationId*/) {
+
+ CatchBatch catchBatch = dbResource.getFixtures().createMinimalCatchBatch(fishingOperation);
+
+ // total weight : 100kg
+ catchBatch.setCatchTotalWeight(75f);
+ // Vrac :
+ // note : poids trie par la balance tremis (thalassa) (init par pupitri)
+ catchBatch.setCatchTotalSortedTremisWeight(50f);
+ // note : poids vrac caroussel (thalassa) (init par pupitri) (vrac trie) ou bien "poids trié fournie par la
+ // table de tri (Sum(Si))
+ catchBatch.setCatchTotalSortedCarousselWeight(45f);
+
+ // Species
+ catchBatch.setSpeciesTotalSortedWeight(12f);
+ catchBatch.setSpeciesTotalLivingNotItemizedWeight(0.2f);
+ catchBatch.setSpeciesTotalInertWeight(0.1f);
+
+ // Benthos
+ catchBatch.setBenthosTotalSortedWeight(24f);
+ catchBatch.setBenthosTotalLivingNotItemizedWeight(0.4f);
+ catchBatch.setBenthosTotalInertWeight(0.2f);
+
+ // Hors-Vrac :
+ // MarineLitter
+ catchBatch.setMarineLitterTotalWeight(100f);
+
+ // Rejet : 15kg
+ catchBatch.setCatchTotalRejectedWeight(15f);
+ service.saveCatchBatch(catchBatch);
+
+ dbResource.getFixtures().createMinimalIndividualObservationBatch(fishingOperation);
+
+ String fishingOperationId = fishingOperation.getId();
+
+ Assert.assertNotNull(service.getCatchBatchFromFishingOperation(fishingOperationId));
+ Assert.assertFalse(CollectionUtils.isEmpty(individualObservationBatchPersistenceService.getAllIndividualObservationBatch(fishingOperationId)));
+ service.deleteCatchBatch(fishingOperationId);
+
+ try {
+ service.getCatchBatchFromFishingOperation(fishingOperationId);
+ Assert.fail();
+ } catch (DataRetrievalFailureException e) {
+ // feel good, no catch batch associated with fishing operation
+ }
+
+ try {
+ individualObservationBatchPersistenceService.getAllIndividualObservationBatch(fishingOperationId);
+ Assert.fail();
+ } catch (DataRetrievalFailureException e) {
+ // feel good, no catch batch associated with fishing operation
+ }
+
+ }
+
protected void assertCreateAndReloadCatchBatch(CatchBatch catchBatch, String fishingOperationId) {
CatchBatch createdCatchBatch = service.createCatchBatch(catchBatch);
assertNotNull(createdCatchBatch);
Modified: trunk/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceServiceWriteTest.java
===================================================================
--- trunk/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceServiceWriteTest.java 2013-05-06 13:01:52 UTC (rev 920)
+++ trunk/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceServiceWriteTest.java 2013-05-06 19:33:55 UTC (rev 921)
@@ -24,7 +24,6 @@
* #L%
*/
-import com.google.common.collect.Lists;
import fr.ifremer.tutti.persistence.DatabaseResource;
import fr.ifremer.tutti.persistence.entities.CaracteristicMap;
import fr.ifremer.tutti.persistence.entities.TuttiBeanFactory;
@@ -35,12 +34,16 @@
import fr.ifremer.tutti.persistence.entities.referential.Gear;
import fr.ifremer.tutti.persistence.entities.referential.TuttiLocation;
import fr.ifremer.tutti.persistence.entities.referential.Vessel;
+import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.junit.Assert;
import org.junit.Before;
import org.junit.ClassRule;
import org.junit.Ignore;
import org.junit.Test;
import org.springframework.dao.DataIntegrityViolationException;
+import org.springframework.dao.DataRetrievalFailureException;
import java.io.Serializable;
import java.util.Calendar;
@@ -60,20 +63,25 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 1.0
*/
-@Ignore
public class FishingOperationPersistenceServiceWriteTest {
@ClassRule
public static final DatabaseResource dbResource = DatabaseResource.writeDb();
+ /** Logger. */
+ private static final Log log =
+ LogFactory.getLog(FishingOperationPersistenceServiceWriteTest.class);
+
protected FishingOperationPersistenceService service;
- protected ReferentialPersistenceService referentialService;
+ protected CatchBatchPersistenceService catchBatchPersistenceService;
- protected ProgramPersistenceService programService;
+ protected AccidentalBatchPersistenceService accidentalBatchPersistenceService;
- protected CruisePersistenceService cruiseService;
+ protected IndividualObservationBatchPersistenceService individualObservationBatchPersistenceService;
+ protected ReferentialPersistenceService referentialService;
+
protected Cruise cruise = null;
protected Gear cruiseGear = null;
@@ -83,37 +91,15 @@
@Before
public void setUp() throws Exception {
service = TuttiPersistenceServiceLocator.getFishingOperationPersistenceService();
- cruiseService = TuttiPersistenceServiceLocator.getCruisePersistenceService();
referentialService = TuttiPersistenceServiceLocator.getReferentialPersistenceService();
- programService = TuttiPersistenceServiceLocator.getProgramPersistenceService();
+ catchBatchPersistenceService = TuttiPersistenceServiceLocator.getCatchBatchPersistenceService();
+ accidentalBatchPersistenceService = TuttiPersistenceServiceLocator.getAccidentalBatchPersistenceService();
+ individualObservationBatchPersistenceService = TuttiPersistenceServiceLocator.getIndividualObservationBatchPersistenceService();
- // Duplicate an existing cruise, to attach new fishing operations
- cruise = cruiseService.getCruise(dbResource.getFixtures().cruiseId());
- cruise.setId((String) null);
- cruise.setName("Unit-test-" + System.currentTimeMillis());
- Calendar calendar = new GregorianCalendar();
- cruise.setBeginDate(calendar.getTime());
+ cruise = dbResource.getFixtures().createCruise();
+ Assert.assertFalse(cruise.getGear().isEmpty());
+ cruiseGear = cruise.getGear().get(0);
- calendar.add(Calendar.MONTH, 1); // add one month
- cruise.setEndDate(calendar.getTime());
- cruise.setMultirigNumber(2);
- List<TuttiLocation> allHarbour = referentialService.getAllHarbour();
- Assert.assertNotNull(allHarbour);
- Assert.assertTrue(allHarbour.size() > 1);
- cruise.setDepartureLocation(allHarbour.get(0));
- cruise.setReturnLocation(allHarbour.get(1));
-
- // Keep only one gear in the cruise : (need for case n°4)
- List<Gear> cruiseGears = cruise.getGear();
- assertNotNull(cruiseGears);
- assertTrue(cruiseGears.size() > 0);
- cruiseGear = cruiseGears.get(0);
- assertNotNull(cruiseGear.getId());
- cruise.setGear(Lists.newArrayList(cruiseGear));
-
- cruise = cruiseService.createCruise(cruise);
- assertNotNull(cruise.getId());
-
// Find a vessel, different from the cruise vessel
notCruiseVessel = referentialService.getVessel(dbResource.getFixtures().fishingVesselCode());
assertNotNull(notCruiseVessel.getId());
@@ -174,7 +160,6 @@
}
}
-
// Create new fishing operation :
FishingOperation fishingOperation = TuttiBeanFactory.newFishingOperation();
@@ -324,7 +309,7 @@
fishingOperation.setId((String) null);
// Find and set a gear not used in the cruise
- List<Gear> gears = referentialService.getAllFishingGear();
+ List<Gear> gears = referentialService.getAllScientificGear();
assertNotNull(gears);
assertTrue(gears.size() > 0);
for (Gear gear : gears) {
@@ -395,5 +380,41 @@
}
+ @Test
+ public void deleteFishingOperation(/*String id*/) {
+ FishingOperation fishingOperation = dbResource.getFixtures().createFishingOperation(cruise);
+
+ dbResource.getFixtures().createMinimalCatchBatch(fishingOperation);
+ dbResource.getFixtures().createMinimalAccidentalBatch(fishingOperation);
+ dbResource.getFixtures().createMinimalIndividualObservationBatch(fishingOperation);
+
+ String fishingOperationId = fishingOperation.getId();
+ Assert.assertFalse(CollectionUtils.isEmpty(service.getAllFishingOperation(cruise.getId())));
+ Assert.assertNotNull(catchBatchPersistenceService.getCatchBatchFromFishingOperation(fishingOperationId));
+ Assert.assertFalse(CollectionUtils.isEmpty(accidentalBatchPersistenceService.getAllAccidentalBatch(fishingOperationId)));
+ Assert.assertFalse(CollectionUtils.isEmpty(individualObservationBatchPersistenceService.getAllIndividualObservationBatch(fishingOperationId)));
+
+ if (log.isInfoEnabled()) {
+ log.info("\n\n\nWill delete fishing operation: " + fishingOperationId);
+ }
+
+ service.deleteFishingOperation(fishingOperationId);
+
+ Assert.assertTrue(CollectionUtils.isEmpty(service.getAllFishingOperation(cruise.getId())));
+ try {
+ catchBatchPersistenceService.getCatchBatchFromFishingOperation(fishingOperationId);
+ Assert.fail();
+ } catch (DataRetrievalFailureException e) {
+ // feel good, no catch batch associated with fishing operation
+ }
+ try {
+ individualObservationBatchPersistenceService.getAllIndividualObservationBatch(fishingOperationId);
+ Assert.fail();
+ } catch (DataRetrievalFailureException e) {
+ // feel good, no catch batch associated with fishing operation
+ }
+ Assert.assertTrue(CollectionUtils.isEmpty(accidentalBatchPersistenceService.getAllAccidentalBatch(fishingOperationId)));
+ }
+
}
Modified: trunk/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/IndividualObservationBatchPersistenceServiceWriteTest.java
===================================================================
--- trunk/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/IndividualObservationBatchPersistenceServiceWriteTest.java 2013-05-06 13:01:52 UTC (rev 920)
+++ trunk/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/IndividualObservationBatchPersistenceServiceWriteTest.java 2013-05-06 19:33:55 UTC (rev 921)
@@ -63,7 +63,7 @@
service = TuttiPersistenceServiceLocator.getIndividualObservationBatchPersistenceService();
Cruise cruise = dbResource.getFixtures().createCruise();
fishingOperation = dbResource.getFixtures().createFishingOperation(cruise);
- dbResource.getFixtures().createCatchBatch(fishingOperation);
+ dbResource.getFixtures().createMinimalCatchBatch(fishingOperation);
}
@@ -170,6 +170,24 @@
Assert.assertTrue(CollectionUtils.isEmpty(allIndividualObservationBatch2));
}
+ @Test
+ public void deleteIndividualObservationBatchForFishingOperation(/*String fishingOperationId*/) {
+
+ dbResource.getFixtures().createMinimalIndividualObservationBatch(
+ fishingOperation);
+
+ dbResource.getFixtures().createMinimalIndividualObservationBatch(
+ fishingOperation);
+
+ List<IndividualObservationBatch> allIndividualObservationBatch = service.getAllIndividualObservationBatch(fishingOperation.getId());
+ Assert.assertFalse(CollectionUtils.isEmpty(allIndividualObservationBatch));
+
+ service.deleteIndividualObservationBatchForFishingOperation(fishingOperation.getId());
+
+ List<IndividualObservationBatch> allIndividualObservationBatch2 = service.getAllIndividualObservationBatch(fishingOperation.getId());
+ Assert.assertTrue(CollectionUtils.isEmpty(allIndividualObservationBatch2));
+ }
+
protected void assertEqualsIndividualObservationBatch(IndividualObservationBatch expected,
IndividualObservationBatch actual) {
Assert.assertEquals(expected, actual);
Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java 2013-05-06 13:01:52 UTC (rev 920)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java 2013-05-06 19:33:55 UTC (rev 921)
@@ -31,7 +31,6 @@
import fr.ifremer.tutti.persistence.TuttiPersistence;
import fr.ifremer.tutti.persistence.TuttiPersistenceNoDbImpl;
import fr.ifremer.tutti.persistence.config.TuttiPersistenceConfig;
-import fr.ifremer.tutti.persistence.entities.CaracteristicMap;
import fr.ifremer.tutti.persistence.entities.data.AccidentalBatch;
import fr.ifremer.tutti.persistence.entities.data.AttachementObjectTypeEnum;
import fr.ifremer.tutti.persistence.entities.data.Attachment;
@@ -231,7 +230,7 @@
FileObject fileObject = TuttiIOUtil.resolveFile("zip:" + file.getAbsolutePath(),
_("tutti.service.persistence.getArchive.error", file));
- FileObject[] children = TuttiIOUtil.getChildren(fileObject, _("tutti.service.persistence.openArchive.error", file));
+ FileObject[] children = TuttiIOUtil.getChildren(fileObject, _("tutti.service.persistence.openArchive.error", file));
fileObject = children[0];
@@ -679,6 +678,11 @@
return driver.saveFishingOperation(bean);
}
+ @Override
+ public void deleteFishingOperation(String id) {
+ driver.deleteFishingOperation(id);
+ }
+
//------------------------------------------------------------------------//
//-- CatchBatch methods --//
//------------------------------------------------------------------------//
Modified: trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-en.properties
===================================================================
--- trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-en.properties 2013-05-06 13:01:52 UTC (rev 920)
+++ trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-en.properties 2013-05-06 19:33:55 UTC (rev 921)
@@ -1,5 +1,5 @@
#Generated by org.nuiton.jaxx.plugin.GenerateHelpIdsMojo
-#Tue Apr 30 17:57:05 CEST 2013
+#Mon May 06 16:32:40 CEST 2013
tutti.config.help=config.html
tutti.createAccidentalBatch.action.cancel.help=createAccidentalBatch.html\#actions
tutti.createAccidentalBatch.action.save.help=createAccidentalBatch.html\#actions
@@ -223,6 +223,7 @@
tutti.editSpeciesFrequencies.field.simpleCounting.help=editSpeciesFrequencies.html\#fields
tutti.editSpeciesFrequencies.field.step.help=editSpeciesFrequencies.html\#fields
tutti.editSpeciesFrequencies.help=editSpeciesFrequencies.html
+tutti.fishingOperations.action.deleteFishingOperation.help=
tutti.fishingOperations.action.newFishingOperation.help=fishingOperations.html\#actions
tutti.fishingOperations.field.fishingOperation.help=fishingOperations.html\#fields
tutti.fishingOperations.help=fishingOperations.html
Modified: trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties
===================================================================
--- trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties 2013-05-06 13:01:52 UTC (rev 920)
+++ trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties 2013-05-06 19:33:55 UTC (rev 921)
@@ -1,5 +1,5 @@
#Generated by org.nuiton.jaxx.plugin.GenerateHelpIdsMojo
-#Tue Apr 30 17:57:05 CEST 2013
+#Mon May 06 16:32:40 CEST 2013
tutti.config.help=config.html
tutti.createAccidentalBatch.action.cancel.help=createAccidentalBatch.html\#actions
tutti.createAccidentalBatch.action.save.help=createAccidentalBatch.html\#actions
@@ -223,6 +223,7 @@
tutti.editSpeciesFrequencies.field.simpleCounting.help=editSpeciesFrequencies.html\#fields
tutti.editSpeciesFrequencies.field.step.help=editSpeciesFrequencies.html\#fields
tutti.editSpeciesFrequencies.help=editSpeciesFrequencies.html
+tutti.fishingOperations.action.deleteFishingOperation.help=
tutti.fishingOperations.action.newFishingOperation.help=fishingOperations.html\#actions
tutti.fishingOperations.field.fishingOperation.help=fishingOperations.html\#fields
tutti.fishingOperations.help=fishingOperations.html
Added: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/DeleteFishingOperationAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/DeleteFishingOperationAction.java (rev 0)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/DeleteFishingOperationAction.java 2013-05-06 19:33:55 UTC (rev 921)
@@ -0,0 +1,74 @@
+package fr.ifremer.tutti.ui.swing.content.operation;
+
+import fr.ifremer.tutti.persistence.entities.TuttiEntities;
+import fr.ifremer.tutti.persistence.entities.data.FishingOperation;
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
+import fr.ifremer.tutti.ui.swing.util.action.TuttiActionHelper;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import static org.nuiton.i18n.I18n._;
+
+/**
+ * To delete a fishing operation.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 2.2
+ */
+public class DeleteFishingOperationAction extends AbstractTuttiAction<FishingOperationsUIModel, FishingOperationsUI, FishingOperationsUIHandler> {
+
+ /** Logger. */
+ private static final Log log =
+ LogFactory.getLog(EditFishingOperationAction.class);
+
+ /**
+ * Delegate edit action.
+ *
+ * @since 1.0
+ */
+ protected EditFishingOperationAction editAction;
+
+ public DeleteFishingOperationAction(FishingOperationsUIHandler handler) {
+ super(handler, true);
+ setActionDescription(_("tutti.editFishingOperation.action.editFishingOperation.tip"));
+ }
+
+ public EditFishingOperationAction getEditAction() {
+ if (editAction == null) {
+ editAction = TuttiActionHelper.createLogicAction(
+ getHandler(),
+ EditFishingOperationAction.class);
+ }
+ return editAction;
+ }
+
+ @Override
+ protected boolean prepareAction() {
+
+ FishingOperation fishingOperation = getModel().getSelectedFishingOperation();
+ boolean canContinue = fishingOperation != null &&
+ !TuttiEntities.isNew(fishingOperation);
+ return canContinue;
+ }
+
+ @Override
+ protected void doAction() throws Exception {
+
+ FishingOperation fishingOperation =
+ getModel().getSelectedFishingOperation();
+
+ if (log.isInfoEnabled()) {
+ log.info("Try to delete fishingOperation: " + fishingOperation);
+ }
+
+ getContext().getPersistenceService().deleteFishingOperation(fishingOperation.getId());
+
+ }
+
+ @Override
+ public void postSuccessAction() {
+ super.postSuccessAction();
+ getEditAction().setFishingOperation(null);
+ runAction(getEditAction());
+ }
+}
\ No newline at end of file
Property changes on: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/DeleteFishingOperationAction.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUI.css 2013-05-06 13:01:52 UTC (rev 920)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUI.css 2013-05-06 19:33:55 UTC (rev 921)
@@ -40,6 +40,15 @@
_help: {"tutti.fishingOperations.action.newFishingOperation.help"};
}
+#deleteFishingOperationButton {
+ actionIcon: delete;
+ enabled:{model.getSelectedFishingOperation() != null};
+ toolTipText: "tutti.fishingOperations.action.deleteFishingOperation.tip";
+ i18nMnemonic: "tutti.fishingOperations.action.deleteFishingOperation.mnemonic";
+ _tuttiAction: {DeleteFishingOperationAction.class};
+ _help: {"tutti.fishingOperations.action.deleteFishingOperation.help"};
+}
+
#fishingOperationComboBox {
property: selectedFishingOperation;
selectedItem: {model.getSelectedFishingOperation()};
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUI.jaxx 2013-05-06 13:01:52 UTC (rev 920)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUI.jaxx 2013-05-06 19:33:55 UTC (rev 921)
@@ -35,6 +35,8 @@
jaxx.runtime.swing.editor.bean.BeanFilterableComboBox
+ java.awt.GridLayout
+
static org.nuiton.i18n.I18n._
</import>
@@ -70,7 +72,10 @@
genericType='FishingOperation'/>
</cell>
<cell anchor='east'>
- <JButton id='newFishingOperationButton'/>
+ <JPanel layout="{new GridLayout()}">
+ <JButton id='newFishingOperationButton'/>
+ <JButton id='deleteFishingOperationButton'/>
+ </JPanel>
</cell>
</row>
<row>
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIModel.java 2013-05-06 13:01:52 UTC (rev 920)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIModel.java 2013-05-06 19:33:55 UTC (rev 921)
@@ -80,7 +80,7 @@
protected FishingOperation selectedFishingOperation;
/**
- * Current editied fishing operation.
+ * Current edited fishing operation.
*
* @since 1.0
*/
Modified: trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties
===================================================================
--- trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties 2013-05-06 13:01:52 UTC (rev 920)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties 2013-05-06 19:33:55 UTC (rev 921)
@@ -863,6 +863,8 @@
tutti.exportDb.reloadApplication=
tutti.exportProgram.action.success=
tutti.exportProtocol.action.success=
+tutti.fishingOperations.action.deleteFishingOperation.mnemonic=
+tutti.fishingOperations.action.deleteFishingOperation.tip=
tutti.fishingOperations.action.newFishingOperation.mnemonic=
tutti.fishingOperations.action.newFishingOperation.tip=
tutti.fishingOperations.info.no.fishingOperation.selected=
Modified: trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties
===================================================================
--- trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-05-06 13:01:52 UTC (rev 920)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-05-06 19:33:55 UTC (rev 921)
@@ -832,6 +832,8 @@
tutti.exportDb.reloadApplication=Redémarrage de l'application
tutti.exportProgram.action.success=La série de campagne <strong>%s</strong> a été exportée dans le fichier <strong>%s</strong>.
tutti.exportProtocol.action.success=Protocole [%1s] exporté dans le fichier <strong>%2s</strong>.
+tutti.fishingOperations.action.deleteFishingOperation.mnemonic=S
+tutti.fishingOperations.action.deleteFishingOperation.tip=Supprimer l'opération de pêche sélectionnée
tutti.fishingOperations.action.newFishingOperation.mnemonic=N
tutti.fishingOperations.action.newFishingOperation.tip=Créer une nouvelle opération de pêche
tutti.fishingOperations.info.no.fishingOperation.selected=< Aucun trait sélectionné >
1
0
06 May '13
Jenkins build is back to normal : tutti » Tutti :: Service #753
by admin+hudson@codelutin.com 06 May '13
by admin+hudson@codelutin.com 06 May '13
06 May '13
Jenkins build is back to normal : tutti » Tutti :: Persistence #753
by admin+hudson@codelutin.com 06 May '13
by admin+hudson@codelutin.com 06 May '13
06 May '13
06 May '13
r920 - in trunk/tutti-service/src/main: java/fr/ifremer/tutti/service resources/i18n
by kmorin@users.forge.codelutin.com 06 May '13
by kmorin@users.forge.codelutin.com 06 May '13
06 May '13
Author: kmorin
Date: 2013-05-06 15:01:52 +0200 (Mon, 06 May 2013)
New Revision: 920
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/920
Log:
fixes #2397 [AIDE] pr?\195?\169ciser le type de tri possible sur les traits
Modified:
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/DecoratorService.java
trunk/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties
trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties
Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/DecoratorService.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/DecoratorService.java 2013-05-06 07:25:47 UTC (rev 919)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/DecoratorService.java 2013-05-06 13:01:52 UTC (rev 920)
@@ -143,6 +143,8 @@
n_("tutti.property.lastName");
n_("tutti.property.department");
n_("tutti.property.stationNumber");
+ n_("tutti.property.fishingOperationNumber");
+ n_("tutti.property.gearShootingStartDate");
n_("tutti.property.internationalRegistrationCode");
n_("tutti.property.date");
n_("tutti.property.program");
Modified: trunk/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties
===================================================================
--- trunk/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties 2013-05-06 07:25:47 UTC (rev 919)
+++ trunk/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties 2013-05-06 13:01:52 UTC (rev 920)
@@ -20,8 +20,10 @@
tutti.property.firstName=
tutti.property.fishingOperation=
tutti.property.fishingOperationLocation=
+tutti.property.fishingOperationNumber=
tutti.property.fractionName=
tutti.property.gear=
+tutti.property.gearShootingStartDate=
tutti.property.genusSpecies=
tutti.property.internationalRegistrationCode=
tutti.property.label=
Modified: trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties
===================================================================
--- trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties 2013-05-06 07:25:47 UTC (rev 919)
+++ trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties 2013-05-06 13:01:52 UTC (rev 920)
@@ -18,8 +18,10 @@
tutti.property.firstName=Prénom
tutti.property.fishingOperation=Trait
tutti.property.fishingOperationLocation=Lieu
+tutti.property.fishingOperationNumber=Numéro de trait
tutti.property.fractionName=Fraction
tutti.property.gear=Engin
+tutti.property.gearShootingStartDate=Date de début de traîne
tutti.property.genusSpecies=Nom scientifique
tutti.property.internationalRegistrationCode=Immatriculation internationale (ou nationale si non trouvée)
tutti.property.label=Code
1
0
r919 - trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service
by tchemit@users.forge.codelutin.com 06 May '13
by tchemit@users.forge.codelutin.com 06 May '13
06 May '13
Author: tchemit
Date: 2013-05-06 09:25:47 +0200 (Mon, 06 May 2013)
New Revision: 919
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/919
Log:
improve bessel person api
Modified:
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceImpl.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceServiceImpl.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/VesselPersonFeaturesPersistenceHelper.java
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceImpl.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceImpl.java 2013-05-06 07:12:10 UTC (rev 918)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceImpl.java 2013-05-06 07:25:47 UTC (rev 919)
@@ -390,7 +390,7 @@
// Create or update a geaPhysicalFeatures for each gears in the cruise
for (Gear gear : source.getGear()) {
- GearPhysicalFeatures guf = gearPhysicalFeaturesDao.getGearPhysicalfeatures(fishingTrip, Integer.valueOf(gear.getId()), true);
+ GearPhysicalFeatures guf = gearPhysicalFeaturesDao.getGearPhysicalfeatures(fishingTrip, gear.getIdAsInt(), true);
notChangedGearPhysicalFeatures.remove(guf);
guf.setStartDate(fishingTrip.getDepartureDateTime());
@@ -432,24 +432,25 @@
if (CollectionUtils.isNotEmpty(source.getHeadOfSortRoom())) {
for (Person person : source.getHeadOfSortRoom()) {
Integer personId = person.getIdAsInt();
- fillVesselPersonFeatures(vesselPersonFeaturesMap,
- personId,
- fishingTrip,
- sortRoomManagerRole);
+ vesselPersonFeaturesPersistenceHelper.fillVesselPersonFeatures(
+ vesselPersonFeaturesMap,
+ personId,
+ fishingTrip,
+ sortRoomManagerRole);
}
}
- // Managers
+ // Head of Mission Managers
List<Person> persons = source.getHeadOfMission();
target.setManagerPerson(load(PersonImpl.class, persons.get(0).getIdAsInt()));
for (int i = 1; i < persons.size(); i++) {
Integer personId = persons.get(i).getIdAsInt();
-
- fillVesselPersonFeatures(vesselPersonFeaturesMap,
- personId,
- fishingTrip,
- scientificCruiseManagerRole);
+ vesselPersonFeaturesPersistenceHelper.fillVesselPersonFeatures(
+ vesselPersonFeaturesMap,
+ personId,
+ fishingTrip,
+ scientificCruiseManagerRole);
}
if (fishingTrip.getVesselPersonFeatures() == null) {
@@ -459,26 +460,6 @@
fishingTrip.getVesselPersonFeatures().addAll(vesselPersonFeaturesMap.values());
}
- public void fillVesselPersonFeatures(Map<Integer, VesselPersonFeatures> vesselPersonFeaturesPerPerson,
- Integer personId,
- FishingTrip fishingTrip,
- VesselPersonRole role) {
-
- VesselPersonFeatures vesselPersonFeatures =
- vesselPersonFeaturesPerPerson.get(personId);
- if (vesselPersonFeatures == null) {
- vesselPersonFeatures = VesselPersonFeatures.Factory.newInstance();
- vesselPersonFeaturesPerPerson.put(personId, vesselPersonFeatures);
- }
-
- PersonImpl person = load(PersonImpl.class, personId);
- vesselPersonFeaturesPersistenceHelper.fillVesselPersonFeatures(
- vesselPersonFeatures,
- fishingTrip,
- person,
- role);
- }
-
public Gear getGearWithCaracteristics(Gear gear, Cruise cruise) {
Preconditions.checkNotNull(cruise);
Preconditions.checkNotNull(cruise.getId(), "Cruise 'id' must not be null or empty");
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceServiceImpl.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceServiceImpl.java 2013-05-06 07:12:10 UTC (rev 918)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceServiceImpl.java 2013-05-06 07:25:47 UTC (rev 919)
@@ -404,9 +404,17 @@
public void deleteFishingOperation(String id) {
Preconditions.checkNotNull(id);
+ Integer fishingOperationId = Integer.valueOf(id);
+
+ fr.ifremer.adagio.core.dao.data.operation.FishingOperation fishingOperation = fishingOperationDao.load(fishingOperationId);
+ if (fishingOperation == null) {
+ throw new DataRetrievalFailureException("Could not retrieve fishing operation with id=" + fishingOperationId);
+ }
+ fishingOperationDao.remove(fishingOperation);
+
attachmentPersistenceService.deleteAllAttachment(
AttachementObjectTypeEnum.OPERATION,
- Integer.valueOf(id));
+ fishingOperationId);
}
//------------------------------------------------------------------------//
@@ -885,7 +893,7 @@
if (CollectionUtils.isNotEmpty(source.getRecorderPerson())) {
for (Person person : source.getRecorderPerson()) {
Integer personId = person.getIdAsInt();
- fillVesselPersonFeatures(vesselPersonFeaturesMap,
+ vesselPersonFeaturesPersistenceHelper.fillVesselPersonFeatures(vesselPersonFeaturesMap,
personId,
target,
recorderPersonRole);
@@ -1257,25 +1265,4 @@
target.getOperationVesselAssociations().clear();
}
}
-
- public void fillVesselPersonFeatures(Map<Integer, VesselPersonFeatures> vesselPersonFeaturesPerPerson,
- Integer personId,
- fr.ifremer.adagio.core.dao.data.operation.FishingOperation fishingOperation,
- VesselPersonRole role) {
-
- boolean create = false;
- VesselPersonFeatures vesselPersonFeatures =
- vesselPersonFeaturesPerPerson.get(personId);
- if (vesselPersonFeatures == null) {
- vesselPersonFeatures = VesselPersonFeatures.Factory.newInstance();
- vesselPersonFeaturesPerPerson.put(personId, vesselPersonFeatures);
- }
-
- PersonImpl person = load(PersonImpl.class, personId);
- vesselPersonFeaturesPersistenceHelper.fillVesselPersonFeatures(
- vesselPersonFeatures,
- fishingOperation,
- person,
- role);
- }
}
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/VesselPersonFeaturesPersistenceHelper.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/VesselPersonFeaturesPersistenceHelper.java 2013-05-06 07:12:10 UTC (rev 918)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/VesselPersonFeaturesPersistenceHelper.java 2013-05-06 07:25:47 UTC (rev 919)
@@ -33,6 +33,7 @@
import org.springframework.stereotype.Component;
import java.util.Date;
+import java.util.Map;
/**
* Helper around {@link VesselPersonFeatures}.
@@ -58,10 +59,19 @@
return load(VesselPersonRoleImpl.class, enumeration.VESSEL_PERSON_ROLE_ID_RECORDER_PERSON);
}
- public void fillVesselPersonFeatures(VesselPersonFeatures vesselPersonFeatures,
+ public void fillVesselPersonFeatures(Map<Integer, VesselPersonFeatures> vesselPersonFeaturesPerPerson,
+ Integer personId,
FishingTrip fishingTrip,
- PersonImpl person,
VesselPersonRole role) {
+
+ VesselPersonFeatures vesselPersonFeatures =
+ vesselPersonFeaturesPerPerson.get(personId);
+ if (vesselPersonFeatures == null) {
+ vesselPersonFeatures = VesselPersonFeatures.Factory.newInstance();
+ vesselPersonFeaturesPerPerson.put(personId, vesselPersonFeatures);
+ }
+
+ PersonImpl person = load(PersonImpl.class, personId);
vesselPersonFeatures.setFishingTrip(fishingTrip);
vesselPersonFeatures.setPerson(person);
vesselPersonFeatures.getVesselPersonRoles().add(role);
@@ -76,10 +86,20 @@
vesselPersonFeatures.setRankOrder((short) 1);
}
- public void fillVesselPersonFeatures(VesselPersonFeatures vesselPersonFeatures,
+ public void fillVesselPersonFeatures(Map<Integer, VesselPersonFeatures> vesselPersonFeaturesPerPerson,
+ Integer personId,
FishingOperation fishingOperation,
- PersonImpl person,
VesselPersonRole role) {
+
+ VesselPersonFeatures vesselPersonFeatures =
+ vesselPersonFeaturesPerPerson.get(personId);
+ if (vesselPersonFeatures == null) {
+ vesselPersonFeatures = VesselPersonFeatures.Factory.newInstance();
+ vesselPersonFeaturesPerPerson.put(personId, vesselPersonFeatures);
+ }
+
+ PersonImpl person = load(PersonImpl.class, personId);
+
vesselPersonFeatures.setOperation(fishingOperation);
vesselPersonFeatures.setPerson(person);
vesselPersonFeatures.getVesselPersonRoles().add(role);
1
0
r918 - trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service
by tchemit@users.forge.codelutin.com 06 May '13
by tchemit@users.forge.codelutin.com 06 May '13
06 May '13
Author: tchemit
Date: 2013-05-06 09:12:10 +0200 (Mon, 06 May 2013)
New Revision: 918
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/918
Log:
attach individual batches to the catch batch
Modified:
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/IndividualObservationBatchPersistenceServiceImpl.java
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/IndividualObservationBatchPersistenceServiceImpl.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/IndividualObservationBatchPersistenceServiceImpl.java 2013-05-03 15:49:20 UTC (rev 917)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/IndividualObservationBatchPersistenceServiceImpl.java 2013-05-06 07:12:10 UTC (rev 918)
@@ -29,8 +29,8 @@
import fr.ifremer.adagio.core.dao.administration.programStrategy.Program;
import fr.ifremer.adagio.core.dao.administration.user.DepartmentImpl;
import fr.ifremer.adagio.core.dao.administration.user.PersonImpl;
+import fr.ifremer.adagio.core.dao.data.batch.Batch;
import fr.ifremer.adagio.core.dao.data.batch.CatchBatch;
-import fr.ifremer.adagio.core.dao.data.batch.SortingBatch;
import fr.ifremer.adagio.core.dao.data.operation.FishingOperationImpl;
import fr.ifremer.adagio.core.dao.data.sample.Sample;
import fr.ifremer.adagio.core.dao.data.sample.SampleDao;
@@ -93,13 +93,13 @@
Integer operationId = Integer.valueOf(fishingOperationId);
- // Get Vrac / Species Batch
- SortingBatch vracSpeciesBatch = getBatch(operationId);
+ // Get catch Batch
+ Batch catchBatch = getBatch(operationId);
Iterator<Object[]> list = queryList(
"allFishingOperationSamplesWithBatch",
"fishingOperationId", IntegerType.INSTANCE, operationId,
- "batchId", IntegerType.INSTANCE, vracSpeciesBatch.getId()
+ "batchId", IntegerType.INSTANCE, catchBatch.getId()
);
List<IndividualObservationBatch> result = Lists.newArrayList();
@@ -146,12 +146,11 @@
Preconditions.checkNotNull(fishingOperation);
Preconditions.checkState(!TuttiEntities.isNew(fishingOperation));
- // Get Vrac / Species Batch
- SortingBatch vracSpeciesBatch = getBatch(
- fishingOperation.getIdAsInt());
+ // Get catch Batch
+ Batch catchBatch = getBatch(fishingOperation.getIdAsInt());
Sample sample = Sample.Factory.newInstance();
- beanToEntity(bean, sample, vracSpeciesBatch);
+ beanToEntity(bean, sample, catchBatch);
sampleDao.create(sample);
bean.setId(String.valueOf(sample.getId()));
return bean;
@@ -169,15 +168,15 @@
Preconditions.checkNotNull(fishingOperation);
Preconditions.checkState(!TuttiEntities.isNew(fishingOperation));
- // Get Vrac / Species Batch
- SortingBatch vracSpeciesBatch = getBatch(fishingOperation.getIdAsInt());
+ // Get catch Batch
+ Batch catchBatch = getBatch(fishingOperation.getIdAsInt());
Sample sample = sampleDao.load(bean.getIdAsInt());
if (sample == null) {
throw new DataRetrievalFailureException(
"Could not retrieve sample id: " + bean.getId());
}
- beanToEntity(bean, sample, vracSpeciesBatch);
+ beanToEntity(bean, sample, catchBatch);
sampleDao.update(sample);
return bean;
}
@@ -207,7 +206,9 @@
// -- Internal methods --//
// ------------------------------------------------------------------------//
- protected void beanToEntity(IndividualObservationBatch source, Sample target, SortingBatch vracSpeciesBatch) {
+ protected void beanToEntity(IndividualObservationBatch source,
+ Sample target,
+ Batch vracSpeciesBatch) {
if (TuttiEntities.isNew(source)) {
@@ -317,21 +318,21 @@
}
- protected SortingBatch getBatch(Integer operationId) {
+ protected Batch getBatch(Integer operationId) {
Preconditions.checkNotNull(operationId);
CatchBatch catchBatch = batchHelper.getRootCatchBatchByFishingOperationId(operationId.toString(), false);
-
- // Vrac / Species
- SortingBatch vracSpeciesBatch = batchHelper.getSortingBatch(
- catchBatch,
- "Vrac > Species > Alive Itemized",
- enumeration.PMFM_ID_SORTED_UNSORTED, enumeration.QUALITATIVE_VRAC_ID,
- enumeration.PMFM_ID_SORTING_TYPE, enumeration.QUALITATIVE_ID_SORTING_TYPE_SPECIES,
- enumeration.PMFM_ID_SORTING_TYPE_2, enumeration.QUALITATIVE_ID_SORTING_TYPE_2_ALIVE_ITEMIZED
- );
- Preconditions.checkNotNull(vracSpeciesBatch);
- return vracSpeciesBatch;
+ return catchBatch;
+// // Vrac / Species
+// SortingBatch vracSpeciesBatch = batchHelper.getSortingBatch(
+// catchBatch,
+// "Vrac > Species > Alive Itemized",
+// enumeration.PMFM_ID_SORTED_UNSORTED, enumeration.QUALITATIVE_VRAC_ID,
+// enumeration.PMFM_ID_SORTING_TYPE, enumeration.QUALITATIVE_ID_SORTING_TYPE_SPECIES,
+// enumeration.PMFM_ID_SORTING_TYPE_2, enumeration.QUALITATIVE_ID_SORTING_TYPE_2_ALIVE_ITEMIZED
+// );
+// Preconditions.checkNotNull(vracSpeciesBatch);
+// return vracSpeciesBatch;
}
protected void fillSampleMeasurements(IndividualObservationBatch batch) {
1
0