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
January 2013
- 4 participants
- 143 discussions
r187 - in trunk/tutti-ui-swing/src/main: java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos java/fr/ifremer/tutti/ui/swing/content/operation/catches/species java/fr/ifremer/tutti/ui/swing/util/editor resources/i18n
by tchemit@users.forge.codelutin.com 14 Jan '13
by tchemit@users.forge.codelutin.com 14 Jan '13
14 Jan '13
Author: tchemit
Date: 2013-01-14 10:50:27 +0100 (Mon, 14 Jan 2013)
New Revision: 187
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/187
Log:
remove some columns + optimize import
Modified:
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchTableModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/CaracteristicValueEditor.java
trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java 2013-01-14 09:39:05 UTC (rev 186)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java 2013-01-14 09:50:27 UTC (rev 187)
@@ -34,7 +34,6 @@
import fr.ifremer.tutti.ui.swing.TuttiUI;
import fr.ifremer.tutti.ui.swing.content.operation.AbstractTuttiBatchTableUIHandler;
import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUIModel;
-import fr.ifremer.tutti.ui.swing.content.operation.fishing.environment.EnvironmentRowModel;
import fr.ifremer.tutti.ui.swing.util.TuttiBeanMonitor;
import fr.ifremer.tutti.ui.swing.util.editor.AttachmentCellComponent;
import fr.ifremer.tutti.ui.swing.util.editor.LongTextCellComponent;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchTableModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchTableModel.java 2013-01-14 09:39:05 UTC (rev 186)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchTableModel.java 2013-01-14 09:50:27 UTC (rev 187)
@@ -129,10 +129,10 @@
n_("tutti.table.species.batch.header.weight"),
n_("tutti.table.species.batch.header.weight"));
- public static final ColumnIdentifier<SpeciesBatchRowModel> COMPUTED_WEIGHT = ColumnIdentifier.newId(
- SpeciesBatchRowModel.PROPERTY_COMPUTED_WEIGHT,
- n_("tutti.table.species.batch.header.computedWeight"),
- n_("tutti.table.species.batch.header.computedWeight"));
+// public static final ColumnIdentifier<SpeciesBatchRowModel> COMPUTED_WEIGHT = ColumnIdentifier.newId(
+// SpeciesBatchRowModel.PROPERTY_COMPUTED_WEIGHT,
+// n_("tutti.table.species.batch.header.computedWeight"),
+// n_("tutti.table.species.batch.header.computedWeight"));
public static final ColumnIdentifier<SpeciesBatchRowModel> COMPUTED_NUMBER = ColumnIdentifier.newId(
SpeciesBatchRowModel.PROPERTY_COMPUTED_NUMBER,
@@ -188,7 +188,7 @@
frequencyCols = Sets.newHashSet();
frequencyCols.add(COMPUTED_NUMBER);
- frequencyCols.add(COMPUTED_WEIGHT);
+// frequencyCols.add(COMPUTED_WEIGHT);
sampleCols = Sets.newHashSet();
sampleCols.add(SORTED_UNSORTED_CATEGORY);
@@ -220,16 +220,16 @@
super.setValueAt(aValue, rowIndex, columnIndex, propertyName, entry);
}
- if (propertyName == COMPUTED_NUMBER) {
-
- // update also other columns
- fireTableCellUpdated(rowIndex, COMPUTED_WEIGHT);
-
- } else if (propertyName == COMPUTED_WEIGHT) {
-
- // update also other columns
- fireTableCellUpdated(rowIndex, COMPUTED_NUMBER);
- }
+// if (propertyName == COMPUTED_NUMBER) {
+//
+// // update also other columns
+// fireTableCellUpdated(rowIndex, COMPUTED_WEIGHT);
+//
+// } else if (propertyName == COMPUTED_WEIGHT) {
+//
+// // update also other columns
+// fireTableCellUpdated(rowIndex, COMPUTED_NUMBER);
+// }
}
public void updateSamplingRatio(Set<SpeciesBatchRowModel> rows) {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java 2013-01-14 09:39:05 UTC (rev 186)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java 2013-01-14 09:50:27 UTC (rev 187)
@@ -385,19 +385,10 @@
protocolSpecy.getSpeciesId());
allSpecies.add(species);
speciesSampleCategories.put(species, SampleCategoryType.sortedUnsorted);
-
- if (protocolSpecy.isSizeEnabled()) {
- speciesSampleCategories.put(species, SampleCategoryType.size);
- }
- if (protocolSpecy.isSexEnabled()) {
- speciesSampleCategories.put(species, SampleCategoryType.sex);
- }
- if (protocolSpecy.isMaturityEnabled()) {
- speciesSampleCategories.put(species, SampleCategoryType.maturity);
- }
- if (protocolSpecy.isAgeEnabled()) {
- speciesSampleCategories.put(species, SampleCategoryType.age);
- }
+ speciesSampleCategories.put(species, SampleCategoryType.size);
+ speciesSampleCategories.put(species, SampleCategoryType.sex);
+ speciesSampleCategories.put(species, SampleCategoryType.maturity);
+ speciesSampleCategories.put(species, SampleCategoryType.age);
}
} else {
@@ -433,6 +424,7 @@
JXTable table = getTable();
+ table.setColumnControlVisible(true);
// create table column model
TableCellRenderer defaultRenderer =
table.getDefaultRenderer(Object.class);
@@ -498,16 +490,16 @@
TuttiUI.DECIMAL3_PATTERN);
}
- { // Computed weight column (from frequencies)
+// { // Computed weight column (from frequencies)
+//
+// addColumnToModel(columnModel,
+// FrequencyCellComponent.newEditor(ui),
+// FrequencyCellComponent.newRender(),
+// SpeciesBatchTableModel.COMPUTED_WEIGHT);
+// }
- addColumnToModel(columnModel,
- FrequencyCellComponent.newEditor(ui),
- FrequencyCellComponent.newRender(),
- SpeciesBatchTableModel.COMPUTED_WEIGHT);
- }
+ { // Number column (from frequencies)
- { // Computed number column (from frequencies)
-
addColumnToModel(columnModel,
FrequencyCellComponent.newEditor(ui),
FrequencyCellComponent.newRender(),
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/CaracteristicValueEditor.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/CaracteristicValueEditor.java 2013-01-14 09:39:05 UTC (rev 186)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/CaracteristicValueEditor.java 2013-01-14 09:50:27 UTC (rev 187)
@@ -46,8 +46,6 @@
import java.awt.Color;
import java.awt.Component;
import java.util.List;
-import javax.swing.event.CellEditorListener;
-import javax.swing.event.ChangeEvent;
/**
* Editor for the values of the caracteristics of the fishing operations.
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-01-14 09:39:05 UTC (rev 186)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-01-14 09:50:27 UTC (rev 187)
@@ -232,7 +232,7 @@
tutti.table.protocol.species.header.speciesId=Espèce
tutti.table.species.batch.header.ageCategory=Age
tutti.table.species.batch.header.comment=Commentaire
-tutti.table.species.batch.header.computedNumber=Nombre calculé
+tutti.table.species.batch.header.computedNumber=Nombre
tutti.table.species.batch.header.computedWeight=Poids calculé
tutti.table.species.batch.header.file=Pièces jointes
tutti.table.species.batch.header.maturityCategory=Maturité
@@ -240,10 +240,9 @@
tutti.table.species.batch.header.sexCategory=Sexe
tutti.table.species.batch.header.sizeCategory=Class. Tri
tutti.table.species.batch.header.sortedUnsortedCategory=V/HV
-tutti.table.species.batch.header.species=
-tutti.table.species.batch.header.speciesCategory=Espèce
+tutti.table.species.batch.header.species=Espèce
tutti.table.species.batch.header.toConfirm=A Confirmer
-tutti.table.species.batch.header.weight=Poids
+tutti.table.species.batch.header.weight=Poids sous-échantillonné
tutti.table.species.frequency.header.computedWeight=Poids calculé
tutti.table.species.frequency.header.lengthStep=Classe de taille
tutti.table.species.frequency.header.number=Nombre
1
0
r186 - trunk/tutti-persistence-dev/src/main/java/fr/ifremer/tutti/persistence
by tchemit@users.forge.codelutin.com 14 Jan '13
by tchemit@users.forge.codelutin.com 14 Jan '13
14 Jan '13
Author: tchemit
Date: 2013-01-14 10:39:05 +0100 (Mon, 14 Jan 2013)
New Revision: 186
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/186
Log:
remove not used file key
Modified:
trunk/tutti-persistence-dev/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceDevImpl.java
Modified: trunk/tutti-persistence-dev/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceDevImpl.java
===================================================================
--- trunk/tutti-persistence-dev/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceDevImpl.java 2013-01-14 09:05:07 UTC (rev 185)
+++ trunk/tutti-persistence-dev/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceDevImpl.java 2013-01-14 09:39:05 UTC (rev 186)
@@ -105,7 +105,6 @@
"fr.ifremer.tutti.persistence.entities.referential.FishingOperationLocation#Strata",
"fr.ifremer.tutti.persistence.entities.referential.FishingOperationLocation#SubStrata",
"fr.ifremer.tutti.persistence.entities.referential.FishingOperationLocation#Localite",
- "fr.ifremer.tutti.persistence.entities.referential.FishingOperationLocation",
"fr.ifremer.tutti.persistence.entities.referential.Gear#Scientific",
"fr.ifremer.tutti.persistence.entities.referential.Gear#Fishing",
"fr.ifremer.tutti.persistence.entities.referential.Person",
1
0
r185 - in trunk/tutti-persistence-adagio/src: main/java/fr/ifremer/tutti/persistence/service main/resources test/java/fr/ifremer/tutti/persistence/service
by tchemit@users.forge.codelutin.com 14 Jan '13
by tchemit@users.forge.codelutin.com 14 Jan '13
14 Jan '13
Author: tchemit
Date: 2013-01-14 10:05:07 +0100 (Mon, 14 Jan 2013)
New Revision: 185
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/185
Log:
refs #1807: [Persistence] Adagio r?\195?\169f?\195?\169rentiel (fix fishingLocation requests)
Modified:
trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java
trunk/tutti-persistence-adagio/src/main/resources/queries-override.hbm.xml
trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceTest.java
Modified: trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java
===================================================================
--- trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java 2013-01-13 14:58:21 UTC (rev 184)
+++ trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java 2013-01-14 09:05:07 UTC (rev 185)
@@ -337,7 +337,7 @@
public List<FishingOperationLocation> getAllFishingOperationStrata(String zoneId) {
Iterator<Object[]> sources = queryListWithStatus(
"allFishingOperationStratas",
- "locationLevel", IntegerType.INSTANCE, enumeration.LOCATION_LEVEL_ID_STRATA);
+ "locationLevelId", IntegerType.INSTANCE, enumeration.LOCATION_LEVEL_ID_STRATA);
List<FishingOperationLocation> result = Lists.newArrayList();
while (sources.hasNext()) {
Object[] source = sources.next();
@@ -351,7 +351,7 @@
public List<FishingOperationLocation> getAllFishingOperationSubStrata(String locationId) {
Iterator<Object[]> sources = queryListWithStatus(
"allFishingOperationSubStratas",
- "locationLevel", IntegerType.INSTANCE, enumeration.LOCATION_LEVEL_ID_SUB_STRATA);
+ "locationLevelId", IntegerType.INSTANCE, enumeration.LOCATION_LEVEL_ID_SUB_STRATA);
List<FishingOperationLocation> result = Lists.newArrayList();
while (sources.hasNext()) {
Object[] source = sources.next();
@@ -365,7 +365,7 @@
public List<FishingOperationLocation> getAllFishingOperationLocation(String locationId) {
Iterator<Object[]> sources = queryListWithStatus(
"allFishingOperationLocalites",
- "locationLevel", IntegerType.INSTANCE, enumeration.LOCATION_LEVEL_ID_LOCALITE);
+ "locationLevelId", IntegerType.INSTANCE, enumeration.LOCATION_LEVEL_ID_LOCALITE);
List<FishingOperationLocation> result = Lists.newArrayList();
while (sources.hasNext()) {
Object[] source = sources.next();
@@ -490,10 +490,10 @@
target.setId(String.valueOf(source[0]));
target.setName((String)source[1]);
target.setLabel((String)source[2]);
- target.setDescription((String)source[3]);
- target.setLocationLevel((Integer)source[4]);
+// target.setDescription((String)source[3]);
+ target.setLocationLevel((Integer)source[3]);
- setStatus((fr.ifremer.adagio.core.dao.referential.Status) source[5], target);
+ setStatus((fr.ifremer.adagio.core.dao.referential.Status) source[4], target);
return target;
}
Modified: trunk/tutti-persistence-adagio/src/main/resources/queries-override.hbm.xml
===================================================================
--- trunk/tutti-persistence-adagio/src/main/resources/queries-override.hbm.xml 2013-01-13 14:58:21 UTC (rev 184)
+++ trunk/tutti-persistence-adagio/src/main/resources/queries-override.hbm.xml 2013-01-14 09:05:07 UTC (rev 185)
@@ -442,7 +442,7 @@
l.status.code IN (:statusValidCode, :statusTemporaryCode)
AND l.locationLevel.id = :locationLevelId
]]>
- <query-param name="locationLevel" type="java.lang.Integer"/>
+ <query-param name="locationLevelId" type="java.lang.Integer"/>
<query-param name="statusValidCode" type="java.lang.String"/>
<query-param name="statusTemporaryCode" type="java.lang.String"/>
</query>
@@ -461,6 +461,7 @@
l.status.code IN (:statusValidCode, :statusTemporaryCode)
AND l.locationLevel.id = :locationLevelId
]]>
+ <query-param name="locationLevelId" type="java.lang.Integer"/>
<query-param name="statusValidCode" type="java.lang.String"/>
<query-param name="statusTemporaryCode" type="java.lang.String"/>
</query>
@@ -479,6 +480,7 @@
l.status.code IN (:statusValidCode, :statusTemporaryCode)
AND l.locationLevel.id = :locationLevelId
]]>
+ <query-param name="locationLevelId" type="java.lang.Integer"/>
<query-param name="statusValidCode" type="java.lang.String"/>
<query-param name="statusTemporaryCode" type="java.lang.String"/>
</query>
Modified: trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceTest.java
===================================================================
--- trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceTest.java 2013-01-13 14:58:21 UTC (rev 184)
+++ trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceTest.java 2013-01-14 09:05:07 UTC (rev 185)
@@ -32,6 +32,7 @@
import fr.ifremer.tutti.persistence.entities.TuttiEntities;
import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
import fr.ifremer.tutti.persistence.entities.referential.Country;
+import fr.ifremer.tutti.persistence.entities.referential.FishingOperationLocation;
import fr.ifremer.tutti.persistence.entities.referential.Gear;
import fr.ifremer.tutti.persistence.entities.referential.Person;
import fr.ifremer.tutti.persistence.entities.referential.Species;
@@ -215,14 +216,32 @@
@Test
public void getAllFishingOperationStrata(/*String zoneId*/) {
+ List<FishingOperationLocation> result =
+ service.getAllFishingOperationStrata(null);
+ Assert.assertNotNull(result);
+ Assert.assertEquals(596, result.size());
+ persistList(FishingOperationLocation.class, "Strata", result);
+ assertSize(result, storage.getAllFishingOperationStrata(null));
}
@Test
public void getAllFishingOperationSubStrata(/*String locationId*/) {
+ List<FishingOperationLocation> result =
+ service.getAllFishingOperationSubStrata(null);
+ Assert.assertNotNull(result);
+ Assert.assertEquals(0, result.size());
+ persistList(FishingOperationLocation.class, "SubStrata", result);
+ assertSize(result, storage.getAllFishingOperationSubStrata(null));
}
@Test
public void getAllFishingOperationLocation(/*String locationId*/) {
+ List<FishingOperationLocation> result =
+ service.getAllFishingOperationLocation(null);
+ Assert.assertNotNull(result);
+ Assert.assertEquals(322, result.size());
+ persistList(FishingOperationLocation.class, "Localite", result);
+ assertSize(result, storage.getAllFishingOperationLocation(null));
}
@Test
1
0
13 Jan '13
Author: tchemit
Date: 2013-01-13 15:58:21 +0100 (Sun, 13 Jan 2013)
New Revision: 184
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/184
Log:
refs #1807: [Persistence] Adagio r?\195?\169f?\195?\169rentiel (usage in dev storage)
fixes #1911: [CAMPAGNE] - Gestion des campagnes (filtrage des navires)
updates to nuiton-utils 2.6.6
fix some little NPE
fix validation
Added:
trunk/tutti-persistence-dev/src/main/java/fr/ifremer/tutti/persistence/service/
trunk/tutti-persistence-dev/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceDevImpl.java
Modified:
trunk/pom.xml
trunk/tutti-persistence-adagio/pom.xml
trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java
trunk/tutti-persistence-adagio/src/main/resources/tutti-db-enumerations.properties
trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceTest.java
trunk/tutti-persistence-adagio/src/test/resources/log4j.properties
trunk/tutti-persistence-adagio/src/test/resources/tutti-test.properties
trunk/tutti-persistence-dev/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceDevFixtures.java
trunk/tutti-persistence-dev/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceDevImpl.java
trunk/tutti-persistence-dev/src/test/java/fr/ifremer/tutti/persistence/TuttiPersistenceDevImplTest.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/AbstractTuttiEntity.java
trunk/tutti-ui-swing/src/license/THIRD-PARTY.properties
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel.java
trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel-edit-error-validation.xml
trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel-validate-error-validation.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2013-01-12 18:02:10 UTC (rev 183)
+++ trunk/pom.xml 2013-01-13 14:58:21 UTC (rev 184)
@@ -122,7 +122,7 @@
<!-- libraries version -->
- <nuitonUtilsVersion>2.7-SNAPSHOT</nuitonUtilsVersion>
+ <nuitonUtilsVersion>2.6.6</nuitonUtilsVersion>
<nuitonI18nVersion>2.5</nuitonI18nVersion>
<eugenePluginVersion>2.6.1</eugenePluginVersion>
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/AbstractTuttiEntity.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/AbstractTuttiEntity.java 2013-01-12 18:02:10 UTC (rev 183)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/AbstractTuttiEntity.java 2013-01-13 14:58:21 UTC (rev 184)
@@ -24,6 +24,7 @@
* #L%
*/
+import org.apache.commons.lang3.ObjectUtils;
import org.nuiton.util.CollectionUtil;
import java.io.Serializable;
@@ -62,7 +63,16 @@
@Override
public boolean equals(Object o) {
- if (this == o) return true;
+ if (this == o) {
+ return true;
+ }
+ if (o == null) {
+ return false;
+ }
+ if (ObjectUtils.notEqual(o.getClass(), getClass())) {
+ // not sale class
+ return false;
+ }
if (!(o instanceof AbstractTuttiEntity)) return false;
AbstractTuttiEntity that = (AbstractTuttiEntity) o;
@@ -75,4 +85,9 @@
public int hashCode() {
return id != null ? id.hashCode() : 0;
}
+
+ @Override
+ public String toString() {
+ return super.toString() + ": " + id;
+ }
}
\ No newline at end of file
Modified: trunk/tutti-persistence-adagio/pom.xml
===================================================================
--- trunk/tutti-persistence-adagio/pom.xml 2013-01-12 18:02:10 UTC (rev 183)
+++ trunk/tutti-persistence-adagio/pom.xml 2013-01-13 14:58:21 UTC (rev 184)
@@ -47,6 +47,12 @@
</dependency>
<dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>tutti-persistence-dev</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
<groupId>fr.ifremer.adagio</groupId>
<artifactId>adagio-core</artifactId>
<classifier>allegro</classifier>
Modified: trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java
===================================================================
--- trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java 2013-01-12 18:02:10 UTC (rev 183)
+++ trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java 2013-01-13 14:58:21 UTC (rev 184)
@@ -98,7 +98,7 @@
while (list.hasNext()) {
Object[] source = list.next();
Zone target = new Zone();
- target.setId((String) source[0]);
+ target.setId(String.valueOf(source[0]));
target.setName((String) source[1]);
target.setDescription((String) source[2]);
setStatus((fr.ifremer.adagio.core.dao.referential.Status) source[3], target);
@@ -488,10 +488,10 @@
protected FishingOperationLocation loadFishingOperationLocation(Object[] source) {
FishingOperationLocation target = new FishingOperationLocation();
target.setId(String.valueOf(source[0]));
- target.setName(String.valueOf(source[1]));
- target.setLabel(String.valueOf(source[2]));
- target.setDescription(String.valueOf(source[3]));
- target.setLocationLevel(Integer.valueOf(source[4].toString()));
+ target.setName((String)source[1]);
+ target.setLabel((String)source[2]);
+ target.setDescription((String)source[3]);
+ target.setLocationLevel((Integer)source[4]);
setStatus((fr.ifremer.adagio.core.dao.referential.Status) source[5], target);
return target;
@@ -519,8 +519,8 @@
protected Gear loadGear(Object[] source) {
Gear result = new Gear();
result.setId(String.valueOf(source[0]));
- result.setName(String.valueOf(source[1]));
- result.setLabel(String.valueOf(source[2]));
+ result.setName((String)source[1]);
+ result.setLabel((String)source[2]);
setStatus((fr.ifremer.adagio.core.dao.referential.Status) source[3], result);
return result;
}
Modified: trunk/tutti-persistence-adagio/src/main/resources/tutti-db-enumerations.properties
===================================================================
--- trunk/tutti-persistence-adagio/src/main/resources/tutti-db-enumerations.properties 2013-01-12 18:02:10 UTC (rev 183)
+++ trunk/tutti-persistence-adagio/src/main/resources/tutti-db-enumerations.properties 2013-01-13 14:58:21 UTC (rev 184)
@@ -300,13 +300,13 @@
# 10/01/2012 BLA Need to retrieve a Location from a given position (Lat/Long)
LocationLevelId.RECTANGLE_STATISTIQUE_MED=145
-# Ajoute pour Tutti
+# Ajout pour Tutti
LocationLevelId.LOCALITE=22
LocationLevelId.STRATA=23
#TODO Creer la bonne valeur
LocationLevelId.SUBSTRATA=-23
#TODO Mettre la bonne valeur
-LocationLevelId.PROGRAM=111
+LocationLevelId.PROGRAM=21
MethodId.DECLARATION=1
@@ -316,8 +316,6 @@
ParameterGroupId.ENVIRONEMENT_MEASUREMENT=3
#TODO Mettre la bonne valeur
ParameterGroupId.HYDROLOGIC_MEASUREMENT=3
-#TODO A creer
-ParameterGroupId.LENGTH=3
PmfmId.SEX=196
PmfmId.SIZE_CATEGORY=198
Modified: trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceTest.java
===================================================================
--- trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceTest.java 2013-01-12 18:02:10 UTC (rev 183)
+++ trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceTest.java 2013-01-13 14:58:21 UTC (rev 184)
@@ -24,7 +24,12 @@
* #L%
*/
+import com.google.common.base.Preconditions;
import fr.ifremer.tutti.persistence.DatabaseResource;
+import fr.ifremer.tutti.persistence.TuttiPersistenceDevImpl;
+import fr.ifremer.tutti.persistence.config.TuttiPersistenceDevConfig;
+import fr.ifremer.tutti.persistence.entities.IdAware;
+import fr.ifremer.tutti.persistence.entities.TuttiEntities;
import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
import fr.ifremer.tutti.persistence.entities.referential.Country;
import fr.ifremer.tutti.persistence.entities.referential.Gear;
@@ -32,12 +37,18 @@
import fr.ifremer.tutti.persistence.entities.referential.Species;
import fr.ifremer.tutti.persistence.entities.referential.Vessel;
import fr.ifremer.tutti.persistence.entities.referential.Zone;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.junit.AfterClass;
import org.junit.Assert;
import org.junit.Before;
+import org.junit.BeforeClass;
import org.junit.ClassRule;
import org.junit.Ignore;
import org.junit.Test;
+import org.nuiton.util.ApplicationConfig;
+import java.io.IOException;
import java.util.List;
/**
@@ -51,8 +62,55 @@
@ClassRule
public static final DatabaseResource dbResource = new DatabaseResource();
+ /** Logger. */
+ private static final Log log =
+ LogFactory.getLog(ReferentialPersistenceServiceTest.class);
+
+ protected static TuttiPersistenceDevImpl storage;
+
protected ReferentialPersistenceService service;
+ @BeforeClass
+ public static void beforeClass() throws IOException {
+
+ // create a storage
+
+ ApplicationConfig applicationConfig = dbResource.getConfig().getConfig();
+
+ TuttiPersistenceDevConfig devDriverConfig =
+ new TuttiPersistenceDevConfig(applicationConfig);
+
+ applicationConfig.setOption(TuttiPersistenceDevImpl.SKIP_FIXTURES_OPTION, Boolean.TRUE.toString());
+
+ storage = new TuttiPersistenceDevImpl(devDriverConfig) {
+
+ @Override
+ public <B extends IdAware> B create(String type,
+ B bean,
+ boolean sychronize) {
+ Preconditions.checkNotNull(bean, "Can't persist a null bean");
+ B result = TuttiEntities.newEntity(bean);
+ result.setId(bean.getId());
+ if (log.isDebugEnabled()) {
+ log.debug("Will persist [" + type + ":" + bean.getId() + "]");
+ }
+ super.persist(type, bean, result, sychronize);
+ return result;
+ }
+ };
+
+ if (log.isInfoEnabled()) {
+ log.info("Will open persistence driver " + storage.getImplementationName());
+ }
+
+ storage.open();
+ }
+
+ @AfterClass
+ public static void afterClass() throws IOException {
+ storage.close();
+ }
+
@Before
public void setUp() throws Exception {
service = TuttiPersistenceServiceLocator.getReferentialPersistenceService();
@@ -62,7 +120,10 @@
public void getAllProgramZone() {
List<Zone> result = service.getAllProgramZone();
Assert.assertNotNull(result);
- Assert.assertEquals(0, result.size());
+ Assert.assertEquals(240, result.size());
+
+ persistList(Zone.class, result);
+ assertSize(result, storage.getAllProgramZone());
}
@Test
@@ -70,6 +131,8 @@
List<Country> result = service.getAllCountry();
Assert.assertNotNull(result);
Assert.assertEquals(240, result.size());
+ persistList(Country.class, result);
+ assertSize(result, storage.getAllCountry());
}
@Test
@@ -77,6 +140,8 @@
List<Vessel> result = service.getAllScientificVessel();
Assert.assertNotNull(result);
Assert.assertEquals(1, result.size());
+ persistList(Vessel.class, "Scientific", result);
+ assertSize(result, storage.getAllScientificVessel());
}
//FIXME : requete trop longue (index manquant, trop de jointures?)
@@ -86,6 +151,8 @@
List<Vessel> result = service.getAllFishingVessel();
Assert.assertNotNull(result);
Assert.assertEquals(187, result.size());
+ persistList(Vessel.class, "Fishing", result);
+ assertSize(result, storage.getAllFishingVessel());
}
@Test
@@ -93,6 +160,8 @@
List<Gear> result = service.getAllScientificGear();
Assert.assertNotNull(result);
Assert.assertEquals(2, result.size());
+ persistList(Gear.class, "Scientific", result);
+ assertSize(result, storage.getAllScientificGear());
}
@Test
@@ -100,6 +169,8 @@
List<Gear> result = service.getAllFishingGear();
Assert.assertNotNull(result);
Assert.assertEquals(75, result.size());
+ persistList(Gear.class, "Fishing", result);
+ assertSize(result, storage.getAllFishingGear());
}
@Test
@@ -107,14 +178,17 @@
List<Person> result = service.getAllPerson();
Assert.assertNotNull(result);
Assert.assertEquals(123, result.size());
+ persistList(Person.class, result);
+ assertSize(result, storage.getAllPerson());
}
-
@Test
public void getAllSpecies() {
List<Species> result = service.getAllSpecies();
Assert.assertNotNull(result);
Assert.assertEquals(8435, result.size());
+ persistList(Species.class, result);
+ assertSize(result, storage.getAllSpecies());
}
@Test
@@ -122,6 +196,8 @@
List<Species> result = service.getAllBenthosSpecies();
Assert.assertNotNull(result);
Assert.assertEquals(8435, result.size());
+ persistList(Species.class, "Benthos", result);
+ assertSize(result, storage.getAllBenthosSpecies());
}
@Test
@@ -129,6 +205,8 @@
List<Species> result = service.getAllPlanktonSpecies();
Assert.assertNotNull(result);
Assert.assertEquals(8435, result.size());
+ persistList(Species.class, "Plankton", result);
+ assertSize(result, storage.getAllPlanktonSpecies());
}
@Test
@@ -152,6 +230,8 @@
List<Caracteristic> result = service.getAllFishingOperationEnvironmentCaracteristic();
Assert.assertNotNull(result);
Assert.assertEquals(40, result.size());
+ persistList(Caracteristic.class, ReferentialPersistenceServiceDevImpl.CaracteristicEnum.Environment.name(), result);
+ assertSize(result, storage.getAllFishingOperationEnvironmentCaracteristic());
}
@Test
@@ -159,13 +239,19 @@
List<Caracteristic> result = service.getAllFishingOperationGearCaracteristic();
Assert.assertNotNull(result);
Assert.assertEquals(155, result.size());
+ persistList(Caracteristic.class, ReferentialPersistenceServiceDevImpl.CaracteristicEnum.Gear.name(), result);
+ assertSize(result, storage.getAllFishingOperationGearCaracteristic());
}
+ //TODO Fix this!
@Test
+ @Ignore
public void getAllFishingOperationHydrologicCaracteristic() {
List<Caracteristic> result = service.getAllFishingOperationHydrologicCaracteristic();
Assert.assertNotNull(result);
Assert.assertEquals(40, result.size());
+ persistList(Caracteristic.class, ReferentialPersistenceServiceDevImpl.CaracteristicEnum.Hydrology.name(), result);
+ assertSize(result, storage.getAllFishingOperationHydrologicCaracteristic());
}
@Test
@@ -173,6 +259,8 @@
List<Caracteristic> result = service.getAllSpeciesLengthStepCaracteristic();
Assert.assertNotNull(result);
Assert.assertEquals(24, result.size());
+ persistList(Caracteristic.class, ReferentialPersistenceServiceDevImpl.CaracteristicEnum.Length.name(), result);
+ assertSize(result, storage.getAllSpeciesLengthStepCaracteristic());
}
@Test
@@ -182,6 +270,8 @@
Assert.assertTrue(result.isQualitativeType());
Assert.assertNotNull(result.getQualitativeValue());
Assert.assertEquals(6, result.sizeQualitativeValue());
+ persist(Caracteristic.class, ReferentialPersistenceServiceDevImpl.CaracteristicEnum.SizeCategory.name(), result);
+ assertCaracteristicSize(result, storage.getSizeCategoryCaracteristic());
}
@Test
@@ -191,6 +281,8 @@
Assert.assertTrue(result.isQualitativeType());
Assert.assertNotNull(result.getQualitativeValue());
Assert.assertEquals(4, result.sizeQualitativeValue());
+ persist(Caracteristic.class, ReferentialPersistenceServiceDevImpl.CaracteristicEnum.SexCategory.name(), result);
+ assertCaracteristicSize(result, storage.getSexCaracteristic());
}
@Test
@@ -200,6 +292,8 @@
Assert.assertTrue(result.isQualitativeType());
Assert.assertNotNull(result.getQualitativeValue());
Assert.assertEquals(2, result.sizeQualitativeValue());
+ persist(Caracteristic.class, ReferentialPersistenceServiceDevImpl.CaracteristicEnum.SortedUnsortedCategory.name(), result);
+ assertCaracteristicSize(result, storage.getSortedUnsortedCaracteristic());
}
@Test
@@ -209,6 +303,8 @@
Assert.assertTrue(result.isQualitativeType());
Assert.assertNotNull(result.getQualitativeValue());
Assert.assertEquals(10, result.sizeQualitativeValue());
+ persist(Caracteristic.class, ReferentialPersistenceServiceDevImpl.CaracteristicEnum.MaturityCategory.name(), result);
+ assertCaracteristicSize(result, storage.getMaturityCaracteristic());
}
@Test
@@ -218,6 +314,8 @@
Assert.assertTrue(result.isQualitativeType());
Assert.assertNotNull(result.getQualitativeValue());
Assert.assertEquals(10, result.sizeQualitativeValue());
+ persist(Caracteristic.class, ReferentialPersistenceServiceDevImpl.CaracteristicEnum.MacroWasteCategory.name(), result);
+ assertCaracteristicSize(result, storage.getMacroWasteCategoryCaracteristic());
}
@Test
@@ -227,6 +325,47 @@
Assert.assertTrue(result.isQualitativeType());
Assert.assertNotNull(result.getQualitativeValue());
Assert.assertEquals(10, result.sizeQualitativeValue());
+ persist(Caracteristic.class, ReferentialPersistenceServiceDevImpl.CaracteristicEnum.MacroWasteSizeCategory.name(), result);
+ assertCaracteristicSize(result, storage.getMacroWasteSizeCategoryCaracteristic());
}
+ protected <S extends IdAware> void persistList(Class<S> type, List<S> result) {
+ persistList(type, null, result);
+ }
+
+ protected <S extends IdAware> void persistList(Class<S> type, String context, List<S> result) {
+
+ String key = TuttiPersistenceDevImpl.getKey(type, context);
+ for (S s : result) {
+ storage.create(key, s, false);
+ }
+ storage.persistToFile(key);
+ }
+
+ protected <S extends IdAware> void persist(Class<S> type, S result) {
+ persist(type, null, result);
+ }
+
+ protected <S extends IdAware> void persist(Class<S> type, String context, S result) {
+ String key = TuttiPersistenceDevImpl.getKey(type, context);
+ storage.create(key, result, true);
+ }
+
+ protected void assertSize(List<?> expectedList, List<?> storageList) {
+ Assert.assertNotNull(expectedList);
+ Assert.assertNotNull(storageList);
+ expectedList.removeAll(storageList);
+ Assert.assertTrue("Some " + expectedList.size() + " entities were not persisted in storage :" +
+ expectedList, expectedList.isEmpty());
+
+ }
+
+ protected void assertCaracteristicSize(Caracteristic incoming,
+ Caracteristic caracteristic) {
+ Assert.assertNotNull(incoming);
+ Assert.assertNotNull(caracteristic);
+ Assert.assertEquals(incoming, caracteristic);
+ Assert.assertEquals(incoming.sizeQualitativeValue(),
+ caracteristic.sizeQualitativeValue());
+ }
}
Modified: trunk/tutti-persistence-adagio/src/test/resources/log4j.properties
===================================================================
--- trunk/tutti-persistence-adagio/src/test/resources/log4j.properties 2013-01-12 18:02:10 UTC (rev 183)
+++ trunk/tutti-persistence-adagio/src/test/resources/log4j.properties 2013-01-13 14:58:21 UTC (rev 184)
@@ -38,5 +38,5 @@
log4j.logger.net.sf.ehcache=WARN
log4j.logger.fr.ifremer.adagio.core=DEBUG
-log4j.logger.fr.ifremer.tutti=DEBUG
+log4j.logger.fr.ifremer.tutti=INFO
log4j.logger.org.nuiton=INFO
Modified: trunk/tutti-persistence-adagio/src/test/resources/tutti-test.properties
===================================================================
--- trunk/tutti-persistence-adagio/src/test/resources/tutti-test.properties 2013-01-12 18:02:10 UTC (rev 183)
+++ trunk/tutti-persistence-adagio/src/test/resources/tutti-test.properties 2013-01-13 14:58:21 UTC (rev 184)
@@ -21,5 +21,5 @@
# <http://www.gnu.org/licenses/gpl-3.0.html>.
# #L%
###
-tutti.persistence.jdbc.url=jdbc:hsqldb:file:src/test/db/allegro
-#tutti.persistence.jdbc.url=jdbc:hsqldb:hsql://localhost/allegro
\ No newline at end of file
+#tutti.persistence.jdbc.url=jdbc:hsqldb:file:src/test/db/allegro
+tutti.persistence.jdbc.url=jdbc:hsqldb:hsql://localhost/allegro
\ No newline at end of file
Modified: trunk/tutti-persistence-dev/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceDevFixtures.java
===================================================================
--- trunk/tutti-persistence-dev/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceDevFixtures.java 2013-01-12 18:02:10 UTC (rev 183)
+++ trunk/tutti-persistence-dev/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceDevFixtures.java 2013-01-13 14:58:21 UTC (rev 184)
@@ -40,7 +40,7 @@
import java.util.List;
import java.util.UUID;
-import static fr.ifremer.tutti.persistence.TuttiPersistenceDevImpl.CaracteristicEnum;
+import static fr.ifremer.tutti.persistence.service.ReferentialPersistenceServiceDevImpl.CaracteristicEnum;
/**
* TODO
@@ -50,8 +50,17 @@
*/
public class TuttiPersistenceDevFixtures {
- protected final ArrayListMultimap<Class<? extends IdAware>, IdAware> cache;
+ protected final ArrayListMultimap<String, IdAware> cache;
+ protected void putInCache(Class<?> type, IdAware b) {
+ putInCache(type, null, b);
+ }
+
+ protected void putInCache(Class<?> type, String context, IdAware b) {
+ String key = TuttiPersistenceDevImpl.getKey(type, context);
+ cache.put(key, b);
+ }
+
public TuttiPersistenceDevFixtures() {
// inject default datas (only referential)
@@ -62,7 +71,7 @@
z = new Zone();
z.setId(UUID.randomUUID().toString());
z.setName("zone1");
- cache.put(Zone.class, z);
+ putInCache(Zone.class, z);
FishingOperationLocation l;
FishingOperationLocation sl;
@@ -72,122 +81,149 @@
l.setId(UUID.randomUUID().toString());
l.setName("zone1 - strata1");
l.setZone(z);
- cache.put(FishingOperationLocation.class, l);
+ putInCache(FishingOperationLocation.class, "Strata", l);
sl = new FishingOperationLocation();
sl.setId(UUID.randomUUID().toString());
sl.setName("strat1 - substrata1");
sl.setParent(l);
- cache.put(FishingOperationLocation.class, sl);
+ putInCache(FishingOperationLocation.class, "SubStrata", sl);
ssl = new FishingOperationLocation();
ssl.setId(UUID.randomUUID().toString());
ssl.setName("substrata1 - localite1");
ssl.setLocalite(true);
ssl.setParent(sl);
- cache.put(FishingOperationLocation.class, ssl);
+ putInCache(FishingOperationLocation.class, "Localite", ssl);
ssl = new FishingOperationLocation();
ssl.setId(UUID.randomUUID().toString());
ssl.setName("substrata1 - localite2");
ssl.setLocalite(true);
ssl.setParent(sl);
- cache.put(FishingOperationLocation.class, ssl);
+ putInCache(FishingOperationLocation.class, "Localite", ssl);
sl = new FishingOperationLocation();
sl.setId(UUID.randomUUID().toString());
sl.setName("strat1 - substrata2");
sl.setParent(l);
- cache.put(FishingOperationLocation.class, sl);
+ putInCache(FishingOperationLocation.class, "SubStrata", sl);
ssl = new FishingOperationLocation();
ssl.setId(UUID.randomUUID().toString());
ssl.setName("substrata2 - localite1");
ssl.setLocalite(true);
ssl.setParent(sl);
- cache.put(FishingOperationLocation.class, ssl);
+ putInCache(FishingOperationLocation.class, "Localite", ssl);
ssl = new FishingOperationLocation();
ssl.setId(UUID.randomUUID().toString());
ssl.setName("substrata2 - localite2");
ssl.setLocalite(true);
ssl.setParent(sl);
- cache.put(FishingOperationLocation.class, ssl);
+ putInCache(FishingOperationLocation.class, "Localite", ssl);
l = new FishingOperationLocation();
l.setId(UUID.randomUUID().toString());
l.setName("zone1 - strata2");
l.setZone(z);
- cache.put(FishingOperationLocation.class, l);
+ putInCache(FishingOperationLocation.class, "Strata", l);
ssl = new FishingOperationLocation();
ssl.setId(UUID.randomUUID().toString());
ssl.setName("strata2 - localite1");
ssl.setParent(l);
ssl.setLocalite(true);
- cache.put(FishingOperationLocation.class, ssl);
+ putInCache(FishingOperationLocation.class, "Localite", ssl);
ssl = new FishingOperationLocation();
ssl.setId(UUID.randomUUID().toString());
ssl.setName("strata2 - localite2");
ssl.setParent(l);
ssl.setLocalite(true);
- cache.put(FishingOperationLocation.class, ssl);
+ putInCache(FishingOperationLocation.class, "Localite", ssl);
z = new Zone();
z.setId(UUID.randomUUID().toString());
z.setName("zone2");
- cache.put(Zone.class, z);
+ putInCache(Zone.class, z);
l = new FishingOperationLocation();
l.setId(UUID.randomUUID().toString());
l.setName("zone2 - strata1");
l.setZone(z);
- cache.put(FishingOperationLocation.class, l);
+ putInCache(FishingOperationLocation.class, "Strata", l);
l = new FishingOperationLocation();
l.setId(UUID.randomUUID().toString());
l.setName("zone2 - strata2");
l.setZone(z);
- cache.put(FishingOperationLocation.class, l);
+ putInCache(FishingOperationLocation.class, "Strata", l);
Country c;
c = new Country();
c.setId(UUID.randomUUID().toString());
c.setName("France");
- cache.put(Country.class, c);
+ putInCache(Country.class, c);
c = new Country();
c.setId(UUID.randomUUID().toString());
c.setName("Espagne");
- cache.put(Country.class, c);
+ putInCache(Country.class, c);
Vessel v;
v = new Vessel();
v.setId(UUID.randomUUID().toString());
v.setName("THALASSA");
+ v.setScientificVessel(true);
v.setRegistrationCode("RegistrationCode1");
- cache.put(Vessel.class, v);
+ putInCache(Vessel.class, "Scientific", v);
v = new Vessel();
v.setId(UUID.randomUUID().toString());
v.setName("THALASSA-II");
+ v.setScientificVessel(true);
v.setRegistrationCode("RegistrationCode2");
- cache.put(Vessel.class, v);
+ putInCache(Vessel.class, "Scientific", v);
+ v = new Vessel();
+ v.setId(UUID.randomUUID().toString());
+ v.setName("Fishing1");
+ v.setScientificVessel(false);
+ v.setRegistrationCode("RegistrationCode1");
+ putInCache(Vessel.class, "Fishing", v);
+
+ v = new Vessel();
+ v.setId(UUID.randomUUID().toString());
+ v.setName("Fishing2");
+ v.setScientificVessel(false);
+ v.setRegistrationCode("RegistrationCode1");
+ putInCache(Vessel.class, "Fishing", v);
+
+
Gear g;
g = new Gear();
g.setId(UUID.randomUUID().toString());
- g.setName("Gear-1");
- cache.put(Gear.class, g);
+ g.setName("Gear-Scientific-1");
+ putInCache(Gear.class, "Scientific", g);
g = new Gear();
g.setId(UUID.randomUUID().toString());
- g.setName("Gear-2");
- cache.put(Gear.class, g);
+ g.setName("Gear-Scientific-2");
+ putInCache(Gear.class, "Scientific", g);
+ g = new Gear();
+ g.setId(UUID.randomUUID().toString());
+ g.setName("Gear-Fishing-1");
+ putInCache(Gear.class, "Fishing", g);
+
+ g = new Gear();
+ g.setId(UUID.randomUUID().toString());
+ g.setName("Gear-Fishing-2");
+ putInCache(Gear.class, "Fishing", g);
+
Person u;
u = new Person();
@@ -195,47 +231,47 @@
u.setName("Vincent Badts");
u.setFirstName("Vincent");
u.setLastName("Badts");
- cache.put(Person.class, u);
+ putInCache(Person.class, u);
u = new Person();
u.setId(UUID.randomUUID().toString());
u.setName("Jean claude Mahet");
u.setFirstName("Jean claude");
u.setLastName("Mahet");
- cache.put(Person.class, u);
+ putInCache(Person.class, u);
u = new Person();
u.setId(UUID.randomUUID().toString());
u.setName("Luisa Metral");
u.setFirstName("Luisa");
u.setLastName("Metral");
- cache.put(Person.class, u);
+ putInCache(Person.class, u);
u = new Person();
u.setId(UUID.randomUUID().toString());
u.setName("Jean Hervé Bourdeix");
u.setFirstName("Jean Hervé");
u.setLastName("Bourdeix");
- cache.put(Person.class, u);
+ putInCache(Person.class, u);
u = new Person();
u.setId(UUID.randomUUID().toString());
u.setName("Ysabelle Cheret");
u.setFirstName("Ysabelle");
u.setLastName("Cheret");
- cache.put(Person.class, u);
+ putInCache(Person.class, u);
u = new Person();
u.setId(UUID.randomUUID().toString());
u.setName("Blandine Brisset");
u.setFirstName("Blandine");
u.setLastName("Brisset");
- cache.put(Person.class, u);
+ putInCache(Person.class, u);
Caracteristic ca;
ca = createQualitativeCaracteristic("Vent Beaufort",
- CaracteristicEnum.FishingOperationEnvironment.name());
+ CaracteristicEnum.Environment.name());
createCaracteristicQualitativeValue(ca, "Calme");
createCaracteristicQualitativeValue(ca, "Très légère brise");
@@ -247,83 +283,83 @@
createCaracteristicQualitativeValue(ca, "Fort coup de vent");
ca = createQualitativeCaracteristic("État de la mer",
- CaracteristicEnum.FishingOperationEnvironment.name());
+ CaracteristicEnum.Environment.name());
createCaracteristicQualitativeValue(ca, "Mer calme");
createCaracteristicQualitativeValue(ca, "Mer agitée");
createNumberCaracteristic("Direction du vent",
- CaracteristicEnum.FishingOperationEnvironment.name());
+ CaracteristicEnum.Environment.name());
createNumberCaracteristic("Profondeur (début de traine)",
- CaracteristicEnum.FishingOperationEnvironment.name());
+ CaracteristicEnum.Environment.name());
createNumberCaracteristic("Profondeur (fin de traine)",
- CaracteristicEnum.FishingOperationEnvironment.name());
+ CaracteristicEnum.Environment.name());
createNumberCaracteristic("Ouverture horizontale",
- CaracteristicEnum.FishingOperationGear.name());
+ CaracteristicEnum.Gear.name());
createNumberCaracteristic("Ouverture verticale",
- CaracteristicEnum.FishingOperationGear.name());
+ CaracteristicEnum.Gear.name());
createNumberCaracteristic("Longueur funes",
- CaracteristicEnum.FishingOperationGear.name());
+ CaracteristicEnum.Gear.name());
createNumberCaracteristic("Longueur bras",
- CaracteristicEnum.FishingOperationGear.name());
+ CaracteristicEnum.Gear.name());
ca = createQualitativeCaracteristic("Systeme cul ferme",
- CaracteristicEnum.FishingOperationGear.name());
+ CaracteristicEnum.Gear.name());
createCaracteristicQualitativeValue(ca, "Oui");
createCaracteristicQualitativeValue(ca, "Non");
ca = createQualitativeCaracteristic("Géométrie mesurée",
- CaracteristicEnum.FishingOperationGear.name());
+ CaracteristicEnum.Gear.name());
createCaracteristicQualitativeValue(ca, "Oui");
createCaracteristicQualitativeValue(ca, "Non");
createNumberCaracteristic("Température Surface_S",
- CaracteristicEnum.FishingOperationHydrologic_surfaceTemperature.name());
+ CaracteristicEnum.Hydrology.name());
createNumberCaracteristic("Température Surface_E",
- CaracteristicEnum.FishingOperationHydrologic_surfaceTemperature.name());
+ CaracteristicEnum.Hydrology.name());
createNumberCaracteristic("Température Surface_A",
- CaracteristicEnum.FishingOperationHydrologic_surfaceTemperature.name());
+ CaracteristicEnum.Hydrology.name());
createNumberCaracteristic("Température fond_S",
- CaracteristicEnum.FishingOperationHydrologic_bottomTemperature.name());
+ CaracteristicEnum.Hydrology.name());
createNumberCaracteristic("Température fond_E",
- CaracteristicEnum.FishingOperationHydrologic_bottomTemperature.name());
+ CaracteristicEnum.Hydrology.name());
createNumberCaracteristic("Température fond_A",
- CaracteristicEnum.FishingOperationHydrologic_bottomTemperature.name());
+ CaracteristicEnum.Hydrology.name());
createNumberCaracteristic("Salinité surface_S",
- CaracteristicEnum.FishingOperationHydrologic_surfaceSalinity.name());
+ CaracteristicEnum.Hydrology.name());
createNumberCaracteristic("Salinité surface_E",
- CaracteristicEnum.FishingOperationHydrologic_surfaceSalinity.name());
+ CaracteristicEnum.Hydrology.name());
createNumberCaracteristic("Salinité surface_A",
- CaracteristicEnum.FishingOperationHydrologic_surfaceSalinity.name());
+ CaracteristicEnum.Hydrology.name());
createNumberCaracteristic("Salinité fond_S",
- CaracteristicEnum.FishingOperationHydrologic_bottomSalinity.name());
+ CaracteristicEnum.Hydrology.name());
createNumberCaracteristic("Salinité fond_E",
- CaracteristicEnum.FishingOperationHydrologic_bottomSalinity.name());
+ CaracteristicEnum.Hydrology.name());
createNumberCaracteristic("Salinité fond_A",
- CaracteristicEnum.FishingOperationHydrologic_bottomSalinity.name());
+ CaracteristicEnum.Hydrology.name());
createNumberCaracteristic("Mesure au cm par un observateur (carapace)",
- CaracteristicEnum.SpeciesFrequency.name());
+ CaracteristicEnum.Length.name());
createNumberCaracteristic("Mesure au cm par un observateur (totale)",
- CaracteristicEnum.SpeciesFrequency.name());
+ CaracteristicEnum.Length.name());
createNumberCaracteristic("Mesure au cm par un observateur (céphalothorax)",
- CaracteristicEnum.SpeciesFrequency.name());
+ CaracteristicEnum.Length.name());
createNumberCaracteristic("Mesure au 1/2 cm par un observateur (totale)",
- CaracteristicEnum.SpeciesFrequency.name());
+ CaracteristicEnum.Length.name());
createNumberCaracteristic("Mesure au 1/100 mm par un observateur (queue de langoustine)",
- CaracteristicEnum.SpeciesFrequency.name());
+ CaracteristicEnum.Length.name());
createNumberCaracteristic("Mesure au 1/2 cm par un observateur (manteau)",
- CaracteristicEnum.SpeciesFrequency.name());
+ CaracteristicEnum.Length.name());
createNumberCaracteristic("Mesure au cm par un observateur (manteau)",
- CaracteristicEnum.SpeciesFrequency.name());
+ CaracteristicEnum.Length.name());
Species sp;
@@ -331,25 +367,25 @@
sp.setId(UUID.randomUUID().toString());
sp.setCodeMemo("BAR");
sp.setGenusSpecies("Bar");
- cache.put(Species.class, sp);
+ putInCache(Species.class, sp);
sp = new Species();
sp.setId(UUID.randomUUID().toString());
sp.setCodeMemo("CHIN");
sp.setGenusSpecies("Chinchard");
- cache.put(Species.class, sp);
+ putInCache(Species.class, sp);
sp = new Species();
sp.setId(UUID.randomUUID().toString());
sp.setCodeMemo("FLE");
sp.setGenusSpecies("Flet");
- cache.put(Species.class, sp);
+ putInCache(Species.class, sp);
sp = new Species();
sp.setId(UUID.randomUUID().toString());
sp.setCodeMemo("LIM");
sp.setGenusSpecies("Limande");
- cache.put(Species.class, sp);
+ putInCache(Species.class, sp);
ca = createQualitativeCaracteristic("MacroWaste", CaracteristicEnum.MacroWasteCategory.name());
@@ -386,28 +422,27 @@
createCaracteristicQualitativeValue(ca, "<100*100cm = 1m²");
createCaracteristicQualitativeValue(ca, ">100*100cm = 1m²");
- ca = createQualitativeCaracteristic("Sorted / Unsorted Category", CaracteristicEnum.SpeciesSortedUnsorted.name());
+ ca = createQualitativeCaracteristic("Sorted / Unsorted Category", CaracteristicEnum.SortedUnsortedCategory.name());
createCaracteristicQualitativeValue(ca, "Vrac");
createCaracteristicQualitativeValue(ca, "Hors Vrac");
- ca = createQualitativeCaracteristic("Species Sex Category", CaracteristicEnum.SpeciesSex.name());
+ ca = createQualitativeCaracteristic("Species Sex Category", CaracteristicEnum.SexCategory.name());
createCaracteristicQualitativeValue(ca, "Male");
createCaracteristicQualitativeValue(ca, "Femelle");
createCaracteristicQualitativeValue(ca, "Indéterminé");
- ca = createQualitativeCaracteristic("Species Maturity Category", CaracteristicEnum.SpeciesMaturity.name());
+ ca = createQualitativeCaracteristic("Species Maturity Category", CaracteristicEnum.MaturityCategory.name());
createCaracteristicQualitativeValue(ca, "0");
createCaracteristicQualitativeValue(ca, "1");
createCaracteristicQualitativeValue(ca, "2");
- ca = createQualitativeCaracteristic("Species Size Category", CaracteristicEnum.SpeciesSizeCategory.name());
+ ca = createQualitativeCaracteristic("Species Size Category", CaracteristicEnum.SizeCategory.name());
createCaracteristicQualitativeValue(ca, "Petit");
createCaracteristicQualitativeValue(ca, "Gros");
-
}
protected void createCaracteristicQualitativeValue(Caracteristic ca, String name) {
@@ -415,7 +450,7 @@
cqv.setId(UUID.randomUUID().toString());
cqv.setName(name);
ca.addQualitativeValue(cqv);
- cache.put(CaracteristicQualitativeValue.class, cqv);
+ putInCache(CaracteristicQualitativeValue.class, name, cqv);
}
protected Caracteristic createQualitativeCaracteristic(String name, String category) {
@@ -425,7 +460,7 @@
ca.setCategory(category);
ca.setQualitativeType(true);
ca.setQualitativeValue(Lists.<CaracteristicQualitativeValue>newArrayList());
- cache.put(Caracteristic.class, ca);
+ putInCache(Caracteristic.class, category, ca);
return ca;
}
@@ -435,11 +470,11 @@
ca.setName(name);
ca.setCategory(category);
ca.setNumberType(true);
- cache.put(Caracteristic.class, ca);
+ putInCache(Caracteristic.class, category, ca);
return ca;
}
- public <B extends IdAware> List<B> getData(Class<B> entityType) {
+ public <B extends IdAware> List<B> getData(String entityType) {
List<B> result = (List<B>) cache.get(entityType);
return result;
}
Modified: trunk/tutti-persistence-dev/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceDevImpl.java
===================================================================
--- trunk/tutti-persistence-dev/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceDevImpl.java 2013-01-12 18:02:10 UTC (rev 183)
+++ trunk/tutti-persistence-dev/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceDevImpl.java 2013-01-13 14:58:21 UTC (rev 184)
@@ -56,6 +56,8 @@
import fr.ifremer.tutti.persistence.entities.referential.Species;
import fr.ifremer.tutti.persistence.entities.referential.Vessel;
import fr.ifremer.tutti.persistence.entities.referential.Zone;
+import fr.ifremer.tutti.persistence.service.ReferentialPersistenceService;
+import fr.ifremer.tutti.persistence.service.ReferentialPersistenceServiceDevImpl;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
import org.apache.commons.logging.Log;
@@ -71,7 +73,6 @@
import java.io.ObjectOutputStream;
import java.util.List;
import java.util.Map;
-import java.util.ServiceLoader;
import java.util.Set;
import java.util.UUID;
@@ -87,40 +88,48 @@
private static final Log log =
LogFactory.getLog(TuttiPersistenceDevImpl.class);
- /**
- * All entity types.
- *
- * @since 0.1
- */
- public static final List<Class<? extends IdAware>> TYPES;
+ public static final List<String> FILE_KEYS = Lists.newArrayList(
+ "fr.ifremer.tutti.persistence.entities.data.Attachment",
+ "fr.ifremer.tutti.persistence.entities.data.AccidentalBatch",
+ "fr.ifremer.tutti.persistence.entities.data.BenthosBatch",
+ "fr.ifremer.tutti.persistence.entities.data.FishingOperation",
+ "fr.ifremer.tutti.persistence.entities.data.MacroWasteBatch",
+ "fr.ifremer.tutti.persistence.entities.data.PlanktonBatch",
+ "fr.ifremer.tutti.persistence.entities.data.Program",
+ "fr.ifremer.tutti.persistence.entities.data.Cruise",
+ "fr.ifremer.tutti.persistence.entities.data.SpeciesBatch",
+ "fr.ifremer.tutti.persistence.entities.data.SpeciesBatchFrequency",
+ "fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol",
+ "fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativeValue",
+ "fr.ifremer.tutti.persistence.entities.referential.Country",
+ "fr.ifremer.tutti.persistence.entities.referential.FishingOperationLocation#Strata",
+ "fr.ifremer.tutti.persistence.entities.referential.FishingOperationLocation#SubStrata",
+ "fr.ifremer.tutti.persistence.entities.referential.FishingOperationLocation#Localite",
+ "fr.ifremer.tutti.persistence.entities.referential.FishingOperationLocation",
+ "fr.ifremer.tutti.persistence.entities.referential.Gear#Scientific",
+ "fr.ifremer.tutti.persistence.entities.referential.Gear#Fishing",
+ "fr.ifremer.tutti.persistence.entities.referential.Person",
+ "fr.ifremer.tutti.persistence.entities.referential.Species",
+ "fr.ifremer.tutti.persistence.entities.referential.Species#Benthos",
+ "fr.ifremer.tutti.persistence.entities.referential.Species#Plankton",
+ "fr.ifremer.tutti.persistence.entities.referential.Vessel#Scientific",
+ "fr.ifremer.tutti.persistence.entities.referential.Vessel#Fishing",
+ "fr.ifremer.tutti.persistence.entities.referential.Zone"
+ );
static {
- TYPES = Lists.newArrayList();
-
- for (IdAware e : ServiceLoader.load(IdAware.class)) {
- TYPES.add(e.getClass());
+ for (ReferentialPersistenceServiceDevImpl.CaracteristicEnum caracteristicEnum :
+ ReferentialPersistenceServiceDevImpl.CaracteristicEnum.values()) {
+ FILE_KEYS.add(getKey(Caracteristic.class, caracteristicEnum.name()));
}
+
if (log.isInfoEnabled()) {
- log.info("Found " + TYPES.size() + " entity types.");
+ log.info("Found " + FILE_KEYS.size() + " files.");
}
}
- enum CaracteristicEnum {
- FishingOperationEnvironment,
- FishingOperationGear,
- FishingOperationHydrologic_bottomTemperature,
- FishingOperationHydrologic_surfaceTemperature,
- FishingOperationHydrologic_bottomSalinity,
- FishingOperationHydrologic_surfaceSalinity,
- SpeciesFrequency,
- SpeciesSizeCategory,
- SpeciesSex,
- SpeciesSortedUnsorted,
- SpeciesMaturity,
- MacroWasteCategory,
- MacroWasteSizeCategory
- }
+ public static final String SKIP_FIXTURES_OPTION = "LoadFixtures";
/**
* Persistence config.
@@ -134,15 +143,22 @@
*
* @since 0.1
*/
- protected final ArrayListMultimap<Class<? extends IdAware>, IdAware> cache = ArrayListMultimap.create();
+ protected final ArrayListMultimap<String, IdAware> cache = ArrayListMultimap.create();
/**
* Cache of binder.
*
* @since 0.2
*/
- protected final Map<Class<? extends IdAware>, Binder<? extends IdAware, ? extends IdAware>> binderCache = Maps.newHashMap();
+ protected final Map<String, Binder<? extends IdAware, ? extends IdAware>> binderCache = Maps.newHashMap();
+ /**
+ * Referential persistence service.
+ *
+ * @since 0.3
+ */
+ protected ReferentialPersistenceService referentialPersistenceService;
+
public TuttiPersistenceDevImpl(TuttiPersistenceDevConfig config) {
this.config = config;
}
@@ -156,6 +172,7 @@
return "Persistence Dev implementation";
}
+ @Override
public void open() throws IOException {
Preconditions.checkNotNull(config, " No config property setted");
@@ -168,14 +185,25 @@
cache.clear();
- TuttiPersistenceDevFixtures fixtures =
- new TuttiPersistenceDevFixtures();
+ boolean loadFixtures =
+ config.getConfig().getOptionAsBoolean(SKIP_FIXTURES_OPTION);
+ if (!loadFixtures) {
- for (Class<? extends IdAware> entityType : TYPES) {
- loadEntities(entityType, fixtures);
+ if (log.isInfoEnabled()) {
+ log.info("Load default fixtures...");
+ }
+ TuttiPersistenceDevFixtures fixtures =
+ new TuttiPersistenceDevFixtures();
+
+ for (String entityType : FILE_KEYS) {
+ loadEntities(entityType, fixtures);
+ }
}
+
+ referentialPersistenceService = new ReferentialPersistenceServiceDevImpl(cache);
}
+ @Override
public void close() throws IOException {
if (log.isInfoEnabled()) {
@@ -183,7 +211,7 @@
}
binderCache.clear();
- for (Class<? extends IdAware> entityType : cache.keySet()) {
+ for (String entityType : cache.keySet()) {
persistToFile(entityType);
}
}
@@ -193,198 +221,159 @@
//------------------------------------------------------------------------//
@Override
- public List<Species> getAllSpecies() {
- List<Species> result = getDataInNewList(Species.class);
- return result;
+ public List<Vessel> getAllScientificVessel() {
+ return referentialPersistenceService.getAllScientificVessel();
}
@Override
- public List<Species> getAllBenthosSpecies() {
- List<Species> result = getDataInNewList(Species.class);
- return result;
+ public List<Zone> getAllProgramZone() {
+ return referentialPersistenceService.getAllProgramZone();
}
@Override
- public List<Species> getAllPlanktonSpecies() {
- List<Species> result = getDataInNewList(Species.class);
- return result;
+ public List<Country> getAllCountry() {
+ return referentialPersistenceService.getAllCountry();
}
@Override
- public Species getSpecies(String id) {
- Species result = getBean(Species.class, id);
- return result;
+ public List<Vessel> getAllFishingVessel() {
+ return referentialPersistenceService.getAllFishingVessel();
}
- @Override
- public List<Zone> getAllProgramZone() {
- List<Zone> result = getDataInNewList(Zone.class);
- return result;
+ public Vessel getVessel(String vesselCode) {
+ return referentialPersistenceService.getVessel(vesselCode);
}
@Override
- public List<Country> getAllCountry() {
- List<Country> result = getDataInNewList(Country.class);
- return result;
+ public List<Species> getAllSpecies() {
+ return referentialPersistenceService.getAllSpecies();
}
@Override
- public List<Vessel> getAllScientificVessel() {
- List<Vessel> result = Lists.newArrayList(Iterables.filter(getData(Vessel.class), new Predicate<Vessel>() {
- @Override
- public boolean apply(Vessel input) {
- return input.isScientificVessel();
- }
- }));
- return result;
+ public List<Species> getAllBenthosSpecies() {
+ return referentialPersistenceService.getAllBenthosSpecies();
}
@Override
- public List<Vessel> getAllFishingVessel() {
- List<Vessel> result = Lists.newArrayList(Iterables.filter(getData(Vessel.class), new Predicate<Vessel>() {
- @Override
- public boolean apply(Vessel input) {
- return !input.isScientificVessel();
- }
- }));
- return result;
+ public List<Species> getAllPlanktonSpecies() {
+ return referentialPersistenceService.getAllPlanktonSpecies();
}
@Override
- public List<Gear> getAllScientificGear() {
- List<Gear> result = getDataInNewList(Gear.class);
- return result;
+ public Species getSpecies(String speciesId) {
+ return referentialPersistenceService.getSpecies(speciesId);
}
@Override
- public List<Gear> getAllFishingGear() {
- List<Gear> result = getDataInNewList(Gear.class);
- return result;
+ public List<FishingOperationLocation> getAllFishingOperationStrata(String zoneId) {
+ return referentialPersistenceService.getAllFishingOperationStrata(zoneId);
}
@Override
- public List<Person> getAllPerson() {
- List<Person> result = getDataInNewList(Person.class);
- return result;
+ public List<FishingOperationLocation> getAllFishingOperationSubStrata(String locationId) {
+ return referentialPersistenceService.getAllFishingOperationSubStrata(locationId);
}
@Override
- public List<FishingOperationLocation> getAllFishingOperationStrata(final String zoneId) {
- List<FishingOperationLocation> result = Lists.newArrayList(Iterables.filter(getData(FishingOperationLocation.class), new Predicate<FishingOperationLocation>() {
- @Override
- public boolean apply(FishingOperationLocation input) {
- Zone zone = input.getZone();
- return zone != null && zoneId.equals(zone.getId());
- }
- }));
- return result;
+ public List<FishingOperationLocation> getAllFishingOperationLocation(String locationId) {
+ return referentialPersistenceService.getAllFishingOperationLocation(locationId);
}
@Override
- public List<FishingOperationLocation> getAllFishingOperationSubStrata(final String locationId) {
- List<FishingOperationLocation> result = Lists.newArrayList(Iterables.filter(getData(FishingOperationLocation.class), new Predicate<FishingOperationLocation>() {
- @Override
- public boolean apply(FishingOperationLocation input) {
- FishingOperationLocation parent = input.getParent();
- return parent != null && !input.isLocalite() && locationId.equals(parent.getId());
- }
- }));
- return result;
- }
-
- @Override
- public List<FishingOperationLocation> getAllFishingOperationLocation(final String locationId) {
- List<FishingOperationLocation> result = Lists.newArrayList(Iterables.filter(getData(FishingOperationLocation.class), new Predicate<FishingOperationLocation>() {
- @Override
- public boolean apply(FishingOperationLocation input) {
- FishingOperationLocation parent = input.getParent();
- return parent != null && input.isLocalite() && locationId.equals(parent.getId());
- }
- }));
- return result;
- }
-
- @Override
public List<Caracteristic> getAllFishingOperationEnvironmentCaracteristic() {
- return getAllCaracteristicByCategory(CaracteristicEnum.FishingOperationEnvironment.name());
+ return referentialPersistenceService.getAllFishingOperationEnvironmentCaracteristic();
}
@Override
public List<Caracteristic> getAllFishingOperationGearCaracteristic() {
- return getAllCaracteristicByCategory(CaracteristicEnum.FishingOperationGear.name());
+ return referentialPersistenceService.getAllFishingOperationGearCaracteristic();
}
@Override
public List<Caracteristic> getAllFishingOperationHydrologicCaracteristic() {
-
- List<Caracteristic> result = Lists.newArrayList();
- result.addAll(getAllCaracteristicByCategory(CaracteristicEnum.FishingOperationHydrologic_bottomSalinity.name()));
- result.addAll(getAllCaracteristicByCategory(CaracteristicEnum.FishingOperationHydrologic_surfaceSalinity.name()));
- result.addAll(getAllCaracteristicByCategory(CaracteristicEnum.FishingOperationHydrologic_bottomTemperature.name()));
- result.addAll(getAllCaracteristicByCategory(CaracteristicEnum.FishingOperationHydrologic_surfaceTemperature.name()));
- return result;
+ return referentialPersistenceService.getAllFishingOperationHydrologicCaracteristic();
}
@Override
public List<Caracteristic> getAllSpeciesLengthStepCaracteristic() {
- return getAllCaracteristicByCategory(CaracteristicEnum.SpeciesFrequency.name());
+ return referentialPersistenceService.getAllSpeciesLengthStepCaracteristic();
}
@Override
public Caracteristic getSizeCategoryCaracteristic() {
- return getCaracteristicByCategory(CaracteristicEnum.SpeciesSizeCategory.name());
+ return referentialPersistenceService.getSizeCategoryCaracteristic();
}
@Override
public Caracteristic getSexCaracteristic() {
- return getCaracteristicByCategory(CaracteristicEnum.SpeciesSex.name());
+ return referentialPersistenceService.getSexCaracteristic();
}
@Override
public Caracteristic getSortedUnsortedCaracteristic() {
- return getCaracteristicByCategory(CaracteristicEnum.SpeciesSortedUnsorted.name());
+ return referentialPersistenceService.getSortedUnsortedCaracteristic();
}
@Override
public Caracteristic getMaturityCaracteristic() {
- return getCaracteristicByCategory(CaracteristicEnum.SpeciesMaturity.name());
+ return referentialPersistenceService.getMaturityCaracteristic();
}
@Override
public Caracteristic getMacroWasteCategoryCaracteristic() {
- return getCaracteristicByCategory(CaracteristicEnum.MacroWasteCategory.name());
+ return referentialPersistenceService.getMacroWasteCategoryCaracteristic();
}
@Override
public Caracteristic getMacroWasteSizeCategoryCaracteristic() {
- return getCaracteristicByCategory(CaracteristicEnum.MacroWasteSizeCategory.name());
+ return referentialPersistenceService.getMacroWasteSizeCategoryCaracteristic();
}
+ @Override
+ public List<Gear> getAllScientificGear() {
+ return referentialPersistenceService.getAllScientificGear();
+ }
+
+ @Override
+ public List<Gear> getAllFishingGear() {
+ return referentialPersistenceService.getAllFishingGear();
+ }
+
+ @Override
+ public List<Person> getAllPerson() {
+ return referentialPersistenceService.getAllPerson();
+ }
+
+ public Person getPerson(Integer personId) {
+ return referentialPersistenceService.getPerson(personId);
+ }
+
+
//------------------------------------------------------------------------//
//-- Program methods --//
//------------------------------------------------------------------------//
@Override
public List<Program> getAllProgram() {
- List<Program> result = getDataInNewList(Program.class);
+ List<Program> result = getDataInNewList(Program.class.getName());
return result;
}
@Override
public Program getProgram(String id) {
- Program result = getBean(Program.class, id);
+ Program result = getBean(Program.class.getName(), id);
return result;
}
@Override
public Program createProgram(Program bean) {
- Program result = create(Program.class, bean);
+ Program result = create(Program.class.getName(), bean);
return result;
}
@Override
public Program saveProgram(Program bean) {
- Program result = save(Program.class, bean);
+ Program result = save(Program.class.getName(), bean);
return result;
}
@@ -394,7 +383,8 @@
@Override
public List<Cruise> getAllCruise(final String programId) {
- List<Cruise> result = Lists.newArrayList(Iterables.filter(getData(Cruise.class), new Predicate<Cruise>() {
+ List<Cruise> data = getData(Cruise.class.getName());
+ List<Cruise> result = Lists.newArrayList(Iterables.filter(data, new Predicate<Cruise>() {
@Override
public boolean apply(Cruise input) {
return programId.equals(input.getProgram().getId());
@@ -405,19 +395,19 @@
@Override
public Cruise getCruise(String id) {
- Cruise result = getBean(Cruise.class, id);
+ Cruise result = getBean(Cruise.class.getName(), id);
return result;
}
@Override
public Cruise createCruise(Cruise bean) {
- Cruise result = create(Cruise.class, bean);
+ Cruise result = create(Cruise.class.getName(), bean);
return result;
}
@Override
public Cruise saveCruise(Cruise bean) {
- Cruise result = save(Cruise.class, bean);
+ Cruise result = save(Cruise.class.getName(), bean);
return result;
}
@@ -427,25 +417,25 @@
@Override
public List<TuttiProtocol> getAllProtocol() {
- List<TuttiProtocol> result = getDataInNewList(TuttiProtocol.class);
+ List<TuttiProtocol> result = getDataInNewList(TuttiProtocol.class.getName());
return result;
}
@Override
public TuttiProtocol getProtocol(String id) {
- TuttiProtocol result = getBean(TuttiProtocol.class, id);
+ TuttiProtocol result = getBean(TuttiProtocol.class.getName(), id);
return result;
}
@Override
public TuttiProtocol createProtocol(TuttiProtocol bean) {
- TuttiProtocol result = create(TuttiProtocol.class, bean);
+ TuttiProtocol result = create(TuttiProtocol.class.getName(), bean);
return result;
}
@Override
public TuttiProtocol saveProtocol(TuttiProtocol bean) {
- TuttiProtocol result = save(TuttiProtocol.class, bean);
+ TuttiProtocol result = save(TuttiProtocol.class.getName(), bean);
return result;
}
@@ -456,7 +446,8 @@
@Override
public List<FishingOperation> getAllFishingOperation(final String cruiseId) {
- List<FishingOperation> result = Lists.newArrayList(Iterables.filter(getData(FishingOperation.class), new Predicate<FishingOperation>() {
+ List<FishingOperation> data = getData(FishingOperation.class.getName());
+ List<FishingOperation> result = Lists.newArrayList(Iterables.filter(data, new Predicate<FishingOperation>() {
@Override
public boolean apply(FishingOperation input) {
return cruiseId.equals(input.getCruise().getId());
@@ -467,19 +458,20 @@
@Override
public FishingOperation getFishingOperation(String id) {
- FishingOperation result = TuttiEntities.findById(getData(FishingOperation.class), id);
+ List<FishingOperation> data = getData(FishingOperation.class.getName());
+ FishingOperation result = TuttiEntities.findById(data, id);
return result;
}
@Override
public FishingOperation createFishingOperation(FishingOperation bean) {
- FishingOperation result = create(FishingOperation.class, bean);
+ FishingOperation result = create(FishingOperation.class.getName(), bean);
return result;
}
@Override
public FishingOperation saveFishingOperation(FishingOperation bean) {
- FishingOperation result = save(FishingOperation.class, bean);
+ FishingOperation result = save(FishingOperation.class.getName(), bean);
return result;
}
@@ -490,7 +482,7 @@
@Override
public List<SpeciesBatch> getAllRootSpeciesBatch(String fishingOperationId) {
List<SpeciesBatch> result = getAllTraitFilterBatches(
- SpeciesBatch.class, fishingOperationId, new Predicate<SpeciesBatch>() {
+ SpeciesBatch.class.getName(), fishingOperationId, new Predicate<SpeciesBatch>() {
@Override
public boolean apply(SpeciesBatch input) {
@@ -503,13 +495,13 @@
@Override
public List<SpeciesBatch> getAllSpeciesBatch(final String fishingOperationId) {
List<SpeciesBatch> result = getAllTraitFilterBatches(
- SpeciesBatch.class, fishingOperationId, null);
+ SpeciesBatch.class.getName(), fishingOperationId, null);
return result;
}
@Override
public SpeciesBatch getSpeciesBatch(String id) {
- SpeciesBatch result = getBean(SpeciesBatch.class, id);
+ SpeciesBatch result = getBean(SpeciesBatch.class.getName(), id);
return result;
}
@@ -519,7 +511,7 @@
boolean withParent = parentBatchId != null;
- SpeciesBatch result = create(SpeciesBatch.class, bean, !withParent);
+ SpeciesBatch result = create(SpeciesBatch.class.getName(), bean, !withParent);
if (withParent) {
@@ -536,26 +528,26 @@
childBatchs.add(result);
// now persist species batches
- persistToFile(SpeciesBatch.class);
+ persistToFile(SpeciesBatch.class.getName());
}
return result;
}
@Override
public SpeciesBatch saveSpeciesBatch(SpeciesBatch bean) {
- SpeciesBatch result = save(SpeciesBatch.class, bean);
+ SpeciesBatch result = save(SpeciesBatch.class.getName(), bean);
return result;
}
@Override
public void deleteSpeciesBatch(String id) {
- remove(SpeciesBatch.class, id);
+ remove(SpeciesBatch.class.getName(), id);
}
@Override
public void deleteSpeciesSubBatch(String id) {
Preconditions.checkNotNull(id, "Can't save a bean with null id");
- SpeciesBatch bean = getBean(SpeciesBatch.class, id);
+ SpeciesBatch bean = getBean(SpeciesBatch.class.getName(), id);
Preconditions.checkNotNull(
bean, "SpeciesBatch with id: " + id + " does not exist");
@@ -565,7 +557,7 @@
cache.remove(SpeciesBatch.class, toDelete);
}
bean.setChildBatchs(null);
- persistToFile(SpeciesBatch.class);
+ persistToFile(SpeciesBatch.class.getName());
}
protected void collectChilds(SpeciesBatch bean, Set<SpeciesBatch> collected) {
@@ -579,7 +571,8 @@
@Override
public List<SpeciesBatchFrequency> getAllSpeciesBatchFrequency(final String speciesBatchId) {
- List<SpeciesBatchFrequency> result = Lists.newArrayList(Iterables.filter(getData(SpeciesBatchFrequency.class), new Predicate<SpeciesBatchFrequency>() {
+ List<SpeciesBatchFrequency> data = getData(SpeciesBatchFrequency.class.getName());
+ List<SpeciesBatchFrequency> result = Lists.newArrayList(Iterables.filter(data, new Predicate<SpeciesBatchFrequency>() {
@Override
public boolean apply(SpeciesBatchFrequency input) {
return speciesBatchId.equals(input.getBatch().getId());
@@ -597,7 +590,7 @@
getAllSpeciesBatchFrequency(speciesBatchId);
List<SpeciesBatchFrequency> result =
- persistList(SpeciesBatchFrequency.class,
+ persistList(SpeciesBatchFrequency.class.getName(),
existingData,
frequencies);
return result;
@@ -610,31 +603,31 @@
@Override
public List<BenthosBatch> getAllBenthosBatch(String fishingOperationId) {
List<BenthosBatch> result = getAllTraitFilterBatches(
- BenthosBatch.class, fishingOperationId, null);
+ BenthosBatch.class.getName(), fishingOperationId, null);
return result;
}
@Override
public BenthosBatch getBenthosBatch(String id) {
- BenthosBatch result = getBean(BenthosBatch.class, id);
+ BenthosBatch result = getBean(BenthosBatch.class.getName(), id);
return result;
}
@Override
public BenthosBatch createBenthosBatch(BenthosBatch bean) {
- BenthosBatch result = create(BenthosBatch.class, bean);
+ BenthosBatch result = create(BenthosBatch.class.getName(), bean);
return result;
}
@Override
public BenthosBatch saveBenthosBatch(BenthosBatch bean) {
- BenthosBatch result = save(BenthosBatch.class, bean);
+ BenthosBatch result = save(BenthosBatch.class.getName(), bean);
return result;
}
@Override
public void deleteBenthosBatch(String id) {
- remove(BenthosBatch.class, id);
+ remove(BenthosBatch.class.getName(), id);
}
//------------------------------------------------------------------------//
@@ -644,31 +637,31 @@
@Override
public List<PlanktonBatch> getAllPlanktonBatch(String fishingOperationId) {
List<PlanktonBatch> result = getAllTraitFilterBatches(
- PlanktonBatch.class, fishingOperationId, null);
+ PlanktonBatch.class.getName(), fishingOperationId, null);
return result;
}
@Override
public PlanktonBatch getPlanktonBatch(String id) {
- PlanktonBatch result = getBean(PlanktonBatch.class, id);
+ PlanktonBatch result = getBean(PlanktonBatch.class.getName(), id);
return result;
}
@Override
public PlanktonBatch createPlanktonBatch(PlanktonBatch bean) {
- PlanktonBatch result = create(PlanktonBatch.class, bean);
+ PlanktonBatch result = create(PlanktonBatch.class.getName(), bean);
return result;
}
@Override
public PlanktonBatch savePlanktonBatch(PlanktonBatch bean) {
- PlanktonBatch result = save(PlanktonBatch.class, bean);
+ PlanktonBatch result = save(PlanktonBatch.class.getName(), bean);
return result;
}
@Override
public void deletePlanktonBatch(String id) {
- remove(PlanktonBatch.class, id);
+ remove(PlanktonBatch.class.getName(), id);
}
//------------------------------------------------------------------------//
@@ -678,31 +671,31 @@
@Override
public List<MacroWasteBatch> getAllMacroWasteBatch(String fishingOperationId) {
List<MacroWasteBatch> result = getAllTraitFilterBatches(
- MacroWasteBatch.class, fishingOperationId, null);
+ MacroWasteBatch.class.getName(), fishingOperationId, null);
return result;
}
@Override
public MacroWasteBatch getMacroWasteBatch(String id) {
- MacroWasteBatch result = getBean(MacroWasteBatch.class, id);
+ MacroWasteBatch result = getBean(MacroWasteBatch.class.getName(), id);
return result;
}
@Override
public MacroWasteBatch createMacroWasteBatch(MacroWasteBatch bean) {
- MacroWasteBatch result = create(MacroWasteBatch.class, bean);
+ MacroWasteBatch result = create(MacroWasteBatch.class.getName(), bean);
return result;
}
@Override
public MacroWasteBatch saveMacroWasteBatch(MacroWasteBatch bean) {
- MacroWasteBatch result = save(MacroWasteBatch.class, bean);
+ MacroWasteBatch result = save(MacroWasteBatch.class.getName(), bean);
return result;
}
@Override
public void deleteMacroWasteBatch(String id) {
- remove(MacroWasteBatch.class, id);
+ remove(MacroWasteBatch.class.getName(), id);
}
//------------------------------------------------------------------------//
@@ -712,47 +705,65 @@
@Override
public List<AccidentalBatch> getAllAccidentalBatch(String fishingOperationId) {
List<AccidentalBatch> result = getAllTraitFilterBatches(
- AccidentalBatch.class, fishingOperationId, null);
+ AccidentalBatch.class.getName(), fishingOperationId, null);
return result;
}
@Override
public AccidentalBatch getAccidentalBatch(String id) {
- AccidentalBatch result = getBean(AccidentalBatch.class, id);
+ AccidentalBatch result = getBean(AccidentalBatch.class.getName(), id);
return result;
}
@Override
public AccidentalBatch createAccidentalBatch(AccidentalBatch bean) {
- AccidentalBatch result = create(AccidentalBatch.class, bean);
+ AccidentalBatch result = create(AccidentalBatch.class.getName(), bean);
return result;
}
@Override
public AccidentalBatch saveAccidentalBatch(AccidentalBatch bean) {
- AccidentalBatch result = save(AccidentalBatch.class, bean);
+ AccidentalBatch result = save(AccidentalBatch.class.getName(), bean);
return result;
}
@Override
public void deleteAccidentalBatch(String id) {
- remove(AccidentalBatch.class, id);
+ remove(AccidentalBatch.class.getName(), id);
}
//------------------------------------------------------------------------//
//-- Internal methods --//
//------------------------------------------------------------------------//
- protected <B extends IdAware> Binder<B, B> getBinder(Class<B> type) {
+ protected <B> Class<B> getType(String type) {
+ String typeName = type;
+ int i = type.indexOf('#');
+ if (i > -1) {
+ typeName = type.substring(0, i);
+ }
+ try {
+ Class<B> result = (Class<B>) Class.forName(typeName);
+ return result;
+ } catch (Exception e) {
+ throw new RuntimeException("No class named " + typeName, e);
+ }
+ }
+
+ protected <B extends IdAware> Binder<B, B> getBinder(String type) {
+
Binder<B, B> result = (Binder<B, B>) binderCache.get(type);
if (result == null) {
- result = BinderFactory.newBinder(type);
+
+ Class<B> binderType = getType(type);
+
+ result = BinderFactory.newBinder(binderType);
binderCache.put(type, result);
}
return result;
}
- protected <B extends IdAware> void persist(Class<B> beanType,
+ protected <B extends IdAware> void persist(String beanType,
B source,
B target,
boolean synchFile) {
@@ -761,7 +772,7 @@
if (source.getId() == null) {
target.setId(UUID.randomUUID().toString());
}
- if (!cache.containsValue(target)) {
+ if (!cache.containsEntry(beanType, target)) {
cache.put(beanType, target);
}
if (synchFile) {
@@ -769,7 +780,7 @@
}
}
- protected <B extends IdAware> List<B> persistList(Class<B> beanType,
+ protected <B extends IdAware> List<B> persistList(String beanType,
List<B> existingData,
List<B> newData) {
@@ -790,7 +801,8 @@
if (TuttiEntities.isNew(source)) {
// must create it
- target = TuttiEntities.newEntity(beanType);
+ Class<B> type = getType(beanType);
+ target = TuttiEntities.newEntity(type);
} else {
// get existing data
@@ -826,9 +838,8 @@
return result;
}
- protected <B extends IdAware> List<B> loadEntities(Class<B> entityType,
- TuttiPersistenceDevFixtures fix
- ) throws IOException {
+ protected <B extends IdAware> List<B> loadEntities(String entityType,
+ TuttiPersistenceDevFixtures fix) throws IOException {
File storageFile = getStorageFile(entityType);
List<B> result;
@@ -864,7 +875,15 @@
return result;
}
- protected <B extends IdAware> List<B> loadEntities(Class<B> entityType,
+ public static String getKey(Class<?> type, String context) {
+ String key = type.getName();
+ if (context != null) {
+ key += '#' + context;
+ }
+ return key;
+ }
+
+ protected <B extends IdAware> List<B> loadEntities(String entityType,
List<B> defaultList) throws IOException {
File storageFile = getStorageFile(entityType);
@@ -898,14 +917,13 @@
return result;
}
- protected <B> File getStorageFile(Class<B> entityType) {
+ protected <B> File getStorageFile(String entityType) {
File storageDirectory = this.config.getStorageDirectory();
- File result = new File(storageDirectory,
- entityType.getSimpleName() + ".ser");
+ File result = new File(storageDirectory, entityType + ".ser");
return result;
}
- protected <B extends IdAware> void persistToFile(Class<B> entityType) {
+ public <B extends IdAware> void persistToFile(String entityType) {
List<B> entities = getDataInNewList(entityType);
File storageFile = getStorageFile(entityType);
@@ -929,61 +947,43 @@
}
}
- protected <B extends IdAware> List<B> getData(Class<B> entityType) {
+ protected <B extends IdAware> List<B> getData(String entityType) {
List<B> result = (List<B>) cache.get(entityType);
return result;
}
- protected <B extends IdAware> List<B> getDataInNewList(Class<B> entityType) {
+ protected <B extends IdAware> List<B> getDataInNewList(String entityType) {
List<B> result = getData(entityType);
return Lists.newArrayList(result);
}
protected <B extends FishingOperationAware> List<B> getAllTraitFilterBatches(
- Class<B> beanType,
+ String beanType,
String traitId,
Predicate<B> extraPredicate) {
Predicate<B> predicate = TuttiEntities.newTraitIdPredicate(traitId);
if (extraPredicate != null) {
predicate = Predicates.and(predicate, extraPredicate);
}
- List<B> result = Lists.newArrayList(Iterables.filter(getData(beanType), predicate));
+ List<B> data = getData(beanType);
+ List<B> result = Lists.newArrayList(Iterables.filter(data, predicate));
return result;
}
- protected List<Caracteristic> getAllCaracteristicByCategory(String categoryId) {
- Predicate<Caracteristic> predicate = TuttiEntities.newCaracteristicCategoryPredicate(categoryId);
- List<Caracteristic> result = Lists.newArrayList(Iterables.filter(getData(Caracteristic.class), predicate));
- return result;
- }
-
- protected Caracteristic getCaracteristicByCategory(String categoryId) {
- Predicate<Caracteristic> predicate = TuttiEntities.newCaracteristicCategoryPredicate(categoryId);
- List<Caracteristic> data = getData(Caracteristic.class);
- Caracteristic result = null;
- for (Caracteristic caracteristic : data) {
- if (predicate.apply(caracteristic)) {
- result = caracteristic;
- break;
- }
- }
- return result;
- }
-
- protected <B extends IdAware> B create(Class<B> type, B bean) {
+ protected <B extends IdAware> B create(String type, B bean) {
return create(type, bean, true);
}
- protected <B extends IdAware> B create(Class<B> type,
- B bean,
- boolean sychronize) {
+ public <B extends IdAware> B create(String type,
+ B bean,
+ boolean sychronize) {
Preconditions.checkNotNull(bean, "Can't persist a null bean");
B result = TuttiEntities.newEntity(bean);
persist(type, bean, result, sychronize);
return result;
}
- protected <B extends IdAware> B save(Class<B> type, B bean) {
+ protected <B extends IdAware> B save(String type, B bean) {
Preconditions.checkNotNull(bean, "Can't persist a null bean");
String id = bean.getId();
Preconditions.checkNotNull(id, "Can't save a bean with null id");
@@ -994,7 +994,7 @@
return result;
}
- protected <B extends IdAware> void remove(Class<B> type, String id) {
+ protected <B extends IdAware> void remove(String type, String id) {
Preconditions.checkNotNull(id, "Can't delete a null id");
B bean = getBean(type, id);
//FIXME tchemit Should never happen!
@@ -1008,8 +1008,9 @@
persistToFile(type);
}
- protected <B extends IdAware> B getBean(Class<B> type, String id) {
- B result = TuttiEntities.findById(getData(type), id);
+ protected <B extends IdAware> B getBean(String type, String id) {
+ List<B> data = getData(type);
+ B result = TuttiEntities.findById(data, id);
return result;
}
Added: trunk/tutti-persistence-dev/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceDevImpl.java
===================================================================
--- trunk/tutti-persistence-dev/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceDevImpl.java (rev 0)
+++ trunk/tutti-persistence-dev/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceDevImpl.java 2013-01-13 14:58:21 UTC (rev 184)
@@ -0,0 +1,225 @@
+package fr.ifremer.tutti.persistence.service;
+
+import com.google.common.collect.ArrayListMultimap;
+import com.google.common.collect.Lists;
+import fr.ifremer.tutti.persistence.entities.IdAware;
+import fr.ifremer.tutti.persistence.entities.TuttiEntities;
+import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
+import fr.ifremer.tutti.persistence.entities.referential.Country;
+import fr.ifremer.tutti.persistence.entities.referential.FishingOperationLocation;
+import fr.ifremer.tutti.persistence.entities.referential.Gear;
+import fr.ifremer.tutti.persistence.entities.referential.Person;
+import fr.ifremer.tutti.persistence.entities.referential.Species;
+import fr.ifremer.tutti.persistence.entities.referential.Vessel;
+import fr.ifremer.tutti.persistence.entities.referential.Zone;
+
+import java.util.List;
+
+import static fr.ifremer.tutti.persistence.TuttiPersistenceDevImpl.getKey;
+
+/**
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 0.3
+ */
+public class ReferentialPersistenceServiceDevImpl implements ReferentialPersistenceService {
+
+ public enum CaracteristicEnum {
+ Environment,
+ Gear,
+ Hydrology,
+ Length,
+ SizeCategory,
+ SexCategory,
+ SortedUnsortedCategory,
+ MaturityCategory,
+ MacroWasteCategory,
+ MacroWasteSizeCategory
+ }
+
+ /**
+ * Cache of data.
+ *
+ * @since 0.1
+ */
+ protected final ArrayListMultimap<String, IdAware> cache;
+
+ public ReferentialPersistenceServiceDevImpl(ArrayListMultimap<String, IdAware> cache) {
+ this.cache = cache;
+ }
+
+ @Override
+ public List<Species> getAllSpecies() {
+ List<Species> result = getDataInNewList(Species.class.getName());
+ return result;
+ }
+
+ @Override
+ public List<Species> getAllBenthosSpecies() {
+ List<Species> result = getDataInNewList(getKey(Species.class, "Benthos"));
+ return result;
+ }
+
+ @Override
+ public List<Species> getAllPlanktonSpecies() {
+ List<Species> result = getDataInNewList(getKey(Species.class, "Plankton"));
+ return result;
+ }
+
+ @Override
+ public Species getSpecies(String id) {
+ Species result = getBean(Species.class.getName(), id);
+ return result;
+ }
+
+ @Override
+ public List<Zone> getAllProgramZone() {
+ List<Zone> result = getDataInNewList(Zone.class.getName());
+ return result;
+ }
+
+ @Override
+ public List<Country> getAllCountry() {
+ List<Country> result = getDataInNewList(Country.class.getName());
+ return result;
+ }
+
+ @Override
+ public List<Vessel> getAllScientificVessel() {
+ List<Vessel> result = getDataInNewList(getKey(Vessel.class, "Scientific"));
+ return result;
+ }
+
+ @Override
+ public List<Vessel> getAllFishingVessel() {
+ List<Vessel> result = getDataInNewList(getKey(Vessel.class, "Fishing"));
+ return result;
+ }
+
+ @Override
+ public List<Gear> getAllScientificGear() {
+ List<Gear> result = getDataInNewList(getKey(Gear.class, "Scientific"));
+ return result;
+ }
+
+ @Override
+ public List<Gear> getAllFishingGear() {
+ List<Gear> result = getDataInNewList(getKey(Gear.class, "Fishing"));
+ return result;
+ }
+
+ @Override
+ public List<Person> getAllPerson() {
+ List<Person> result = getDataInNewList(Person.class.getName());
+ return result;
+ }
+
+ @Override
+ public List<FishingOperationLocation> getAllFishingOperationStrata(final String zoneId) {
+ List<FishingOperationLocation> result = getDataInNewList(getKey(FishingOperationLocation.class, "Strata"));
+ return result;
+ }
+
+ @Override
+ public List<FishingOperationLocation> getAllFishingOperationSubStrata(final String locationId) {
+ List<FishingOperationLocation> result = getDataInNewList(getKey(FishingOperationLocation.class, "SubStrata"));
+ return result;
+ }
+
+ @Override
+ public List<FishingOperationLocation> getAllFishingOperationLocation(final String locationId) {
+ List<FishingOperationLocation> result = getDataInNewList(getKey(FishingOperationLocation.class, "Localite"));
+ return result;
+ }
+
+ @Override
+ public List<Caracteristic> getAllFishingOperationEnvironmentCaracteristic() {
+ return getAllCaracteristic(CaracteristicEnum.Environment);
+ }
+
+ @Override
+ public List<Caracteristic> getAllFishingOperationGearCaracteristic() {
+ return getAllCaracteristic(CaracteristicEnum.Gear);
+ }
+
+ @Override
+ public List<Caracteristic> getAllFishingOperationHydrologicCaracteristic() {
+
+ List<Caracteristic> result = Lists.newArrayList();
+ //TODO Find a way to distinguish them... For the moment do not use it
+// result.addAll(getAllCaracteristic(CaracteristicEnum.Hydrology));
+ return result;
+ }
+
+ @Override
+ public List<Caracteristic> getAllSpeciesLengthStepCaracteristic() {
+ return getAllCaracteristic(CaracteristicEnum.Length);
+ }
+
+ @Override
+ public Caracteristic getSizeCategoryCaracteristic() {
+ return getCaracteristic(CaracteristicEnum.SizeCategory);
+ }
+
+ @Override
+ public Caracteristic getSexCaracteristic() {
+ return getCaracteristic(CaracteristicEnum.SexCategory);
+ }
+
+ @Override
+ public Caracteristic getSortedUnsortedCaracteristic() {
+ return getCaracteristic(CaracteristicEnum.SortedUnsortedCategory);
+ }
+
+ @Override
+ public Caracteristic getMaturityCaracteristic() {
+ return getCaracteristic(CaracteristicEnum.MaturityCategory);
+ }
+
+ @Override
+ public Caracteristic getMacroWasteCategoryCaracteristic() {
+ return getCaracteristic(CaracteristicEnum.MacroWasteCategory);
+ }
+
+ @Override
+ public Caracteristic getMacroWasteSizeCategoryCaracteristic() {
+ return getCaracteristic(CaracteristicEnum.MacroWasteSizeCategory);
+ }
+
+ @Override
+ public Vessel getVessel(String vesselCode) {
+ return getBean(Vessel.class.getName(), vesselCode);
+ }
+
+ @Override
+ public Person getPerson(Integer personId) {
+ return getBean(Person.class.getName(), personId.toString());
+ }
+
+
+ protected <B extends IdAware> List<B> getData(String entityType) {
+ List<B> result = (List<B>) cache.get(entityType);
+ return result;
+ }
+
+ protected <B extends IdAware> List<B> getDataInNewList(String entityType) {
+ List<B> result = getData(entityType);
+ return Lists.newArrayList(result);
+ }
+
+ protected <B extends IdAware> B getBean(String type, String id) {
+ List<B> data = getData(type);
+ B result = TuttiEntities.findById(data, id);
+ return result;
+ }
+
+ protected List<Caracteristic> getAllCaracteristic(CaracteristicEnum categoryId) {
+ List<Caracteristic> result = getData(getKey(Caracteristic.class, categoryId.name()));
+ return result;
+ }
+
+ protected Caracteristic getCaracteristic(CaracteristicEnum categoryId) {
+ List<Caracteristic> data = getData(getKey(Caracteristic.class, categoryId.name()));
+ Caracteristic result = data.get(0);
+ return result;
+ }
+}
Property changes on: trunk/tutti-persistence-dev/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceDevImpl.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Modified: trunk/tutti-persistence-dev/src/test/java/fr/ifremer/tutti/persistence/TuttiPersistenceDevImplTest.java
===================================================================
--- trunk/tutti-persistence-dev/src/test/java/fr/ifremer/tutti/persistence/TuttiPersistenceDevImplTest.java 2013-01-12 18:02:10 UTC (rev 183)
+++ trunk/tutti-persistence-dev/src/test/java/fr/ifremer/tutti/persistence/TuttiPersistenceDevImplTest.java 2013-01-13 14:58:21 UTC (rev 184)
@@ -98,7 +98,7 @@
Assert.assertTrue(storageDirectory.exists());
TuttiPersistenceDevFixtures fixtures = new TuttiPersistenceDevFixtures();
- Assert.assertEquals(fixtures.getData(Country.class).size(),
+ Assert.assertEquals(fixtures.getData(Country.class.getName()).size(),
persistence.getAllCountry().size());
}
@@ -112,12 +112,12 @@
persistence.open();
TuttiPersistenceDevFixtures fixtures = new TuttiPersistenceDevFixtures();
- Assert.assertEquals(fixtures.getData(Country.class).size(),
+ Assert.assertEquals(fixtures.getData(Country.class.getName()).size(),
persistence.getAllCountry().size());
persistence.close();
Assert.assertTrue(storageDirectory.exists());
- Assert.assertEquals(fixtures.getData(Country.class).size(),
+ Assert.assertEquals(fixtures.getData(Country.class.getName()).size(),
persistence.getAllCountry().size());
}
Modified: trunk/tutti-ui-swing/src/license/THIRD-PARTY.properties
===================================================================
--- trunk/tutti-ui-swing/src/license/THIRD-PARTY.properties 2013-01-12 18:02:10 UTC (rev 183)
+++ trunk/tutti-ui-swing/src/license/THIRD-PARTY.properties 2013-01-13 14:58:21 UTC (rev 184)
@@ -1,7 +1,7 @@
# Generated by org.codehaus.mojo.license.AddThirdPartyMojo
#-------------------------------------------------------------------------------
# Already used licenses in project :
-# - Apache License
+# - Affero General Public License (AGPL)
# - BSD License
# - BSD-3 Clause License
# - COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0
@@ -26,9 +26,8 @@
# Please fill the missing licenses for dependencies :
#
#
-#Mon Jan 07 22:45:28 CET 2013
+#Sun Jan 13 15:29:41 CET 2013
antlr--antlr--2.7.6=BSD License
-commons-codec--commons-codec--1.2=The Apache Software License, Version 2.0
commons-primitives--commons-primitives--1.0=The Apache Software License, Version 2.0
dom4j--dom4j--1.6.1=BSD License
javax.transaction--jta--1.1=COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUIHandler.java 2013-01-12 18:02:10 UTC (rev 183)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUIHandler.java 2013-01-13 14:58:21 UTC (rev 184)
@@ -199,11 +199,17 @@
List<Gear> newGearList = getGearList(vesselType);
// compute new selected vessel list
- List<Vessel> newSelectedVessel = Lists.newArrayList(selectedVessel);
+ List<Vessel> newSelectedVessel = Lists.newArrayList();
+ if (selectedVessel!=null) {
+ newSelectedVessel.addAll(selectedVessel);
+ }
newSelectedVessel.retainAll(newVesselList);
// compute new selected gear list
- List<Gear> newSelectedGear = Lists.newArrayList(selectedGear);
+ List<Gear> newSelectedGear = Lists.newArrayList();
+ if (selectedGear!=null) {
+ newSelectedGear.addAll(selectedGear);
+ }
newSelectedGear.retainAll(newGearList);
// reinit vessel list
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel.java 2013-01-12 18:02:10 UTC (rev 183)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel.java 2013-01-13 14:58:21 UTC (rev 184)
@@ -32,14 +32,15 @@
import fr.ifremer.tutti.persistence.entities.referential.Person;
import fr.ifremer.tutti.persistence.spatial.SexagecimalPosition;
import fr.ifremer.tutti.ui.swing.AbstractTuttiBeanUIModel;
+import org.nuiton.util.beans.Binder;
+import org.nuiton.util.beans.BinderFactory;
+
import java.util.Calendar;
import java.util.Date;
import java.util.List;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.nuiton.util.beans.Binder;
-import org.nuiton.util.beans.BinderFactory;
+import static org.nuiton.i18n.I18n.n_;
+
/**
* Model for UI {@link EditFishingOperationUI}.
*
@@ -48,12 +49,11 @@
*/
public class EditFishingOperationUIModel extends AbstractTuttiBeanUIModel<FishingOperation, EditFishingOperationUIModel> {
- private static final Log log = LogFactory.getLog(EditFishingOperationUIModel.class);
-
private static final long serialVersionUID = 1L;
-
- public static final String TITLE = "tutti.label.tab.fishingOperation.general";
+ public static final String TITLE =
+ n_("tutti.label.tab.fishingOperation.general");
+
public static final String PROPERTY_PERSISTED = "persisted";
public static final String PROPERTY_EMPTY = "empty";
@@ -187,11 +187,11 @@
gearShootingEndLatitudeAsSexagecimal = SexagecimalPosition.valueOf(gearShootingEndLatitude);
gearShootingEndLongitudeAsSexagecimal = SexagecimalPosition.valueOf(gearShootingEndLongitude);
}
-
+
public String getTitle() {
return TITLE;
}
-
+
public FishingOperation getFishingOperation() {
return fishingOperation;
}
@@ -556,7 +556,10 @@
public void setSaisisseur(List<Person> saisisseur) {
Object oldValue = Lists.newArrayList(getSaisisseur());
- this.saisisseur = Lists.newArrayList(saisisseur);
+ this.saisisseur = Lists.newArrayList();
+ if (saisisseur != null) {
+ this.saisisseur.addAll(saisisseur);
+ }
firePropertyChange(PROPERTY_SAISISSEUR, oldValue, saisisseur);
}
Modified: trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel-edit-error-validation.xml
===================================================================
--- trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel-edit-error-validation.xml 2013-01-12 18:02:10 UTC (rev 183)
+++ trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel-edit-error-validation.xml 2013-01-13 14:58:21 UTC (rev 184)
@@ -29,7 +29,7 @@
<field name="stationNumber">
- <field-validator type="required" short-circuit="true">
+ <field-validator type="requiredstring" short-circuit="true">
<message>
tutti.validator.error.fishingOperation.stationNumber.required
</message>
Modified: trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel-validate-error-validation.xml
===================================================================
--- trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel-validate-error-validation.xml 2013-01-12 18:02:10 UTC (rev 183)
+++ trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel-validate-error-validation.xml 2013-01-13 14:58:21 UTC (rev 184)
@@ -29,7 +29,7 @@
<field name="stationNumber">
- <field-validator type="required" short-circuit="true">
+ <field-validator type="requiredstring" short-circuit="true">
<message>
tutti.validator.error.fishingOperation.stationNumber.required
</message>
1
0
r183 - in trunk: tutti-persistence-dev/src/main/java/fr/ifremer/tutti/persistence tutti-service/src/main/java/fr/ifremer/tutti/service tutti-ui-swing tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol
by tchemit@users.forge.codelutin.com 12 Jan '13
by tchemit@users.forge.codelutin.com 12 Jan '13
12 Jan '13
Author: tchemit
Date: 2013-01-12 19:02:10 +0100 (Sat, 12 Jan 2013)
New Revision: 183
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/183
Log:
- fix jar classpath (bug with snapshot unique version)
- fix adagio persistence driver usage
- reformat license header
Modified:
trunk/tutti-persistence-dev/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceDevImpl.java
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java
trunk/tutti-ui-swing/pom.xml
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.jaxx
Modified: trunk/tutti-persistence-dev/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceDevImpl.java
===================================================================
--- trunk/tutti-persistence-dev/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceDevImpl.java 2013-01-12 18:00:27 UTC (rev 182)
+++ trunk/tutti-persistence-dev/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceDevImpl.java 2013-01-12 18:02:10 UTC (rev 183)
@@ -71,7 +71,6 @@
import java.io.ObjectOutputStream;
import java.util.List;
import java.util.Map;
-import java.util.Properties;
import java.util.ServiceLoader;
import java.util.Set;
import java.util.UUID;
@@ -157,7 +156,6 @@
return "Persistence Dev implementation";
}
- @Override
public void open() throws IOException {
Preconditions.checkNotNull(config, " No config property setted");
@@ -178,7 +176,6 @@
}
}
- @Override
public void close() throws IOException {
if (log.isInfoEnabled()) {
@@ -191,10 +188,6 @@
}
}
- @Override
- public void setEnumerations(Properties dbEnumerations) {
- }
-
//------------------------------------------------------------------------//
//-- Referential methods --//
//------------------------------------------------------------------------//
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-01-12 18:00:27 UTC (rev 182)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java 2013-01-12 18:02:10 UTC (rev 183)
@@ -46,15 +46,14 @@
import fr.ifremer.tutti.persistence.entities.referential.Species;
import fr.ifremer.tutti.persistence.entities.referential.Vessel;
import fr.ifremer.tutti.persistence.entities.referential.Zone;
+import fr.ifremer.tutti.persistence.service.TuttiPersistenceServiceLocator;
+import org.apache.commons.io.IOUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.util.ApplicationConfig;
-import org.springframework.context.ApplicationContext;
-import org.springframework.context.support.ClassPathXmlApplicationContext;
import java.io.IOException;
import java.util.List;
-import java.util.Properties;
/**
* Persistence service.
@@ -130,22 +129,11 @@
// can now instanciate Spring context
- ApplicationContext springContext = new ClassPathXmlApplicationContext(
- "applicationContext-conf.xml",
- "applicationContext-dataSource-local.xml",
- "applicationContext-entities.xml",
- "applicationContext-service-tutti.xml"
- );
+ driver = TuttiPersistenceServiceLocator.getPersistenceService();
- driver = (TuttiPersistence) springContext.getBean("adagioPersistenceService");
-
if (log.isInfoEnabled()) {
log.info("Will open persistence driver " + driver.getImplementationName());
}
-
- Properties enumerations = driverConfig.getDbEnumerations();
- driver.setEnumerations(enumerations);
- driver.open();
}
@@ -157,23 +145,15 @@
if (log.isInfoEnabled()) {
log.info("Will close persistence Service " + getImplementationName());
}
- try {
- driver.close();
- } finally {
- devDriver.close();
- }
+ IOUtils.closeQuietly(devDriver);
+ IOUtils.closeQuietly(driver);
}
- @Override
- public void setEnumerations(Properties dbEnumerations) {
- }
-
//------------------------------------------------------------------------//
//-- Referential methods --//
//------------------------------------------------------------------------//
-
@Override
public List<Vessel> getAllScientificVessel() {
return devDriver.getAllScientificVessel();
Modified: trunk/tutti-ui-swing/pom.xml
===================================================================
--- trunk/tutti-ui-swing/pom.xml 2013-01-12 18:00:27 UTC (rev 182)
+++ trunk/tutti-ui-swing/pom.xml 2013-01-12 18:02:10 UTC (rev 183)
@@ -185,7 +185,7 @@
<configuration>
<archive>
<manifest>
- <useUniqueVersions>true</useUniqueVersions>
+ <useUniqueVersions>false</useUniqueVersions>
<addClasspath>true</addClasspath>
<classpathPrefix>./lib/</classpathPrefix>
</manifest>
@@ -232,10 +232,10 @@
<version>3.5.0</version>
</dependency-->
- <dependency>
+ <!--dependency>
<groupId>fr.ird</groupId>
<artifactId>msaccess-importer</artifactId>
- </dependency>
+ </dependency-->
<dependency>
<groupId>org.nuiton</groupId>
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.jaxx 2013-01-12 18:00:27 UTC (rev 182)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.jaxx 2013-01-12 18:02:10 UTC (rev 183)
@@ -16,10 +16,10 @@
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-You should have received a copy of the GNU General Public
-License along with this program. If not, see
-<http://www.gnu.org/licenses/gpl-3.0.html>.
-#L%
+ You should have received a copy of the GNU General Public
+ License along with this program. If not, see
+ <http://www.gnu.org/licenses/gpl-3.0.html>.
+ #L%
-->
<JPanel id='homePanel' layout='{new BorderLayout()}'
implements='fr.ifremer.tutti.ui.swing.TuttiUI<EditProtocolUIModel, EditProtocolUIHandler>'>
@@ -157,4 +157,4 @@
<JButton id='saveButton' onActionPerformed='handler.save()'/>
</JPanel>
-</JPanel>
\ No newline at end of file
+</JPanel>
1
0
r182 - trunk/tutti-persistence-adagio/src/test/resources
by tchemit@users.forge.codelutin.com 12 Jan '13
by tchemit@users.forge.codelutin.com 12 Jan '13
12 Jan '13
Author: tchemit
Date: 2013-01-12 19:00:27 +0100 (Sat, 12 Jan 2013)
New Revision: 182
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/182
Log:
fix test configuration
Modified:
trunk/tutti-persistence-adagio/src/test/resources/tutti-test.properties
Modified: trunk/tutti-persistence-adagio/src/test/resources/tutti-test.properties
===================================================================
--- trunk/tutti-persistence-adagio/src/test/resources/tutti-test.properties 2013-01-12 17:59:34 UTC (rev 181)
+++ trunk/tutti-persistence-adagio/src/test/resources/tutti-test.properties 2013-01-12 18:00:27 UTC (rev 182)
@@ -21,5 +21,5 @@
# <http://www.gnu.org/licenses/gpl-3.0.html>.
# #L%
###
-#tutti.persistence.jdbc.url=jdbc:hsqldb:file:src/test/db/allegro
-tutti.persistence.jdbc.url=jdbc:hsqldb:hsql://localhost/allegro
\ No newline at end of file
+tutti.persistence.jdbc.url=jdbc:hsqldb:file:src/test/db/allegro
+#tutti.persistence.jdbc.url=jdbc:hsqldb:hsql://localhost/allegro
\ No newline at end of file
1
0
r181 - in trunk/tutti-persistence-adagio: . src/main/java/fr/ifremer/tutti/persistence src/main/java/fr/ifremer/tutti/persistence/service src/main/resources src/main/site/rst src/test/java/fr/ifremer/tutti/persistence src/test/java/fr/ifremer/tutti/persistence/service src/test/resources
by tchemit@users.forge.codelutin.com 12 Jan '13
by tchemit@users.forge.codelutin.com 12 Jan '13
12 Jan '13
Author: tchemit
Date: 2013-01-12 18:59:34 +0100 (Sat, 12 Jan 2013)
New Revision: 181
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/181
Log:
- refs #1807: [Persistence] Adagio r?\195?\169f?\195?\169rentiel (implements new service)
- improve Spring usage (add a ServiceLocator)
- add request doc
- improve tests
Added:
trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/TuttiEnumerationFile.java
trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/
trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java
trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/TuttiPersistenceServiceLocator.java
trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/service/
trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceTest.java
Removed:
trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/ReferentialTest.java
Modified:
trunk/tutti-persistence-adagio/pom.xml
trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceAdagioImpl.java
trunk/tutti-persistence-adagio/src/main/resources/applicationContext-service-tutti.xml
trunk/tutti-persistence-adagio/src/main/resources/beanRefFactory.xml
trunk/tutti-persistence-adagio/src/main/resources/queries-override.hbm.xml
trunk/tutti-persistence-adagio/src/main/resources/tutti-db-enumerations.properties
trunk/tutti-persistence-adagio/src/main/site/rst/referential.rst
trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/CruiseTest.java
trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/DatabaseResource.java
trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/ProgramTest.java
trunk/tutti-persistence-adagio/src/test/resources/tutti-test.properties
Modified: trunk/tutti-persistence-adagio/pom.xml
===================================================================
--- trunk/tutti-persistence-adagio/pom.xml 2013-01-12 17:57:25 UTC (rev 180)
+++ trunk/tutti-persistence-adagio/pom.xml 2013-01-12 17:59:34 UTC (rev 181)
@@ -57,14 +57,12 @@
<artifactId>nuiton-utils</artifactId>
</dependency>
- <!--dependency>
+ <dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
-
-
- <dependency>
+ <!--dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</dependency-->
@@ -84,16 +82,18 @@
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
</dependency>
+
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-beans</artifactId>
+ </dependency>
<!--dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
</dependency>
+
<dependency>
<groupId>org.springframework</groupId>
- <artifactId>spring-beans</artifactId>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
</dependency>
<dependency>
Added: trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/TuttiEnumerationFile.java
===================================================================
--- trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/TuttiEnumerationFile.java (rev 0)
+++ trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/TuttiEnumerationFile.java 2013-01-12 17:59:34 UTC (rev 181)
@@ -0,0 +1,156 @@
+package fr.ifremer.tutti.persistence;
+
+/*
+ * #%L
+ * Tutti :: Persistence Adagio (impl)
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 - 2013 Ifremer
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
+import com.google.common.base.Preconditions;
+import org.springframework.beans.factory.annotation.Value;
+
+/**
+ * Contains all constants usablevia the enumeration file.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 0.3
+ */
+public class TuttiEnumerationFile {
+
+ @Value("${GearClassificationId.SCIENTIFIC_CRUISE}")
+ public final Integer GEAR_CLASSIFICIATION_ID_SCIENTIFIC = null;
+
+ @Value("${GearClassificationId.FAO}")
+ public final Integer GEAR_CLASSIFICIATION_ID_FISHING = null;
+
+ @Value("${LocationLevelId.PAYS_ISO3}")
+ public final Integer LOCATION_LEVEL_ID_COUNTRY = null;
+
+ @Value("${LocationLevelId.LOCALITE}")
+ public final Integer LOCATION_LEVEL_ID_LOCALITE = null;
+
+ @Value("${LocationLevelId.PROGRAM}")
+ public final Integer LOCATION_LEVEL_ID_PROGRAMM = null;
+
+ @Value("${LocationLevelId.STRATA}")
+ public final Integer LOCATION_LEVEL_ID_STRATA = null;
+
+ @Value("${LocationLevelId.SUBSTRATA}")
+ public final Integer LOCATION_LEVEL_ID_SUB_STRATA = null;
+
+ @Value("${MatrixId.GEAR}")
+ public final Integer MATRIX_ID_GEAR = null;
+
+ @Value("${MatrixId.INDIVIDUAL}")
+ public final Integer MATRIX_ID_INDIVIDUAL = null;
+
+ @Value("${MethodId.DECLARATION}")
+ public final Integer METHOD_ID_DECLARATION = null;
+
+ @Value("${ParameterCode.AGE}")
+ public final String PARAMETER_CODE_AGE = null;
+
+ @Value("${ParameterCode.WEIGHT}")
+ public final String PARAMETER_CODE_WEIGHT = null;
+
+ @Value("${ParameterGroupId.ENVIRONEMENT_MEASUREMENT}")
+ public final Integer PARAMETER_GROUP_ENVIRONEMENT_MEASUREMENT = null;
+
+ @Value("${ParameterGroupId.HYDROLOGIC_MEASUREMENT}")
+ public final Integer PARAMETER_GROUP_HYDROLOGIC = null;
+
+ @Value("${PmfmId.SIZE_CATEGORY}")
+ public final Integer PMFM_ID_SIZE_CATEGORY = null;
+
+ @Value("${PmfmId.SEX}")
+ public final Integer PMFM_ID_SEX = null;
+
+ @Value("${PmfmId.SORTED_UNSORTED}")
+ public final Integer PMFM_ID_SORTED_UNSORTED = null;
+
+ @Value("${PmfmId.MATURITY}")
+ public final Integer PMFM_ID_MATURITY = null;
+
+ @Value("${PmfmId.MACRO_WASTE_CATEGORY}")
+ public final Integer PMFM_ID_MACRO_WASTE_CATEGORY = null;
+
+ @Value("${PmfmId.MACRO_WASTE_SIZE_CATEGORY}")
+ public final Integer PMFM_ID_MACRO_WASTE_SIZE_CATEGORY = null;
+
+ @Value("${UnitId.NONE}")
+ public final Integer UNIT_ID_NONE = null;
+
+ @Value("${UserProfilId.OBSERVER}")
+ public final Integer USER_PROFIL_ID_OBSERVER = null;
+
+ @Value("${UserProfilId.PROJECT_MEMBER}")
+ public final Integer USER_PROFIL_ID_PROJECT_MEMBER = null;
+
+ @Value("${UserProfilId.USER}")
+ public final Integer USER_PROFIL_ID_USER = null;
+
+ @Value("${VesselTypeId.SCIENTIFIC_RESEARCH_VESSEL}")
+ public final Integer VESSEL_TYPE_ID_SCIENTIFIC = null;
+
+ @Value("${VesselTypeId.FISHING_VESSEL}")
+ public final Integer VESSEL_TYPE_ID_FISHING = null;
+
+ @Value("${LocationLevelId.RECTANGLE_STATISTIQUE_MED}")
+ public final Integer RECTANGLE_STATISTIQUE_MED = null;
+
+ @Value("${StatusCode.ENABLE}")
+ public final Integer STATUS_VALID_CODE = null;
+
+ @Value("${StatusCode.TEMPORARY}")
+ public final Integer STATUS_TEMPORARY_CODE = null;
+
+ public void init() {
+ Preconditions.checkNotNull(GEAR_CLASSIFICIATION_ID_SCIENTIFIC, "GEAR_CLASSIFICIATION_ID_SCIENTIFIC constant not found");
+ Preconditions.checkNotNull(GEAR_CLASSIFICIATION_ID_FISHING, "GEAR_CLASSIFICIATION_ID_FISHING constant not found");
+ Preconditions.checkNotNull(LOCATION_LEVEL_ID_COUNTRY, "LOCATION_LEVEL_ID_COUNTRY constant not found");
+ Preconditions.checkNotNull(LOCATION_LEVEL_ID_LOCALITE, "LOCATION_LEVEL_ID_LOCALITE constant not found");
+ Preconditions.checkNotNull(LOCATION_LEVEL_ID_PROGRAMM, "LOCATION_LEVEL_ID_PROGRAMM constant not found");
+ Preconditions.checkNotNull(LOCATION_LEVEL_ID_STRATA, "LOCATION_LEVEL_ID_STRATA constant not found");
+ Preconditions.checkNotNull(LOCATION_LEVEL_ID_SUB_STRATA, "LOCATION_LEVEL_ID_SUB_STRATA constant not found");
+ Preconditions.checkNotNull(MATRIX_ID_GEAR, "MATRIX_ID_GEAR constant not found");
+ Preconditions.checkNotNull(MATRIX_ID_INDIVIDUAL, "MATRIX_ID_INDIVIDUAL constant not found");
+ Preconditions.checkNotNull(METHOD_ID_DECLARATION, "METHOD_ID_DECLARATION constant not found");
+ Preconditions.checkNotNull(PARAMETER_CODE_AGE, "PARAMETER_CODE_AGE constant not found");
+ Preconditions.checkNotNull(PARAMETER_CODE_WEIGHT, "PARAMETER_CODE_WEIGHT constant not found");
+ Preconditions.checkNotNull(PARAMETER_GROUP_ENVIRONEMENT_MEASUREMENT, "PARAMETER_GROUP_ENVIRONEMENT_MEASUREMENT constant not found");
+ Preconditions.checkNotNull(PARAMETER_GROUP_HYDROLOGIC, "PARAMETER_GROUP_HYDROLOGIC constant not found");
+ Preconditions.checkNotNull(PMFM_ID_SIZE_CATEGORY, "PMFM_ID_SIZE_CATEGORY constant not found");
+ Preconditions.checkNotNull(PMFM_ID_SEX, "PMFM_ID_SEX constant not found");
+ Preconditions.checkNotNull(PMFM_ID_SORTED_UNSORTED, "PMFM_ID_SORTED_UNSORTED constant not found");
+ Preconditions.checkNotNull(PMFM_ID_MATURITY, "PMFM_ID_MATURITY constant not found");
+ Preconditions.checkNotNull(PMFM_ID_MACRO_WASTE_CATEGORY, "PMFM_ID_MACRO_WASTE_CATEGORY constant not found");
+ Preconditions.checkNotNull(PMFM_ID_MACRO_WASTE_SIZE_CATEGORY, "PMFM_ID_MACRO_WASTE_SIZE_CATEGORY constant not found");
+ Preconditions.checkNotNull(UNIT_ID_NONE, "UNIT_ID_NONE constant not found");
+ Preconditions.checkNotNull(USER_PROFIL_ID_OBSERVER, "USER_PROFIL_ID_OBSERVER constant not found");
+ Preconditions.checkNotNull(USER_PROFIL_ID_PROJECT_MEMBER, "USER_PROFIL_ID_PROJECT_MEMBER constant not found");
+ Preconditions.checkNotNull(USER_PROFIL_ID_USER, "USER_PROFIL_ID_USER constant not found");
+ Preconditions.checkNotNull(VESSEL_TYPE_ID_SCIENTIFIC, "VESSEL_TYPE_ID_SCIENTIFIC constant not found");
+ Preconditions.checkNotNull(VESSEL_TYPE_ID_FISHING, "VESSEL_TYPE_ID_FISHING constant not found");
+ Preconditions.checkNotNull(RECTANGLE_STATISTIQUE_MED, "LocationLevelId.RECTANGLE_STATISTIQUE_MED constant not found");
+ Preconditions.checkNotNull(STATUS_VALID_CODE, "StatusCode.ENABLE constant not found");
+ Preconditions.checkNotNull(STATUS_TEMPORARY_CODE, "StatusCode.TEMPORARY constant not found");
+ }
+}
Property changes on: trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/TuttiEnumerationFile.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceAdagioImpl.java
===================================================================
--- trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceAdagioImpl.java 2013-01-12 17:57:25 UTC (rev 180)
+++ trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceAdagioImpl.java 2013-01-12 17:59:34 UTC (rev 181)
@@ -37,25 +37,24 @@
import fr.ifremer.tutti.persistence.entities.data.SpeciesBatch;
import fr.ifremer.tutti.persistence.entities.data.SpeciesBatchFrequency;
import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol;
-import fr.ifremer.tutti.persistence.entities.referential.AbstractTuttiReferentialEntity;
import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
-import fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativeValue;
import fr.ifremer.tutti.persistence.entities.referential.Country;
import fr.ifremer.tutti.persistence.entities.referential.FishingOperationLocation;
import fr.ifremer.tutti.persistence.entities.referential.Gear;
import fr.ifremer.tutti.persistence.entities.referential.Person;
import fr.ifremer.tutti.persistence.entities.referential.Species;
-import fr.ifremer.tutti.persistence.entities.referential.Status;
import fr.ifremer.tutti.persistence.entities.referential.Vessel;
import fr.ifremer.tutti.persistence.entities.referential.Zone;
+import fr.ifremer.tutti.persistence.service.ReferentialPersistenceService;
+import fr.ifremer.tutti.persistence.service.TuttiPersistenceServiceLocator;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.hibernate.Query;
import org.hibernate.SessionFactory;
-import org.hibernate.type.DateType;
import org.hibernate.type.IntegerType;
import org.hibernate.type.StringType;
import org.hibernate.type.Type;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
@@ -63,13 +62,11 @@
import java.util.Date;
import java.util.Iterator;
import java.util.List;
-import java.util.Properties;
/**
* @author tchemit <chemit(a)codelutin.com>
* @since 0.2
*/
-//@TransactionConfiguration(transactionManager = "transactionManager")
@Transactional(readOnly = true)
public class TuttiPersistenceAdagioImpl implements TuttiPersistence {
@@ -82,21 +79,18 @@
*
* @since 0.3
*/
+ @Autowired(required = true)
protected SessionFactory sessionFactory;
@Resource(name = "programDao")
protected ProgramDao programDao;
- protected Properties enumerations;
+ @Autowired(required = true)
+ protected ReferentialPersistenceService referentielService;
- public void setSessionFactory(SessionFactory sessionFactory) {
- this.sessionFactory = sessionFactory;
- }
+ @Autowired(required = true)
+ protected TuttiEnumerationFile enumeration;
- public void setEnumerations(Properties enumerations) {
- this.enumerations = enumerations;
- }
-
@Override
public String getImplementationName() {
return "Persistence Adagio implementation";
@@ -104,8 +98,9 @@
@Override
public void open() throws IOException {
- Preconditions.checkNotNull(sessionFactory, " No sessionFactory property setted");
- Preconditions.checkNotNull(enumerations, " No enumerations property setted");
+ if (log.isInfoEnabled()) {
+ log.info("Open persistence driver " + getImplementationName());
+ }
}
@Override
@@ -114,8 +109,7 @@
if (log.isInfoEnabled()) {
log.info("Close persistence driver " + getImplementationName());
}
-
- sessionFactory.close();
+ TuttiPersistenceServiceLocator.close();
}
//------------------------------------------------------------------------//
@@ -124,322 +118,127 @@
@Override
public List<Zone> getAllProgramZone() {
- Iterator<Object[]> list = queryList(
- "allProgramZones",
- "locationLevelId", IntegerType.INSTANCE, getEnumerationIntegerCode("LocationLevelId.PROGRAM"));
-
- List<Zone> result = Lists.newArrayList();
- while (list.hasNext()) {
- Object[] source = list.next();
- Zone target = new Zone();
- target.setId((String) source[0]);
- target.setName((String) source[1]);
- target.setDescription((String) source[2]);
- setStatus((fr.ifremer.adagio.core.dao.referential.Status) source[3], target);
- result.add(target);
- }
- return result;
+ return referentielService.getAllProgramZone();
}
@Override
public List<Country> getAllCountry() {
- Iterator<Object[]> list = queryList(
- "allCountries",
- "locationLevelId", IntegerType.INSTANCE, getEnumerationIntegerCode("LocationLevelId.PAYS_ISO3"));
-
- List<Country> result = Lists.newArrayList();
- while (list.hasNext()) {
- Object[] source = list.next();
- Country target = new Country();
- target.setId(String.valueOf(source[0]));
- target.setName((String) source[1]);
- target.setDescription((String) source[2]);
- setStatus((fr.ifremer.adagio.core.dao.referential.Status) source[3], target);
- result.add(target);
- }
- return result;
+ return referentielService.getAllCountry();
}
@Override
public List<Vessel> getAllScientificVessel() {
-
- Iterator<Object[]> list = queryList(
- "allVessels",
- "refDate", DateType.INSTANCE, new Date(),
- "vesselTypeId", IntegerType.INSTANCE, getEnumerationIntegerCode("VesselTypeId.SCIENTIFIC_RESEARCH_VESSEL"));
-
- List<Vessel> result = Lists.newArrayList();
- while (list.hasNext()) {
- Object[] source = list.next();
- Vessel target = loadVessel(source);
- result.add(target);
- }
- return result;
+ return referentielService.getAllScientificVessel();
}
@Override
public List<Vessel> getAllFishingVessel() {
- Iterator<Object[]> list = queryList(
- "allVessels",
- "refDate", DateType.INSTANCE, new Date(),
- "vesselTypeId", IntegerType.INSTANCE, getEnumerationIntegerCode("VesselTypeId.FISHING_VESSEL"));
-
- List<Vessel> result = Lists.newArrayList();
- while (list.hasNext()) {
- Object[] source = list.next();
- Vessel target = loadVessel(source);
- result.add(target);
- }
- return result;
+ return referentielService.getAllFishingVessel();
}
@Override
- public List<Gear> getAllScientificGear() {
-
- Iterator<Object[]> sources = queryList(
- "allGears",
- "gearClassificiationId", IntegerType.INSTANCE, getEnumerationIntegerCode("GearClassificationId.SCIENTIFIC_CRUISE"));
- List<Gear> result = Lists.newArrayList();
- while (sources.hasNext()) {
- Object[] source = sources.next();
- Gear target = loadGear(source);
- result.add(target);
- }
- return result;
+ public List<Species> getAllSpecies() {
+ return referentielService.getAllSpecies();
}
@Override
- public List<Gear> getAllFishingGear() {
- Iterator<Object[]> sources = queryList(
- "allGears",
- "gearClassificiationId", IntegerType.INSTANCE, getEnumerationIntegerCode("GearClassificationId.FAO"));
- List<Gear> result = Lists.newArrayList();
- while (sources.hasNext()) {
- Object[] source = sources.next();
- Gear target = loadGear(source);
- result.add(target);
- }
- return result;
+ public List<Species> getAllBenthosSpecies() {
+ return referentielService.getAllBenthosSpecies();
}
@Override
- public List<Person> getAllPerson() {
- Iterator<Object[]> list = queryList(
- "allPersons",
- "observerProfilId", IntegerType.INSTANCE, getEnumerationIntegerCode("UserProfilId.OBSERVER"),
- "projectMemberProfilId", IntegerType.INSTANCE, getEnumerationIntegerCode("UserProfilId.PROJECT_MEMBER"),
- "userProfilId", IntegerType.INSTANCE, getEnumerationIntegerCode("UserProfilId.USER")
- );
-
- List<Person> result = Lists.newArrayList();
- while (list.hasNext()) {
- Object[] source = list.next();
- Person target = loadPerson(source);
- result.add(target);
- }
- return result;
+ public List<Species> getAllPlanktonSpecies() {
+ return referentielService.getAllPlanktonSpecies();
}
@Override
- public List<Species> getAllSpecies() {
- Iterator<Object[]> sources = queryList(
- "allSpecies",
- "taxonGroupCode", IntegerType.INSTANCE, getEnumerationIntegerCode("TaxonGroupTypeCode.METIER_SPECIES"));
-
- List<Species> result = Lists.newArrayList();
- while (sources.hasNext()) {
- Object[] source = sources.next();
- Species target = loadSpecies(source);
- result.add(target);
- }
- return result;
+ public Species getSpecies(String speciesId) {
+ return referentielService.getSpecies(speciesId);
}
@Override
- public Species getSpecies(String speciesId) {
- Object[] source = queryUnique("species",
- "taxonGroupCode", IntegerType.INSTANCE, Integer.valueOf(speciesId));
-
- Species target = loadSpecies(source);
- return target;
+ public List<FishingOperationLocation> getAllFishingOperationStrata(String zoneId) {
+ return referentielService.getAllFishingOperationStrata(zoneId);
}
@Override
- public List<Species> getAllBenthosSpecies() {
- Iterator<Object[]> sources = queryList(
- "allBenthosSpecies",
- "taxonGroupCode", IntegerType.INSTANCE, getEnumerationIntegerCode("TaxonGroupTypeCode.METIER_SPECIES"));
-
- List<Species> result = Lists.newArrayList();
- while (sources.hasNext()) {
- Object[] source = sources.next();
- Species target = loadSpecies(source);
- result.add(target);
- }
- return result;
+ public List<FishingOperationLocation> getAllFishingOperationSubStrata(String locationId) {
+ return referentielService.getAllFishingOperationSubStrata(locationId);
}
@Override
- public List<Species> getAllPlanktonSpecies() {
- Iterator<Object[]> sources = queryList(
- "allPlanktonSpecies",
- "taxonGroupCode", IntegerType.INSTANCE, getEnumerationIntegerCode("TaxonGroupTypeCode.METIER_SPECIES"));
-
- List<Species> result = Lists.newArrayList();
- while (sources.hasNext()) {
- Object[] source = sources.next();
- Species target = loadSpecies(source);
- result.add(target);
- }
- return result;
+ public List<FishingOperationLocation> getAllFishingOperationLocation(String locationId) {
+ return referentielService.getAllFishingOperationLocation(locationId);
}
@Override
- public List<Caracteristic> getAllSpeciesLengthStepCaracteristic() {
- Iterator<Object[]> sources = queryList(
- "allLengthStepCaracteristics",
- "matrixId", IntegerType.INSTANCE, getEnumerationIntegerCode("MatrixId.INDIVIDUAL"),
- "ageParameterCode", StringType.INSTANCE, getEnumerationStringCode("ParameterCode.AGE"),
- "weightParameterCode", StringType.INSTANCE, getEnumerationStringCode("ParameterCode.WEIGHT"),
- "methodDeclarationId", IntegerType.INSTANCE, getEnumerationIntegerCode("MethodId.DECLARATION"));
- List<Caracteristic> result = Lists.newArrayList();
- while (sources.hasNext()) {
- Object[] source = sources.next();
- Caracteristic target = loadCaracteristic(source);
- result.add(target);
- }
- return result;
+ public List<Caracteristic> getAllFishingOperationEnvironmentCaracteristic() {
+ return referentielService.getAllFishingOperationEnvironmentCaracteristic();
}
@Override
public List<Caracteristic> getAllFishingOperationGearCaracteristic() {
- Iterator<Object[]> sources = queryList(
- "allPmfmsByMatrixId",
- "matrixId", IntegerType.INSTANCE, getEnumerationIntegerCode("MatrixId.GEAR"));
- List<Caracteristic> result = Lists.newArrayList();
- while (sources.hasNext()) {
- Object[] source = sources.next();
- Caracteristic target = loadCaracteristic(source);
- result.add(target);
- }
- return result;
+ return referentielService.getAllFishingOperationGearCaracteristic();
}
@Override
- public List<Caracteristic> getAllFishingOperationEnvironmentCaracteristic() {
- Iterator<Object[]> sources = queryList(
- "allPmfmsByParameterGroudId",
- "parameterGroupId", IntegerType.INSTANCE, getEnumerationIntegerCode("ParameterGroupId.ENVIRONEMENT_MEASUREMENT"));
- List<Caracteristic> result = Lists.newArrayList();
- while (sources.hasNext()) {
- Object[] source = sources.next();
- Caracteristic target = loadCaracteristic(source);
- result.add(target);
- }
- return result;
+ public List<Caracteristic> getAllFishingOperationHydrologicCaracteristic() {
+ return referentielService.getAllFishingOperationHydrologicCaracteristic();
}
@Override
- public List<Caracteristic> getAllFishingOperationHydrologicCaracteristic() {
- Iterator<Object[]> sources = queryList(
- "allPmfmsByParameterGroudId",
- "parameterGroupId", IntegerType.INSTANCE, getEnumerationIntegerCode("ParameterGroupId.HYDROLOGIC_MEASUREMENT"));
- List<Caracteristic> result = Lists.newArrayList();
- while (sources.hasNext()) {
- Object[] source = sources.next();
- Caracteristic target = loadCaracteristic(source);
- result.add(target);
- }
- return result;
+ public List<Caracteristic> getAllSpeciesLengthStepCaracteristic() {
+ return referentielService.getAllSpeciesLengthStepCaracteristic();
}
@Override
- public List<FishingOperationLocation> getAllFishingOperationStrata(String zoneId) {
- Iterator<Object[]> sources = queryList(
- "allFishingOperationStratas",
- "locationLevel", IntegerType.INSTANCE, getEnumerationIntegerCode("LocationLevelId.STRATA"));
- List<FishingOperationLocation> result = Lists.newArrayList();
- while (sources.hasNext()) {
- Object[] source = sources.next();
- FishingOperationLocation target = loadFishingOperationLocation(source);
- result.add(target);
- }
- return result;
+ public Caracteristic getSizeCategoryCaracteristic() {
+ return referentielService.getSizeCategoryCaracteristic();
}
@Override
- public List<FishingOperationLocation> getAllFishingOperationSubStrata(String locationId) {
- Iterator<Object[]> sources = queryList(
- "allFishingOperationSubStratas",
- "locationLevel", IntegerType.INSTANCE, getEnumerationIntegerCode("LocationLevelId.SUBSTRATA"));
- List<FishingOperationLocation> result = Lists.newArrayList();
- while (sources.hasNext()) {
- Object[] source = sources.next();
- FishingOperationLocation target = loadFishingOperationLocation(source);
- result.add(target);
- }
- return result;
+ public Caracteristic getSexCaracteristic() {
+ return referentielService.getSexCaracteristic();
}
@Override
- public List<FishingOperationLocation> getAllFishingOperationLocation(String locationId) {
- Iterator<Object[]> sources = queryList(
- "allFishingOperationLocalites",
- "locationLevel", IntegerType.INSTANCE, getEnumerationIntegerCode("LocationLevelId.LOCALITE"));
- List<FishingOperationLocation> result = Lists.newArrayList();
- while (sources.hasNext()) {
- Object[] source = sources.next();
- FishingOperationLocation target = loadFishingOperationLocation(source);
- result.add(target);
- }
- return result;
+ public Caracteristic getSortedUnsortedCaracteristic() {
+ return referentielService.getSortedUnsortedCaracteristic();
}
@Override
- public Caracteristic getSizeCategoryCaracteristic() {
- Integer pmfmId = getEnumerationIntegerCode("PmfmId.SIZE_CATEGORY");
- Caracteristic result = loadCaracteristic(pmfmId);
- return result;
+ public Caracteristic getMaturityCaracteristic() {
+ return referentielService.getMaturityCaracteristic();
}
@Override
- public Caracteristic getSexCaracteristic() {
- Integer pmfmId = getEnumerationIntegerCode("PmfmId.SEX");
- Caracteristic result = loadCaracteristic(pmfmId);
- return result;
+ public Caracteristic getMacroWasteCategoryCaracteristic() {
+ return referentielService.getMacroWasteCategoryCaracteristic();
}
@Override
- public Caracteristic getSortedUnsortedCaracteristic() {
- Integer pmfmId = getEnumerationIntegerCode("PmfmId.SORTED_UNSORTED");
- Caracteristic result = loadCaracteristic(pmfmId);
- return result;
+ public Caracteristic getMacroWasteSizeCategoryCaracteristic() {
+ return referentielService.getMacroWasteSizeCategoryCaracteristic();
}
@Override
- public Caracteristic getMaturityCaracteristic() {
- Integer pmfmId = getEnumerationIntegerCode("PmfmId.MATURITY");
- Caracteristic result = loadCaracteristic(pmfmId);
- return result;
+ public List<Gear> getAllScientificGear() {
+ return referentielService.getAllScientificGear();
}
@Override
- public Caracteristic getMacroWasteCategoryCaracteristic() {
- Integer pmfmId = getEnumerationIntegerCode("PmfmId.MACRO_WASTE_CATEGORY");
- Caracteristic result = loadCaracteristic(pmfmId);
- return result;
+ public List<Gear> getAllFishingGear() {
+ return referentielService.getAllFishingGear();
}
@Override
- public Caracteristic getMacroWasteSizeCategoryCaracteristic() {
- Integer pmfmId = getEnumerationIntegerCode("PmfmId.MACRO_WASTE_SIZE_CATEGORY");
- Caracteristic result = loadCaracteristic(pmfmId);
- return result;
+ public List<Person> getAllPerson() {
+ return referentielService.getAllPerson();
}
+ //------------------------------------------------------------------------//
//-- Program methods --//
//------------------------------------------------------------------------//
- //------------------------------------------------------------------------//
@Override
public List<Program> getAllProgram() {
@@ -524,7 +323,7 @@
Object[] source = queryUnique(
"cruise",
"cruiseId", StringType.INSTANCE, id,
- "locationLevelId", IntegerType.INSTANCE, getEnumerationIntegerCode("LocationLevelId.PAYS_ISO3"));
+ "locationLevelId", IntegerType.INSTANCE, enumeration.LOCATION_LEVEL_ID_LOCALITE);
Cruise result = new Cruise();
result.setId(id);
@@ -549,11 +348,11 @@
result.setEndDate((Date) source[7]);
String vesselCode = (String) source[8];
- Vessel vessel = getVessel(vesselCode);
+ Vessel vessel = referentielService.getVessel(vesselCode);
result.setVessel(Lists.newArrayList(vessel));
Integer managerId = (Integer) source[9];
- Person manager = getPerson(managerId);
+ Person manager = referentielService.getPerson(managerId);
result.setHeadOfMission(Lists.newArrayList(manager));
result.setComment((String) source[10]);
@@ -576,33 +375,6 @@
return result;
}
- protected Vessel getVessel(String vesselCode) {
- Object[] source = queryUnique(
- "vessel",
- "vesselCode", StringType.INSTANCE, vesselCode,
- "refDate", DateType.INSTANCE, new Date());
- Vessel result = loadVessel(source);
- return result;
- }
-
- protected Person getPerson(Integer personId) {
- Object[] source = queryUnique(
- "person",
- "personId", IntegerType.INSTANCE, personId);
- Person result = loadPerson(source);
- return result;
- }
-
- protected Person loadPerson(Object[] source) {
- Person target = new Person();
- target.setId(String.valueOf(source[0]));
- target.setFirstName((String) source[1]);
- target.setLastName((String) source[2]);
- target.setDepartment((String) source[3]);
- setStatus((fr.ifremer.adagio.core.dao.referential.Status) source[4], target);
- return target;
- }
-
@Override
public Cruise createCruise(Cruise bean) {
throw new UnsupportedOperationException();
@@ -833,26 +605,6 @@
//-- Internal methods --//
//------------------------------------------------------------------------//
- protected <E extends AbstractTuttiReferentialEntity> void setStatus(fr.ifremer.adagio.core.dao.referential.Status status, E entity) {
- Status newStatus = new Status();
- newStatus.setId(status.getCode());
- newStatus.setName(status.getName());
- entity.setStatus(newStatus);
- }
-
- protected String getEnumerationStringCode(String key) {
- String result = enumerations.getProperty(key);
- Preconditions.checkNotNull(
- result,
- "Could not find enumeration code for key [" + key + ']');
- return result;
- }
-
- protected Integer getEnumerationIntegerCode(String key) {
- String value = getEnumerationStringCode(key);
- return Integer.valueOf(value);
- }
-
protected Iterator<Object[]> queryList(String queryName, Object... params) {
Query query = sessionFactory.getCurrentSession().getNamedQuery(queryName);
@@ -907,99 +659,4 @@
return (Object[]) result;
}
- protected void loadCaracteristicQualitativeValues(Caracteristic caracteristic,
- Integer pmfmId) {
- Preconditions.checkNotNull(caracteristic, "Caracteristic can not be null");
- Preconditions.checkNotNull(pmfmId, "pmfmId can not be null");
- Preconditions.checkArgument(caracteristic.isQualitativeType(),
- "Caracteristic must be a qualitativeValue type");
-
- Iterator<Object[]> sources = queryList(
- "pmfmQualitativeValues",
- "pmfmId", IntegerType.INSTANCE, pmfmId);
-
- List<CaracteristicQualitativeValue> values = Lists.newArrayList();
- while (sources.hasNext()) {
- Object[] source = sources.next();
- CaracteristicQualitativeValue target = new CaracteristicQualitativeValue();
- target.setId(String.valueOf(source[0]));
- target.setName(String.valueOf(source[1]));
- setStatus((fr.ifremer.adagio.core.dao.referential.Status) source[2], target);
- values.add(target);
- }
- caracteristic.setQualitativeValue(values);
- }
-
- protected Caracteristic loadCaracteristic(Integer pmfmId) {
-
- Object[] source = queryUnique("pmfmById",
- "pmfmId", IntegerType.INSTANCE, pmfmId);
-
- Caracteristic target = loadCaracteristic(source);
-
- if (target.isQualitativeType()) {
-
- // load qualititative values
- loadCaracteristicQualitativeValues(target, pmfmId);
- }
- return target;
- }
-
- protected Caracteristic loadCaracteristic(Object[] source) {
-
- Caracteristic target = new Caracteristic();
- target.setId(String.valueOf(source[0]));
- target.setParameterName((String)source[1]);
- target.setMatrixName((String)source[2]);
- target.setFractionName((String)source[3]);
- target.setMethodName((String)source[4]);
- target.setNumberType((Boolean)source[5]);
- target.setQualitativeType((Boolean)source[6]);
- target.setSignifFiguresNumber((Integer)source[7]);
- target.setMaximumNumberDecimals((Integer)source[8]);
- target.setPrecision((Float)source[9]);
- target.setUnit((String)source[10]);
- setStatus((fr.ifremer.adagio.core.dao.referential.Status) source[11], target);
- return target;
- }
-
- protected FishingOperationLocation loadFishingOperationLocation(Object[] source) {
- FishingOperationLocation target = new FishingOperationLocation();
- target.setId(String.valueOf(source[0]));
- target.setName(String.valueOf(source[1]));
- target.setLabel(String.valueOf(source[2]));
- target.setDescription(String.valueOf(source[3]));
- target.setLocationLevel(Integer.valueOf(source[4].toString()));
-
- setStatus((fr.ifremer.adagio.core.dao.referential.Status) source[5], target);
- return target;
- }
-
- protected Species loadSpecies(Object[] source) {
- Species target = new Species();
- target.setId(String.valueOf(source[0]));
- target.setCodeMemo(String.valueOf(source[1]));
- target.setName(String.valueOf(source[2]));
- setStatus((fr.ifremer.adagio.core.dao.referential.Status) source[3], target);
- return target;
- }
-
- protected Vessel loadVessel(Object[] source) {
- Vessel target = new Vessel();
- target.setId((String) source[0]);
- target.setRegistrationCode((String) source[1]);
- target.setInternalRegistrationCode((String) source[2]);
- target.setName((String) source[3]);
- setStatus((fr.ifremer.adagio.core.dao.referential.Status) source[4], target);
- return target;
- }
-
- protected Gear loadGear(Object[] source) {
- Gear result = new Gear();
- result.setId(String.valueOf(source[0]));
- result.setName(String.valueOf(source[1]));
- result.setLabel(String.valueOf(source[2]));
- setStatus((fr.ifremer.adagio.core.dao.referential.Status) source[3], result);
- return result;
- }
}
Added: trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java
===================================================================
--- trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java (rev 0)
+++ trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java 2013-01-12 17:59:34 UTC (rev 181)
@@ -0,0 +1,597 @@
+package fr.ifremer.tutti.persistence.service;
+
+/*
+ * #%L
+ * Tutti :: Persistence Adagio (impl)
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 - 2013 Ifremer
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
+import com.google.common.base.Preconditions;
+import com.google.common.collect.Lists;
+import fr.ifremer.adagio.core.dao.referential.taxon.TaxonRefTaxVO;
+import fr.ifremer.adagio.core.dao.referential.taxon.TaxonSpecificDao;
+import fr.ifremer.tutti.persistence.TuttiEnumerationFile;
+import fr.ifremer.tutti.persistence.entities.referential.AbstractTuttiReferentialEntity;
+import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
+import fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativeValue;
+import fr.ifremer.tutti.persistence.entities.referential.Country;
+import fr.ifremer.tutti.persistence.entities.referential.FishingOperationLocation;
+import fr.ifremer.tutti.persistence.entities.referential.Gear;
+import fr.ifremer.tutti.persistence.entities.referential.Person;
+import fr.ifremer.tutti.persistence.entities.referential.Species;
+import fr.ifremer.tutti.persistence.entities.referential.Status;
+import fr.ifremer.tutti.persistence.entities.referential.Vessel;
+import fr.ifremer.tutti.persistence.entities.referential.Zone;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.hibernate.Query;
+import org.hibernate.SessionFactory;
+import org.hibernate.type.DateType;
+import org.hibernate.type.IntegerType;
+import org.hibernate.type.StringType;
+import org.hibernate.type.Type;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.util.Date;
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * Implementation of the {@link ReferentialPersistenceService} using a adagio
+ * data-source.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 0.3
+ */
+@Transactional(readOnly = true)
+public class ReferentialPersistenceServiceImpl implements ReferentialPersistenceService {
+
+ /** Logger. */
+ private static final Log log =
+ LogFactory.getLog(ReferentialPersistenceServiceImpl.class);
+
+ /**
+ * Session factory.
+ *
+ * @since 0.3
+ */
+ @Autowired(required = true)
+ protected SessionFactory sessionFactory;
+
+ @Resource(name = "taxonSpecificDao")
+ protected TaxonSpecificDao taxonSpecificDao;
+
+ @Autowired(required = true)
+ protected TuttiEnumerationFile enumeration;
+
+ //------------------------------------------------------------------------//
+ //-- ReferentialPersistenceService implentation --//
+ //------------------------------------------------------------------------//
+
+ @Override
+ public List<Zone> getAllProgramZone() {
+ Iterator<Object[]> list = queryListWithStatus(
+ "allProgramZones",
+ "locationLevelId", IntegerType.INSTANCE, enumeration.LOCATION_LEVEL_ID_PROGRAMM);
+
+ List<Zone> result = Lists.newArrayList();
+ while (list.hasNext()) {
+ Object[] source = list.next();
+ Zone target = new Zone();
+ target.setId((String) source[0]);
+ target.setName((String) source[1]);
+ target.setDescription((String) source[2]);
+ setStatus((fr.ifremer.adagio.core.dao.referential.Status) source[3], target);
+ result.add(target);
+ }
+ return result;
+ }
+
+ @Override
+ public List<Country> getAllCountry() {
+ Iterator<Object[]> list = queryListWithStatus(
+ "allCountries",
+ "locationLevelId", IntegerType.INSTANCE, enumeration.LOCATION_LEVEL_ID_COUNTRY);
+
+ List<Country> result = Lists.newArrayList();
+ while (list.hasNext()) {
+ Object[] source = list.next();
+ Country target = new Country();
+ target.setId(String.valueOf(source[0]));
+ target.setName((String) source[1]);
+ target.setDescription((String) source[2]);
+ setStatus((fr.ifremer.adagio.core.dao.referential.Status) source[3], target);
+ result.add(target);
+ }
+ return result;
+ }
+
+ @Override
+ public List<Vessel> getAllScientificVessel() {
+
+ Iterator<Object[]> list = queryListWithStatus(
+ "allVessels",
+ "refDate", DateType.INSTANCE, new Date(),
+ "vesselTypeId", IntegerType.INSTANCE, enumeration.VESSEL_TYPE_ID_SCIENTIFIC);
+
+ List<Vessel> result = Lists.newArrayList();
+ while (list.hasNext()) {
+ Object[] source = list.next();
+ Vessel target = loadVessel(source);
+ result.add(target);
+ }
+ return result;
+ }
+
+ @Override
+ public List<Vessel> getAllFishingVessel() {
+ Iterator<Object[]> list = queryListWithStatus(
+ "allVessels",
+ "refDate", DateType.INSTANCE, new Date(),
+ "vesselTypeId", IntegerType.INSTANCE, enumeration.VESSEL_TYPE_ID_FISHING);
+
+ List<Vessel> result = Lists.newArrayList();
+ while (list.hasNext()) {
+ Object[] source = list.next();
+ Vessel target = loadVessel(source);
+ result.add(target);
+ }
+ return result;
+ }
+
+
+ @Override
+ public Vessel getVessel(String vesselCode) {
+ Object[] source = queryUnique(
+ "vessel",
+ "vesselCode", StringType.INSTANCE, vesselCode,
+ "refDate", DateType.INSTANCE, new Date());
+ Vessel result = loadVessel(source);
+ return result;
+ }
+
+ @Override
+ public List<Gear> getAllScientificGear() {
+
+ Iterator<Object[]> sources = queryListWithStatus(
+ "allGears",
+ "gearClassificiationId", IntegerType.INSTANCE, enumeration.GEAR_CLASSIFICIATION_ID_SCIENTIFIC);
+ List<Gear> result = Lists.newArrayList();
+ while (sources.hasNext()) {
+ Object[] source = sources.next();
+ Gear target = loadGear(source);
+ result.add(target);
+ }
+ return result;
+ }
+
+ @Override
+ public List<Gear> getAllFishingGear() {
+ Iterator<Object[]> sources = queryListWithStatus(
+ "allGears",
+ "gearClassificiationId", IntegerType.INSTANCE, enumeration.GEAR_CLASSIFICIATION_ID_FISHING);
+ List<Gear> result = Lists.newArrayList();
+ while (sources.hasNext()) {
+ Object[] source = sources.next();
+ Gear target = loadGear(source);
+ result.add(target);
+ }
+ return result;
+ }
+
+ @Override
+ public List<Person> getAllPerson() {
+ Iterator<Object[]> list = queryListWithStatus(
+ "allPersons",
+ "observerProfilId", IntegerType.INSTANCE, enumeration.USER_PROFIL_ID_OBSERVER,
+ "projectMemberProfilId", IntegerType.INSTANCE, enumeration.USER_PROFIL_ID_PROJECT_MEMBER,
+ "userProfilId", IntegerType.INSTANCE, enumeration.USER_PROFIL_ID_USER);
+
+ List<Person> result = Lists.newArrayList();
+ while (list.hasNext()) {
+ Object[] source = list.next();
+ Person target = loadPerson(source);
+ result.add(target);
+ }
+ return result;
+ }
+
+ @Override
+ public Person getPerson(Integer personId) {
+ Object[] source = queryUnique(
+ "person",
+ "personId", IntegerType.INSTANCE, personId);
+ Person result = loadPerson(source);
+ return result;
+ }
+
+ @Override
+ public List<Species> getAllSpecies() {
+
+ TaxonRefTaxVO[] sources = taxonSpecificDao.getAllTaxonRefTax();
+
+ List<Species> result = Lists.newArrayList();
+ for (TaxonRefTaxVO source : sources) {
+ Species target = loadSpecies(source);
+ result.add(target);
+ }
+ return result;
+ }
+
+ @Override
+ public Species getSpecies(String speciesId) {
+ TaxonRefTaxVO source = taxonSpecificDao.getTaxonRefTax(
+ Integer.valueOf(speciesId));
+
+ Species target = loadSpecies(source);
+ return target;
+ }
+
+ @Override
+ public List<Species> getAllBenthosSpecies() {
+ TaxonRefTaxVO[] sources = taxonSpecificDao.getAllTaxonRefTax();
+
+ List<Species> result = Lists.newArrayList();
+ for (TaxonRefTaxVO source : sources) {
+ Species target = loadSpecies(source);
+ result.add(target);
+ }
+ return result;
+ }
+
+ @Override
+ public List<Species> getAllPlanktonSpecies() {
+ TaxonRefTaxVO[] sources = taxonSpecificDao.getAllTaxonRefTax();
+
+ List<Species> result = Lists.newArrayList();
+ for (TaxonRefTaxVO source : sources) {
+ Species target = loadSpecies(source);
+ result.add(target);
+ }
+ return result;
+ }
+
+ @Override
+ public List<Caracteristic> getAllSpeciesLengthStepCaracteristic() {
+ Iterator<Object[]> sources = queryListWithStatus(
+ "allLengthStepCaracteristics",
+ "matrixId", IntegerType.INSTANCE, enumeration.MATRIX_ID_INDIVIDUAL,
+ "ageParameterCode", StringType.INSTANCE, enumeration.PARAMETER_CODE_AGE,
+ "weightParameterCode", StringType.INSTANCE, enumeration.PARAMETER_CODE_WEIGHT,
+ "methodDeclarationId", IntegerType.INSTANCE, enumeration.METHOD_ID_DECLARATION);
+ List<Caracteristic> result = Lists.newArrayList();
+ while (sources.hasNext()) {
+ Object[] source = sources.next();
+ Caracteristic target = loadCaracteristic(source);
+ result.add(target);
+ }
+ return result;
+ }
+
+ @Override
+ public List<Caracteristic> getAllFishingOperationGearCaracteristic() {
+ Iterator<Object[]> sources = queryListWithStatus(
+ "allPmfmsByMatrixId",
+ "matrixId", IntegerType.INSTANCE, enumeration.MATRIX_ID_GEAR,
+ "unitIdNone", IntegerType.INSTANCE, enumeration.UNIT_ID_NONE);
+ List<Caracteristic> result = Lists.newArrayList();
+ while (sources.hasNext()) {
+ Object[] source = sources.next();
+ Caracteristic target = loadCaracteristic(source);
+ result.add(target);
+ }
+ return result;
+ }
+
+ @Override
+ public List<Caracteristic> getAllFishingOperationEnvironmentCaracteristic() {
+ Iterator<Object[]> sources = queryListWithStatus(
+ "allPmfmsByParameterGroudId",
+ "parameterGroupId", IntegerType.INSTANCE, enumeration.PARAMETER_GROUP_ENVIRONEMENT_MEASUREMENT,
+ "unitIdNone", IntegerType.INSTANCE, enumeration.UNIT_ID_NONE);
+ List<Caracteristic> result = Lists.newArrayList();
+ while (sources.hasNext()) {
+ Object[] source = sources.next();
+ Caracteristic target = loadCaracteristic(source);
+ result.add(target);
+ }
+ return result;
+ }
+
+ @Override
+ public List<Caracteristic> getAllFishingOperationHydrologicCaracteristic() {
+ Iterator<Object[]> sources = queryListWithStatus(
+ "allPmfmsByParameterGroudId",
+ "parameterGroupId", IntegerType.INSTANCE, enumeration.PARAMETER_GROUP_HYDROLOGIC,
+ "unitIdNone", IntegerType.INSTANCE, enumeration.UNIT_ID_NONE);
+ List<Caracteristic> result = Lists.newArrayList();
+ while (sources.hasNext()) {
+ Object[] source = sources.next();
+ Caracteristic target = loadCaracteristic(source);
+ result.add(target);
+ }
+ return result;
+ }
+
+ @Override
+ public List<FishingOperationLocation> getAllFishingOperationStrata(String zoneId) {
+ Iterator<Object[]> sources = queryListWithStatus(
+ "allFishingOperationStratas",
+ "locationLevel", IntegerType.INSTANCE, enumeration.LOCATION_LEVEL_ID_STRATA);
+ List<FishingOperationLocation> result = Lists.newArrayList();
+ while (sources.hasNext()) {
+ Object[] source = sources.next();
+ FishingOperationLocation target = loadFishingOperationLocation(source);
+ result.add(target);
+ }
+ return result;
+ }
+
+ @Override
+ public List<FishingOperationLocation> getAllFishingOperationSubStrata(String locationId) {
+ Iterator<Object[]> sources = queryListWithStatus(
+ "allFishingOperationSubStratas",
+ "locationLevel", IntegerType.INSTANCE, enumeration.LOCATION_LEVEL_ID_SUB_STRATA);
+ List<FishingOperationLocation> result = Lists.newArrayList();
+ while (sources.hasNext()) {
+ Object[] source = sources.next();
+ FishingOperationLocation target = loadFishingOperationLocation(source);
+ result.add(target);
+ }
+ return result;
+ }
+
+ @Override
+ public List<FishingOperationLocation> getAllFishingOperationLocation(String locationId) {
+ Iterator<Object[]> sources = queryListWithStatus(
+ "allFishingOperationLocalites",
+ "locationLevel", IntegerType.INSTANCE, enumeration.LOCATION_LEVEL_ID_LOCALITE);
+ List<FishingOperationLocation> result = Lists.newArrayList();
+ while (sources.hasNext()) {
+ Object[] source = sources.next();
+ FishingOperationLocation target = loadFishingOperationLocation(source);
+ result.add(target);
+ }
+ return result;
+ }
+
+ @Override
+ public Caracteristic getSizeCategoryCaracteristic() {
+ Integer pmfmId = enumeration.PMFM_ID_SIZE_CATEGORY;
+ Caracteristic result = loadCaracteristic(pmfmId);
+ return result;
+ }
+
+ @Override
+ public Caracteristic getSexCaracteristic() {
+ Integer pmfmId = enumeration.PMFM_ID_SEX;
+ Caracteristic result = loadCaracteristic(pmfmId);
+ return result;
+ }
+
+ @Override
+ public Caracteristic getSortedUnsortedCaracteristic() {
+ Integer pmfmId = enumeration.PMFM_ID_SORTED_UNSORTED;
+ Caracteristic result = loadCaracteristic(pmfmId);
+ return result;
+ }
+
+ @Override
+ public Caracteristic getMaturityCaracteristic() {
+ Integer pmfmId = enumeration.PMFM_ID_MATURITY;
+ Caracteristic result = loadCaracteristic(pmfmId);
+ return result;
+ }
+
+ @Override
+ public Caracteristic getMacroWasteCategoryCaracteristic() {
+ Integer pmfmId = enumeration.PMFM_ID_MACRO_WASTE_CATEGORY;
+ Caracteristic result = loadCaracteristic(pmfmId);
+ return result;
+ }
+
+ @Override
+ public Caracteristic getMacroWasteSizeCategoryCaracteristic() {
+ Integer pmfmId = enumeration.PMFM_ID_MACRO_WASTE_SIZE_CATEGORY;
+ Caracteristic result = loadCaracteristic(pmfmId);
+ return result;
+ }
+
+ //------------------------------------------------------------------------//
+ //-- Internal methods --//
+ //------------------------------------------------------------------------//
+
+ protected <E extends AbstractTuttiReferentialEntity> void setStatus(fr.ifremer.adagio.core.dao.referential.Status status, E entity) {
+ Status newStatus = new Status();
+ newStatus.setId(status.getCode());
+ newStatus.setName(status.getName());
+ entity.setStatus(newStatus);
+ }
+
+ protected void loadCaracteristicQualitativeValues(Caracteristic caracteristic,
+ Integer pmfmId) {
+ Preconditions.checkNotNull(caracteristic, "Caracteristic can not be null");
+ Preconditions.checkNotNull(pmfmId, "pmfmId can not be null");
+ Preconditions.checkArgument(caracteristic.isQualitativeType(),
+ "Caracteristic must be a qualitativeValue type");
+
+ Iterator<Object[]> sources = queryListWithStatus(
+ "pmfmQualitativeValues",
+ "pmfmId", IntegerType.INSTANCE, pmfmId);
+
+ List<CaracteristicQualitativeValue> values = Lists.newArrayList();
+ while (sources.hasNext()) {
+ Object[] source = sources.next();
+ CaracteristicQualitativeValue target = new CaracteristicQualitativeValue();
+ target.setId(String.valueOf(source[0]));
+ target.setName(String.valueOf(source[1]));
+ setStatus((fr.ifremer.adagio.core.dao.referential.Status) source[2], target);
+ values.add(target);
+ }
+ caracteristic.setQualitativeValue(values);
+ }
+
+ protected Caracteristic loadCaracteristic(Integer pmfmId) {
+
+ Object[] source = queryUniqueWithStatus("pmfmById",
+ "pmfmId", IntegerType.INSTANCE, pmfmId,
+ "unitIdNone", IntegerType.INSTANCE, enumeration.UNIT_ID_NONE);
+
+ Caracteristic target = loadCaracteristic(source);
+
+ if (target.isQualitativeType()) {
+
+ // load qualititative values
+ loadCaracteristicQualitativeValues(target, pmfmId);
+ }
+ return target;
+ }
+
+ protected Caracteristic loadCaracteristic(Object[] source) {
+
+ Caracteristic target = new Caracteristic();
+ target.setId(String.valueOf(source[0]));
+ target.setParameterName((String) source[1]);
+ target.setMatrixName((String) source[2]);
+ target.setFractionName((String) source[3]);
+ target.setMethodName((String) source[4]);
+ target.setNumberType((Boolean) source[5]);
+ target.setQualitativeType((Boolean) source[6]);
+ target.setSignifFiguresNumber((Integer) source[7]);
+ target.setMaximumNumberDecimals((Integer) source[8]);
+ target.setPrecision((Float) source[9]);
+ target.setUnit((String) source[10]);
+ setStatus((fr.ifremer.adagio.core.dao.referential.Status) source[11], target);
+ return target;
+ }
+
+ protected FishingOperationLocation loadFishingOperationLocation(Object[] source) {
+ FishingOperationLocation target = new FishingOperationLocation();
+ target.setId(String.valueOf(source[0]));
+ target.setName(String.valueOf(source[1]));
+ target.setLabel(String.valueOf(source[2]));
+ target.setDescription(String.valueOf(source[3]));
+ target.setLocationLevel(Integer.valueOf(source[4].toString()));
+
+ setStatus((fr.ifremer.adagio.core.dao.referential.Status) source[5], target);
+ return target;
+ }
+
+ protected Species loadSpecies(TaxonRefTaxVO source) {
+ Species target = new Species();
+ target.setId(String.valueOf(source.getReferenceTaxonId()));
+ target.setName(source.getName());
+ target.setCodeMemo(source.getRefTaxCode());
+ setStatus(source.getStatus(), target);
+ return target;
+ }
+
+ protected Vessel loadVessel(Object[] source) {
+ Vessel target = new Vessel();
+ target.setId((String) source[0]);
+ target.setRegistrationCode((String) source[1]);
+ target.setInternalRegistrationCode((String) source[2]);
+ target.setName((String) source[3]);
+ setStatus((fr.ifremer.adagio.core.dao.referential.Status) source[4], target);
+ return target;
+ }
+
+ protected Gear loadGear(Object[] source) {
+ Gear result = new Gear();
+ result.setId(String.valueOf(source[0]));
+ result.setName(String.valueOf(source[1]));
+ result.setLabel(String.valueOf(source[2]));
+ setStatus((fr.ifremer.adagio.core.dao.referential.Status) source[3], result);
+ return result;
+ }
+
+ protected Person loadPerson(Object[] source) {
+ Person target = new Person();
+ target.setId(String.valueOf(source[0]));
+ target.setFirstName((String) source[1]);
+ target.setLastName((String) source[2]);
+ target.setDepartment((String) source[3]);
+ setStatus((fr.ifremer.adagio.core.dao.referential.Status) source[4], target);
+ return target;
+ }
+
+ protected Iterator<Object[]> queryListWithStatus(String queryName,
+ Object... params) {
+ Query query = createQuery(queryName, params);
+ query.setString("statusValidCode", enumeration.STATUS_VALID_CODE.toString());
+ query.setString("statusTemporaryCode", enumeration.STATUS_TEMPORARY_CODE.toString());
+
+ Iterator result = query.iterate();
+ return result;
+ }
+
+ protected Iterator<Object[]> queryList(String queryName, Object... params) {
+ Query query = createQuery(queryName, params);
+ Iterator result = query.iterate();
+ return result;
+ }
+
+ protected Object[] queryUniqueWithStatus(String queryName, Object... params) {
+
+ Query query = createQuery(queryName, params);
+ query.setString("statusValidCode", enumeration.STATUS_VALID_CODE.toString());
+ query.setString("statusTemporaryCode", enumeration.STATUS_TEMPORARY_CODE.toString());
+
+ Object result = query.uniqueResult();
+ return (Object[]) result;
+ }
+
+ protected Object[] queryUnique(String queryName, Object... params) {
+
+ Query query = createQuery(queryName, params);
+ Object result = query.uniqueResult();
+ return (Object[]) result;
+ }
+
+ protected Query createQuery(String queryName, Object... params) {
+ Query query = sessionFactory.getCurrentSession().getNamedQuery(queryName);
+
+ if (params.length > 0) {
+
+ Preconditions.checkArgument(
+ params.length % 3 == 0,
+ "Params must be tuple (paramName, paramType, paramValue)");
+
+ int nbParams = params.length / 3;
+
+ for (int i = 0; i < nbParams; i++) {
+ String paramName = (String) params[3 * i];
+ Type paramType = (Type) params[3 * i + 1];
+ Object paramValue = params[3 * i + 2];
+ query.setParameter(paramName, paramValue, paramType);
+ if (log.isDebugEnabled()) {
+ log.debug("query [" + queryName + "] (param " + i
+ + " [" + paramName + '=' + paramValue + "])");
+ }
+ }
+ }
+ return query;
+ }
+
+
+}
Property changes on: trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/TuttiPersistenceServiceLocator.java
===================================================================
--- trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/TuttiPersistenceServiceLocator.java (rev 0)
+++ trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/TuttiPersistenceServiceLocator.java 2013-01-12 17:59:34 UTC (rev 181)
@@ -0,0 +1,59 @@
+package fr.ifremer.tutti.persistence.service;
+
+/*
+ * #%L
+ * Tutti :: Persistence Adagio (impl)
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 - 2013 Ifremer
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
+import fr.ifremer.adagio.core.service.ServiceLocator;
+import fr.ifremer.tutti.persistence.TuttiPersistence;
+
+/**
+ * To obtain services from spring context.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 0.3
+ */
+public class TuttiPersistenceServiceLocator extends ServiceLocator {
+
+ protected static final TuttiPersistenceServiceLocator INSTANCE =
+ new TuttiPersistenceServiceLocator();
+
+ protected TuttiPersistenceServiceLocator() {
+ super("beanRefFactory.xml",
+ "TuttiBeanRefFactory");
+ }
+
+ public static TuttiPersistence getPersistenceService() {
+ return INSTANCE.getService("adagioPersistenceService",
+ TuttiPersistence.class);
+ }
+
+ public static ReferentialPersistenceService getReferentialPersistenceService() {
+ return INSTANCE.getService("referentialPersistenceService",
+ ReferentialPersistenceService.class);
+ }
+
+ public static void close() {
+ INSTANCE.shutdown();
+ }
+}
Property changes on: trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/service/TuttiPersistenceServiceLocator.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/tutti-persistence-adagio/src/main/resources/applicationContext-service-tutti.xml
===================================================================
--- trunk/tutti-persistence-adagio/src/main/resources/applicationContext-service-tutti.xml 2013-01-12 17:57:25 UTC (rev 180)
+++ trunk/tutti-persistence-adagio/src/main/resources/applicationContext-service-tutti.xml 2013-01-12 17:59:34 UTC (rev 181)
@@ -24,41 +24,44 @@
-->
<beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:tx="http://www.springframework.org/schema/tx" xmlns:aop="http://www.springframework.org/schema/aop"
- xmlns:context="http://www.springframework.org/schema/context"
- xsi:schemaLocation="
- http://www.springframework.org/schema/tx
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:tx="http://www.springframework.org/schema/tx"
+ xmlns:context="http://www.springframework.org/schema/context"
+ xsi:schemaLocation="http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
- http://www.springframework.org/schema/aop
- http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">
- <!--<context:component-scan base-package="fr.ifremer.adagio.core.service" />-->
- <!-- Activates various annotations to be detected in bean classes: Spring's
- @Required and @Autowired, as well as JSR 250's @PostConstruct, @PreDestroy
- and @Resource (if available) and JPA's @PersistenceContext and @PersistenceUnit
- (if available). -->
- <!--<context:annotation-config />-->
+ <!-- Activates various annotations to be detected in bean classes: Spring's
+ @Required and @Autowired, as well as JSR 250's @PostConstruct, @PreDestroy
+ and @Resource (if available) and JPA's @PersistenceContext and @PersistenceUnit
+ (if available). -->
+ <context:annotation-config />
- <!--Platform Transaction Manager declared as "transactionManager" will be
- used. -->
- <!--"aspectj" mode enables load-time/compile-time weaving of transactional
- methods, which enables those methods to be intercepted even when called internally.
- (Unlike Spring generated proxies which will only be intercepted when called
- from outside) -->
- <tx:annotation-driven transaction-manager="transactionManager" />
+ <!--Platform Transaction Manager declared as "transactionManager" will be
+ used. -->
+ <!--"aspectj" mode enables load-time/compile-time weaving of transactional
+ methods, which enables those methods to be intercepted even when called internally.
+ (Unlike Spring generated proxies which will only be intercepted when called
+ from outside) -->
+ <tx:annotation-driven transaction-manager="transactionManager"/>
- <bean id="adagioPersistenceService" destroy-method="close"
- class="fr.ifremer.tutti.persistence.TuttiPersistenceAdagioImpl">
- <property name="sessionFactory" ref="sessionFactory" />
- </bean>
+ <bean id="locationService"
+ class="fr.ifremer.adagio.core.service.referential.location.impl.LocationServiceImpl"/>
- <!--Enables the use of @AspectJ style of aspects' declarations. AspectJ
- run-time isn't necessarily involved -->
- <!--<aop:aspectj-autoproxy />-->
+ <bean id="referentialPersistenceService"
+ class="fr.ifremer.tutti.persistence.service.ReferentialPersistenceServiceImpl"/>
+ <bean id="adagioPersistenceService" init-method="open" destroy-method="close"
+ class="fr.ifremer.tutti.persistence.TuttiPersistenceAdagioImpl"/>
+
+ <bean init-method="init"
+ class="fr.ifremer.tutti.persistence.TuttiEnumerationFile"/>
+
+ <!--Enables the use of @AspectJ style of aspects' declarations. AspectJ
+ run-time isn't necessarily involved -->
+ <!--<aop:aspectj-autoproxy />-->
+
<!--bean id="dataSource2"
class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
@@ -93,372 +96,372 @@
</props>
</property-->
- <!--property name="mappingResources">
+ <!--property name="mappingResources">
+ <list>
+ <value>queries-override2.hbm.xml</value>
+ <value>file:///home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/taxon/Author.hbm.xml</value>
+ </list>
+ </property-->
+ <!--property name="mappingLocations">
<list>
- <value>queries-override2.hbm.xml</value>
- <value>file:///home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/taxon/Author.hbm.xml</value>
+ <value>classpath:queries.hbm.xml</value>
+ <value>classpath:queries-override.hbm.xml</value>
+ <value>file:///home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/administration/user/PersonSessionVessel.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/administration/user/UserProfil.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/administration/user/PersonSession.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/administration/user/VesselManagePeriod.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/administration/user/ManagedDataTransfer.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/administration/user/ManagedDataType.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/administration/user/DepartmentPrivilegeTransfert.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/administration/user/Person.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/administration/user/ManagedData.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/administration/user/ageReader/AgeReaderQualification.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/administration/user/Department.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/administration/programStrategy/Strategy.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/administration/programStrategy/PmfmAppliedStrategy.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/administration/programStrategy/ReferenceTaxonStrategy.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/administration/programStrategy/AppliedStrategy.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/administration/programStrategy/AppliedPeriod.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/administration/programStrategy/Program2Person.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/administration/programStrategy/Program.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/administration/programStrategy/AcquisitionLevel.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/administration/programStrategy/BatchModelAppliedStrategy.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/administration/programStrategy/Program2Department.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/administration/programStrategy/ProgramPrivilege.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/administration/programStrategy/PmfmStrategy.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/technical/optimization/grouping/GroupingVesselHierarchy.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/technical/optimization/grouping/GroupingItemHierarchy.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/technical/optimization/location/LocationHierarchyException.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/technical/optimization/location/LocationHierarchy.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/DepthGradient.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/NearbySpecificArea.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/regulation/RegulationArea2RegulationLocation.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/regulation/RegulationArea.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/regulation/Corpus.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/regulation/CorpusType.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/regulation/RightToProduce.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/regulation/MinimumSizeAllowed.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/regulation/Fishery.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/seller/SellerType.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/seller/Seller.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/PrecisionType.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/transcribing/TranscribingItem.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/transcribing/TranscribingSystem.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/transcribing/TranscribingItemType.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/transcribing/TranscribingSide.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/ProcessingStatus.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/DistanceToCoastGradient.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/spatial/SpatialItem.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/spatial/SpatialItemLine.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/spatial/SpatialItemType.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/spatial/SpatialItemArea.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/spatial/SpatialItem2Location.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/spatial/SpatialItemPoint.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/SurveyQualification.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/VesselType.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/ObjectType.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/Status.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/ProcessingType.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/LinkedItemType.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/gear/GearClassification.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/gear/GearClassificationAssociation.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/gear/GearAssociation.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/gear/Gear.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/location/Location.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/location/LocationClassification.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/location/LocationLevel.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/location/LocationAssociation.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/samplingScheme/denormalized/DenormalizedSamplingStrata.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/buyer/Buyer.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/buyer/BuyerType.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/grouping/GroupingClassification.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/grouping/GroupingItem.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/grouping/Grouping.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/grouping/GroupingLevel.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/PhotoType.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/SaleType.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/taxon/TaxonGroup.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/taxon/TaxonGroupHistoricalRecord.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/taxon/ReferenceDocument.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/taxon/TaxonGroupType.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/taxon/Citation.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/taxon/TaxonInformation.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/taxon/TaxonGroupInformation.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/taxon/TaxonNameHistory.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/taxon/Author.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/taxon/ReferenceTaxon.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/taxon/TaxonInformationHistory.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/taxon/TaxonName.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/taxon/TaxonomicLevel.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/taxon/VirtualComponent.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/vessel/VesselOwner.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/vessel/EducationGrade.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/vessel/VesselFeatures.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/vessel/VesselRegistrationPeriod.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/vessel/VesselOwnerPeriod.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/vessel/VesselEngineType.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/vessel/VesselMasterPeriod.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/vessel/Vessel.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/vessel/VesselMaster.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/metier/Metier.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/order/OrderItem.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/order/OrderType.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/conversion/UnitConversion.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/conversion/WeightLengthConversion.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/conversion/RoundWeightConversion.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/qualification/QualificationRule.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/pmfm/Matrix.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/pmfm/Unit.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/pmfm/ParameterGroup.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/pmfm/Fraction.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/pmfm/Method.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/pmfm/Pmfm.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/pmfm/Parameter.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/pmfm/AggregationLevel.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/pmfm/QualitativeValue.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/NumericalPrecision.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/QualityFlag.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/referential/AnalysisInstrument.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/batch/BatchExhaustiveInventory.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/batch/BatchModel.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/batch/Batch.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/batch/denormalized/DenormalizedBatch.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/batch/denormalized/DenormalisedBatchSortingValue.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/qualification/AppliedQualificationRule.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/qualification/QualifiedItem.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/survey/takeOver/TakeOver.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/survey/physicalGear/PhysicalGearSurvey.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/survey/declaration/DeclaredDocumentReference.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/survey/economy/EconomicalSurvey.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/survey/activity/ActivityCalendar.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/survey/activity/DailyActivityCalendar.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/survey/sale/SaleOrigin.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/survey/sale/Sale.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/survey/fishingTrip/FishingTrip.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/survey/fishingTrip/FishingTripOrigin.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/survey/scientificCruise/ScientificCruise.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/survey/fishingEffort/FishingEffortCalendar.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/survey/landing/LandingOrigin.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/survey/landing/Landing.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/sale/ExpectedSale.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/fishingArea/FishingArea2RegulationLocation.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/fishingArea/FishingArea.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/operation/denormalized/DenormalizedOperation.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/operation/Operation.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/operation/OperationVesselAssociation.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/sample/Sample.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/transshipment/Transshipment.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/measure/LandingMeasurement.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/measure/VesselPhysicalMeasurement.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/measure/QuantificationMeasurement.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/measure/VesselUseMeasurement.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/measure/file/MeasurementFile.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/measure/VesselPositionMeasurement.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/measure/SaleMeasurement.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/measure/photo/Photo.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/measure/TakeOverMeasurement.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/measure/GearUseMeasurement.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/measure/SortingMeasurement.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/measure/SampleMeasurement.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/measure/SurveyMeasurement.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/measure/GearPhysicalMeasurement.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/link/LinkedItem.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/produce/Produce.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/history/UpdatedItemHistory.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/history/InsertedItemHistory.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/history/ProcessingHistory.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/history/DeletedItemHistory.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/vessel/position/VesselPosition.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/vessel/feature/physical/GearPhysicalFeatures.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/vessel/feature/physical/VesselPhysicalFeaturesOrigin.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/vessel/feature/physical/VesselPhysicalFeatures.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/vessel/feature/physical/GearPhysicalFeaturesOrigin.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/vessel/feature/use/VesselUseFeaturesOrigin.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/vessel/feature/use/GearUseFeaturesOrigin.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/vessel/feature/use/VesselUseFeatures.hbm.xml</value>
+ <value>classpath:fr/ifremer/adagio/core/dao/data/vessel/feature/use/GearUseFeatures.hbm.xml</value>
</list>
- </property-->
- <!--property name="mappingLocations">
- <list>
- <value>classpath:queries.hbm.xml</value>
- <value>classpath:queries-override.hbm.xml</value>
- <value>file:///home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/administration/user/PersonSessionVessel.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/administration/user/UserProfil.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/administration/user/PersonSession.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/administration/user/VesselManagePeriod.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/administration/user/ManagedDataTransfer.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/administration/user/ManagedDataType.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/administration/user/DepartmentPrivilegeTransfert.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/administration/user/Person.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/administration/user/ManagedData.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/administration/user/ageReader/AgeReaderQualification.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/administration/user/Department.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/administration/programStrategy/Strategy.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/administration/programStrategy/PmfmAppliedStrategy.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/administration/programStrategy/ReferenceTaxonStrategy.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/administration/programStrategy/AppliedStrategy.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/administration/programStrategy/AppliedPeriod.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/administration/programStrategy/Program2Person.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/administration/programStrategy/Program.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/administration/programStrategy/AcquisitionLevel.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/administration/programStrategy/BatchModelAppliedStrategy.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/administration/programStrategy/Program2Department.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/administration/programStrategy/ProgramPrivilege.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/administration/programStrategy/PmfmStrategy.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/technical/optimization/grouping/GroupingVesselHierarchy.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/technical/optimization/grouping/GroupingItemHierarchy.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/technical/optimization/location/LocationHierarchyException.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/technical/optimization/location/LocationHierarchy.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/DepthGradient.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/NearbySpecificArea.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/regulation/RegulationArea2RegulationLocation.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/regulation/RegulationArea.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/regulation/Corpus.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/regulation/CorpusType.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/regulation/RightToProduce.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/regulation/MinimumSizeAllowed.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/regulation/Fishery.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/seller/SellerType.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/seller/Seller.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/PrecisionType.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/transcribing/TranscribingItem.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/transcribing/TranscribingSystem.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/transcribing/TranscribingItemType.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/transcribing/TranscribingSide.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/ProcessingStatus.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/DistanceToCoastGradient.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/spatial/SpatialItem.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/spatial/SpatialItemLine.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/spatial/SpatialItemType.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/spatial/SpatialItemArea.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/spatial/SpatialItem2Location.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/spatial/SpatialItemPoint.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/SurveyQualification.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/VesselType.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/ObjectType.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/Status.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/ProcessingType.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/LinkedItemType.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/gear/GearClassification.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/gear/GearClassificationAssociation.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/gear/GearAssociation.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/gear/Gear.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/location/Location.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/location/LocationClassification.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/location/LocationLevel.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/location/LocationAssociation.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/samplingScheme/denormalized/DenormalizedSamplingStrata.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/buyer/Buyer.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/buyer/BuyerType.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/grouping/GroupingClassification.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/grouping/GroupingItem.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/grouping/Grouping.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/grouping/GroupingLevel.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/PhotoType.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/SaleType.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/taxon/TaxonGroup.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/taxon/TaxonGroupHistoricalRecord.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/taxon/ReferenceDocument.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/taxon/TaxonGroupType.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/taxon/Citation.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/taxon/TaxonInformation.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/taxon/TaxonGroupInformation.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/taxon/TaxonNameHistory.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/taxon/Author.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/taxon/ReferenceTaxon.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/taxon/TaxonInformationHistory.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/taxon/TaxonName.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/taxon/TaxonomicLevel.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/taxon/VirtualComponent.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/vessel/VesselOwner.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/vessel/EducationGrade.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/vessel/VesselFeatures.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/vessel/VesselRegistrationPeriod.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/vessel/VesselOwnerPeriod.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/vessel/VesselEngineType.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/vessel/VesselMasterPeriod.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/vessel/Vessel.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/vessel/VesselMaster.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/metier/Metier.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/order/OrderItem.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/order/OrderType.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/conversion/UnitConversion.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/conversion/WeightLengthConversion.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/conversion/RoundWeightConversion.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/qualification/QualificationRule.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/pmfm/Matrix.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/pmfm/Unit.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/pmfm/ParameterGroup.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/pmfm/Fraction.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/pmfm/Method.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/pmfm/Pmfm.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/pmfm/Parameter.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/pmfm/AggregationLevel.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/pmfm/QualitativeValue.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/NumericalPrecision.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/QualityFlag.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/referential/AnalysisInstrument.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/batch/BatchExhaustiveInventory.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/batch/BatchModel.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/batch/Batch.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/batch/denormalized/DenormalizedBatch.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/batch/denormalized/DenormalisedBatchSortingValue.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/qualification/AppliedQualificationRule.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/qualification/QualifiedItem.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/survey/takeOver/TakeOver.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/survey/physicalGear/PhysicalGearSurvey.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/survey/declaration/DeclaredDocumentReference.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/survey/economy/EconomicalSurvey.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/survey/activity/ActivityCalendar.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/survey/activity/DailyActivityCalendar.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/survey/sale/SaleOrigin.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/survey/sale/Sale.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/survey/fishingTrip/FishingTrip.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/survey/fishingTrip/FishingTripOrigin.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/survey/scientificCruise/ScientificCruise.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/survey/fishingEffort/FishingEffortCalendar.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/survey/landing/LandingOrigin.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/survey/landing/Landing.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/sale/ExpectedSale.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/fishingArea/FishingArea2RegulationLocation.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/fishingArea/FishingArea.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/operation/denormalized/DenormalizedOperation.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/operation/Operation.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/operation/OperationVesselAssociation.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/sample/Sample.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/transshipment/Transshipment.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/measure/LandingMeasurement.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/measure/VesselPhysicalMeasurement.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/measure/QuantificationMeasurement.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/measure/VesselUseMeasurement.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/measure/file/MeasurementFile.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/measure/VesselPositionMeasurement.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/measure/SaleMeasurement.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/measure/photo/Photo.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/measure/TakeOverMeasurement.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/measure/GearUseMeasurement.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/measure/SortingMeasurement.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/measure/SampleMeasurement.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/measure/SurveyMeasurement.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/measure/GearPhysicalMeasurement.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/link/LinkedItem.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/produce/Produce.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/history/UpdatedItemHistory.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/history/InsertedItemHistory.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/history/ProcessingHistory.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/history/DeletedItemHistory.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/vessel/position/VesselPosition.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/vessel/feature/physical/GearPhysicalFeatures.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/vessel/feature/physical/VesselPhysicalFeaturesOrigin.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/vessel/feature/physical/VesselPhysicalFeatures.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/vessel/feature/physical/GearPhysicalFeaturesOrigin.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/vessel/feature/use/VesselUseFeaturesOrigin.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/vessel/feature/use/GearUseFeaturesOrigin.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/vessel/feature/use/VesselUseFeatures.hbm.xml</value>
- <value>classpath:fr/ifremer/adagio/core/dao/data/vessel/feature/use/GearUseFeatures.hbm.xml</value>
- </list>
- </property-->
- <!--property name="mappingLocations">
- <list>
- <value>queries-override2.hbm.xml</value>
- <value>file:///home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/taxon/Author.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/administration/user/PersonSessionVessel.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/administration/user/UserProfil.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/administration/user/PersonSession.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/administration/user/VesselManagePeriod.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/administration/user/ManagedDataTransfer.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/administration/user/ManagedDataType.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/administration/user/DepartmentPrivilegeTransfert.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/administration/user/Person.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/administration/user/ManagedData.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/administration/user/ageReader/AgeReaderQualification.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/administration/user/Department.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/administration/programStrategy/Strategy.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/administration/programStrategy/PmfmAppliedStrategy.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/administration/programStrategy/ReferenceTaxonStrategy.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/administration/programStrategy/AppliedStrategy.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/administration/programStrategy/AppliedPeriod.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/administration/programStrategy/Program2Person.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/administration/programStrategy/Program.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/administration/programStrategy/AcquisitionLevel.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/administration/programStrategy/BatchModelAppliedStrategy.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/administration/programStrategy/Program2Department.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/administration/programStrategy/ProgramPrivilege.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/administration/programStrategy/PmfmStrategy.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/technical/optimization/grouping/GroupingVesselHierarchy.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/technical/optimization/grouping/GroupingItemHierarchy.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/technical/optimization/location/LocationHierarchyException.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/technical/optimization/location/LocationHierarchy.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/DepthGradient.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/NearbySpecificArea.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/regulation/RegulationArea2RegulationLocation.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/regulation/RegulationArea.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/regulation/Corpus.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/regulation/CorpusType.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/regulation/RightToProduce.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/regulation/MinimumSizeAllowed.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/regulation/Fishery.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/seller/SellerType.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/seller/Seller.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/PrecisionType.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/transcribing/TranscribingItem.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/transcribing/TranscribingSystem.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/transcribing/TranscribingItemType.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/transcribing/TranscribingSide.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/ProcessingStatus.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/DistanceToCoastGradient.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/spatial/SpatialItem.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/spatial/SpatialItemLine.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/spatial/SpatialItemType.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/spatial/SpatialItemArea.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/spatial/SpatialItem2Location.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/spatial/SpatialItemPoint.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/SurveyQualification.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/VesselType.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/ObjectType.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/Status.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/ProcessingType.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/LinkedItemType.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/gear/GearClassification.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/gear/GearClassificationAssociation.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/gear/GearAssociation.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/gear/Gear.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/location/Location.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/location/LocationClassification.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/location/LocationLevel.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/location/LocationAssociation.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/samplingScheme/denormalized/DenormalizedSamplingStrata.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/buyer/Buyer.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/buyer/BuyerType.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/grouping/GroupingClassification.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/grouping/GroupingItem.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/grouping/Grouping.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/grouping/GroupingLevel.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/PhotoType.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/SaleType.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/taxon/TaxonGroup.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/taxon/TaxonGroupHistoricalRecord.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/taxon/ReferenceDocument.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/taxon/TaxonGroupType.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/taxon/Citation.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/taxon/TaxonInformation.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/taxon/TaxonGroupInformation.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/taxon/TaxonNameHistory.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/taxon/Author.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/taxon/ReferenceTaxon.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/taxon/TaxonInformationHistory.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/taxon/TaxonName.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/taxon/TaxonomicLevel.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/taxon/VirtualComponent.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/vessel/VesselOwner.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/vessel/EducationGrade.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/vessel/VesselFeatures.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/vessel/VesselRegistrationPeriod.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/vessel/VesselOwnerPeriod.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/vessel/VesselEngineType.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/vessel/VesselMasterPeriod.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/vessel/Vessel.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/vessel/VesselMaster.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/metier/Metier.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/order/OrderItem.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/order/OrderType.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/conversion/UnitConversion.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/conversion/WeightLengthConversion.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/conversion/RoundWeightConversion.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/qualification/QualificationRule.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/pmfm/Matrix.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/pmfm/Unit.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/pmfm/ParameterGroup.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/pmfm/Fraction.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/pmfm/Method.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/pmfm/Pmfm.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/pmfm/Parameter.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/pmfm/AggregationLevel.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/pmfm/QualitativeValue.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/NumericalPrecision.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/QualityFlag.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/AnalysisInstrument.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/batch/BatchExhaustiveInventory.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/batch/BatchModel.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/batch/Batch.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/batch/denormalized/DenormalizedBatch.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/batch/denormalized/DenormalisedBatchSortingValue.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/qualification/AppliedQualificationRule.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/qualification/QualifiedItem.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/survey/takeOver/TakeOver.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/survey/physicalGear/PhysicalGearSurvey.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/survey/declaration/DeclaredDocumentReference.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/survey/economy/EconomicalSurvey.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/survey/activity/ActivityCalendar.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/survey/activity/DailyActivityCalendar.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/survey/sale/SaleOrigin.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/survey/sale/Sale.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/survey/fishingTrip/FishingTrip.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/survey/fishingTrip/FishingTripOrigin.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/survey/scientificCruise/ScientificCruise.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/survey/fishingEffort/FishingEffortCalendar.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/survey/landing/LandingOrigin.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/survey/landing/Landing.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/sale/ExpectedSale.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/fishingArea/FishingArea2RegulationLocation.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/fishingArea/FishingArea.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/operation/denormalized/DenormalizedOperation.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/operation/Operation.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/operation/OperationVesselAssociation.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/sample/Sample.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/transshipment/Transshipment.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/measure/LandingMeasurement.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/measure/VesselPhysicalMeasurement.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/measure/QuantificationMeasurement.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/measure/VesselUseMeasurement.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/measure/file/MeasurementFile.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/measure/VesselPositionMeasurement.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/measure/SaleMeasurement.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/measure/photo/Photo.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/measure/TakeOverMeasurement.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/measure/GearUseMeasurement.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/measure/SortingMeasurement.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/measure/SampleMeasurement.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/measure/SurveyMeasurement.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/measure/GearPhysicalMeasurement.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/link/LinkedItem.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/produce/Produce.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/history/UpdatedItemHistory.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/history/InsertedItemHistory.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/history/ProcessingHistory.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/history/DeletedItemHistory.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/vessel/position/VesselPosition.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/vessel/feature/physical/GearPhysicalFeatures.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/vessel/feature/physical/VesselPhysicalFeaturesOrigin.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/vessel/feature/physical/VesselPhysicalFeatures.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/vessel/feature/physical/GearPhysicalFeaturesOrigin.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/vessel/feature/use/VesselUseFeaturesOrigin.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/vessel/feature/use/GearUseFeaturesOrigin.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/vessel/feature/use/VesselUseFeatures.hbm.xml</value>
- <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/vessel/feature/use/GearUseFeatures.hbm.xml</value>
- </list>
- </property-->
+ </property-->
+ <!--property name="mappingLocations">
+ <list>
+ <value>queries-override2.hbm.xml</value>
+ <value>file:///home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/taxon/Author.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/administration/user/PersonSessionVessel.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/administration/user/UserProfil.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/administration/user/PersonSession.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/administration/user/VesselManagePeriod.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/administration/user/ManagedDataTransfer.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/administration/user/ManagedDataType.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/administration/user/DepartmentPrivilegeTransfert.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/administration/user/Person.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/administration/user/ManagedData.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/administration/user/ageReader/AgeReaderQualification.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/administration/user/Department.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/administration/programStrategy/Strategy.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/administration/programStrategy/PmfmAppliedStrategy.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/administration/programStrategy/ReferenceTaxonStrategy.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/administration/programStrategy/AppliedStrategy.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/administration/programStrategy/AppliedPeriod.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/administration/programStrategy/Program2Person.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/administration/programStrategy/Program.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/administration/programStrategy/AcquisitionLevel.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/administration/programStrategy/BatchModelAppliedStrategy.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/administration/programStrategy/Program2Department.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/administration/programStrategy/ProgramPrivilege.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/administration/programStrategy/PmfmStrategy.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/technical/optimization/grouping/GroupingVesselHierarchy.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/technical/optimization/grouping/GroupingItemHierarchy.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/technical/optimization/location/LocationHierarchyException.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/technical/optimization/location/LocationHierarchy.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/DepthGradient.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/NearbySpecificArea.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/regulation/RegulationArea2RegulationLocation.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/regulation/RegulationArea.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/regulation/Corpus.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/regulation/CorpusType.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/regulation/RightToProduce.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/regulation/MinimumSizeAllowed.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/regulation/Fishery.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/seller/SellerType.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/seller/Seller.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/PrecisionType.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/transcribing/TranscribingItem.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/transcribing/TranscribingSystem.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/transcribing/TranscribingItemType.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/transcribing/TranscribingSide.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/ProcessingStatus.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/DistanceToCoastGradient.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/spatial/SpatialItem.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/spatial/SpatialItemLine.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/spatial/SpatialItemType.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/spatial/SpatialItemArea.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/spatial/SpatialItem2Location.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/spatial/SpatialItemPoint.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/SurveyQualification.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/VesselType.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/ObjectType.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/Status.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/ProcessingType.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/LinkedItemType.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/gear/GearClassification.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/gear/GearClassificationAssociation.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/gear/GearAssociation.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/gear/Gear.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/location/Location.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/location/LocationClassification.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/location/LocationLevel.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/location/LocationAssociation.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/samplingScheme/denormalized/DenormalizedSamplingStrata.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/buyer/Buyer.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/buyer/BuyerType.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/grouping/GroupingClassification.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/grouping/GroupingItem.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/grouping/Grouping.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/grouping/GroupingLevel.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/PhotoType.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/SaleType.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/taxon/TaxonGroup.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/taxon/TaxonGroupHistoricalRecord.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/taxon/ReferenceDocument.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/taxon/TaxonGroupType.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/taxon/Citation.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/taxon/TaxonInformation.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/taxon/TaxonGroupInformation.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/taxon/TaxonNameHistory.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/taxon/Author.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/taxon/ReferenceTaxon.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/taxon/TaxonInformationHistory.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/taxon/TaxonName.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/taxon/TaxonomicLevel.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/taxon/VirtualComponent.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/vessel/VesselOwner.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/vessel/EducationGrade.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/vessel/VesselFeatures.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/vessel/VesselRegistrationPeriod.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/vessel/VesselOwnerPeriod.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/vessel/VesselEngineType.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/vessel/VesselMasterPeriod.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/vessel/Vessel.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/vessel/VesselMaster.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/metier/Metier.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/order/OrderItem.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/order/OrderType.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/conversion/UnitConversion.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/conversion/WeightLengthConversion.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/conversion/RoundWeightConversion.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/qualification/QualificationRule.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/pmfm/Matrix.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/pmfm/Unit.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/pmfm/ParameterGroup.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/pmfm/Fraction.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/pmfm/Method.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/pmfm/Pmfm.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/pmfm/Parameter.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/pmfm/AggregationLevel.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/pmfm/QualitativeValue.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/NumericalPrecision.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/QualityFlag.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/referential/AnalysisInstrument.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/batch/BatchExhaustiveInventory.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/batch/BatchModel.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/batch/Batch.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/batch/denormalized/DenormalizedBatch.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/batch/denormalized/DenormalisedBatchSortingValue.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/qualification/AppliedQualificationRule.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/qualification/QualifiedItem.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/survey/takeOver/TakeOver.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/survey/physicalGear/PhysicalGearSurvey.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/survey/declaration/DeclaredDocumentReference.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/survey/economy/EconomicalSurvey.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/survey/activity/ActivityCalendar.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/survey/activity/DailyActivityCalendar.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/survey/sale/SaleOrigin.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/survey/sale/Sale.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/survey/fishingTrip/FishingTrip.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/survey/fishingTrip/FishingTripOrigin.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/survey/scientificCruise/ScientificCruise.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/survey/fishingEffort/FishingEffortCalendar.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/survey/landing/LandingOrigin.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/survey/landing/Landing.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/sale/ExpectedSale.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/fishingArea/FishingArea2RegulationLocation.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/fishingArea/FishingArea.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/operation/denormalized/DenormalizedOperation.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/operation/Operation.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/operation/OperationVesselAssociation.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/sample/Sample.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/transshipment/Transshipment.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/measure/LandingMeasurement.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/measure/VesselPhysicalMeasurement.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/measure/QuantificationMeasurement.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/measure/VesselUseMeasurement.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/measure/file/MeasurementFile.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/measure/VesselPositionMeasurement.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/measure/SaleMeasurement.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/measure/photo/Photo.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/measure/TakeOverMeasurement.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/measure/GearUseMeasurement.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/measure/SortingMeasurement.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/measure/SampleMeasurement.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/measure/SurveyMeasurement.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/measure/GearPhysicalMeasurement.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/link/LinkedItem.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/produce/Produce.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/history/UpdatedItemHistory.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/history/InsertedItemHistory.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/history/ProcessingHistory.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/history/DeletedItemHistory.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/vessel/position/VesselPosition.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/vessel/feature/physical/GearPhysicalFeatures.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/vessel/feature/physical/VesselPhysicalFeaturesOrigin.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/vessel/feature/physical/VesselPhysicalFeatures.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/vessel/feature/physical/GearPhysicalFeaturesOrigin.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/vessel/feature/use/VesselUseFeaturesOrigin.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/vessel/feature/use/GearUseFeaturesOrigin.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/vessel/feature/use/VesselUseFeatures.hbm.xml</value>
+ <value>file:/home/tchemit/projets/ifremer/adagio/core/target/generated-sources/java/fr/ifremer/adagio/core/dao/data/vessel/feature/use/GearUseFeatures.hbm.xml</value>
+ </list>
+ </property-->
<!--</bean>-->
</beans>
\ No newline at end of file
Modified: trunk/tutti-persistence-adagio/src/main/resources/beanRefFactory.xml
===================================================================
--- trunk/tutti-persistence-adagio/src/main/resources/beanRefFactory.xml 2013-01-12 17:57:25 UTC (rev 180)
+++ trunk/tutti-persistence-adagio/src/main/resources/beanRefFactory.xml 2013-01-12 17:59:34 UTC (rev 181)
@@ -29,9 +29,9 @@
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
- <import resource="applicationContext-conf.xml"/>
+ <import resource="classpath:applicationContext-conf.xml"/>
- <bean id="beanRefFactory"
+ <bean id="TuttiBeanRefFactory"
class="org.springframework.context.support.ClassPathXmlApplicationContext">
<constructor-arg>
<list>
Modified: trunk/tutti-persistence-adagio/src/main/resources/queries-override.hbm.xml
===================================================================
--- trunk/tutti-persistence-adagio/src/main/resources/queries-override.hbm.xml 2013-01-12 17:57:25 UTC (rev 180)
+++ trunk/tutti-persistence-adagio/src/main/resources/queries-override.hbm.xml 2013-01-12 17:59:34 UTC (rev 181)
@@ -31,7 +31,11 @@
<!--TODO Create fetch profile to avoid eager loading -->
<!--</fetch-profile>-->
- <!-- Get all programs (to list with no detail) [DAT-01] -->
+ <!-- ===================================================================== -->
+ <!-- === Requete sur données thématiques [DAT-XXX] === -->
+ <!-- ===================================================================== -->
+
+ <!-- [DAT-01] Get all programs (to list with no detail) -->
<query cacheable="true" name="allPrograms">
<![CDATA[
SELECT
@@ -42,7 +46,7 @@
]]>
</query>
- <!-- Get all cruises for a given program (to list with no detail) [DAT-02] -->
+ <!-- [DAT-02] Get all cruises for a given program (to list with no detail) -->
<query cacheable="true" name="allCruises">
<![CDATA[
SELECT
@@ -56,7 +60,7 @@
<query-param name="programCode" type="java.lang.String"/>
</query>
- <!-- Get a detail program [DAT-03] -->
+ <!-- [DAT-03] Get a detail program -->
<query cacheable="true" name="program">
<![CDATA[
SELECT
@@ -69,7 +73,7 @@
<query-param name="programCode" type="java.lang.String"/>
</query>
- <!-- Get a program locations [DAT-03-1] -->
+ <!-- [DAT-03-1] Get a program locations -->
<query cacheable="true" name="allProgramLocations">
<![CDATA[
SELECT
@@ -83,7 +87,7 @@
<query-param name="programCode" type="java.lang.String"/>
</query>
- <!-- Get a detail cruise [DAT-04] -->
+ <!-- [DAT-04] Get a detail cruise -->
<query cacheable="true" name="cruise">
<![CDATA[
SELECT
@@ -112,125 +116,242 @@
<query-param name="countryLocationLevel" type="java.lang.Integer"/>
</query>
- <!-- Get all program zones [REF-01] -->
+ <!-- ===================================================================== -->
+ <!-- === Requete techniques sur référentiels [REF-TXXX] === -->
+ <!-- ===================================================================== -->
+
+ <!-- [REF-T01] Get a pmfm caracteristics by this id -->
+ <query cacheable="true" name="pmfmById">
+ <![CDATA[
+ SELECT
+ p.id AS pmfmId,
+ p.parameter.name AS parameterName,
+ p.matrix.name AS matrixName,
+ p.fraction.name AS fractionName,
+ p.method.name AS methodName,
+ p.parameter.isAlphanumeric AS isAlphanumeric,
+ p.parameter.isQualitative AS isQualitative,
+ p.signifFiguresNumber,
+ p.maximumNumberDecimals,
+ p.precision,
+ case when (p.unit.id = :unitIdNone) then '' else p.unit.symbol end AS symbol,
+ p.status AS status
+ FROM PmfmImpl p
+ WHERE
+ p.status.code IN (:statusValidCode, :statusTemporaryCode)
+ AND p.id= :pmfmId
+ ]]>
+ <query-param name="pmfmId" type="java.lang.Integer"/>
+ <query-param name="unitIdNone" type="java.lang.Integer"/>
+ <query-param name="statusValidCode" type="java.lang.String"/>
+ <query-param name="statusTemporaryCode" type="java.lang.String"/>
+ </query>
+
+ <!-- [REF-T02] Get a pmfm qualitative values from his id -->
+ <query cacheable="true" name="pmfmQualitativeValues">
+ <![CDATA[
+ SELECT
+ qv.id AS id,
+ case when (qv.name = qv.description) then qv.name else concat(qv.name, ' - ', qv.description) end AS name,
+ qv.status AS status
+ FROM
+ PmfmImpl p JOIN p.qualitativeValues qv
+ WHERE
+ p.id= :pmfmId
+ AND qv.status.code IN (:statusValidCode, :statusTemporaryCode)
+ ]]>
+ <query-param name="pmfmId" type="java.lang.Integer"/>
+ <query-param name="statusValidCode" type="java.lang.String"/>
+ <query-param name="statusTemporaryCode" type="java.lang.String"/>
+ </query>
+
+ <!-- [REF-T03] Get all pmfms using a same matrix Id -->
+ <query cacheable="true" name="allPmfmsByMatrixId">
+ <![CDATA[
+ SELECT
+ p.id AS pmfmId,
+ p.parameter.name AS parameterName,
+ p.matrix.name AS matrixName,
+ p.fraction.name AS fractionName,
+ p.method.name AS methodName,
+ p.parameter.isAlphanumeric AS isAlphanumeric,
+ p.parameter.isQualitative AS isQualitative,
+ p.signifFiguresNumber,
+ p.maximumNumberDecimals,
+ p.precision,
+ case when (p.unit.id = :unitIdNone) then '' else p.unit.symbol end AS symbol,
+ p.status AS status
+ FROM PmfmImpl p
+ WHERE
+ p.status.code IN (:statusValidCode, :statusTemporaryCode)
+ AND p.matrix.id= :matrixId
+ ]]>
+ <query-param name="matrixId" type="java.lang.Integer"/>
+ <query-param name="unitIdNone" type="java.lang.Integer"/>
+ <query-param name="statusValidCode" type="java.lang.String"/>
+ <query-param name="statusTemporaryCode" type="java.lang.String"/>
+ </query>
+
+ <!-- [REF-T04] Get all pmfms using a same parameter group id -->
+ <query cacheable="true" name="allPmfmsByParameterGroudId">
+ <![CDATA[
+ SELECT
+ p.id AS pmfmId,
+ p.parameter.name AS parameterName,
+ p.matrix.name AS matrixName,
+ p.fraction.name AS fractionName,
+ p.method.name AS methodName,
+ p.parameter.isAlphanumeric AS isAlphanumeric,
+ p.parameter.isQualitative AS isQualitative,
+ p.signifFiguresNumber,
+ p.maximumNumberDecimals,
+ p.precision,
+ case when (p.unit.id = :unitIdNone) then '' else p.unit.symbol end AS symbol,
+ p.status AS status
+ FROM PmfmImpl p
+ WHERE
+ p.status.code IN (:statusValidCode, :statusTemporaryCode)
+ AND p.parameter.parameterGroup.id= :parameterGroupId
+ ]]>
+ <query-param name="parameterGroupId" type="java.lang.Integer"/>
+ <query-param name="unitIdNone" type="java.lang.Integer"/>
+ <query-param name="statusValidCode" type="java.lang.String"/>
+ <query-param name="statusTemporaryCode" type="java.lang.String"/>
+ </query>
+
+ <!-- ===================================================================== -->
+ <!-- === Requete sur référentiels [REF-XXX] === -->
+ <!-- ===================================================================== -->
+
+ <!-- [REF-01] Get all program zones -->
<query cacheable="true" name="allProgramZones">
<![CDATA[
- SELECT
+ SELECT
l.id,
l.label,
l.name,
l.status
- FROM LocationImpl l
- WHERE
+ FROM LocationImpl l
+ WHERE
l.locationLevel.id = :locationLevelId
- AND l.status.code IN (1, 2)
+ AND l.status.code IN (:statusValidCode, :statusTemporaryCode)
]]>
<query-param name="locationLevelId" type="java.lang.Integer"/>
</query>
- <!-- Get all countries [REF-02] -->
+ <!-- [REF-02] Get all countries -->
<query cacheable="true" name="allCountries">
<![CDATA[
- SELECT
+ SELECT
l.id,
l.label,
l.name,
l.status
- FROM LocationImpl l
- WHERE
+ FROM LocationImpl l
+ WHERE
l.locationLevel.id = :locationLevelId
- AND l.status.code IN (1, 2)
+ AND l.status.code IN (:statusValidCode, :statusTemporaryCode)
]]>
<query-param name="locationLevelId" type="java.lang.Integer"/>
</query>
- <!-- Get all vessel for a given vesselType [REF-03] et [REF-04]-->
+ <!-- [REF-03] et [REF-04] Get all vessel for a given vesselType -->
<query cacheable="true" name="allVessels">
<![CDATA[
SELECT
- v.code AS vesselCode,
- vrp.registrationCode AS nationalRegistrationCode,
- vrp.internationalRegistrationCode as internationalRegistrationCode,
- vf.name AS vesselName,
- v.status AS status
+ v.code AS vesselCode,
+ vrp.registrationCode AS nationalRegistrationCode,
+ vrp.internationalRegistrationCode as internationalRegistrationCode,
+ vf.name AS vesselName,
+ v.status AS status
FROM
- VesselImpl v
- INNER JOIN v.vesselRegistrationPeriods AS vrp
- LEFT OUTER JOIN v.vesselFeatures AS vf
- WHERE v.vesselType.id = :vesselTypeId
- AND v.status.code IN (1, 2)
- AND vrp.vesselRegistrationPeriodPk.startDateTime =
- (
- SELECT MAX(vrp2.vesselRegistrationPeriodPk.startDateTime)
- FROM VesselRegistrationPeriodImpl vrp2 WHERE
- vrp2.vesselRegistrationPeriodPk.vessel.code = v.code
- AND (vrp2.vesselRegistrationPeriodPk.startDateTime <= :refDate OR :refDate IS NULL)
- GROUP BY vrp2.vesselRegistrationPeriodPk.vessel.code
- )
- AND vf.startDateTime =
- (
- SELECT MAX(vf2.startDateTime)
- FROM VesselFeaturesImpl vf2 WHERE
- vf2.vessel.code = v.code
- AND (vf2.startDateTime <= :refDate OR :refDate IS NULL)
- GROUP BY vf2.vessel.code
- )]]>
+ VesselImpl v
+ INNER JOIN v.vesselRegistrationPeriods AS vrp
+ LEFT OUTER JOIN v.vesselFeatures AS vf
+ WHERE
+ v.vesselType.id = :vesselTypeId
+ AND v.status.code IN (:statusValidCode, :statusTemporaryCode)
+ AND vrp.vesselRegistrationPeriodPk.startDateTime =
+ (
+ SELECT MAX(vrp2.vesselRegistrationPeriodPk.startDateTime)
+ FROM VesselRegistrationPeriodImpl vrp2 WHERE
+ vrp2.vesselRegistrationPeriodPk.vessel.code = v.code
+ AND (vrp2.vesselRegistrationPeriodPk.startDateTime <= :refDate OR :refDate IS NULL)
+ GROUP BY vrp2.vesselRegistrationPeriodPk.vessel.code
+ )
+ AND vf.startDateTime =
+ (
+ SELECT MAX(vf2.startDateTime)
+ FROM VesselFeaturesImpl vf2 WHERE
+ vf2.vessel.code = v.code
+ AND (vf2.startDateTime <= :refDate OR :refDate IS NULL)
+ GROUP BY vf2.vessel.code
+ )
+ ]]>
<query-param name="vesselTypeId" type="java.lang.Integer"/>
<query-param name="refDate" type="java.util.Date"/>
+ <query-param name="statusValidCode" type="java.lang.String"/>
+ <query-param name="statusTemporaryCode" type="java.lang.String"/>
</query>
- <!-- Get a vessel for a given vesselType [REF-03] et [REF-04]-->
+ <!-- Get a vessel for a given vesselType -->
<query cacheable="true" name="vessel">
<![CDATA[
SELECT
- v.code AS vesselCode,
- vrp.registrationCode AS nationalRegistrationCode,
- vrp.internationalRegistrationCode as internationalRegistrationCode,
- vf.name AS vesselName,
- v.status AS status
+ v.code AS vesselCode,
+ vrp.registrationCode AS nationalRegistrationCode,
+ vrp.internationalRegistrationCode as internationalRegistrationCode,
+ vf.name AS vesselName,
+ v.status AS status
FROM
- VesselImpl v
- INNER JOIN v.vesselRegistrationPeriods AS vrp
- LEFT OUTER JOIN v.vesselFeatures AS vf
- WHERE v.code = :vesselCode
- AND v.status.code IN (1, 2)
- AND vrp.vesselRegistrationPeriodPk.startDateTime =
- (
- SELECT MAX(vrp2.vesselRegistrationPeriodPk.startDateTime)
- FROM VesselRegistrationPeriodImpl vrp2 WHERE
- vrp2.vesselRegistrationPeriodPk.vessel.code = v.code
- AND (vrp2.vesselRegistrationPeriodPk.startDateTime <= :refDate OR :refDate IS NULL)
- GROUP BY vrp2.vesselRegistrationPeriodPk.vessel.code
- )
- AND vf.startDateTime =
- (
- SELECT MAX(vf2.startDateTime)
- FROM VesselFeaturesImpl vf2 WHERE
- vf2.vessel.code = v.code
- AND (vf2.startDateTime <= :refDate OR :refDate IS NULL)
- GROUP BY vf2.vessel.code
- )]]>
+ VesselImpl v
+ INNER JOIN v.vesselRegistrationPeriods AS vrp
+ LEFT OUTER JOIN v.vesselFeatures AS vf
+ WHERE
+ v.code = :vesselCode
+ AND v.status.code IN (:statusValidCode, :statusTemporaryCode)
+ AND vrp.vesselRegistrationPeriodPk.startDateTime =
+ (
+ SELECT MAX(vrp2.vesselRegistrationPeriodPk.startDateTime)
+ FROM VesselRegistrationPeriodImpl vrp2 WHERE
+ vrp2.vesselRegistrationPeriodPk.vessel.code = v.code
+ AND (vrp2.vesselRegistrationPeriodPk.startDateTime <= :refDate OR :refDate IS NULL)
+ GROUP BY vrp2.vesselRegistrationPeriodPk.vessel.code
+ )
+ AND vf.startDateTime =
+ (
+ SELECT MAX(vf2.startDateTime)
+ FROM VesselFeaturesImpl vf2 WHERE
+ vf2.vessel.code = v.code
+ AND (vf2.startDateTime <= :refDate OR :refDate IS NULL)
+ GROUP BY vf2.vessel.code
+ )
+ ]]>
<query-param name="vesselCode" type="java.lang.String"/>
<query-param name="refDate" type="java.util.Date"/>
+ <query-param name="statusValidCode" type="java.lang.String"/>
+ <query-param name="statusTemporaryCode" type="java.lang.String"/>
</query>
- <!-- Get all gears [REF-05] and [REF-06] -->
+ <!-- [REF-04] [REF-05] Get all gears -->
<query cacheable="true" name="allGears">
<![CDATA[
- SELECT
+ SELECT
g.id,
g.label,
g.name,
g.status AS status
- FROM GearImpl g
- WHERE
+ FROM GearImpl g
+ WHERE
g.gearClassification.id= :gearClassificiationId
- AND g.status.code IN (1, 2)
+ AND g.status.code IN (:statusValidCode, :statusTemporaryCode)
]]>
<query-param name="gearClassificiationId" type="java.lang.Integer"/>
+ <query-param name="statusValidCode" type="java.lang.String"/>
+ <query-param name="statusTemporaryCode" type="java.lang.String"/>
</query>
- <!-- Get all persons [REF-07] -->
+ <!-- [REF-07] Get all persons -->
<query cacheable="true" name="allPersons">
<![CDATA[
SELECT DISTINCT
@@ -243,7 +364,7 @@
PersonImpl p
LEFT OUTER JOIN p.profils pp
WHERE
- p.status.code in (1,2)
+ p.status.code IN (:statusValidCode, :statusTemporaryCode)
AND pp.id IN (
:observerProfilId,
:projectMemberProfilId,
@@ -254,55 +375,26 @@
<query-param name="observerProfilId" type="java.lang.Integer"/>
<query-param name="projectMemberProfilId" type="java.lang.Integer"/>
<query-param name="userProfilId" type="java.lang.Integer"/>
+ <query-param name="statusValidCode" type="java.lang.String"/>
+ <query-param name="statusTemporaryCode" type="java.lang.String"/>
</query>
- <!-- Get one persons [REF-07-1] -->
+ <!-- [REF-07-1] Get one person -->
<query cacheable="true" name="person">
<![CDATA[
- SELECT DISTINCT
+ SELECT DISTINCT
p.id,
p.firstname,
p.lastname,
p.department.code,
p.status
- FROM
- PersonImpl p
- WHERE p.id = :personId
+ FROM PersonImpl p
+ WHERE p.id = :personId
]]>
<query-param name="personId" type="java.lang.Integer"/>
</query>
- <!-- TODO Fix it! Get all species [REF-08] -->
- <query cacheable="true" name="allSpecies">
- <![CDATA[
- SELECT
- t.id,
- t.label,
- t.name,
- t.status
- FROM TaxonGroupImpl t
- WHERE t.taxonGroupType.code = :taxonGroupCode
- AND t.isChildGroupExclusive = false
- AND t.status.code IN (1, 2)
- ]]>
- <query-param name="taxonGroupCode" type="java.lang.Integer"/>
- </query>
-
- <!-- TODO Fix it! Get one species [REF-08-1] -->
- <query cacheable="true" name="species">
- <![CDATA[
- SELECT
- t.id,
- t.label,
- t.name,
- t.status
- FROM TaxonGroupImpl t
- WHERE t.id = :speciesId
- ]]>
- <query-param name="speciesId" type="java.lang.Integer"/>
- </query>
-
- <!-- Get all length step catacteristics [REF-09] -->
+ <!-- [REF-09] Get all length step catacteristics -->
<query cacheable="true" name="allLengthStepCaracteristics">
<![CDATA[
SELECT
@@ -319,7 +411,8 @@
p.unit.symbol AS symbol,
p.status AS status
FROM PmfmImpl p
- WHERE p.status.code IN (1, 2)
+ WHERE
+ p.status.code IN (:statusValidCode, :statusTemporaryCode)
AND p.matrix.id = :matrixId
AND p.parameter.isQualitative=false
AND p.parameter.isAlphanumeric=false
@@ -331,100 +424,48 @@
<query-param name="ageParameterCode" type="java.lang.String"/>
<query-param name="weightParameterCode" type="java.lang.String"/>
<query-param name="methodDeclarationId" type="java.lang.Integer"/>
+ <query-param name="statusValidCode" type="java.lang.String"/>
+ <query-param name="statusTemporaryCode" type="java.lang.String"/>
</query>
- <!-- Get all gear caracteristics [REF-10] (use allPmfmsByMatrixId) -->
- <!--query cacheable="true" name="allGearFeaturesCaracteristics">
- <![CDATA[
- SELECT
- p.id AS pmfmId,
- p.parameter.name AS parameterName,
- p.matrix.name AS matrixName,
- p.fraction.name AS fractionName,
- p.method.name AS methodName,
- p.parameter.isAlphanumeric AS isAlphanumeric,
- p.parameter.isQualitative AS isQualitative,
- p.unit.symbol AS symbol,
- p.status AS status
- FROM PmfmImpl p
- WHERE p.status.code IN (1, 2)
- AND p.matrix.id= :matrixId
- ]]>
- <query-param name="matrixId" type="java.lang.Integer"/>
- </query-->
-
- <!-- Get all environment caracteristics [REF-11] (use allPmfmsByParameterGroudId) -->
- <!--query cacheable="true" name="allEnvironmentCaracteristics">
- <![CDATA[
- SELECT
- p.id AS pmfmId,
- p.parameter.name AS parameterName,
- p.matrix.name AS matrixName,
- p.fraction.name AS fractionName,
- p.method.name AS methodName,
- p.parameter.isAlphanumeric AS isAlphanumeric,
- p.parameter.isQualitative AS isQualitative,
- p.unit.symbol AS symbol,
- p.status AS status
- FROM PmfmImpl p
- WHERE p.status.code IN (1, 2)
- AND p.parameter.parameterGroup.id= :parameterGroupId
- ]]>
- <query-param name="parameterGroupId" type="java.lang.Integer"/>
- </query-->
-
- <!-- TODO FIX IT! Get all hydrology caracteristics [REF-12] (use allPmfmsByParameterGroudId) -->
- <!--query cacheable="true" name="allHydrologyCaracteristics">
- <![CDATA[
- SELECT
- p.id AS pmfmId,
- p.parameter.name AS parameterName,
- p.matrix.name AS matrixName,
- p.fraction.name AS fractionName,
- p.method.name AS methodName,
- p.parameter.isAlphanumeric AS isAlphanumeric,
- p.parameter.isQualitative AS isQualitative,
- p.unit.symbol AS symbol,
- p.status AS status
- FROM PmfmImpl p
- WHERE p.status.code IN (1, 2)
- AND p.parameter.parameterGroup.id= :parameterGroupId
- ]]>
- <query-param name="parameterGroupId" type="java.lang.Integer"/>
- </query-->
-
- <!-- Get all fishing operation strates [REF-13] -->
+ <!-- [REF-13] Get all fishing operation strates -->
<query cacheable="true" name="allFishingOperationStratas">
<![CDATA[
- SELECT
+ SELECT
l.id as locationId,
l.label as locationLabel,
l.name as locationName,
l.locationLevel.id as locationLevelId,
l.status as status
- FROM LocationImpl l
- WHERE l.status.code IN (1, 2)
+ FROM LocationImpl l
+ WHERE
+ l.status.code IN (:statusValidCode, :statusTemporaryCode)
AND l.locationLevel.id = :locationLevelId
]]>
<query-param name="locationLevel" type="java.lang.Integer"/>
+ <query-param name="statusValidCode" type="java.lang.String"/>
+ <query-param name="statusTemporaryCode" type="java.lang.String"/>
</query>
- <!-- Get all fishing operation substrates [REF-14] -->
+ <!-- [REF-14] Get all fishing operation substrates -->
<query cacheable="true" name="allFishingOperationSubStratas">
<![CDATA[
- SELECT
+ SELECT
l.id as locationId,
l.label as locationLabel,
l.name as locationName,
l.locationLevel.id as locationLevelId,
l.status as status
- FROM LocationImpl l
- WHERE l.status.code IN (1, 2)
+ FROM LocationImpl l
+ WHERE
+ l.status.code IN (:statusValidCode, :statusTemporaryCode)
AND l.locationLevel.id = :locationLevelId
]]>
+ <query-param name="statusValidCode" type="java.lang.String"/>
+ <query-param name="statusTemporaryCode" type="java.lang.String"/>
</query>
- <!-- Get all fishing operation localites [REF-15] -->
+ <!-- [REF-15] Get all fishing operation localites -->
<query cacheable="true" name="allFishingOperationLocalites">
<![CDATA[
SELECT
@@ -434,143 +475,17 @@
l.locationLevel.id as locationLevelId,
l.status as status
FROM LocationImpl l
- WHERE l.status.code IN (1, 2)
- AND l.locationLevel.id = :locationLevelId
+ WHERE
+ l.status.code IN (:statusValidCode, :statusTemporaryCode)
+ AND l.locationLevel.id = :locationLevelId
]]>
+ <query-param name="statusValidCode" type="java.lang.String"/>
+ <query-param name="statusTemporaryCode" type="java.lang.String"/>
</query>
- <!-- TODO Fix it! Get all Length - Weight conversions [REF-16] -->
+ <!-- TODO [REF-16] Get all Length - Weight conversions -->
<!--query cacheable="true" name="allLengthWeightConvertions">
<![CDATA[]]>
</query-->
- <!-- TODO Fix it! Get all benthos species [REF-17] -->
- <query cacheable="true" name="allBenthosSpecies">
- <![CDATA[
- SELECT
- t.id,
- t.label,
- t.name,
- t.status
- FROM TaxonGroupImpl t
- WHERE t.taxonGroupType.code = :taxonGroupCode
- AND t.isChildGroupExclusive = false
- AND t.status.code IN (1, 2)
- ]]>
- <query-param name="taxonGroupCode" type="java.lang.Integer"/>
- </query>
-
- <!-- TODO Fix it! Get all plankton species [REF-18] TODO -->
- <query cacheable="true" name="allPlanktonSpecies">
- <![CDATA[
- SELECT
- t.id,
- t.label,
- t.name,
- t.status
- FROM TaxonGroupImpl t
- WHERE t.taxonGroupType.code = :taxonGroupCode
- AND t.isChildGroupExclusive = false
- AND t.status.code IN (1, 2)
- ]]>
- <query-param name="taxonGroupCode" type="java.lang.Integer"/>
- </query>
-
- <!-- Get all macroWaste categories [REF-19] (use pmfmById + pmfmQualitativeValues) -->
- <!--query cacheable="true" name="allMacroWasteCategories">
- <![CDATA[
- ]]>
- </query-->
-
- <!-- Get all macroWaste size categories [REF-20] (use pmfmById + pmfmQualitativeValues) -->
- <!--query cacheable="true" name="allMacroWasteSizeCategories">
- <![CDATA[
- ]]>
- </query-->
-
- <!-- Get a pmfm caracteristics by this id [REF-24] -->
- <query cacheable="true" name="pmfmById">
- <![CDATA[
- SELECT
- p.id AS pmfmId,
- p.parameter.name AS parameterName,
- p.matrix.name AS matrixName,
- p.fraction.name AS fractionName,
- p.method.name AS methodName,
- p.parameter.isAlphanumeric AS isAlphanumeric,
- p.parameter.isQualitative AS isQualitative,
- p.signifFiguresNumber,
- p.maximumNumberDecimals,
- p.precision,
- p.unit.symbol AS symbol,
- p.status AS status
- FROM PmfmImpl p
- WHERE p.status.code IN (1, 2)
- AND p.id= :pmfmId
- ]]>
- <query-param name="pmfmId" type="java.lang.Integer"/>
- </query>
-
- <!-- Get a pmfm qualitative values from his id [REF-25] -->
- <query cacheable="true" name="pmfmQualitativeValues">
- <![CDATA[
- SELECT
- qv.id AS id,
- case when (qv.name = qv.description) then qv.name else concat(qv.name, ' - ', qv.description) end AS name,
- qv.status AS status
- FROM
- PmfmImpl p JOIN p.qualitativeValues qv
- WHERE p.id= :pmfmId
- AND qv.status.code IN (1, 2)
- ]]>
- <query-param name="pmfmId" type="java.lang.Integer"/>
- </query>
-
- <!-- Get all pmfms using a same matrix Id -->
- <query cacheable="true" name="allPmfmsByMatrixId">
- <![CDATA[
- SELECT
- p.id AS pmfmId,
- p.parameter.name AS parameterName,
- p.matrix.name AS matrixName,
- p.fraction.name AS fractionName,
- p.method.name AS methodName,
- p.parameter.isAlphanumeric AS isAlphanumeric,
- p.parameter.isQualitative AS isQualitative,
- p.signifFiguresNumber,
- p.maximumNumberDecimals,
- p.precision,
- p.unit.symbol AS symbol,
- p.status AS status
- FROM PmfmImpl p
- WHERE p.status.code IN (1, 2)
- AND p.matrix.id= :matrixId
- ]]>
- <query-param name="matrixId" type="java.lang.Integer"/>
- </query>
-
- <!-- Get all pmfms using a same parameter group id -->
- <query cacheable="true" name="allPmfmsByParameterGroudId">
- <![CDATA[
- SELECT
- p.id AS pmfmId,
- p.parameter.name AS parameterName,
- p.matrix.name AS matrixName,
- p.fraction.name AS fractionName,
- p.method.name AS methodName,
- p.parameter.isAlphanumeric AS isAlphanumeric,
- p.parameter.isQualitative AS isQualitative,
- p.signifFiguresNumber,
- p.maximumNumberDecimals,
- p.precision,
- p.unit.symbol AS symbol,
- p.status AS status
- FROM PmfmImpl p
- WHERE p.status.code IN (1, 2)
- AND p.parameter.parameterGroup.id= :parameterGroupId
- ]]>
- <query-param name="parameterGroupId" type="java.lang.Integer"/>
- </query>
-
-
</hibernate-mapping>
Modified: trunk/tutti-persistence-adagio/src/main/resources/tutti-db-enumerations.properties
===================================================================
--- trunk/tutti-persistence-adagio/src/main/resources/tutti-db-enumerations.properties 2013-01-12 17:57:25 UTC (rev 180)
+++ trunk/tutti-persistence-adagio/src/main/resources/tutti-db-enumerations.properties 2013-01-12 17:59:34 UTC (rev 181)
@@ -297,6 +297,9 @@
ZoneCompetenceMapping.SEA=Corse|4022,Guadeloupe|4020,Guyanne|4020,La Réunion|4028,Martinique|4020,Mayotte|4028,Méditerranée|4022,Mer du nord manche atlantique|4018,Saint Pierre et Miquelon|4017
ZoneCompetenceMapping.DEFAULT_LOCATION_LEVEL=Corse|142,Guadeloupe|158;159,Guyanne|154;156,La Réunion|151;152,Martinique|158;159,Mayotte|,Méditerranée|142,Mer du nord manche atlantique|113;114,Saint Pierre et Miquelon|101
+# 10/01/2012 BLA Need to retrieve a Location from a given position (Lat/Long)
+LocationLevelId.RECTANGLE_STATISTIQUE_MED=145
+
# Ajoute pour Tutti
LocationLevelId.LOCALITE=22
LocationLevelId.STRATA=23
Modified: trunk/tutti-persistence-adagio/src/main/site/rst/referential.rst
===================================================================
--- trunk/tutti-persistence-adagio/src/main/site/rst/referential.rst 2013-01-12 17:57:25 UTC (rev 180)
+++ trunk/tutti-persistence-adagio/src/main/site/rst/referential.rst 2013-01-12 17:59:34 UTC (rev 181)
@@ -29,14 +29,87 @@
Présentation
~~~~~~~~~~~~
-Ce document décrit comment sont récupérer les données du référentiel.
+Ce document décrit comment sont récupérées les données du référentiel.
Chaque requète a un nom du style **[REF-XXX]**.
+Etat des lieux
+~~~~~~~~~~~~~~
+
++-----------------------------------------------------+-------------------------------------------------------------+
+| Nom requète | Etat | Commentaire |
++=====================================================+======+=====================================================+
+| [REF-01] Liste des zones d'une série de campagne | KO | Définir le niveau LocationLevel |
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-02] Liste des pays | OK | |
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-03] Liste des navires (scientifique) | OK | Requète très longue il faut optimiser |
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-04] Liste des navires (pro) | OK | Requète très longue il faut optimiser |
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-05] Liste des engins (scientifique) | OK | |
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-06] Liste des engins (pro) | OK | |
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-07] Liste des utilisateurs | OK | Doit-on utliser limiter aux membres de l'Ifremer ? |
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-08] Liste des espèces | OK | Utilisation de synonymes via import refTax ? |
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-09] Liste des psfm mesure de classe de taille | OK | |
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-10] Liste des psfm (mise en oeuvre de l'engin) | OK | |
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-11] Liste des psfm (environnement) | OK | |
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-12] Liste des psfm (hydrologique) | KO | Données à regrouper en base avec un ParameterGroup ?|
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-13] Liste des strates | KO | Pouvoir les lier aux zones / rectangle statistique |
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-14] Liste des sous-strates | KO | Pouvoir les lier aux zones / rectangle statistique / strates |
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-15] Liste des localités | KO | Pouvoir les lier aux zones / rectangle statistique / strates / sous-strates |
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-16] Conversion Taille-poids | TODO | |
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-17] Liste des espèces (écran benthos) | KO | Valider comment on filtre (sur le protocole ?) |
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-18] Liste des espèces (écran plancton) | KO | Valider comment on filtre (sur le protocole ?) |
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-19] Catégorie de macro-déchets | KO | Créer les données en base |
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-20] Catégorie de taille macro-déchets | KO | Créer les données en base |
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-21] Liste des espèces (écran accidentelles) | OK | |
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-22] Liste des psfm (écran accidentelles) | TODO | Définir ce qu'on peut mettre ici (protocole ?) |
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-23] Catégorie H/VC | OK | |
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-24] Catégorie Classe. Tri | OK | |
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-25] Catégorie Sexe | OK | |
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-26] Catégorie Maturité | KO | Valider le psfm à utiliser (MATURITY ou MATURITY_STAGE_5_VISUAL)|
++=====================================================+======+=====================================================+
+| [REF-T01] Détail d'un psfm par son id | OK | |
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-T02] Valeurs qualitatives d'un psfm | OK | |
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-T03] Liste de psfm à partir d'un support | OK | |
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-T04] Liste de psfm à partir d'un parameterGroup| OK | |
++-----------------------------------------------------+------+-----------------------------------------------------+
+| [REF-T05] Lieu statistique à partir de lat/long | OK | |
++-----------------------------------------------------+------+-----------------------------------------------------+
+
+Les requètes métier
+~~~~~~~~~~~~~~~~~~~~
+
[REF-01] Liste des zones d'une série de campagne
------------------------------------------------
::
+
SELECT
l.id,
l.label,
@@ -44,10 +117,9 @@
l.status
FROM LocationImpl l
WHERE
- l.locationLevel.id = :locationLevelId
- AND l.status.code IN (1, 2)
+ l.locationLevel.id = :locationLevelId
+ AND l.status.code IN (1, 2)
-
Paramètres :
- :locationLevelId = *LocationLevelId.PROGRAM*
@@ -66,8 +138,8 @@
l.status
FROM LocationImpl l
WHERE
- l.locationLevel.id = :locationLevelId
- AND l.status.code IN (1, 2)
+ l.locationLevel.id = :locationLevelId
+ AND l.status.code IN (1, 2)
Paramètres :
@@ -76,7 +148,7 @@
*État:* Valide.
-[REF-03] liste des navires (scientifique)
+[REF-03] Liste des navires (scientifique)
-----------------------------------------
::
@@ -110,7 +182,6 @@
GROUP BY vf2.vessel.code
)
-
Paramètres :
- :gearClassificiationId = *VesselTypeId.SCIENTIFIC_RESEARCH_VESSEL*
@@ -118,7 +189,7 @@
*État:* Valide mais à optimiser.
-[REF-04] liste des navires (pro)
+[REF-04] Liste des navires (pro)
--------------------------------
::
@@ -160,20 +231,20 @@
*État:* Valide mais à optimiser.
-[REF-05] liste des engins (scientifique)
+[REF-05] Liste des engins (scientifique)
----------------------------------------
::
SELECT
- g.id,
- g.label,
- g.name,
- g.status AS status
+ g.id,
+ g.label,
+ g.name,
+ g.status AS status
FROM GearImpl g
WHERE
- g.gearClassification.id= :gearClassificiationId
- AND g.status.code IN (1, 2)
+ g.gearClassification.id= :gearClassificiationId
+ AND g.status.code IN (1, 2)
Paramètres :
@@ -182,20 +253,20 @@
*État:* Valide.
-[REF-06] liste des engins (scientifique)
-----------------------------------------
+[REF-06] Liste des engins (pro)
+-------------------------------
::
SELECT
- g.id,
- g.label,
- g.name,
- g.status AS status
+ g.id,
+ g.label,
+ g.name,
+ g.status AS status
FROM GearImpl g
WHERE
- g.gearClassification.id= :gearClassificiationId
- AND g.status.code IN (1, 2)
+ g.gearClassification.id= :gearClassificiationId
+ AND g.status.code IN (1, 2)
Paramètres :
@@ -225,7 +296,7 @@
:projectMemberProfilId,
:userProfilId
)
- AND p.department.code LIKE 'PDG-%'
+ AND p.department.code LIKE 'PDG-%'
Paramètres :
@@ -245,8 +316,8 @@
*État:* Valide.
-[REF-09] liste des mesures de classes de taille
------------------------------------------------
+[REF-09] Liste des psfm mesure de classe de taille
+--------------------------------------------------
::
@@ -264,7 +335,8 @@
p.unit.symbol AS symbol,
p.status AS status
FROM PmfmImpl p
- WHERE p.status.code IN (1, 2)
+ WHERE
+ p.status.code IN (1, 2)
AND p.matrix.id = :matrixId
AND p.parameter.isQualitative=false
AND p.parameter.isAlphanumeric=false
@@ -281,65 +353,166 @@
*État:* Valide.
-[REF-10] Liste des pmfm (mise en oeuvre de l'engin)
+[REF-10] Liste des psfm (mise en oeuvre de l'engin)
---------------------------------------------------
+[REF-T03] avec :matrixId= *MatrixId.GEAR*
+
+*État:* Valide.
+
+[REF-11] Liste des psfm (environnement)
+---------------------------------------
+
+[REF-T03] avec :parameterGroupId= *ParameterGroupId.ENVIRONEMENT_MEASUREMENT*
+
+*État:* Valide.
+
+[REF-12] Liste des psfm (hydrologique)
+--------------------------------------
+
+[REF-T03] avec :parameterGroupId= *ParameterGroupId.HYDROLOGIC_MEASUREMENT*
+
+*État:* Données non présentes en base.
+
+[REF-13] Liste des strates
+--------------------------
+
::
SELECT
- p.id AS pmfmId,
- p.parameter.name AS parameterName,
- p.matrix.name AS matrixName,
- p.fraction.name AS fractionName,
- p.method.name AS methodName,
- p.parameter.isAlphanumeric AS isAlphanumeric,
- p.parameter.isQualitative AS isQualitative,
- p.signifFiguresNumber,
- p.maximumNumberDecimals,
- p.precision,
- p.unit.symbol AS symbol,
- p.status AS status
- FROM PmfmImpl p
- WHERE p.status.code IN (1, 2)
- AND p.matrix.id= :matrixId
+ l.id as locationId,
+ l.label as locationLabel,
+ l.name as locationName,
+ l.locationLevel.id as locationLevelId,
+ l.status as status
+ FROM LocationImpl l
+ WHERE
+ l.status.code IN (1, 2)
+ AND l.locationLevel.id = :locationLevelId
Paramètres :
-- :matrixId = *MatrixId.GEAR*
+- :locationLevelId = *LocationLevelId.STRATA*
-*État:* Valide.
+*État:* A lier aux zones de série de camapgnes et au rectangle statistique.
-[REF-11] liste des pmfm (environnement)
----------------------------------------
+[REF-14] Liste des sous-strates
+-------------------------------
::
SELECT
- p.id AS pmfmId,
- p.parameter.name AS parameterName,
- p.matrix.name AS matrixName,
- p.fraction.name AS fractionName,
- p.method.name AS methodName,
- p.parameter.isAlphanumeric AS isAlphanumeric,
- p.parameter.isQualitative AS isQualitative,
- p.signifFiguresNumber,
- p.maximumNumberDecimals,
- p.precision,
- p.unit.symbol AS symbol,
- p.status AS status
- FROM PmfmImpl p
- WHERE p.status.code IN (1, 2)
- AND p.parameter.parameterGroup.id= :parameterGroupId
+ l.id as locationId,
+ l.label as locationLabel,
+ l.name as locationName,
+ l.locationLevel.id as locationLevelId,
+ l.status as status
+ FROM LocationImpl l
+ WHERE
+ l.status.code IN (1, 2)
+ AND l.locationLevel.id = :locationLevelId
Paramètres :
-- :parameterGroupId = *ParameterGroupId.ENVIRONEMENT_MEASUREMENT*
+- :locationLevelId = *LocationLevelId.SUBSTRATA*
+*État:* Pouvoir les lier aux zones et rectangle statistique et strates.
+
+[REF-15] Liste des localités
+----------------------------
+
+::
+
+ SELECT
+ l.id as locationId,
+ l.label as locationLabel,
+ l.name as locationName,
+ l.locationLevel.id as locationLevelId,
+ l.status as status
+ FROM LocationImpl l
+ WHERE
+ l.status.code IN (1, 2)
+ AND l.locationLevel.id = :locationLevelId
+
+Paramètres :
+
+- :locationLevelId = *LocationLevelId.LOCALITE*
+
+*État:* Pouvoir les lier aux zones et rectangle statistique et strates .
+
+[REF-16] Conversion Taille-poids
+--------------------------------
+
+*État:* A faire.
+
+[REF-17] Liste des espèces (écran benthos)
+------------------------------------------
+
+*État:* Valider comment on filtre (sur le protocole ?).
+
+[REF-18] Liste des espèces (écran plancton)
+-------------------------------------------
+
+*État:* Valider comment on filtre (sur le protocole ?).
+
+[REF-19] Catégorie de macro-déchets
+-----------------------------------
+
+[REF-T01] + [REF-T02] avec :pmfmId = *PmfmId.MACRO_WASTE_CATEGORY*
+
+*État:* les données sont à créer en base.
+
+[REF-20] Catégorie de taille macro-déchets
+-------------------------------------------
+
+[REF-T01] + [REF-T02] avec :pmfmId = *PmfmId.MACRO_WASTE_SIZE_CATEGORY*
+
+*État:* les données sont à créer en base.
+
+[REF-21] Liste des espèces (écran capture accidentelles)
+--------------------------------------------------------
+
+*État:* Valide (on prend toutes les espèces).
+
+[REF-22] Liste des psfm pour les captures accidentelles
+-------------------------------------------------------
+
+*État:* A FAIRE.
+
+[REF-23] Catégorie H/VC
+-----------------------
+
+[REF-T01] + [REF-T02] avec :pmfmId = *PmfmId.SORTED_UNSORTED*
+
*État:* Valide.
-[REF-12] liste des pmfm (environnement)
----------------------------------------
+[REF-24] Catégorie Classe. Tri
+------------------------------
+[REF-T01] + [REF-T02] avec :pmfmId = *PmfmId.SIZE_CATEGORY*
+
+*État:* Valide.
+
+[REF-25] Catégorie Sexe
+-----------------------
+
+[REF-T01] + [REF-T02] avec :pmfmId = *PmfmId.SEX*
+
+*État:* Valide.
+
+[REF-26] Catégorie Maturité
+---------------------------
+
+[REF-T01] + [REF-T02] avec :pmfmId = *PmfmId.MATURITY*
+
+*État:* Valider l'id utilisé.
+
+Les requètes techniques
+~~~~~~~~~~~~~~~~~~~~~~~
+
+[REF-T01] Détail d'un psfm par son id
+-------------------------------------
+
::
SELECT
@@ -353,83 +526,104 @@
p.signifFiguresNumber,
p.maximumNumberDecimals,
p.precision,
- p.unit.symbol AS symbol,
+ case when (p.unit.id = :unitIdNone) then '' else p.unit.symbol end AS symbol,
p.status AS status
FROM PmfmImpl p
- WHERE p.status.code IN (1, 2)
- AND p.parameter.parameterGroup.id= :parameterGroupId
+ WHERE
+ p.status.code IN (1, 2)
+ AND p.id= :pmfmId
Paramètres :
-- :parameterGroupId = *ParameterGroupId.HYDROLOGIC_MEASUREMENT*
+- :pmfmId = id du psfm
+- :unitIdNone = *UnitId.NONE*
-*État:* Données non présentes en base.
+*État:* Valide.
-[REF-13] liste des strates
---------------------------
+[REF-T02] Valeurs qualitatives d'un psfm
+----------------------------------------
::
SELECT
- l.id as locationId,
- l.label as locationLabel,
- l.name as locationName,
- l.locationLevel.id as locationLevelId,
- l.status as status
- FROM LocationImpl l
- WHERE l.status.code IN (1, 2)
- AND l.locationLevel.id = :locationLevelId
+ qv.id AS id,
+ case when (qv.name = qv.description) then qv.name else concat(qv.name, ' - ', qv.description) end AS name,
+ qv.status AS status
+ FROM
+ PmfmImpl p JOIN p.qualitativeValues qv
+ WHERE
+ p.id= :pmfmId
+ AND qv.status.code IN (1, 2)
Paramètres :
-- :locationLevelId = *LocationLevelId.STRATA*
+- :pmfmId = id du psfm
*État:* Valide.
-[REF-14] liste des sous-strates
---------------------------------
+[REF-T03] Liste de psfm à partir d'un support
+---------------------------------------------
::
SELECT
- l.id as locationId,
- l.label as locationLabel,
- l.name as locationName,
- l.locationLevel.id as locationLevelId,
- l.status as status
- FROM LocationImpl l
- WHERE l.status.code IN (1, 2)
- AND l.locationLevel.id = :locationLevelId
+ p.id AS pmfmId,
+ p.parameter.name AS parameterName,
+ p.matrix.name AS matrixName,
+ p.fraction.name AS fractionName,
+ p.method.name AS methodName,
+ p.parameter.isAlphanumeric AS isAlphanumeric,
+ p.parameter.isQualitative AS isQualitative,
+ p.signifFiguresNumber,
+ p.maximumNumberDecimals,
+ p.precision,
+ case when (p.unit.id = :unitIdNone) then '' else p.unit.symbol end AS symbol,
+ p.status AS status
+ FROM PmfmImpl p
+ WHERE
+ p.status.code IN (1, 2)
+ AND p.matrix.id= :matrixId
Paramètres :
-- :locationLevelId = *LocationLevelId.SUBSTRATA*
+- :matrixId = id du support
+- :unitIdNone = *UnitId.NONE*
-*État:* A valider, il faut trouver comment récupérer les valeurs par rapport
-à une strate.
+*État:* Valide.
-[REF-15] liste des localités
-----------------------------
+[REF-T04] Liste de psfm à partir d'un groupe de paramètre
+---------------------------------------------------------
::
SELECT
- l.id as locationId,
- l.label as locationLabel,
- l.name as locationName,
- l.locationLevel.id as locationLevelId,
- l.status as status
- FROM LocationImpl l
- WHERE l.status.code IN (1, 2)
- AND l.locationLevel.id = :locationLevelId
+ p.id AS pmfmId,
+ p.parameter.name AS parameterName,
+ p.matrix.name AS matrixName,
+ p.fraction.name AS fractionName,
+ p.method.name AS methodName,
+ p.parameter.isAlphanumeric AS isAlphanumeric,
+ p.parameter.isQualitative AS isQualitative,
+ p.signifFiguresNumber,
+ p.maximumNumberDecimals,
+ p.precision,
+ case when (p.unit.id = :unitIdNone) then '' else p.unit.symbol end AS symbol,
+ p.status AS status
+ FROM PmfmImpl p
+ WHERE
+ p.status.code IN (1, 2)
+ AND p.parameter.parameterGroup.id= :parameterGroupId
Paramètres :
-- :locationLevelId = *LocationLevelId.LOCALITE*
+- :parameterGroupId = id du parameterGroup
+- :unitIdNone = *UnitId.NONE*
-*État:* A valider, il faut trouver comment récupérer les valeurs par rapport
-à une strate, sous-strate.
+*État:* Valide.
+[REF-T04] Lieu statistique (rectangle statistique) à partir de lat/long
+-----------------------------------------------------------------------
+Utiliser *LocationService.getLocationIdByLatLong()* (adagio-core)
-
+*État:* Valide.
Modified: trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/CruiseTest.java
===================================================================
--- trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/CruiseTest.java 2013-01-12 17:57:25 UTC (rev 180)
+++ trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/CruiseTest.java 2013-01-12 17:59:34 UTC (rev 181)
@@ -26,7 +26,9 @@
import fr.ifremer.tutti.persistence.entities.data.Cruise;
import fr.ifremer.tutti.persistence.entities.data.Program;
+import fr.ifremer.tutti.persistence.service.TuttiPersistenceServiceLocator;
import org.junit.Assert;
+import org.junit.Before;
import org.junit.ClassRule;
import org.junit.Ignore;
import org.junit.Test;
@@ -45,10 +47,17 @@
@ClassRule
public static final DatabaseResource dbResource = new DatabaseResource();
+ protected TuttiPersistence service;
+
+ @Before
+ public void setUp() throws Exception {
+ service = TuttiPersistenceServiceLocator.getPersistenceService();
+ }
+
@Test
public void getAllCruise(/*String programId*/) {
String programCode = dbResource.getFixtures().programCode();
- List<Cruise> result = dbResource.getDriver().getAllCruise(programCode);
+ List<Cruise> result = service.getAllCruise(programCode);
Assert.assertNotNull(result);
Assert.assertEquals(1, result.size());
}
@@ -57,7 +66,7 @@
public void getCruise(/*String id*/) {
String cruiseId = dbResource.getFixtures().cruiseId();
- Cruise result = dbResource.getDriver().getCruise(cruiseId);
+ Cruise result = service.getCruise(cruiseId);
Assert.assertNotNull(result);
}
Modified: trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/DatabaseResource.java
===================================================================
--- trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/DatabaseResource.java 2013-01-12 17:57:25 UTC (rev 180)
+++ trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/DatabaseResource.java 2013-01-12 17:59:34 UTC (rev 181)
@@ -26,6 +26,7 @@
import fr.ifremer.tutti.persistence.config.TuttiPersistenceAdagioConfig;
import fr.ifremer.tutti.persistence.config.TuttiPersistenceAdagioConfigOption;
+import fr.ifremer.tutti.persistence.service.TuttiPersistenceServiceLocator;
import org.apache.commons.io.FileUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -34,9 +35,6 @@
import org.junit.runner.Description;
import org.junit.runners.model.Statement;
import org.nuiton.util.ApplicationConfig;
-import org.nuiton.util.ArgumentsParserException;
-import org.springframework.context.ApplicationContext;
-import org.springframework.context.support.ClassPathXmlApplicationContext;
import java.io.File;
import java.io.IOException;
@@ -58,17 +56,12 @@
protected TuttiPersistenceAdagioConfig config;
- protected TuttiPersistence driver;
-
protected DatabaseFixtures fixtures;
public TuttiPersistenceAdagioConfig getConfig() {
return config;
}
- public TuttiPersistence getDriver() {
- return driver;
- }
public DatabaseFixtures getFixtures() {
return fixtures;
@@ -108,46 +101,9 @@
}
fixtures = new DatabaseFixtures();
- config = createConfig(testClass, "");
- if (log.isDebugEnabled()) {
- log.debug("Use conf.properties at " + config.getDbConfigurationPath());
- }
- ApplicationContext context = new ClassPathXmlApplicationContext(
- "applicationContext-conf.xml",
- "applicationContext-dataSource-local.xml",
- "applicationContext-entities.xml",
- "applicationContext-service-tutti.xml");
+ File resourceDirectory = getTestSpecificDirectory(testClass, "");
- driver = (TuttiPersistence) context.getBean("adagioPersistenceService");
-
- driver.setEnumerations(config.getDbEnumerations());
-
- driver.open();
- }
-
- protected void after(Description description) throws IOException {
- Class<?> testClass = description.getTestClass();
- if (log.isInfoEnabled()) {
- log.info("After test " + testClass);
- }
- // push back old classLoader
- if (oldClassLoader != null) {
- Thread.currentThread().setContextClassLoader(oldClassLoader);
- }
-
- // close hibernate session if was used
- if (driver != null) {
- driver.close();
- }
- }
-
-
- public static TuttiPersistenceAdagioConfig createConfig(Class<?> testClass,
- String name) throws ArgumentsParserException, IOException {
-
- File resourceDirectory = getTestSpecificDirectory(testClass, name);
-
RessourceClassLoader loader =
new RessourceClassLoader(testClass.getClassLoader());
@@ -162,13 +118,28 @@
resourceDirectory.getAbsolutePath());
applicationConfig.parse();
- TuttiPersistenceAdagioConfig result =
- new TuttiPersistenceAdagioConfig(applicationConfig);
+ config = new TuttiPersistenceAdagioConfig(applicationConfig);
- result.initConfig(loader);
- return result;
+ config.initConfig(loader);
+
+ if (log.isDebugEnabled()) {
+ log.debug("Use conf.properties at " + config.getDbConfigurationPath());
+ }
}
+ protected void after(Description description) throws IOException {
+ Class<?> testClass = description.getTestClass();
+ if (log.isInfoEnabled()) {
+ log.info("After test " + testClass);
+ }
+ // push back old classLoader
+ if (oldClassLoader != null) {
+ Thread.currentThread().setContextClassLoader(oldClassLoader);
+ }
+
+ TuttiPersistenceServiceLocator.close();
+ }
+
public static File getTestSpecificDirectory(Class<?> testClass,
String name) throws IOException {
// Trying to look for the temporary folder to store data for the test
@@ -193,5 +164,4 @@
return databaseFile;
}
-
}
Modified: trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/ProgramTest.java
===================================================================
--- trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/ProgramTest.java 2013-01-12 17:57:25 UTC (rev 180)
+++ trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/ProgramTest.java 2013-01-12 17:59:34 UTC (rev 181)
@@ -25,7 +25,9 @@
*/
import fr.ifremer.tutti.persistence.entities.data.Program;
+import fr.ifremer.tutti.persistence.service.TuttiPersistenceServiceLocator;
import org.junit.Assert;
+import org.junit.Before;
import org.junit.ClassRule;
import org.junit.Ignore;
import org.junit.Test;
@@ -43,9 +45,16 @@
@ClassRule
public static final DatabaseResource dbResource = new DatabaseResource();
+ protected TuttiPersistence service;
+
+ @Before
+ public void setUp() throws Exception {
+ service = TuttiPersistenceServiceLocator.getPersistenceService();
+ }
+
@Test
public void getAllProgram() {
- List<Program> result = dbResource.getDriver().getAllProgram();
+ List<Program> result = service.getAllProgram();
Assert.assertNotNull(result);
Assert.assertEquals(1, result.size());
}
@@ -53,7 +62,7 @@
@Test
public void getProgram(/*String id*/) {
String programCode = dbResource.getFixtures().programCode();
- Program actual = dbResource.getDriver().getProgram(programCode);
+ Program actual = service.getProgram(programCode);
Assert.assertNotNull(actual);
Assert.assertNotNull(actual.getId());
Assert.assertNotNull(actual.getName());
Deleted: trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/ReferentialTest.java
===================================================================
--- trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/ReferentialTest.java 2013-01-12 17:57:25 UTC (rev 180)
+++ trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/ReferentialTest.java 2013-01-12 17:59:34 UTC (rev 181)
@@ -1,224 +0,0 @@
-package fr.ifremer.tutti.persistence;
-
-/*
- * #%L
- * Tutti :: Persistence Adagio (impl)
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2012 - 2013 Ifremer
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program. If not, see
- * <http://www.gnu.org/licenses/gpl-3.0.html>.
- * #L%
- */
-
-import fr.ifremer.tutti.persistence.entities.data.Program;
-import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
-import fr.ifremer.tutti.persistence.entities.referential.Country;
-import fr.ifremer.tutti.persistence.entities.referential.Gear;
-import fr.ifremer.tutti.persistence.entities.referential.Person;
-import fr.ifremer.tutti.persistence.entities.referential.Species;
-import fr.ifremer.tutti.persistence.entities.referential.Vessel;
-import fr.ifremer.tutti.persistence.entities.referential.Zone;
-import org.junit.Assert;
-import org.junit.ClassRule;
-import org.junit.Ignore;
-import org.junit.Test;
-
-import java.util.List;
-
-/**
- * Test the referential service.
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 0.3
- */
-public class ReferentialTest {
-
- @ClassRule
- public static final DatabaseResource dbResource = new DatabaseResource();
-
- @Test
- public void getAllProgramZone() {
- List<Zone> result = dbResource.getDriver().getAllProgramZone();
- Assert.assertNotNull(result);
- Assert.assertEquals(0, result.size());
- }
-
- @Test
- public void getAllCountry() {
- List<Country> result = dbResource.getDriver().getAllCountry();
- Assert.assertNotNull(result);
- Assert.assertEquals(240, result.size());
- }
-
- @Test
- public void getAllScientificVessel() {
- List<Vessel> result = dbResource.getDriver().getAllScientificVessel();
- Assert.assertNotNull(result);
- Assert.assertEquals(1, result.size());
- }
-
- //FIXME : requete trop longue (index manquant, trop de jointures?)
- @Test
- @Ignore
- public void getAllFishingVessel() {
- List<Vessel> result = dbResource.getDriver().getAllFishingVessel();
- Assert.assertNotNull(result);
- Assert.assertEquals(187, result.size());
- }
-
- @Test
- public void getAllScientificGear() {
- List<Gear> result = dbResource.getDriver().getAllScientificGear();
- Assert.assertNotNull(result);
- Assert.assertEquals(2, result.size());
- }
-
- @Test
- public void getAllFishingGear() {
- List<Gear> result = dbResource.getDriver().getAllFishingGear();
- Assert.assertNotNull(result);
- Assert.assertEquals(75, result.size());
- }
-
- @Test
- public void getAllPerson() {
- List<Person> result = dbResource.getDriver().getAllPerson();
- Assert.assertNotNull(result);
- Assert.assertEquals(123, result.size());
- }
-
-
- @Test
- public void getAllSpecies() {
- List<Species> result = dbResource.getDriver().getAllSpecies();
- Assert.assertNotNull(result);
- Assert.assertEquals(156, result.size());
- }
-
- @Test
- public void getAllBenthosSpecies() {
- List<Species> result = dbResource.getDriver().getAllBenthosSpecies();
- Assert.assertNotNull(result);
- Assert.assertEquals(156, result.size());
- }
-
- @Test
- public void getAllPlanktonSpecies() {
- List<Species> result = dbResource.getDriver().getAllPlanktonSpecies();
- Assert.assertNotNull(result);
- Assert.assertEquals(156, result.size());
- }
-
- @Test
- public void getSpecies(/*String speciesId*/) {
- }
-
- @Test
- public void getAllFishingOperationStrata(/*String zoneId*/) {
- }
-
- @Test
- public void getAllFishingOperationSubStrata(/*String locationId*/) {
- }
-
- @Test
- public void getAllFishingOperationLocation(/*String locationId*/) {
- }
-
- @Test
- public void getAllFishingOperationEnvironmentCaracteristic() {
- List<Caracteristic> result = dbResource.getDriver().getAllFishingOperationEnvironmentCaracteristic();
- Assert.assertNotNull(result);
- Assert.assertEquals(40, result.size());
- }
-
- @Test
- public void getAllFishingOperationGearCaracteristic() {
- List<Caracteristic> result = dbResource.getDriver().getAllFishingOperationGearCaracteristic();
- Assert.assertNotNull(result);
- Assert.assertEquals(155, result.size());
- }
-
- @Test
- public void getAllFishingOperationHydrologicCaracteristic() {
- List<Caracteristic> result = dbResource.getDriver().getAllFishingOperationHydrologicCaracteristic();
- Assert.assertNotNull(result);
- Assert.assertEquals(40, result.size());
- }
-
- @Test
- public void getAllSpeciesLengthStepCaracteristic() {
- List<Caracteristic> result = dbResource.getDriver().getAllSpeciesLengthStepCaracteristic();
- Assert.assertNotNull(result);
- Assert.assertEquals(24, result.size());
- }
-
- @Test
- public void getSizeCategoryCaracteristic() {
- Caracteristic result = dbResource.getDriver().getSizeCategoryCaracteristic();
- Assert.assertNotNull(result);
- Assert.assertTrue(result.isQualitativeType());
- Assert.assertNotNull(result.getQualitativeValue());
- Assert.assertEquals(6, result.sizeQualitativeValue());
- }
-
- @Test
- public void getSexCaracteristic() {
- Caracteristic result = dbResource.getDriver().getSexCaracteristic();
- Assert.assertNotNull(result);
- Assert.assertTrue(result.isQualitativeType());
- Assert.assertNotNull(result.getQualitativeValue());
- Assert.assertEquals(4, result.sizeQualitativeValue());
- }
-
- @Test
- public void getSortedUnsortedCaracteristic() {
- Caracteristic result = dbResource.getDriver().getSortedUnsortedCaracteristic();
- Assert.assertNotNull(result);
- Assert.assertTrue(result.isQualitativeType());
- Assert.assertNotNull(result.getQualitativeValue());
- Assert.assertEquals(2, result.sizeQualitativeValue());
- }
-
- @Test
- public void getMaturityCaracteristic() {
- Caracteristic result = dbResource.getDriver().getMaturityCaracteristic();
- Assert.assertNotNull(result);
- Assert.assertTrue(result.isQualitativeType());
- Assert.assertNotNull(result.getQualitativeValue());
- Assert.assertEquals(10, result.sizeQualitativeValue());
- }
-
- @Test
- public void getMacroWasteCategoryCaracteristic() {
- Caracteristic result = dbResource.getDriver().getMacroWasteCategoryCaracteristic();
- Assert.assertNotNull(result);
- Assert.assertTrue(result.isQualitativeType());
- Assert.assertNotNull(result.getQualitativeValue());
- Assert.assertEquals(10, result.sizeQualitativeValue());
- }
-
- @Test
- public void getMacroWasteSizeCategoryCaracteristic() {
- Caracteristic result = dbResource.getDriver().getMacroWasteSizeCategoryCaracteristic();
- Assert.assertNotNull(result);
- Assert.assertTrue(result.isQualitativeType());
- Assert.assertNotNull(result.getQualitativeValue());
- Assert.assertEquals(10, result.sizeQualitativeValue());
- }
-
-}
Copied: trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceTest.java (from rev 179, trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/ReferentialTest.java)
===================================================================
--- trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceTest.java (rev 0)
+++ trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceTest.java 2013-01-12 17:59:34 UTC (rev 181)
@@ -0,0 +1,232 @@
+package fr.ifremer.tutti.persistence.service;
+
+/*
+ * #%L
+ * Tutti :: Persistence Adagio (impl)
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 - 2013 Ifremer
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
+import fr.ifremer.tutti.persistence.DatabaseResource;
+import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
+import fr.ifremer.tutti.persistence.entities.referential.Country;
+import fr.ifremer.tutti.persistence.entities.referential.Gear;
+import fr.ifremer.tutti.persistence.entities.referential.Person;
+import fr.ifremer.tutti.persistence.entities.referential.Species;
+import fr.ifremer.tutti.persistence.entities.referential.Vessel;
+import fr.ifremer.tutti.persistence.entities.referential.Zone;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.ClassRule;
+import org.junit.Ignore;
+import org.junit.Test;
+
+import java.util.List;
+
+/**
+ * Test the referential service.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 0.3
+ */
+public class ReferentialPersistenceServiceTest {
+
+ @ClassRule
+ public static final DatabaseResource dbResource = new DatabaseResource();
+
+ protected ReferentialPersistenceService service;
+
+ @Before
+ public void setUp() throws Exception {
+ service = TuttiPersistenceServiceLocator.getReferentialPersistenceService();
+ }
+
+ @Test
+ public void getAllProgramZone() {
+ List<Zone> result = service.getAllProgramZone();
+ Assert.assertNotNull(result);
+ Assert.assertEquals(0, result.size());
+ }
+
+ @Test
+ public void getAllCountry() {
+ List<Country> result = service.getAllCountry();
+ Assert.assertNotNull(result);
+ Assert.assertEquals(240, result.size());
+ }
+
+ @Test
+ public void getAllScientificVessel() {
+ List<Vessel> result = service.getAllScientificVessel();
+ Assert.assertNotNull(result);
+ Assert.assertEquals(1, result.size());
+ }
+
+ //FIXME : requete trop longue (index manquant, trop de jointures?)
+ @Test
+ @Ignore
+ public void getAllFishingVessel() {
+ List<Vessel> result = service.getAllFishingVessel();
+ Assert.assertNotNull(result);
+ Assert.assertEquals(187, result.size());
+ }
+
+ @Test
+ public void getAllScientificGear() {
+ List<Gear> result = service.getAllScientificGear();
+ Assert.assertNotNull(result);
+ Assert.assertEquals(2, result.size());
+ }
+
+ @Test
+ public void getAllFishingGear() {
+ List<Gear> result = service.getAllFishingGear();
+ Assert.assertNotNull(result);
+ Assert.assertEquals(75, result.size());
+ }
+
+ @Test
+ public void getAllPerson() {
+ List<Person> result = service.getAllPerson();
+ Assert.assertNotNull(result);
+ Assert.assertEquals(123, result.size());
+ }
+
+
+ @Test
+ public void getAllSpecies() {
+ List<Species> result = service.getAllSpecies();
+ Assert.assertNotNull(result);
+ Assert.assertEquals(8435, result.size());
+ }
+
+ @Test
+ public void getAllBenthosSpecies() {
+ List<Species> result = service.getAllBenthosSpecies();
+ Assert.assertNotNull(result);
+ Assert.assertEquals(8435, result.size());
+ }
+
+ @Test
+ public void getAllPlanktonSpecies() {
+ List<Species> result = service.getAllPlanktonSpecies();
+ Assert.assertNotNull(result);
+ Assert.assertEquals(8435, result.size());
+ }
+
+ @Test
+ public void getSpecies(/*String speciesId*/) {
+ }
+
+ @Test
+ public void getAllFishingOperationStrata(/*String zoneId*/) {
+ }
+
+ @Test
+ public void getAllFishingOperationSubStrata(/*String locationId*/) {
+ }
+
+ @Test
+ public void getAllFishingOperationLocation(/*String locationId*/) {
+ }
+
+ @Test
+ public void getAllFishingOperationEnvironmentCaracteristic() {
+ List<Caracteristic> result = service.getAllFishingOperationEnvironmentCaracteristic();
+ Assert.assertNotNull(result);
+ Assert.assertEquals(40, result.size());
+ }
+
+ @Test
+ public void getAllFishingOperationGearCaracteristic() {
+ List<Caracteristic> result = service.getAllFishingOperationGearCaracteristic();
+ Assert.assertNotNull(result);
+ Assert.assertEquals(155, result.size());
+ }
+
+ @Test
+ public void getAllFishingOperationHydrologicCaracteristic() {
+ List<Caracteristic> result = service.getAllFishingOperationHydrologicCaracteristic();
+ Assert.assertNotNull(result);
+ Assert.assertEquals(40, result.size());
+ }
+
+ @Test
+ public void getAllSpeciesLengthStepCaracteristic() {
+ List<Caracteristic> result = service.getAllSpeciesLengthStepCaracteristic();
+ Assert.assertNotNull(result);
+ Assert.assertEquals(24, result.size());
+ }
+
+ @Test
+ public void getSizeCategoryCaracteristic() {
+ Caracteristic result = service.getSizeCategoryCaracteristic();
+ Assert.assertNotNull(result);
+ Assert.assertTrue(result.isQualitativeType());
+ Assert.assertNotNull(result.getQualitativeValue());
+ Assert.assertEquals(6, result.sizeQualitativeValue());
+ }
+
+ @Test
+ public void getSexCaracteristic() {
+ Caracteristic result = service.getSexCaracteristic();
+ Assert.assertNotNull(result);
+ Assert.assertTrue(result.isQualitativeType());
+ Assert.assertNotNull(result.getQualitativeValue());
+ Assert.assertEquals(4, result.sizeQualitativeValue());
+ }
+
+ @Test
+ public void getSortedUnsortedCaracteristic() {
+ Caracteristic result = service.getSortedUnsortedCaracteristic();
+ Assert.assertNotNull(result);
+ Assert.assertTrue(result.isQualitativeType());
+ Assert.assertNotNull(result.getQualitativeValue());
+ Assert.assertEquals(2, result.sizeQualitativeValue());
+ }
+
+ @Test
+ public void getMaturityCaracteristic() {
+ Caracteristic result = service.getMaturityCaracteristic();
+ Assert.assertNotNull(result);
+ Assert.assertTrue(result.isQualitativeType());
+ Assert.assertNotNull(result.getQualitativeValue());
+ Assert.assertEquals(10, result.sizeQualitativeValue());
+ }
+
+ @Test
+ public void getMacroWasteCategoryCaracteristic() {
+ Caracteristic result = service.getMacroWasteCategoryCaracteristic();
+ Assert.assertNotNull(result);
+ Assert.assertTrue(result.isQualitativeType());
+ Assert.assertNotNull(result.getQualitativeValue());
+ Assert.assertEquals(10, result.sizeQualitativeValue());
+ }
+
+ @Test
+ public void getMacroWasteSizeCategoryCaracteristic() {
+ Caracteristic result = service.getMacroWasteSizeCategoryCaracteristic();
+ Assert.assertNotNull(result);
+ Assert.assertTrue(result.isQualitativeType());
+ Assert.assertNotNull(result.getQualitativeValue());
+ Assert.assertEquals(10, result.sizeQualitativeValue());
+ }
+
+}
Modified: trunk/tutti-persistence-adagio/src/test/resources/tutti-test.properties
===================================================================
--- trunk/tutti-persistence-adagio/src/test/resources/tutti-test.properties 2013-01-12 17:57:25 UTC (rev 180)
+++ trunk/tutti-persistence-adagio/src/test/resources/tutti-test.properties 2013-01-12 17:59:34 UTC (rev 181)
@@ -21,5 +21,5 @@
# <http://www.gnu.org/licenses/gpl-3.0.html>.
# #L%
###
-tutti.persistence.jdbc.url=jdbc:hsqldb:file:src/test/db/allegro
-#tutti.persistence.jdbc.url=jdbc:hsqldb:hsql://localhost/allegro
\ No newline at end of file
+#tutti.persistence.jdbc.url=jdbc:hsqldb:file:src/test/db/allegro
+tutti.persistence.jdbc.url=jdbc:hsqldb:hsql://localhost/allegro
\ No newline at end of file
1
0
r180 - in trunk/tutti-persistence: . src/main/java/fr/ifremer/tutti/persistence src/main/java/fr/ifremer/tutti/persistence/service
by tchemit@users.forge.codelutin.com 12 Jan '13
by tchemit@users.forge.codelutin.com 12 Jan '13
12 Jan '13
Author: tchemit
Date: 2013-01-12 18:57:25 +0100 (Sat, 12 Jan 2013)
New Revision: 180
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/180
Log:
- optimize dependencies
- fix bug in ResourceClassLoader
- introduce ReferentialPersistenceService API
Added:
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceService.java
Modified:
trunk/tutti-persistence/pom.xml
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/RessourceClassLoader.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistence.java
Modified: trunk/tutti-persistence/pom.xml
===================================================================
--- trunk/tutti-persistence/pom.xml 2013-01-11 19:00:31 UTC (rev 179)
+++ trunk/tutti-persistence/pom.xml 2013-01-12 17:57:25 UTC (rev 180)
@@ -53,6 +53,16 @@
<artifactId>commons-lang3</artifactId>
</dependency>
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </dependency>
+
</dependencies>
<build>
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/RessourceClassLoader.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/RessourceClassLoader.java 2013-01-11 19:00:31 UTC (rev 179)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/RessourceClassLoader.java 2013-01-12 17:57:25 UTC (rev 180)
@@ -171,7 +171,7 @@
try {
URL[] urls = FileUtils.toURLs(
directories.toArray(new File[directories.size()]));
- loader = URLClassLoader.newInstance(urls);
+ loader = URLClassLoader.newInstance(urls, null);
} catch (IOException e) {
throw new RuntimeException(
"Could not convert directories " + directories
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-01-11 19:00:31 UTC (rev 179)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistence.java 2013-01-12 17:57:25 UTC (rev 180)
@@ -46,7 +46,6 @@
import java.io.Closeable;
import java.io.IOException;
import java.util.List;
-import java.util.Properties;
/**
* Contract for a persistence driver used by Tutti.
@@ -64,10 +63,6 @@
void open() throws IOException;
- void close() throws IOException;
-
- void setEnumerations(Properties dbEnumerations);
-
//------------------------------------------------------------------------//
//-- Referential methods --//
//------------------------------------------------------------------------//
@@ -110,7 +105,6 @@
List<Species> getAllPlanktonSpecies();
-
Species getSpecies(String speciesId);
List<FishingOperationLocation> getAllFishingOperationStrata(String zoneId);
Added: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceService.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceService.java (rev 0)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceService.java 2013-01-12 17:57:25 UTC (rev 180)
@@ -0,0 +1,128 @@
+package fr.ifremer.tutti.persistence.service;
+
+/*
+ * #%L
+ * Tutti :: Persistence API
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 - 2013 Ifremer
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
+import fr.ifremer.tutti.persistence.entities.data.Cruise;
+import fr.ifremer.tutti.persistence.entities.data.Program;
+import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
+import fr.ifremer.tutti.persistence.entities.referential.Country;
+import fr.ifremer.tutti.persistence.entities.referential.FishingOperationLocation;
+import fr.ifremer.tutti.persistence.entities.referential.Gear;
+import fr.ifremer.tutti.persistence.entities.referential.Person;
+import fr.ifremer.tutti.persistence.entities.referential.Species;
+import fr.ifremer.tutti.persistence.entities.referential.Vessel;
+import fr.ifremer.tutti.persistence.entities.referential.Zone;
+
+import java.util.List;
+
+/**
+ * API to obtain all referentail referential data.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 0.3
+ */
+public interface ReferentialPersistenceService {
+
+ //------------------------------------------------------------------------//
+ //-- Referential methods --//
+ //------------------------------------------------------------------------//
+
+ /**
+ * @return all available zones (used by a {@link Program}.
+ * @see Program#getZone()
+ * @see Program#setZone(Zone)
+ * @since 0.3
+ */
+ List<Zone> getAllProgramZone();
+
+ /**
+ * @return all countries (used by a {@link Cruise}).
+ * @see {@link Cruise#getCountry()}
+ * @see {@link Cruise#setCountry(Country)}
+ * @since 0.1
+ */
+ List<Country> getAllCountry();
+
+ /**
+ * @return all scientific vessels (used by a {@link Cruise}).
+ * @see Cruise#getVessel()
+ * @see Cruise#setVessel(List)
+ * @since 0.3
+ */
+ List<Vessel> getAllScientificVessel();
+
+ /**
+ * @return all commercial vessels (used by a {@link Cruise}).
+ * @see Cruise#getVessel()
+ * @see Cruise#setVessel(List)
+ * @since 0.3
+ */
+ List<Vessel> getAllFishingVessel();
+
+ Vessel getVessel(String vesselCode);
+
+ List<Species> getAllSpecies();
+
+ List<Species> getAllBenthosSpecies();
+
+ List<Species> getAllPlanktonSpecies();
+
+ Species getSpecies(String speciesId);
+
+ List<FishingOperationLocation> getAllFishingOperationStrata(String zoneId);
+
+ List<FishingOperationLocation> getAllFishingOperationSubStrata(String locationId);
+
+ List<FishingOperationLocation> getAllFishingOperationLocation(String locationId);
+
+ List<Caracteristic> getAllFishingOperationEnvironmentCaracteristic();
+
+ List<Caracteristic> getAllFishingOperationGearCaracteristic();
+
+ List<Caracteristic> getAllFishingOperationHydrologicCaracteristic();
+
+ List<Caracteristic> getAllSpeciesLengthStepCaracteristic();
+
+ Caracteristic getSizeCategoryCaracteristic();
+
+ Caracteristic getSexCaracteristic();
+
+ Caracteristic getSortedUnsortedCaracteristic();
+
+ Caracteristic getMaturityCaracteristic();
+
+ Caracteristic getMacroWasteCategoryCaracteristic();
+
+ Caracteristic getMacroWasteSizeCategoryCaracteristic();
+
+ List<Gear> getAllScientificGear();
+
+ List<Gear> getAllFishingGear();
+
+ List<Person> getAllPerson();
+
+ Person getPerson(Integer personId);
+
+}
Property changes on: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceService.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
1
0
r179 - in trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing: . content/cruise content/program content/protocol util
by kmorin@users.forge.codelutin.com 11 Jan '13
by kmorin@users.forge.codelutin.com 11 Jan '13
11 Jan '13
Author: kmorin
Date: 2013-01-11 20:00:31 +0100 (Fri, 11 Jan 2013)
New Revision: 179
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/179
Log:
refs #1908 [CONSOLIDATION] Mise en place des deux contextes de validation (pour les captures)
mise en place du widget dans les campagnes, programmes et protocoles
Modified:
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/EditProgramUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/EditProgramUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/EditProgramUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/SwingValidatorMessageWidget.java
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUIHandler.java 2013-01-11 17:47:58 UTC (rev 178)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUIHandler.java 2013-01-11 19:00:31 UTC (rev 179)
@@ -331,7 +331,7 @@
screenTitle = _("tutti.title.edit.program");
}
- screenUI = new EditProgramUI(context);
+ screenUI = new EditProgramUI(ui);
break;
case EDIT_CRUISE:
@@ -342,7 +342,7 @@
screenTitle = _("tutti.title.edit.cruise");
}
- screenUI = new EditCruiseUI(context);
+ screenUI = new EditCruiseUI(ui);
break;
case EDIT_PROTOCOL:
@@ -353,7 +353,7 @@
screenTitle = _("tutti.title.edit.protocol");
}
- screenUI = new EditProtocolUI(context);
+ screenUI = new EditProtocolUI(ui);
break;
case EDIT_FISHING_OPERATION:
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUI.css 2013-01-11 17:47:58 UTC (rev 178)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUI.css 2013-01-11 19:00:31 UTC (rev 179)
@@ -43,13 +43,6 @@
showReset: true;
}
-#splitPane {
- orientation: {JSplitPane.VERTICAL_SPLIT};
- resizeWeight: 0.3;
- oneTouchExpandable: true;
- continuousLayout: true;
-}
-
#nameLabel {
text: "tutti.label.cruise.name";
labelFor: {nameField};
@@ -208,19 +201,4 @@
actionIcon: generate;
text: "tutti.action.generateCampaignName";
enabled: {model.isCanGenerateName()};
-}
-
-#messagePanel {
- border: {BorderFactory.createTitledBorder(_("tutti.title.messages"))};
- /*height: 200;
- width: 500;*/
-}
-
-#errorTable {
- rowSelectionAllowed: true;
- autoCreateRowSorter: true;
- autoResizeMode: {JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS};
- cellSelectionEnabled: false;
- selectionMode: {ListSelectionModel.SINGLE_SELECTION};
- model: {errorTableModel};
-}
+}
\ No newline at end of file
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUI.jaxx 2013-01-11 17:47:58 UTC (rev 178)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUI.jaxx 2013-01-11 19:00:31 UTC (rev 179)
@@ -30,6 +30,7 @@
fr.ifremer.tutti.persistence.entities.referential.Gear
fr.ifremer.tutti.persistence.entities.referential.Person
fr.ifremer.tutti.persistence.entities.referential.Vessel
+ fr.ifremer.tutti.ui.swing.TuttiUI
fr.ifremer.tutti.ui.swing.TuttiUIContext
jaxx.runtime.swing.editor.NumberEditor
@@ -53,8 +54,9 @@
<script><![CDATA[
- public EditCruiseUI(TuttiUIContext context) {
- EditCruiseUIHandler handler = new EditCruiseUIHandler(context, this);
+ public EditCruiseUI(TuttiUI parentUI) {
+ JAXXUtil.initContext(this, parentUI);
+ EditCruiseUIHandler handler = new EditCruiseUIHandler(parentUI, this);
setContextValue(handler);
handler.beforeInitUI();
}
@@ -90,137 +92,129 @@
</BeanValidator>
- <JSplitPane id='splitPane' constraints='BorderLayout.CENTER'>
- <Table fill='both'>
+ <Table fill='both'>
- <!-- cruise program / year / program part / name -->
- <row>
- <cell anchor='west'>
- <JLabel id='programLabel'/>
- </cell>
- <cell weightx='0.3'>
- <BeanComboBox id='surveyComboBox' constructorParams='this'
- genericType='Program'/>
- </cell>
- <cell anchor='west'>
- <JLabel id='yearLabel'/>
- </cell>
- <cell weightx='0.3'>
- <NumberEditor id='yearField' constructorParams='this'/>
- </cell>
- <cell>
- <JLabel id='surveyPartLabel'/>
- </cell>
- <cell weightx='0.3'>
- <JTextField id='surveyPartField'
- onKeyReleased='handler.setText(event, "surveyPart")'/>
- </cell>
- </row>
+ <!-- cruise program / year / program part / name -->
+ <row>
+ <cell anchor='west'>
+ <JLabel id='programLabel'/>
+ </cell>
+ <cell weightx='0.3'>
+ <BeanComboBox id='surveyComboBox' constructorParams='this'
+ genericType='Program'/>
+ </cell>
+ <cell anchor='west'>
+ <JLabel id='yearLabel'/>
+ </cell>
+ <cell weightx='0.3'>
+ <NumberEditor id='yearField' constructorParams='this'/>
+ </cell>
+ <cell>
+ <JLabel id='surveyPartLabel'/>
+ </cell>
+ <cell weightx='0.3'>
+ <JTextField id='surveyPartField'
+ onKeyReleased='handler.setText(event, "surveyPart")'/>
+ </cell>
+ </row>
- <!-- cruise name -->
- <row>
- <cell>
- <JLabel id='nameLabel'/>
- </cell>
- <cell weightx='0.3'>
- <JTextField id='nameField'
- onKeyReleased='handler.setText(event, "name")'/>
- </cell>
- <cell columns='2'>
- <JButton id='generateNameButton'
- onActionPerformed='handler.generateCampaignName()'/>
- </cell>
- <cell>
- <JLabel id='pocheLabel'/>
- </cell>
- <cell weightx='0.3'>
- <NumberEditor id='pocheField' constructorParams='this'/>
- </cell>
- </row>
+ <!-- cruise name -->
+ <row>
+ <cell>
+ <JLabel id='nameLabel'/>
+ </cell>
+ <cell weightx='0.3'>
+ <JTextField id='nameField'
+ onKeyReleased='handler.setText(event, "name")'/>
+ </cell>
+ <cell columns='2'>
+ <JButton id='generateNameButton'
+ onActionPerformed='handler.generateCampaignName()'/>
+ </cell>
+ <cell>
+ <JLabel id='pocheLabel'/>
+ </cell>
+ <cell weightx='0.3'>
+ <NumberEditor id='pocheField' constructorParams='this'/>
+ </cell>
+ </row>
- <!-- cruise country / begin date / end date -->
- <row>
- <cell>
- <JLabel id='countryLabel'/>
- </cell>
- <cell weightx='0.3'>
- <BeanComboBox id='countryComboBox' constructorParams='this'
- genericType='Country'/>
- </cell>
- <cell>
- <JLabel id='beginDateLabel'/>
- </cell>
- <cell weightx='0.3'>
- <JXDatePicker id='beginDateField'
- onActionPerformed='handler.setDate(event, "beginDate")'/>
- </cell>
- <cell>
- <JLabel id='endDateLabel'/>
- </cell>
- <cell weightx='0.3'>
- <JXDatePicker id='endDateField'
- onActionPerformed='handler.setDate(event, "endDate")'/>
- </cell>
- </row>
+ <!-- cruise country / begin date / end date -->
+ <row>
+ <cell>
+ <JLabel id='countryLabel'/>
+ </cell>
+ <cell weightx='0.3'>
+ <BeanComboBox id='countryComboBox' constructorParams='this'
+ genericType='Country'/>
+ </cell>
+ <cell>
+ <JLabel id='beginDateLabel'/>
+ </cell>
+ <cell weightx='0.3'>
+ <JXDatePicker id='beginDateField'
+ onActionPerformed='handler.setDate(event, "beginDate")'/>
+ </cell>
+ <cell>
+ <JLabel id='endDateLabel'/>
+ </cell>
+ <cell weightx='0.3'>
+ <JXDatePicker id='endDateField'
+ onActionPerformed='handler.setDate(event, "endDate")'/>
+ </cell>
+ </row>
- <!-- cruise vessel / gear -->
- <row weighty='0.3'>
- <cell columns='6'>
- <JPanel layout='{new GridLayout(1, 0)}'>
- <JPanel id='vesselListPane' layout="{new BorderLayout()}">
- <JPanel id='vesselFilterPane' constraints='BorderLayout.NORTH'>
- <JLabel id='filterVesselLabel'/>
- <JRadioButton id='filterVesselAllButton'
- onActionPerformed='model.setVesselType(VesselTypeEnum.ALL)'/>
- <JRadioButton id='filterVesselScientificButton'
- onActionPerformed='model.setVesselType(VesselTypeEnum.SCIENTIFIC)'/>
- <JRadioButton id='filterVesselFishingButton'
- onActionPerformed='model.setVesselType(VesselTypeEnum.FISHING)'/>
- </JPanel>
- <BeanDoubleList id='vesselList' genericType='Vessel' constraints='BorderLayout.CENTER'/>
+ <!-- cruise vessel / gear -->
+ <row weighty='0.3'>
+ <cell columns='6'>
+ <JPanel layout='{new GridLayout(1, 0)}'>
+ <JPanel id='vesselListPane' layout="{new BorderLayout()}">
+ <JPanel id='vesselFilterPane' constraints='BorderLayout.NORTH'>
+ <JLabel id='filterVesselLabel'/>
+ <JRadioButton id='filterVesselAllButton'
+ onActionPerformed='model.setVesselType(VesselTypeEnum.ALL)'/>
+ <JRadioButton id='filterVesselScientificButton'
+ onActionPerformed='model.setVesselType(VesselTypeEnum.SCIENTIFIC)'/>
+ <JRadioButton id='filterVesselFishingButton'
+ onActionPerformed='model.setVesselType(VesselTypeEnum.FISHING)'/>
</JPanel>
- <BeanDoubleList id='gearList' genericType='Gear'/>
+ <BeanDoubleList id='vesselList' genericType='Vessel' constraints='BorderLayout.CENTER'/>
</JPanel>
- </cell>
- </row>
+ <BeanDoubleList id='gearList' genericType='Gear'/>
+ </JPanel>
+ </cell>
+ </row>
- <!-- cruise headOfMission / headOfSortRoom -->
- <row weighty='0.3'>
- <cell columns='6'>
- <JPanel layout='{new GridLayout(1, 0)}'>
- <BeanDoubleList id='headOfMissionList' genericType='Person'/>
- <BeanDoubleList id='headOfSortRoomList' genericType='Person'/>
- </JPanel>
- </cell>
- </row>
+ <!-- cruise headOfMission / headOfSortRoom -->
+ <row weighty='0.3'>
+ <cell columns='6'>
+ <JPanel layout='{new GridLayout(1, 0)}'>
+ <BeanDoubleList id='headOfMissionList' genericType='Person'/>
+ <BeanDoubleList id='headOfSortRoomList' genericType='Person'/>
+ </JPanel>
+ </cell>
+ </row>
- <!-- cruise comment -->
- <row weighty='0.3'>
- <cell columns='6'>
- <JScrollPane id='commentPane'
- onFocusGained='commentField.requestFocus()'>
- <JTextArea id='commentField'
- onKeyReleased='handler.setText(event, "comment")'/>
- </JScrollPane>
- </cell>
- </row>
+ <!-- cruise comment -->
+ <row weighty='0.3'>
+ <cell columns='6'>
+ <JScrollPane id='commentPane'
+ onFocusGained='commentField.requestFocus()'>
+ <JTextArea id='commentField'
+ onKeyReleased='handler.setText(event, "comment")'/>
+ </JScrollPane>
+ </cell>
+ </row>
- <!-- Form Actions -->
- <row>
- <cell columns='6'>
- <JPanel layout='{new GridLayout(1, 0)}'>
- <JButton id='cancelButton' onActionPerformed='handler.cancel()'/>
- <JButton id='saveButton' onActionPerformed='handler.save()'/>
- </JPanel>
- </cell>
- </row>
- </Table>
+ <!-- Form Actions -->
+ <row>
+ <cell columns='6'>
+ <JPanel layout='{new GridLayout(1, 0)}'>
+ <JButton id='cancelButton' onActionPerformed='handler.cancel()'/>
+ <JButton id='saveButton' onActionPerformed='handler.save()'/>
+ </JPanel>
+ </cell>
+ </row>
+ </Table>
- <JPanel id='messagePanel' layout='{new GridLayout()}'>
- <JScrollPane columnHeaderView='{errorTable.getTableHeader()}'>
- <JTable id='errorTable'/>
- </JScrollPane>
- </JPanel>
- </JSplitPane>
-
</JPanel>
\ No newline at end of file
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUIHandler.java 2013-01-11 17:47:58 UTC (rev 178)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUIHandler.java 2013-01-11 19:00:31 UTC (rev 179)
@@ -33,20 +33,22 @@
import fr.ifremer.tutti.persistence.entities.referential.Vessel;
import fr.ifremer.tutti.service.PersistenceService;
import fr.ifremer.tutti.ui.swing.AbstractTuttiUIHandler;
+import fr.ifremer.tutti.ui.swing.MainUI;
import fr.ifremer.tutti.ui.swing.TuttiScreen;
+import fr.ifremer.tutti.ui.swing.TuttiUI;
import fr.ifremer.tutti.ui.swing.TuttiUIContext;
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+import java.util.List;
import jaxx.runtime.JAXXUtil;
import jaxx.runtime.context.JAXXContextEntryDef;
+import jaxx.runtime.validator.swing.SwingValidator;
import jaxx.runtime.validator.swing.SwingValidatorMessageTableRenderer;
import jaxx.runtime.validator.swing.SwingValidatorUtil;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-import java.util.List;
-
/**
* Handler of UI {@link EditCruiseUI}.
*
@@ -72,8 +74,8 @@
*/
private final PersistenceService persistenceService;
- public EditCruiseUIHandler(TuttiUIContext context, EditCruiseUI ui) {
- super(context);
+ public EditCruiseUIHandler(TuttiUI parentUi, EditCruiseUI ui) {
+ super(parentUi.getHandler().getContext());
this.ui = ui;
persistenceService = context.getService(PersistenceService.class);
}
@@ -179,6 +181,8 @@
EditCruiseUIModel model = getModel();
+ model.setVesselType(VesselTypeEnum.ALL);
+
// Change vessel list and gear list when vessel type changes
model.addPropertyChangeListener(EditCruiseUIModel.PROPERTY_VESSEL_TYPE, new PropertyChangeListener() {
@Override
@@ -237,15 +241,16 @@
users,
model.getHeadOfSortRoom());
- SwingValidatorUtil.installUI(ui.getErrorTable(),
- new SwingValidatorMessageTableRenderer());
+ SwingValidator validator = ui.getValidator();
+ listenValidatorValid(validator, model);
- listenValidatorValid(ui.getValidator(), model);
-
- model.setVesselType(VesselTypeEnum.ALL);
-
// if new fishingOperation can already cancel his creation
model.setModify(model.isCreate());
+
+ MainUI main = ui.getContextValue(MainUI.class, MainUI.class.getName());
+ main.clearValidators();
+ main.registerValidator(validator);
+
}
@Override
@@ -253,6 +258,8 @@
if (log.isInfoEnabled()) {
log.info("closing: " + ui);
}
+ MainUI main = ui.getContextValue(MainUI.class, MainUI.class.getName());
+ main.clearValidators();
}
@Override
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/EditProgramUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/EditProgramUI.css 2013-01-11 17:47:58 UTC (rev 178)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/EditProgramUI.css 2013-01-11 19:00:31 UTC (rev 179)
@@ -28,13 +28,6 @@
bean: {model};
}
-#splitPane {
- orientation: {JSplitPane.VERTICAL_SPLIT};
- resizeWeight: 0.3;
- oneTouchExpandable: true;
- continuousLayout: true;
-}
-
#form {
border: {BorderFactory.createTitledBorder((String)null)};
}
@@ -77,18 +70,3 @@
text: "tutti.action.cancel";
actionIcon: cancel;
}
-
-#messagePanel {
- border: {BorderFactory.createTitledBorder(_("tutti.title.messages"))};
- height: 200;
- width: 500;
-}
-
-#errorTable {
- rowSelectionAllowed: true;
- autoCreateRowSorter: true;
- autoResizeMode: {JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS};
- cellSelectionEnabled: false;
- selectionMode: {ListSelectionModel.SINGLE_SELECTION};
- model: {errorTableModel};
-}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/EditProgramUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/EditProgramUI.jaxx 2013-01-11 17:47:58 UTC (rev 178)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/EditProgramUI.jaxx 2013-01-11 19:00:31 UTC (rev 179)
@@ -26,6 +26,7 @@
<import>
fr.ifremer.tutti.persistence.entities.referential.Zone
+ fr.ifremer.tutti.ui.swing.TuttiUI
fr.ifremer.tutti.ui.swing.TuttiUIContext
jaxx.runtime.swing.editor.bean.BeanComboBox
@@ -42,8 +43,9 @@
<script><![CDATA[
- public EditProgramUI(TuttiUIContext context) {
- EditProgramUIHandler handler = new EditProgramUIHandler(context, this);
+ public EditProgramUI(TuttiUI parentUI) {
+ JAXXUtil.initContext(this, parentUI);
+ EditProgramUIHandler handler = new EditProgramUIHandler(parentUI, this);
setContextValue(handler);
handler.beforeInitUI();
}
@@ -68,59 +70,50 @@
<field name='comment' component='commentField'/>
</BeanValidator>
- <JSplitPane id='splitPane' constraints='BorderLayout.CENTER'>
+ <Table id='form' fill='both'>
- <Table id='form' fill='both'>
+ <!-- program name -->
+ <row>
+ <cell anchor='west'>
+ <JLabel id='nameLabel'/>
+ </cell>
+ <cell weightx='1.0'>
+ <JTextField id='nameField'
+ onKeyReleased='handler.setText(event, "name")'/>
+ </cell>
+ </row>
- <!-- program name -->
- <row>
- <cell anchor='west'>
- <JLabel id='nameLabel'/>
- </cell>
- <cell weightx='1.0'>
- <JTextField id='nameField'
- onKeyReleased='handler.setText(event, "name")'/>
- </cell>
- </row>
+ <!-- program zone -->
+ <row>
+ <cell>
+ <JLabel id='zoneLabel'/>
+ </cell>
+ <cell>
+ <BeanComboBox id='zoneComboBox' constructorParams='this'
+ genericType='Zone'/>
+ </cell>
+ </row>
- <!-- program zone -->
- <row>
- <cell>
- <JLabel id='zoneLabel'/>
- </cell>
- <cell>
- <BeanComboBox id='zoneComboBox' constructorParams='this'
- genericType='Zone'/>
- </cell>
- </row>
+ <!-- program comment -->
+ <row weighty='0.8'>
+ <cell columns='2'>
+ <JScrollPane id='commentPane'
+ onFocusGained='commentField.requestFocus()'>
+ <JTextArea id='commentField'
+ onKeyReleased='handler.setText(event, "comment")'/>
+ </JScrollPane>
+ </cell>
+ </row>
- <!-- program comment -->
- <row weighty='0.8'>
- <cell columns='2'>
- <JScrollPane id='commentPane'
- onFocusGained='commentField.requestFocus()'>
- <JTextArea id='commentField'
- onKeyReleased='handler.setText(event, "comment")'/>
- </JScrollPane>
- </cell>
- </row>
+ <!-- actions -->
+ <row anchor='south'>
+ <cell columns='2'>
+ <JPanel layout='{new GridLayout(1, 0)}'>
+ <JButton id='cancelButton' onActionPerformed='handler.cancel()'/>
+ <JButton id='saveButton' onActionPerformed='handler.save()'/>
+ </JPanel>
+ </cell>
+ </row>
+ </Table>
- <!-- actions -->
- <row anchor='south'>
- <cell columns='2'>
- <JPanel layout='{new GridLayout(1, 0)}'>
- <JButton id='cancelButton' onActionPerformed='handler.cancel()'/>
- <JButton id='saveButton' onActionPerformed='handler.save()'/>
- </JPanel>
- </cell>
- </row>
- </Table>
-
- <!-- validation messages -->
- <JPanel id='messagePanel' layout='{new GridLayout()}'>
- <JScrollPane columnHeaderView='{errorTable.getTableHeader()}'>
- <JTable id='errorTable'/>
- </JScrollPane>
- </JPanel>
- </JSplitPane>
</JPanel>
\ No newline at end of file
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/EditProgramUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/EditProgramUIHandler.java 2013-01-11 17:47:58 UTC (rev 178)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/program/EditProgramUIHandler.java 2013-01-11 19:00:31 UTC (rev 179)
@@ -28,8 +28,11 @@
import fr.ifremer.tutti.persistence.entities.data.Program;
import fr.ifremer.tutti.service.PersistenceService;
import fr.ifremer.tutti.ui.swing.AbstractTuttiUIHandler;
+import fr.ifremer.tutti.ui.swing.MainUI;
import fr.ifremer.tutti.ui.swing.TuttiScreen;
+import fr.ifremer.tutti.ui.swing.TuttiUI;
import fr.ifremer.tutti.ui.swing.TuttiUIContext;
+import jaxx.runtime.validator.swing.SwingValidator;
import jaxx.runtime.validator.swing.SwingValidatorMessageTableRenderer;
import jaxx.runtime.validator.swing.SwingValidatorUtil;
import org.apache.commons.logging.Log;
@@ -61,8 +64,8 @@
*/
private final PersistenceService persistenceService;
- public EditProgramUIHandler(TuttiUIContext context, EditProgramUI ui) {
- super(context);
+ public EditProgramUIHandler(TuttiUI parentUi, EditProgramUI ui) {
+ super(parentUi.getHandler().getContext());
this.ui = ui;
persistenceService = context.getService(PersistenceService.class);
}
@@ -102,11 +105,13 @@
persistenceService.getAllProgramZone(),
model.getZone());
- SwingValidatorUtil.installUI(ui.getErrorTable(),
- new SwingValidatorMessageTableRenderer());
+ SwingValidator validator = ui.getValidator();
+ listenValidatorValid(validator, model);
+
+ MainUI main = ui.getContextValue(MainUI.class, MainUI.class.getName());
+ main.clearValidators();
+ main.registerValidator(validator);
- listenValidatorValid(ui.getValidator(), model);
-
// if new program can already cancel his creation
model.setModify(model.isCreate());
}
@@ -116,7 +121,8 @@
if (log.isInfoEnabled()) {
log.info("closing: " + ui);
}
- ui.getValidator().setBean(null);
+ MainUI main = ui.getContextValue(MainUI.class, MainUI.class.getName());
+ main.clearValidators();
}
@Override
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.css 2013-01-11 17:47:58 UTC (rev 178)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.css 2013-01-11 19:00:31 UTC (rev 179)
@@ -30,13 +30,6 @@
bean: {model};
}
-#splitPane {
- orientation: {JSplitPane.VERTICAL_SPLIT};
- resizeWeight: 0.3;
- oneTouchExpandable: true;
- continuousLayout: true;
-}
-
#form {
border: {BorderFactory.createTitledBorder((String)null)};
}
@@ -70,21 +63,6 @@
actionIcon: cancel;
}
-#messagePanel {
- border: {BorderFactory.createTitledBorder(_("tutti.title.messages"))};
- /*height: 200;
- width: 500;*/
-}
-
-#errorTable {
- rowSelectionAllowed: true;
- autoCreateRowSorter: true;
- autoResizeMode: {JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS};
- cellSelectionEnabled: false;
- selectionMode: {ListSelectionModel.SINGLE_SELECTION};
- model: {errorTableModel};
-}
-
#speciesComboBox {
showReset: false;
enabled: {!speciesComboBox.isEmpty()};
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.jaxx 2013-01-11 17:47:58 UTC (rev 178)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.jaxx 2013-01-11 19:00:31 UTC (rev 179)
@@ -16,17 +16,18 @@
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
- You should have received a copy of the GNU General Public
- License along with this program. If not, see
- <http://www.gnu.org/licenses/gpl-3.0.html>.
- #L%
- -->
+You should have received a copy of the GNU General Public
+License along with this program. If not, see
+<http://www.gnu.org/licenses/gpl-3.0.html>.
+#L%
+-->
<JPanel id='homePanel' layout='{new BorderLayout()}'
implements='fr.ifremer.tutti.ui.swing.TuttiUI<EditProtocolUIModel, EditProtocolUIHandler>'>
<import>
fr.ifremer.tutti.persistence.entities.referential.Caracteristic
fr.ifremer.tutti.persistence.entities.referential.Species
+ fr.ifremer.tutti.ui.swing.TuttiUI
fr.ifremer.tutti.ui.swing.TuttiUIContext
jaxx.runtime.swing.editor.bean.BeanComboBox
@@ -48,8 +49,9 @@
<script><![CDATA[
- public EditProtocolUI(TuttiUIContext context) {
- EditProtocolUIHandler handler = new EditProtocolUIHandler(context, this);
+ public EditProtocolUI(TuttiUI parentUI) {
+ JAXXUtil.initContext(this, parentUI);
+ EditProtocolUIHandler handler = new EditProtocolUIHandler(parentUI, this);
setContextValue(handler);
handler.beforeInitUI();
}
@@ -57,7 +59,8 @@
protected void $afterCompleteSetup() {
handler.afterInitUI();
}
- ]]></script>
+ ]]>
+ </script>
<EditProtocolUIHandler id='handler'
initializer='getContextValue(EditProtocolUIHandler.class)'/>
@@ -78,90 +81,80 @@
onActionPerformed='handler.removeSpecies()'/>
</JPopupMenu>
- <JSplitPane id='splitPane' constraints='BorderLayout.CENTER'>
+ <JTabbedPane constraints='BorderLayout.CENTER'>
+ <tab title='tutti.label.tab.protocol.info'>
+ <Table id='protocolInfoForm' fill='both'>
- <JPanel layout='{new BorderLayout()}'>
- <JTabbedPane constraints='BorderLayout.CENTER'>
- <tab title='tutti.label.tab.protocol.info'>
- <Table id='protocolInfoForm' fill='both'>
-
- <!-- protocol name -->
- <row>
- <cell anchor='west'>
- <JLabel id='nameLabel'/>
- </cell>
- <cell weightx='1.0'>
- <JTextField id='nameField'
+ <!-- protocol name -->
+ <row>
+ <cell anchor='west'>
+ <JLabel id='nameLabel'/>
+ </cell>
+ <cell weightx='1.0'>
+ <JTextField id='nameField'
onKeyReleased='handler.setText(event, "name")'/>
- </cell>
- </row>
+ </cell>
+ </row>
- <!-- program comment -->
- <row weighty='0.8'>
- <cell columns='2'>
- <JScrollPane id='commentPane'
+ <!-- program comment -->
+ <row weighty='0.8'>
+ <cell columns='2'>
+ <JScrollPane id='commentPane'
onFocusGained='commentField.requestFocus()'>
- <JTextArea id='commentField'
+ <JTextArea id='commentField'
onKeyReleased='handler.setText(event, "comment")'/>
- </JScrollPane>
- </cell>
- </row>
- </Table>
- </tab>
+ </JScrollPane>
+ </cell>
+ </row>
+ </Table>
+ </tab>
- <tab title='tutti.label.tab.protocol.species'>
- <Table fill='both'>
- <row fill='both'>
- <cell fill='both' weightx='1'>
- <BeanComboBox id='speciesComboBox' constructorParams='this'
+ <tab title='tutti.label.tab.protocol.species'>
+ <Table fill='both'>
+ <row fill='both'>
+ <cell fill='both' weightx='1'>
+ <BeanComboBox id='speciesComboBox' constructorParams='this'
genericType='Species'/>
- </cell>
- <cell fill='both'>
- <JButton id='addRow' onActionPerformed='handler.addRow()'/>
- </cell>
- </row>
- <row fill='both' weighty='1'>
- <cell fill='both' columns='2'>
- <JScrollPane>
- <JXTable id='speciesTable' onMouseClicked='handler.autoSelectRowInTable(event, tablePopup)'/>
- </JScrollPane>
- </cell>
- </row>
- </Table>
- </tab>
+ </cell>
+ <cell fill='both'>
+ <JButton id='addRow' onActionPerformed='handler.addRow()'/>
+ </cell>
+ </row>
+ <row fill='both' weighty='1'>
+ <cell fill='both' columns='2'>
+ <JScrollPane>
+ <JXTable id='speciesTable' onMouseClicked='handler.autoSelectRowInTable(event, tablePopup)'/>
+ </JScrollPane>
+ </cell>
+ </row>
+ </Table>
+ </tab>
- <tab title='tutti.label.tab.protocol.pmfm'>
- <Table fill='both' weightx='1'>
- <row fill='both' weighty='1'>
- <cell fill='both'>
- <BeanDoubleList id='gearList' genericType='Caracteristic'/>
- </cell>
- </row>
- <row fill='both' weighty='1'>
- <cell fill='both'>
- <BeanDoubleList id='environmentList'
+ <tab title='tutti.label.tab.protocol.pmfm'>
+ <Table fill='both' weightx='1'>
+ <row fill='both' weighty='1'>
+ <cell fill='both'>
+ <BeanDoubleList id='gearList' genericType='Caracteristic'/>
+ </cell>
+ </row>
+ <row fill='both' weighty='1'>
+ <cell fill='both'>
+ <BeanDoubleList id='environmentList'
genericType='Caracteristic'/>
- </cell>
- </row>
- <row fill='both' weighty='1'>
- <cell fill='both'>
- <BeanDoubleList id='hydrologyList' genericType='Caracteristic'/>
- </cell>
- </row>
- </Table>
- </tab>
- </JTabbedPane>
+ </cell>
+ </row>
+ <row fill='both' weighty='1'>
+ <cell fill='both'>
+ <BeanDoubleList id='hydrologyList' genericType='Caracteristic'/>
+ </cell>
+ </row>
+ </Table>
+ </tab>
+ </JTabbedPane>
- <JPanel layout='{new GridLayout(1, 0)}' constraints='BorderLayout.SOUTH'>
- <JButton id='cancelButton' onActionPerformed='handler.cancel()'/>
- <JButton id='saveButton' onActionPerformed='handler.save()'/>
- </JPanel>
+ <JPanel layout='{new GridLayout(1, 0)}' constraints='BorderLayout.SOUTH'>
+ <JButton id='cancelButton' onActionPerformed='handler.cancel()'/>
+ <JButton id='saveButton' onActionPerformed='handler.save()'/>
+ </JPanel>
- </JPanel>
- <JPanel id='messagePanel' layout='{new GridLayout()}'>
- <JScrollPane columnHeaderView='{errorTable.getTableHeader()}'>
- <JTable id='errorTable'/>
- </JScrollPane>
- </JPanel>
- </JSplitPane>
</JPanel>
\ No newline at end of file
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java 2013-01-11 17:47:58 UTC (rev 178)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java 2013-01-11 19:00:31 UTC (rev 179)
@@ -30,15 +30,15 @@
import com.google.common.collect.HashBiMap;
import com.google.common.collect.Lists;
import com.google.common.collect.Multimap;
-import com.google.common.collect.Sets;
import fr.ifremer.tutti.persistence.entities.TuttiEntities;
import fr.ifremer.tutti.persistence.entities.data.SampleCategoryEnum;
import fr.ifremer.tutti.persistence.entities.protocol.SpeciesProtocol;
import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol;
import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
import fr.ifremer.tutti.persistence.entities.referential.Species;
+import fr.ifremer.tutti.ui.swing.MainUI;
import fr.ifremer.tutti.ui.swing.TuttiScreen;
-import fr.ifremer.tutti.ui.swing.TuttiUIContext;
+import fr.ifremer.tutti.ui.swing.TuttiUI;
import fr.ifremer.tutti.ui.swing.util.HydrologicCaracteristicUtil;
import fr.ifremer.tutti.ui.swing.util.TuttiBeanMonitor;
import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableUIHandler;
@@ -46,7 +46,6 @@
import java.util.Collection;
import java.util.List;
import java.util.Map;
-import java.util.Set;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.TableColumnModelEvent;
@@ -54,6 +53,7 @@
import javax.swing.table.TableColumn;
import javax.swing.table.TableColumnModel;
import jaxx.runtime.swing.editor.bean.BeanDoubleList;
+import jaxx.runtime.validator.swing.SwingValidator;
import jaxx.runtime.validator.swing.SwingValidatorMessageTableRenderer;
import jaxx.runtime.validator.swing.SwingValidatorUtil;
import org.apache.commons.collections.CollectionUtils;
@@ -96,8 +96,8 @@
*/
private final BiMap<ColumnIdentifier<EditProtocolSpeciesRowModel>, SampleCategoryEnum> columToSampleCategory;
- public EditProtocolUIHandler(TuttiUIContext context, EditProtocolUI ui) {
- super(context);
+ public EditProtocolUIHandler(TuttiUI parentUi, EditProtocolUI ui) {
+ super(parentUi.getHandler().getContext());
this.ui = ui;
columToSampleCategory = HashBiMap.create(SampleCategoryEnum.values().length-1);
columToSampleCategory.put(EditProtocolSpeciesTableModel.SIZE_ENABLED, SampleCategoryEnum.size);
@@ -220,11 +220,13 @@
model.fromBean(protocol);
}
- SwingValidatorUtil.installUI(ui.getErrorTable(),
- new SwingValidatorMessageTableRenderer());
+ SwingValidator validator = ui.getValidator();
+ listenValidatorValid(validator, model);
+
+ MainUI main = ui.getContextValue(MainUI.class, MainUI.class.getName());
+ main.clearValidators();
+ main.registerValidator(validator);
- listenValidatorValid(ui.getValidator(), model);
-
// create table model
JXTable table = getTable();
@@ -353,6 +355,8 @@
if (log.isInfoEnabled()) {
log.info("closing: " + ui);
}
+ MainUI main = ui.getContextValue(MainUI.class, MainUI.class.getName());
+ main.clearValidators();
}
@Override
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/SwingValidatorMessageWidget.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/SwingValidatorMessageWidget.java 2013-01-11 17:47:58 UTC (rev 178)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/SwingValidatorMessageWidget.java 2013-01-11 19:00:31 UTC (rev 179)
@@ -123,6 +123,7 @@
public void registerValidator(SwingValidator validator) {
errorTableModel.registerValidator(validator);
+ validator.reloadBean();
}
public void clearValidators() {
1
0
11 Jan '13
Author: kmorin
Date: 2013-01-11 18:47:58 +0100 (Fri, 11 Jan 2013)
New Revision: 178
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/178
Log:
[Trait] Mise en page
[PMFM] ajout des unit?\195?\169s et des lignes par d?\195?\169faut du protocole
[Captures] mise en page
Modified:
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentTabUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentTabUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/gearshooting/GearShootingTabUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/gearshooting/GearShootingTabUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/hydrology/HydrologyTabUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/hydrology/HydrologyTabUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolSpeciesRowModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolSpeciesTableModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUIUtil.java
trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.css 2013-01-11 17:42:37 UTC (rev 177)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.css 2013-01-11 17:47:58 UTC (rev 178)
@@ -21,7 +21,7 @@
* <http://www.gnu.org/licenses/gpl-3.0.html>.
* #L%
*/
-
+
JToolBar {
floatable: false;
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.jaxx 2013-01-11 17:42:37 UTC (rev 177)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.jaxx 2013-01-11 17:47:58 UTC (rev 178)
@@ -121,20 +121,30 @@
<!-- Numero station / Numéro trait / Date -->
<row>
- <cell anchor='west'>
- <JLabel id='stationNumberLabel'/>
+ <cell columns='6'>
+ <Table fill="both" weightx='1'>
+ <row>
+ <cell>
+ <JPanel layout="{new BorderLayout()}">
+ <JLabel id='stationNumberLabel'
+ constraints='BorderLayout.WEST'/>
+ <JTextField id='stationNumberField'
+ constraints='BorderLayout.CENTER'
+ onKeyReleased='handler.setText(event, "stationNumber")'/>
+ </JPanel>
+ </cell>
+ <cell>
+ <JPanel layout="{new BorderLayout()}">
+ <JLabel id='fishingOperationNumberLabel'
+ constraints='BorderLayout.WEST'/>
+ <NumberEditor id='fishingOperationNumberField'
+ constraints='BorderLayout.CENTER'
+ constructorParams='this'/>
+ </JPanel>
+ </cell>
+ </row>
+ </Table>
</cell>
- <cell weightx='0.3'>
- <JTextField id='stationNumberField'
- onKeyReleased='handler.setText(event, "stationNumber")'/>
- </cell>
- <cell>
- <JLabel id='fishingOperationNumberLabel'/>
- </cell>
- <cell weightx='0.3'>
- <NumberEditor id='fishingOperationNumberField'
- constructorParams='this'/>
- </cell>
</row>
<!-- Strate d'association / Sous Strate / Localité -->
@@ -360,7 +370,7 @@
</row>
<!-- Commentaire -->
- <row weighty='0.3'>
+ <row weighty='0.3' fill='both'>
<cell columns='6' fill='both'>
<JScrollPane id='commentPane'
onFocusGained='commentField.requestFocus()'>
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.css 2013-01-11 17:42:37 UTC (rev 177)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.css 2013-01-11 17:47:58 UTC (rev 178)
@@ -34,7 +34,7 @@
}
#catchTotalWeightLabel {
- text: "tutti.label.catches.catchTotalWeight";
+ text: { "<html><strong>" + _("tutti.label.catches.catchTotalWeight") + "</strong></html>" };
labelFor: {catchTotalWeightField};
}
@@ -45,8 +45,12 @@
numberPattern: {INT_6_DIGITS_PATTERN};
}
+#catchTotalSortedWeightLabel {
+ text: "tutti.label.catches.catchTotalSortedWeight";
+}
+
#catchTotalSortedTremisWeightLabel {
- text: "tutti.label.catches.catchTotalSortedTremisWeight";
+ text: { _("tutti.label.catches.catchTotalSortedTremisWeight") + "*" };
labelFor: {catchTotalSortedTremisWeightField};
}
@@ -58,7 +62,7 @@
}
#catchTotalSortedCarousselWeightLabel {
- text: "tutti.label.catches.catchTotalSortedCarousselWeight";
+ text: { _("tutti.label.catches.catchTotalSortedCarousselWeight") + "*" };
labelFor: {catchTotalSortedCarousselWeightField};
}
@@ -91,12 +95,16 @@
text: {getStringValue(model.getCatchTotalUnsortedWeight())};
}
+#catchThalassaLabel {
+ text: { "* " + _("tutti.label.catches.catchThalassa")};
+}
+
#speciesTable {
border: {BorderFactory.createTitledBorder(_("tutti.legend.catch.species"))};
}
#speciesTotalWeightLabel {
- text: "tutti.label.catches.speciesTotalWeight";
+ text: { "<html><strong>" + _("tutti.label.catches.speciesTotalWeight") + "</strong></html>" };
labelFor: {speciesTotalWeightField};
}
@@ -120,7 +128,7 @@
}
#speciesTotalSampleSortedWeightLabel {
- text: "tutti.label.catches.speciesTotalSampleSortedWeight";
+ text: { "<html><em>" + _("tutti.label.catches.speciesTotalSampleSortedWeight") + "</em></html>" };
labelFor: {speciesTotalSampleSortedWeightField};
}
@@ -146,7 +154,7 @@
}
#benthosTotalWeightLabel {
- text: "tutti.label.catches.benthosTotalWeight";
+ text: { "<html><strong>" + _("tutti.label.catches.benthosTotalWeight") + "</strong></html>" };
labelFor: {benthosTotalWeightField};
}
@@ -170,7 +178,7 @@
}
#benthosTotalSampleSortedWeightLabel {
- text: "tutti.label.catches.benthosTotalSampleSortedWeight";
+ text: { "<html><em>" + _("tutti.label.catches.benthosTotalSampleSortedWeight") + "</em></html>" };
labelFor: {benthosTotalSampleSortedWeightField};
}
@@ -196,7 +204,7 @@
}
#macroWasteTotalWeightLabel {
- text: "tutti.label.catches.macroWasteTotalWeight";
+ text: { "<html><strong>" + _("tutti.label.catches.macroWasteTotalWeight") + "</strong></html>" };
labelFor: {macroWasteTotalWeightField};
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.jaxx 2013-01-11 17:42:37 UTC (rev 177)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.jaxx 2013-01-11 17:47:58 UTC (rev 178)
@@ -101,7 +101,7 @@
<Table id="catchesForm" fill='both' weightx='1'
constraints='BorderLayout.NORTH'>
<row>
- <cell columns='2'>
+ <cell>
<Table id='catchTable' fill='both'>
<!-- Poids total capture -->
@@ -109,51 +109,59 @@
<cell anchor='west'>
<JLabel id='catchTotalWeightLabel'/>
</cell>
- <cell weightx='1.0'>
+ <cell columns='4'>
<NumberEditor id='catchTotalWeightField'
constructorParams='this'/>
</cell>
- <cell columns="2">
- </cell>
</row>
<!-- Poids total trié balance tremis / caroussel-->
<row>
<cell anchor='west'>
- <JLabel id='catchTotalSortedTremisWeightLabel'/>
+ <JLabel id='catchTotalSortedWeightLabel'/>
</cell>
+ <cell anchor='west'>
+ <JLabel id='catchTotalSortedCarousselWeightLabel'/>
+ </cell>
<cell weightx='1.0'>
- <NumberEditor id='catchTotalSortedTremisWeightField'
+ <NumberEditor id='catchTotalSortedCarousselWeightField'
constructorParams='this'/>
</cell>
<cell anchor='west'>
- <JLabel id='catchTotalSortedCarousselWeightLabel'/>
+ <JLabel id='catchTotalSortedTremisWeightLabel'/>
</cell>
<cell weightx='1.0'>
- <NumberEditor id='catchTotalSortedCarousselWeightField'
+ <NumberEditor id='catchTotalSortedTremisWeightField'
constructorParams='this'/>
</cell>
</row>
-
- <!-- Poids total rejeté / Poids total hors vrac -->
+ <!--Poids total hors vrac-->
<row>
<cell>
+ <JLabel id='catchTotalUnsortedWeightLabel'/>
+ </cell>
+ <cell columns='4'>
+ <JTextField id='catchTotalUnsortedWeightField'/>
+ </cell>
+ </row>
+ <!-- Poids total rejeté -->
+ <row>
+ <cell>
<JLabel id='catchTotalRejectedWeightLabel'/>
</cell>
- <cell>
+ <cell columns='4'>
<NumberEditor id='catchTotalRejectedWeightField'
constructorParams='this'/>
</cell>
- <cell>
- <JLabel id='catchTotalUnsortedWeightLabel'/>
- </cell>
- <cell>
- <JTextField id='catchTotalUnsortedWeightField'/>
- </cell>
</row>
</Table>
</cell>
</row>
<row>
+ <cell anchor='west' insets='0, 20, 3, 0'>
+ <JLabel id='catchThalassaLabel'/>
+ </cell>
+ </row>
+ <row>
<cell>
<Table id='speciesTable' fill='both'>
@@ -199,6 +207,8 @@
</row>
</Table>
</cell>
+ </row>
+ <row>
<cell>
<Table id='benthosTable' fill='both'>
<!-- Poids total capture -->
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentTabUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentTabUI.jaxx 2013-01-11 17:42:37 UTC (rev 177)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentTabUI.jaxx 2013-01-11 17:47:58 UTC (rev 178)
@@ -67,6 +67,7 @@
<script><![CDATA[
public EnvironmentTabUI(EditFishingOperationUI parentUI) {
+ JAXXUtil.initContext(this, parentUI);
EnvironmentTabUIHandler handler = new EnvironmentTabUIHandler(parentUI, this);
setContextValue(handler);
handler.beforeInitUI();
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentTabUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentTabUIHandler.java 2013-01-11 17:42:37 UTC (rev 177)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentTabUIHandler.java 2013-01-11 17:47:58 UTC (rev 178)
@@ -29,13 +29,14 @@
import fr.ifremer.tutti.persistence.entities.CaracteristicMap;
import fr.ifremer.tutti.persistence.entities.TuttiEntities;
import fr.ifremer.tutti.persistence.entities.data.FishingOperation;
+import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol;
import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
+import fr.ifremer.tutti.service.DecoratorService;
import fr.ifremer.tutti.ui.swing.content.operation.EditFishingOperationUI;
import fr.ifremer.tutti.ui.swing.util.TuttiBeanMonitor;
import fr.ifremer.tutti.ui.swing.util.editor.CaracteristicValueEditor;
import fr.ifremer.tutti.ui.swing.util.editor.CaracteristicValueRenderer;
import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableUIHandler;
-import java.util.Collection;
import java.util.List;
import jaxx.runtime.swing.editor.bean.BeanComboBox;
import org.apache.commons.logging.Log;
@@ -153,7 +154,7 @@
addColumnToModel(columnModel,
null,
- newTableCellRender(Caracteristic.class),
+ newTableCellRender(Caracteristic.class, DecoratorService.CARACTERISTIC_WITH_UNIT),
EnvironmentTableModel.KEY);
}
@@ -227,21 +228,35 @@
environmentCaracteristics = new CaracteristicMap();
}
+ TuttiProtocol protocol = ui.getContextValue(TuttiProtocol.class);
+ List<String> environmentPmfmIds = Lists.newArrayList();
+ if (protocol != null) {
+ environmentPmfmIds.addAll(protocol.getEnvironmentPmfmId());
+ }
+
List<EnvironmentRowModel> rows = Lists.newArrayList();
- Collection<Caracteristic> caracteristics = environmentCaracteristics.keySet();
+ List<Caracteristic> caracteristics = Lists.newArrayList(environmentCaracteristics.keySet());
+ List<Caracteristic> availableCaracteristics = model.getAvailableCaracteristics();
+ for (String id : environmentPmfmIds) {
+ Caracteristic caracteristic = TuttiEntities.findById(availableCaracteristics, id);
+ if (!caracteristics.contains(caracteristic)) {
+ caracteristics.add(caracteristic);
+ }
+ }
+
for (Caracteristic key : caracteristics) {
EnvironmentRowModel newRow = tableModel.createNewRow();
newRow.setKey(key);
newRow.setValue(environmentCaracteristics.get(key));
rows.add(newRow);
}
-
+
model.setRows(rows);
List<Caracteristic> caracteristicList = Lists.newArrayList();
- for (Caracteristic caracteristic : model.getAvailableCaracteristics()) {
+ for (Caracteristic caracteristic : availableCaracteristics) {
if (!caracteristics.contains(caracteristic)) {
caracteristicList.add(caracteristic);
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/gearshooting/GearShootingTabUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/gearshooting/GearShootingTabUI.jaxx 2013-01-11 17:42:37 UTC (rev 177)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/gearshooting/GearShootingTabUI.jaxx 2013-01-11 17:47:58 UTC (rev 178)
@@ -66,6 +66,7 @@
<script><![CDATA[
public GearShootingTabUI(EditFishingOperationUI parentUI) {
+ JAXXUtil.initContext(this, parentUI);
GearShootingTabUIHandler handler = new GearShootingTabUIHandler(parentUI, this);
setContextValue(handler);
handler.beforeInitUI();
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/gearshooting/GearShootingTabUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/gearshooting/GearShootingTabUIHandler.java 2013-01-11 17:42:37 UTC (rev 177)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/gearshooting/GearShootingTabUIHandler.java 2013-01-11 17:47:58 UTC (rev 178)
@@ -29,21 +29,21 @@
import fr.ifremer.tutti.persistence.entities.CaracteristicMap;
import fr.ifremer.tutti.persistence.entities.TuttiEntities;
import fr.ifremer.tutti.persistence.entities.data.FishingOperation;
+import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol;
import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
+import fr.ifremer.tutti.service.DecoratorService;
import fr.ifremer.tutti.ui.swing.content.operation.EditFishingOperationUI;
import fr.ifremer.tutti.ui.swing.util.TuttiBeanMonitor;
import fr.ifremer.tutti.ui.swing.util.editor.CaracteristicValueEditor;
import fr.ifremer.tutti.ui.swing.util.editor.CaracteristicValueRenderer;
import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableUIHandler;
+import java.util.List;
import jaxx.runtime.swing.editor.bean.BeanComboBox;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.jdesktop.swingx.JXTable;
import org.jdesktop.swingx.table.DefaultTableColumnModelExt;
-import java.util.Collection;
-import java.util.List;
-
/**
* @author kmorin
* @since 0.3
@@ -156,7 +156,7 @@
addColumnToModel(columnModel,
null,
- newTableCellRender(Caracteristic.class),
+ newTableCellRender(Caracteristic.class, DecoratorService.CARACTERISTIC_WITH_UNIT),
GearShootingTableModel.KEY);
}
@@ -231,9 +231,23 @@
gearShootingCaracteristics = new CaracteristicMap();
}
+ TuttiProtocol protocol = ui.getContextValue(TuttiProtocol.class);
+ List<String> gearPmfmIds = Lists.newArrayList();
+ if (protocol != null) {
+ gearPmfmIds.addAll(protocol.getGearPmfmId());
+ }
+
List<GearShootingRowModel> rows = Lists.newArrayList();
- Collection<Caracteristic> caracteristics = gearShootingCaracteristics.keySet();
+ List<Caracteristic> caracteristics = Lists.newArrayList(gearShootingCaracteristics.keySet());
+ List<Caracteristic> availableCaracteristics = model.getAvailableCaracteristics();
+ for (String id : gearPmfmIds) {
+ Caracteristic caracteristic = TuttiEntities.findById(availableCaracteristics, id);
+ if (!caracteristics.contains(caracteristic)) {
+ caracteristics.add(caracteristic);
+ }
+ }
+
for (Caracteristic key : caracteristics) {
GearShootingRowModel newRow = tableModel.createNewRow();
newRow.setKey(key);
@@ -244,7 +258,7 @@
List<Caracteristic> caracteristicList = Lists.newArrayList();
- for (Caracteristic caracteristic : model.getAvailableCaracteristics()) {
+ for (Caracteristic caracteristic : availableCaracteristics) {
if (!caracteristics.contains(caracteristic)) {
caracteristicList.add(caracteristic);
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/hydrology/HydrologyTabUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/hydrology/HydrologyTabUI.jaxx 2013-01-11 17:42:37 UTC (rev 177)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/hydrology/HydrologyTabUI.jaxx 2013-01-11 17:47:58 UTC (rev 178)
@@ -67,6 +67,7 @@
<script><![CDATA[
public HydrologyTabUI(EditFishingOperationUI parentUI) {
+ JAXXUtil.initContext(this, parentUI);
HydrologyTabUIHandler handler = new HydrologyTabUIHandler(parentUI, this);
setContextValue(handler);
handler.beforeInitUI();
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/hydrology/HydrologyTabUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/hydrology/HydrologyTabUIHandler.java 2013-01-11 17:42:37 UTC (rev 177)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/hydrology/HydrologyTabUIHandler.java 2013-01-11 17:47:58 UTC (rev 178)
@@ -30,7 +30,9 @@
import fr.ifremer.tutti.persistence.entities.CaracteristicMap;
import fr.ifremer.tutti.persistence.entities.TuttiEntities;
import fr.ifremer.tutti.persistence.entities.data.FishingOperation;
+import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol;
import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
+import fr.ifremer.tutti.service.DecoratorService;
import fr.ifremer.tutti.ui.swing.content.operation.EditFishingOperationUI;
import fr.ifremer.tutti.ui.swing.util.HydrologicCaracteristicUtil;
import fr.ifremer.tutti.ui.swing.util.HydrologicCaracteristicUtil.Type;
@@ -38,19 +40,17 @@
import fr.ifremer.tutti.ui.swing.util.editor.CaracteristicValueEditor;
import fr.ifremer.tutti.ui.swing.util.editor.CaracteristicValueRenderer;
import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableUIHandler;
-import jaxx.runtime.swing.editor.bean.BeanComboBox;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.jdesktop.swingx.JXTable;
-import org.jdesktop.swingx.table.DefaultTableColumnModelExt;
-
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.io.Serializable;
-import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Set;
+import jaxx.runtime.swing.editor.bean.BeanComboBox;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.jdesktop.swingx.JXTable;
+import org.jdesktop.swingx.table.DefaultTableColumnModelExt;
/**
* @author kmorin
@@ -68,7 +68,7 @@
*/
protected final HydrologyTabUI ui;
- protected Map<Caracteristic, Map<Type, Caracteristic>> availableCaracteristics;
+ protected Map<Caracteristic, Map<Type, Caracteristic>> availableGlobalCaracteristics;
public HydrologyTabUIHandler(EditFishingOperationUI parentUi,
HydrologyTabUI ui) {
@@ -158,15 +158,15 @@
public void propertyChange(PropertyChangeEvent evt) {
List<Caracteristic> hydrologyPmfm = (List<Caracteristic>) evt.getNewValue();
- availableCaracteristics = Maps.newHashMap();
+ availableGlobalCaracteristics = Maps.newHashMap();
if (hydrologyPmfm != null) {
for (Caracteristic caracteristic : hydrologyPmfm) {
String name = HydrologicCaracteristicUtil.getGlobalName(caracteristic.getName());
Caracteristic globalCaracteristic = HydrologicCaracteristicUtil.createGlobalCaracteristic(name, caracteristic);
- Map<Type, Caracteristic> values = availableCaracteristics.get(globalCaracteristic);
+ Map<Type, Caracteristic> values = availableGlobalCaracteristics.get(globalCaracteristic);
if (values == null) {
values = Maps.newHashMap();
- availableCaracteristics.put(globalCaracteristic, values);
+ availableGlobalCaracteristics.put(globalCaracteristic, values);
}
Type type = HydrologicCaracteristicUtil.getTypeOfCaracteristic(caracteristic);
values.put(type, caracteristic);
@@ -193,7 +193,7 @@
addColumnToModel(columnModel,
null,
- newTableCellRender(Caracteristic.class),
+ newTableCellRender(Caracteristic.class, DecoratorService.CARACTERISTIC_WITH_UNIT),
HydrologyTableModel.KEY);
}
@@ -283,13 +283,28 @@
hydrologyCaracteristics = new CaracteristicMap();
}
+ TuttiProtocol protocol = ui.getContextValue(TuttiProtocol.class);
+ List<String> gearPmfmIds = Lists.newArrayList();
+ if (protocol != null) {
+ gearPmfmIds.addAll(protocol.getHydrologyPmfmId());
+ }
+
List<HydrologyRowModel> rows = Lists.newArrayList();
List<Caracteristic> caracteristicList = Lists.newArrayList();
- Collection<Caracteristic> selectedCaracteristics = hydrologyCaracteristics.keySet();
- Set<Caracteristic> globalCaracteristics = availableCaracteristics.keySet();
+ List<Caracteristic> selectedCaracteristics = Lists.newArrayList(hydrologyCaracteristics.keySet());
+
+ List<Caracteristic> availableCaracteristics = model.getAvailableCaracteristics();
+ for (String id : gearPmfmIds) {
+ Caracteristic caracteristic = TuttiEntities.findById(availableCaracteristics, id);
+ if (!selectedCaracteristics.contains(caracteristic)) {
+ selectedCaracteristics.add(caracteristic);
+ }
+ }
+
+ Set<Caracteristic> globalCaracteristics = availableGlobalCaracteristics.keySet();
for (Caracteristic availableCaracteristic : globalCaracteristics) {
- Map<Type, Caracteristic> caracteristics = availableCaracteristics.get(availableCaracteristic);
+ Map<Type, Caracteristic> caracteristics = availableGlobalCaracteristics.get(availableCaracteristic);
//should add the global caracteristic to the combo or to the table?
boolean selectedCaracteristic = false;
@@ -328,7 +343,7 @@
FishingOperation fishingOperation = getModel().getFishingOperation();
Preconditions.checkNotNull(fishingOperation);
- Map<Type, Caracteristic> caracteristics = availableCaracteristics.get(row.getKey());
+ Map<Type, Caracteristic> caracteristics = availableGlobalCaracteristics.get(row.getKey());
for (Type type : caracteristics.keySet()) {
Caracteristic caracteristic = caracteristics.get(type);
fishingOperation.getHydrologyCaracteristics().remove(caracteristic);
@@ -366,7 +381,7 @@
if (fishingOperation.getHydrologyCaracteristics() == null) {
fishingOperation.setHydrologyCaracteristics(new CaracteristicMap());
}
- Map<Type, Caracteristic> caracteristics = availableCaracteristics.get(row.getKey());
+ Map<Type, Caracteristic> caracteristics = availableGlobalCaracteristics.get(row.getKey());
CaracteristicMap map = new CaracteristicMap();
for (Type type : caracteristics.keySet()) {
Serializable value = null;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolSpeciesRowModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolSpeciesRowModel.java 2013-01-11 17:42:37 UTC (rev 177)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolSpeciesRowModel.java 2013-01-11 17:47:58 UTC (rev 178)
@@ -50,6 +50,8 @@
public static final String PROPERTY_AGE_ENABLED = "ageEnabled";
public static final String PROPERTY_LENGTH_STEP_PMFM = "lengthStepPmfm";
+
+ public static final String PROPERTY_SORTED_UNSORTED = "sortedUnsorted";
protected Species species;
@@ -60,6 +62,8 @@
protected boolean maturityEnabled;
protected boolean ageEnabled;
+
+ protected boolean sortedUnsorted;
protected Caracteristic lengthStepPmfm;
@@ -129,6 +133,16 @@
firePropertyChange(PROPERTY_AGE_ENABLED, oldValue, ageEnabled);
}
+ public boolean isSortedUnsorted() {
+ return sortedUnsorted;
+ }
+
+ public void setSortedUnsorted(boolean sortedUnsorted) {
+ Object oldValue = isSortedUnsorted();
+ this.sortedUnsorted = sortedUnsorted;
+ firePropertyChange(PROPERTY_SORTED_UNSORTED, oldValue, sortedUnsorted);
+ }
+
public String getLengthStepPmfmId() {
return lengthStepPmfm != null ? lengthStepPmfm.getId() : null;
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolSpeciesTableModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolSpeciesTableModel.java 2013-01-11 17:42:37 UTC (rev 177)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolSpeciesTableModel.java 2013-01-11 17:47:58 UTC (rev 178)
@@ -66,6 +66,11 @@
EditProtocolSpeciesRowModel.PROPERTY_LENGTH_STEP_PMFM,
n_("tutti.table.protocol.species.header.lengthStep"),
n_("tutti.table.protocol.species.header.lengthStep"));
+
+ public static final ColumnIdentifier<EditProtocolSpeciesRowModel> SORTED_UNSORTED = ColumnIdentifier.newId(
+ EditProtocolSpeciesRowModel.PROPERTY_SORTED_UNSORTED,
+ n_("tutti.table.protocol.species.header.sortedUnsorted"),
+ n_("tutti.table.protocol.species.header.sortedUnsorted"));
private static final long serialVersionUID = 1L;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java 2013-01-11 17:42:37 UTC (rev 177)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java 2013-01-11 17:47:58 UTC (rev 178)
@@ -104,6 +104,7 @@
columToSampleCategory.put(EditProtocolSpeciesTableModel.SEX_ENABLED, SampleCategoryEnum.sex);
columToSampleCategory.put(EditProtocolSpeciesTableModel.MATURITY_ENABLED, SampleCategoryEnum.maturity);
columToSampleCategory.put(EditProtocolSpeciesTableModel.AGE_ENABLED, SampleCategoryEnum.age);
+ columToSampleCategory.put(EditProtocolSpeciesTableModel.SORTED_UNSORTED, SampleCategoryEnum.sortedUnsorted);
}
//------------------------------------------------------------------------//
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUIUtil.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUIUtil.java 2013-01-11 17:42:37 UTC (rev 177)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUIUtil.java 2013-01-11 17:47:58 UTC (rev 178)
@@ -251,9 +251,7 @@
public static String getDuration(Date startDate, Date endDate, String format) {
String duration = "";
- DateFormat df = DateFormat.getTimeInstance();
if (startDate != null && endDate != null) {
- log.info(df.format(startDate) + " " + df.format(endDate));
duration = DurationFormatUtils.formatPeriod(
startDate.getTime(), endDate.getTime() + 60000, _(format));
}
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-01-11 17:42:37 UTC (rev 177)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-01-11 17:47:58 UTC (rev 178)
@@ -59,22 +59,24 @@
tutti.label.attachmentEditor.file=Fichier
tutti.label.attachmentEditor.fileComment=Commentaire
tutti.label.attachmentEditor.fileName=Nom
-tutti.label.catches.benthosTotalSampleSortedWeight=Poids total vrac échantillonné
-tutti.label.catches.benthosTotalSortedWeight=Poids total vrac
-tutti.label.catches.benthosTotalUnsortedWeight=Poids total hors vrac
-tutti.label.catches.benthosTotalWeight=Poids total
-tutti.label.catches.catchTotalRejectedWeight=Poids total rejeté
-tutti.label.catches.catchTotalSortedCarousselWeight=Poids total vrac (Caroussel)
-tutti.label.catches.catchTotalSortedTremisWeight=Poids total vrac (Tremis)
-tutti.label.catches.catchTotalUnsortedWeight=Poids total hors vrac
-tutti.label.catches.catchTotalWeight=Poids total
-tutti.label.catches.macroWasteTotalWeight=Poids total
+tutti.label.catches.benthosTotalSampleSortedWeight=Poids VRAC trié (kg)
+tutti.label.catches.benthosTotalSortedWeight=Poids total VRAC (kg)
+tutti.label.catches.benthosTotalUnsortedWeight=Poids total HORS VRAC (kg)
+tutti.label.catches.benthosTotalWeight=Poids TOTAL (kg)
+tutti.label.catches.catchThalassa=sur Thalassa
+tutti.label.catches.catchTotalRejectedWeight=Poids total REJETÉ (kg)
+tutti.label.catches.catchTotalSortedCarousselWeight=Caroussel Observé
+tutti.label.catches.catchTotalSortedTremisWeight=Tremis
+tutti.label.catches.catchTotalSortedWeight=Poids total VRAC (kg)
+tutti.label.catches.catchTotalUnsortedWeight=Poids total HORS VRAC (kg)
+tutti.label.catches.catchTotalWeight=Poids TOTAL (kg)
+tutti.label.catches.macroWasteTotalWeight=Poids TOTAL (kg)
tutti.label.catches.planktonTotalSampleWeight=Poids total échantillonné
tutti.label.catches.planktonTotalWeight=Poids total
-tutti.label.catches.speciesTotalSampleSortedWeight=Poids total vrac échantillonné
-tutti.label.catches.speciesTotalSortedWeight=Poids total vrac
-tutti.label.catches.speciesTotalUnsortedWeight=Poids total hors vrac
-tutti.label.catches.speciesTotalWeight=Poids total
+tutti.label.catches.speciesTotalSampleSortedWeight=Poids VRAC trié (kg)
+tutti.label.catches.speciesTotalSortedWeight=Poids total VRAC (kg)
+tutti.label.catches.speciesTotalUnsortedWeight=Poids total HORS VRAC (kg)
+tutti.label.catches.speciesTotalWeight=Poids TOTAL (kg)
tutti.label.comment=Commentaire
tutti.label.createSpeciesBatch.batchWeight=Poids du lot
tutti.label.createSpeciesBatch.species=Espèce du lot
1
0