Echobase-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
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
August 2012
- 1 participants
- 38 discussions
Author: tchemit
Date: 2012-08-29 18:26:29 +0200 (Wed, 29 Aug 2012)
New Revision: 566
Url: http://forge.codelutin.com/repositories/revision/echobase/566
Log:
cr reunion 29-08-2012
Added:
trunk/src/doc/reunions/reunion-2012-09-12.txt
Added: trunk/src/doc/reunions/reunion-2012-09-12.txt
===================================================================
--- trunk/src/doc/reunions/reunion-2012-09-12.txt (rev 0)
+++ trunk/src/doc/reunions/reunion-2012-09-12.txt 2012-08-29 16:26:29 UTC (rev 566)
@@ -0,0 +1,70 @@
+Echobase (le retour d'après les vacances...)
+--------------------------------------------
+
+Mercredi 29 aout 2012 (Ifremer)
+
+Présents : Mathieu et Tony
+
+But
+---
+
+Petit point sur le nouveau contrat (phase 2).
+
+Le contrat a un peu maigrit car une partie du budget va servir à Echobase-saisie (a.k.a raptri),
+on ne traite donc pas les deux derniers points (carto + amélioration taille base embarquée).
+
+Prévu dans le contrat
+---------------------
+
+#1436 Lissage des données anciennes
+
+Il s'agit de valider l'import des données anciennes, Mathieu a déjà détecté
+quelques problèmes (cellules ESDU pas bien rattachées, perte d'echotypes).
+
+Pour mener à bien cette tâche, il faut que Mathieu diagnostique les problèmes.
+
+#1437 Suppression des imports
+
+Pouvoir supprimer les imports, avec suppression des imports *en dessous*.
+
+L'idée c'est de marquer les objets en haut de grappe d'un import. Ensuite avec
+cette unique indentifiant on doit être en mesure de supprimer tout l'import.
+
+chaque identifiant d'import sera alors enregistré dans une nouvelle table en base.
+
+Il faudra bien prendre soin pendant la suppression d'un import de noter les
+identifiants d'éventuels sous-imports afin de pouvoir les retirer de la table
+des imports.
+
+
+#1438 Choix d'une base de travail
+
+Permettre de changer la base de travail utilisée dans l'application. On reprend
+le mécanisme développé dans T3+.
+
+On utilisera alors désormais une base (h2) contentant uniquement les
+utilisateurs, ainsi que les raccourcis vers leurs bases favorites.
+
+#1439: Tableau de bord
+
+Sur cette page, on a une représentation des opérations (d'import uniquement
+pour le moment) effectuées sur la base de travail sélectionnée.
+
+Concrètement, il s'agit d'une grille (une ligne par import).
+
+On pourra supprimer des imports à partir de cette page.
+
+Quelques autres petites tâches
+------------------------------
+
+#1016 : Intégrer les traductions anglaises
+#1052 : Améliorer le filtre de recherche sur Dbeditor
+#1056 : Elaguer le modèle (il reste quelques champs qui ne sont plus utilisés dans la base)
+#1062 : Créer un module dans le svn pour y mettre les procédures de création des fichiers d'import
+
+A faire
+-------
+
+- Installer rapidemment sur la machine de Nantes la version 1.0 (lundi)
+- Envoyer les fichiers de traductions
+- Mettre en place le site "SNAPSHOT" (pour que Mathieu puisse y mettre de la doc)
Property changes on: trunk/src/doc/reunions/reunion-2012-09-12.txt
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
1
0
Author: tchemit
Date: 2012-08-23 17:36:15 +0200 (Thu, 23 Aug 2012)
New Revision: 565
Url: http://forge.codelutin.com/repositories/revision/echobase/565
Log:
refs #1404: updates libs (topia 2.6.12)
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2012-08-23 15:31:26 UTC (rev 564)
+++ trunk/pom.xml 2012-08-23 15:36:15 UTC (rev 565)
@@ -137,7 +137,7 @@
<!-- libraries version -->
<eugenePluginVersion>2.5</eugenePluginVersion>
- <topiaVersion>2.6.12-SNAPSHOT</topiaVersion>
+ <topiaVersion>2.6.12</topiaVersion>
<nuitonUtilsVersion>2.6</nuitonUtilsVersion>
<nuitonI18nVersion>2.4.1</nuitonI18nVersion>
<nuitonWebVersion>1.11</nuitonWebVersion>
1
0
r564 - trunk/echobase-services/src/main/java/fr/ifremer/echobase/services
by tchemit@users.forge.codelutin.com 23 Aug '12
by tchemit@users.forge.codelutin.com 23 Aug '12
23 Aug '12
Author: tchemit
Date: 2012-08-23 17:31:26 +0200 (Thu, 23 Aug 2012)
New Revision: 564
Url: http://forge.codelutin.com/repositories/revision/echobase/564
Log:
refs #1407: Extraction du module d'import-export csv vers ToPIA (use last topia api)
Modified:
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DefaultImportStrategy.java
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DefaultImportStrategy.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DefaultImportStrategy.java 2012-08-23 08:05:40 UTC (rev 563)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DefaultImportStrategy.java 2012-08-23 15:31:26 UTC (rev 564)
@@ -15,8 +15,6 @@
import org.nuiton.util.csv.Import;
import org.nuiton.util.csv.ImportToMap;
-import java.io.Reader;
-
/**
* TODO
*
@@ -48,9 +46,7 @@
}
@Override
- public <E extends TopiaEntity> void importTable(Import<E> importer,
- TableMeta<EchoBaseEntityEnum> meta,
- Reader reader,
+ public <E extends TopiaEntity> void importTable(TableMeta<EchoBaseEntityEnum> meta, Import<E> importer,
CsvImportResult<EchoBaseEntityEnum> csvResult) throws TopiaException {
TopiaDAO<E> dao = persistenceHelper.getDAO(tx, meta.getSource());
1
0
Author: tchemit
Date: 2012-08-23 10:05:40 +0200 (Thu, 23 Aug 2012)
New Revision: 563
Url: http://forge.codelutin.com/repositories/revision/echobase/563
Log:
refs #1404: updates libs (nuiton-utils 2.6)
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2012-08-22 16:07:30 UTC (rev 562)
+++ trunk/pom.xml 2012-08-23 08:05:40 UTC (rev 563)
@@ -138,7 +138,7 @@
<eugenePluginVersion>2.5</eugenePluginVersion>
<topiaVersion>2.6.12-SNAPSHOT</topiaVersion>
- <nuitonUtilsVersion>2.6-SNAPSHOT</nuitonUtilsVersion>
+ <nuitonUtilsVersion>2.6</nuitonUtilsVersion>
<nuitonI18nVersion>2.4.1</nuitonI18nVersion>
<nuitonWebVersion>1.11</nuitonWebVersion>
<msaccessImporterVersion>1.4.1</msaccessImporterVersion>
1
0
r562 - in trunk: echobase-entities/src/main/java/fr/ifremer/echobase/entities echobase-services/src/main/java/fr/ifremer/echobase/services
by tchemit@users.forge.codelutin.com 22 Aug '12
by tchemit@users.forge.codelutin.com 22 Aug '12
22 Aug '12
Author: tchemit
Date: 2012-08-22 18:07:30 +0200 (Wed, 22 Aug 2012)
New Revision: 562
Url: http://forge.codelutin.com/repositories/revision/echobase/562
Log:
refs #1407: Extraction du module d'import-export csv vers ToPIA
Modified:
trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EchoBaseDbMeta.java
trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EchoBasePersistenceHelper.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DefaultImportStrategy.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportDbService.java
Modified: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EchoBaseDbMeta.java
===================================================================
--- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EchoBaseDbMeta.java 2012-08-22 10:54:29 UTC (rev 561)
+++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EchoBaseDbMeta.java 2012-08-22 16:07:30 UTC (rev 562)
@@ -2,6 +2,7 @@
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Lists;
+import org.nuiton.topia.persistence.TopiaPersistenceHelper;
import org.nuiton.topia.persistence.metadata.AssociationMeta;
import org.nuiton.topia.persistence.metadata.DbMeta;
import org.nuiton.topia.persistence.metadata.TableMeta;
@@ -194,6 +195,10 @@
*/
public List<EchoBaseEntityEnum> getReferenceTypes() {
return REFERENCE_TYPES;
+ }
+ @Override
+ public EchoBasePersistenceHelper getPersistenceHelper() {
+ return (EchoBasePersistenceHelper) super.getPersistenceHelper();
}
}
Modified: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EchoBasePersistenceHelper.java
===================================================================
--- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EchoBasePersistenceHelper.java 2012-08-22 10:54:29 UTC (rev 561)
+++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EchoBasePersistenceHelper.java 2012-08-22 16:07:30 UTC (rev 562)
@@ -31,11 +31,11 @@
import org.nuiton.topia.persistence.TopiaPersistenceHelper;
/**
-* TODO
-*
-* @author tchemit <chemit(a)codelutin.com>
-* @since 1.1
-*/
+ * TODO
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 1.1
+ */
public class EchoBasePersistenceHelper implements TopiaPersistenceHelper<EchoBaseEntityEnum> {
@Override
@@ -51,4 +51,9 @@
throw new TopiaRuntimeException(e);
}
}
+
+ @Override
+ public <E extends TopiaEntity> TopiaDAO<E> getDAO(TopiaContext tx, EchoBaseEntityEnum type) {
+ return (TopiaDAO<E>) getDAO(tx, type.getContract());
+ }
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DefaultImportStrategy.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DefaultImportStrategy.java 2012-08-22 10:54:29 UTC (rev 561)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DefaultImportStrategy.java 2012-08-22 16:07:30 UTC (rev 562)
@@ -1,12 +1,11 @@
package fr.ifremer.echobase.services;
import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
+import fr.ifremer.echobase.entities.EchoBasePersistenceHelper;
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.TopiaException;
import org.nuiton.topia.persistence.TopiaDAO;
import org.nuiton.topia.persistence.TopiaEntity;
-import org.nuiton.topia.persistence.TopiaEntityEnum;
-import org.nuiton.topia.persistence.TopiaPersistenceHelper;
import org.nuiton.topia.persistence.csv.in.CsvImportResult;
import org.nuiton.topia.persistence.csv.in.ImportModelFactory;
import org.nuiton.topia.persistence.csv.in.ImportStrategy;
@@ -17,7 +16,6 @@
import org.nuiton.util.csv.ImportToMap;
import java.io.Reader;
-import java.util.Map;
/**
* TODO
@@ -29,7 +27,7 @@
private final TopiaContext tx;
- private final TopiaPersistenceHelper<EchoBaseEntityEnum> persistenceHelper;
+ private final EchoBasePersistenceHelper persistenceHelper;
private final int nbRowBuffer;
@@ -37,7 +35,7 @@
public DefaultImportStrategy(ImportModelFactory<EchoBaseEntityEnum> modelFactory,
TopiaContext tx,
- TopiaPersistenceHelper<EchoBaseEntityEnum> persistenceHelper,
+ EchoBasePersistenceHelper persistenceHelper,
int nbRowBuffer) {
this.tx = tx;
this.persistenceHelper = persistenceHelper;
@@ -50,44 +48,33 @@
}
@Override
- public <E extends TopiaEntity> void importTableFile(Import<E> importer,
- TableMeta<EchoBaseEntityEnum> meta,
- Reader reader,
- CsvImportResult<EchoBaseEntityEnum> csvResult) throws TopiaException {
- TopiaDAO<E> dao = (TopiaDAO<E>) persistenceHelper.getDAO(tx, meta.getEntityType());
+ public <E extends TopiaEntity> void importTable(Import<E> importer,
+ TableMeta<EchoBaseEntityEnum> meta,
+ Reader reader,
+ CsvImportResult<EchoBaseEntityEnum> csvResult) throws TopiaException {
+ TopiaDAO<E> dao = persistenceHelper.getDAO(tx, meta.getSource());
- for (TopiaEntity entity : importer) {
-
- Map<String, Object> properties = meta.prepareCreate(
- entity, entity.getTopiaId());
- E entityToSave = dao.create(properties);
-
- meta.copy(entity, entityToSave);
-
- csvResult.incrementsNumberUpdated();
- }
+ TopiaCsvImports.importAllEntities(dao, meta, importer, csvResult);
}
@Override
- public <T extends TopiaEntityEnum> void importAssociationFile(AssociationMeta<T> meta,
- ImportToMap importer,
- CsvImportResult<T> csvResult) throws TopiaException {
- TopiaCsvImports.importAssociationFile(tx,
- meta,
- importer,
- csvResult,
- nbRowBuffer);
- }
+ public void importAssociation(AssociationMeta<EchoBaseEntityEnum> meta,
+ ImportToMap importer,
+ CsvImportResult<EchoBaseEntityEnum> csvResult) throws TopiaException {
- @Override
- public void importNMAssociationFile(AssociationMeta<EchoBaseEntityEnum> meta,
- ImportToMap importer,
- CsvImportResult<EchoBaseEntityEnum> csvResult) throws TopiaException {
-
- TopiaCsvImports.importNMAssociationFile(tx,
+ if (getModelFactory().isNMAssociationMeta(meta)) {
+ TopiaCsvImports.importNMAssociation(tx,
meta,
importer,
csvResult,
nbRowBuffer);
+ } else {
+ TopiaCsvImports.importAssociation(tx,
+ meta,
+ importer,
+ csvResult,
+ nbRowBuffer);
+ }
+
}
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportDbService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportDbService.java 2012-08-22 10:54:29 UTC (rev 561)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportDbService.java 2012-08-22 16:07:30 UTC (rev 562)
@@ -24,6 +24,7 @@
package fr.ifremer.echobase.services;
import com.google.common.collect.Lists;
+import fr.ifremer.echobase.entities.EchoBaseDbMeta;
import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.EchoBaseUser;
import fr.ifremer.echobase.entities.EntityModificationLog;
@@ -83,12 +84,14 @@
List<String> missingEntries = Lists.newArrayList();
+ EchoBaseDbMeta dbMeta = getDbMeta();
+
Map<TableMeta<EchoBaseEntityEnum>, ZipEntry> tables = TopiaCsvImports.discoverEntries(
- "echobase/", getDbMeta().getAllTables(),
+ "echobase/", dbMeta.getAllTables(),
zipFile, missingEntries);
Map<AssociationMeta<EchoBaseEntityEnum>, ZipEntry> associations = TopiaCsvImports.discoverEntries(
- "echobase/", getDbMeta().getAllAssociations(),
+ "echobase/", dbMeta.getAllAssociations(),
zipFile, missingEntries);
if (computeSteps) {
@@ -109,7 +112,7 @@
DefaultImportStrategy strategy = new DefaultImportStrategy(
getService(ImportService.class),
getTransaction(),
- getDbMeta().getPersistenceHelper(),
+ dbMeta.getPersistenceHelper(),
1000
);
@@ -138,7 +141,6 @@
}
}
-
private void importTables(DefaultImportStrategy strategy,
ImportDbConfiguration model,
ZipFile zipFile,
@@ -216,10 +218,10 @@
log.info("Will import " + entryDef);
}
- TopiaCsvImports.importAssociationFile(reader,
- strategy,
- entryDef,
- csvResult);
+ TopiaCsvImports.importAssociation(reader,
+ strategy,
+ entryDef,
+ csvResult);
s0 = TIME_LOG.log(s0, "importFile::done");
1
0
22 Aug '12
Author: tchemit
Date: 2012-08-22 12:54:29 +0200 (Wed, 22 Aug 2012)
New Revision: 561
Url: http://forge.codelutin.com/repositories/revision/echobase/561
Log:
refs #1407: Extraction du module d'import-export csv vers ToPIA
Added:
trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EchoBaseDbMeta.java
trunk/echobase-entities/src/test/java/fr/ifremer/echobase/entities/EchoBaseDbMetaTest.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DefaultImportStrategy.java
Removed:
trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EchoBaseMetadatas.java
trunk/echobase-entities/src/test/java/fr/ifremer/echobase/entities/EchoBaseMetadatasTest.java
Modified:
trunk/echobase-entities/src/test/java/fr/ifremer/echobase/EchoBaseDecoratorProviderTest.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DefaultEchoBaseServiceContext.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EchoBaseServiceContext.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EchoBaseServiceSupport.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EmbeddedApplicationService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportDbService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportDbService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/UserService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AcousticImportService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsMapCellImportService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/AcousticImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/AcousticImportRow.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/BiometrySampleImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EchotypeImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultByEchotypeAndSpeciesCategoryImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultByEchotypeImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultBySpeciesAndAgeCategoryImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultBySpeciesAndSizeCategoryImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/GearMetadataValueImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/LengthAgeKeyImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/LengthWeightKeyImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/MapCellImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/OperationImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/OperationMetadataValueImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellAssociationImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellResultImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/SubSampleImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/TotalSampleImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/TransectImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/TransitImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/VoyageImportModel.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/FakeEchoBaseServiceContext.java
trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/EchoBaseDbCreator.java
trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/AbstractToolTest.java
trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/EchoBaseDbZipCreatorIT.java
trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/AbstractLoaderIT.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseApplicationContext.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseApplicationListener.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/ImportTable.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/user/Delete.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/user/Update.java
Added: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EchoBaseDbMeta.java
===================================================================
--- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EchoBaseDbMeta.java (rev 0)
+++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EchoBaseDbMeta.java 2012-08-22 10:54:29 UTC (rev 561)
@@ -0,0 +1,199 @@
+package fr.ifremer.echobase.entities;
+
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.Lists;
+import org.nuiton.topia.persistence.metadata.AssociationMeta;
+import org.nuiton.topia.persistence.metadata.DbMeta;
+import org.nuiton.topia.persistence.metadata.TableMeta;
+
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * TODO
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since TODO
+ */
+public class EchoBaseDbMeta extends DbMeta<EchoBaseEntityEnum> {
+
+ public static EchoBaseDbMeta newDbMeta() {
+ return new EchoBaseDbMeta(new EchoBasePersistenceHelper()
+ );
+ }
+
+ private static final List<EchoBaseEntityEnum> REFERENCE_TYPES = ImmutableList.copyOf(Arrays.asList(
+
+ // with no dep
+ EchoBaseEntityEnum.SexCategory,
+ EchoBaseEntityEnum.AgeCategory,
+ EchoBaseEntityEnum.SizeCategory,
+ EchoBaseEntityEnum.Species,
+ EchoBaseEntityEnum.Calibration,
+ EchoBaseEntityEnum.VesselType,
+ EchoBaseEntityEnum.Mission,
+ EchoBaseEntityEnum.DepthStratum,
+ EchoBaseEntityEnum.EchotypeCategory,
+ EchoBaseEntityEnum.AreaOfOperation,
+ EchoBaseEntityEnum.ReferenceDatumType,
+ EchoBaseEntityEnum.DataType,
+ EchoBaseEntityEnum.DataQuality,
+ EchoBaseEntityEnum.CellMethod,
+ EchoBaseEntityEnum.CellType,
+ EchoBaseEntityEnum.OperationEvent,
+ EchoBaseEntityEnum.SampleDataType,
+ EchoBaseEntityEnum.SampleType,
+ EchoBaseEntityEnum.GearCharacteristic,
+ EchoBaseEntityEnum.CategoryMeaning,
+ EchoBaseEntityEnum.CategoryType,
+ EchoBaseEntityEnum.MeasureType,
+ EchoBaseEntityEnum.MeasurementMetadata,
+ EchoBaseEntityEnum.ReferencingMethod,
+
+ // with deps
+ EchoBaseEntityEnum.Strata,
+ EchoBaseEntityEnum.AcousticInstrument,
+ EchoBaseEntityEnum.Vessel,
+ EchoBaseEntityEnum.ReferenceDatum,
+ EchoBaseEntityEnum.OperationMetadata,
+ EchoBaseEntityEnum.GearMetadata,
+ EchoBaseEntityEnum.GearCharacteristicValue,
+ EchoBaseEntityEnum.Gear,
+
+ EchoBaseEntityEnum.SpeciesCategory,
+ EchoBaseEntityEnum.TSParameters,
+ EchoBaseEntityEnum.DataMetadata,
+ EchoBaseEntityEnum.CategoryRef,
+ EchoBaseEntityEnum.Impacte,
+ EchoBaseEntityEnum.DataProtocol));
+
+ private static final List<EchoBaseEntityEnum> DATA_TYPES = ImmutableList.copyOf(Arrays.asList(
+ EchoBaseEntityEnum.SampleData,
+ EchoBaseEntityEnum.Sample,
+
+ EchoBaseEntityEnum.OperationMetadataValue,
+ EchoBaseEntityEnum.GearMetadataValue,
+ EchoBaseEntityEnum.Operation,
+
+ EchoBaseEntityEnum.Data,
+
+ EchoBaseEntityEnum.Echotype,
+ EchoBaseEntityEnum.Category,
+ EchoBaseEntityEnum.Result,
+
+ EchoBaseEntityEnum.Cell,
+ EchoBaseEntityEnum.DataProcessing,
+ EchoBaseEntityEnum.DataAcquisition,
+ EchoBaseEntityEnum.Transect,
+ EchoBaseEntityEnum.Transit,
+
+ EchoBaseEntityEnum.LengthAgeKey,
+ EchoBaseEntityEnum.LengthWeightKey,
+
+ EchoBaseEntityEnum.Voyage));
+
+
+ private final List<TableMeta<EchoBaseEntityEnum>> referenceTables;
+
+ private final List<AssociationMeta<EchoBaseEntityEnum>> referenceAssociations;
+
+ private final List<TableMeta<EchoBaseEntityEnum>> dataTables;
+
+ private final List<AssociationMeta<EchoBaseEntityEnum>> dataAssociations;
+
+ EchoBaseDbMeta(EchoBasePersistenceHelper persistenceHelper) {
+ super(persistenceHelper,
+ EchoBaseEntityEnum.values(),
+ EchoBaseEntityEnum.EchoBaseUser,
+ EchoBaseEntityEnum.EntityModificationLog,
+ EchoBaseEntityEnum.ExportQuery);
+
+
+ {
+ // reference tables
+ List<TableMeta<EchoBaseEntityEnum>> result = Lists.newArrayList();
+ addTables(result, REFERENCE_TYPES);
+ referenceTables = ImmutableList.copyOf(result);
+ }
+
+ {
+ // reference associations
+ List<AssociationMeta<EchoBaseEntityEnum>> result = Lists.newArrayList();
+ addAssociations(result, REFERENCE_TYPES);
+ referenceAssociations = ImmutableList.copyOf(result);
+ }
+
+ {
+ // data tables
+
+ List<TableMeta<EchoBaseEntityEnum>> result = Lists.newArrayList();
+ addTables(result, DATA_TYPES);
+ dataTables = ImmutableList.copyOf(result);
+ }
+
+ {
+ // data associations
+ List<AssociationMeta<EchoBaseEntityEnum>> result = Lists.newArrayList();
+ addAssociations(result, DATA_TYPES);
+ dataAssociations = ImmutableList.copyOf(result);
+ }
+
+ }
+
+ public int getEntriesSize() {
+ return getAllTables().size() + getAllAssociations().size();
+ }
+
+ public List<TableMeta<EchoBaseEntityEnum>> getAllTables() {
+
+ List<TableMeta<EchoBaseEntityEnum>> result = Lists.newArrayList();
+
+ result.addAll(referenceTables);
+ result.addAll(dataTables);
+ return ImmutableList.copyOf(result);
+ }
+
+ public List<AssociationMeta<EchoBaseEntityEnum>> getAllAssociations() {
+ List<AssociationMeta<EchoBaseEntityEnum>> result = Lists.newArrayList();
+ result.addAll(referenceAssociations);
+ result.addAll(dataAssociations);
+ return ImmutableList.copyOf(result);
+ }
+
+ public int getReferenceEntriesSize() {
+ return getReferenceTables().size() + getReferenceAssociations().size();
+ }
+
+ public List<TableMeta<EchoBaseEntityEnum>> getReferenceTables() {
+ return referenceTables;
+ }
+
+ public List<AssociationMeta<EchoBaseEntityEnum>> getReferenceAssociations() {
+ return referenceAssociations;
+ }
+
+ public List<TableMeta<EchoBaseEntityEnum>> getDataTables() {
+ return dataTables;
+ }
+
+ public List<AssociationMeta<EchoBaseEntityEnum>> getDataAssociations() {
+ return dataAssociations;
+ }
+
+ /**
+ * @return the entity types of data in correct order for replication
+ * purpose.
+ */
+ public List<EchoBaseEntityEnum> getDataTypes() {
+ return DATA_TYPES;
+ }
+
+ /**
+ * @return the entity types of reference in correct order for copy
+ * purpose (says import / export of all a database.
+ */
+ public List<EchoBaseEntityEnum> getReferenceTypes() {
+ return REFERENCE_TYPES;
+
+ }
+}
Property changes on: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EchoBaseDbMeta.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Deleted: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EchoBaseMetadatas.java
===================================================================
--- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EchoBaseMetadatas.java 2012-08-21 16:39:57 UTC (rev 560)
+++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EchoBaseMetadatas.java 2012-08-22 10:54:29 UTC (rev 561)
@@ -1,187 +0,0 @@
-package fr.ifremer.echobase.entities;
-/*
- * #%L
- * EchoBase :: Entities
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2011 - 2012 Ifremer, Codelutin
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero 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 Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- * #L%
- */
-
-import com.google.common.collect.Lists;
-import com.google.common.collect.Multimap;
-import org.nuiton.topia.persistence.metadata.DbMeta;
-import org.nuiton.topia.persistence.metadata.MetaFilenameAware;
-import org.nuiton.topia.persistence.metadata.Metadatas;
-
-import java.util.List;
-
-/**
- * Metas useful method.
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 1.1
- */
-public class EchoBaseMetadatas {
-
- protected EchoBaseMetadatas() {
- // avoid instance
- }
-
- /** All types that we do not want to edit. */
- protected static final EchoBaseEntityEnum[] nonEditableTypes = {
- EchoBaseEntityEnum.EchoBaseUser,
- EchoBaseEntityEnum.EntityModificationLog,
- EchoBaseEntityEnum.ExportQuery
- };
-
- public static DbMeta<EchoBaseEntityEnum> newDbMeta() {
- return DbMeta.newDbMeta(
- new EchoBasePersistenceHelper(),
- EchoBaseEntityEnum.values(),
- nonEditableTypes
- );
- }
-
- public static MetaFilenameAware<EchoBaseEntityEnum>[] getEntries(DbMeta<EchoBaseEntityEnum> dbMeta) {
-
- List<MetaFilenameAware<EchoBaseEntityEnum>> entities = Lists.newArrayList();
- List<MetaFilenameAware<EchoBaseEntityEnum>> associations = Lists.newArrayList();
-
- Metadatas.addEntries(dbMeta, entities, associations, getReferenceTypes());
- Metadatas.addEntries(dbMeta, entities, associations, getDataTypes());
- entities.addAll(associations);
- return entities.toArray(new MetaFilenameAware[entities.size()]);
- }
-
- public static MetaFilenameAware<EchoBaseEntityEnum>[] getReferenceEntries(DbMeta<EchoBaseEntityEnum> dbMeta) {
-
- List<MetaFilenameAware<EchoBaseEntityEnum>> entities = Lists.newArrayList();
- List<MetaFilenameAware<EchoBaseEntityEnum>> associations = Lists.newArrayList();
-
- Metadatas.addEntries(dbMeta, entities, associations, getReferenceTypes());
-
- entities.addAll(associations);
- return entities.toArray(new MetaFilenameAware[entities.size()]);
- }
-
- public static MetaFilenameAware<EchoBaseEntityEnum>[] getDataEntries(DbMeta<EchoBaseEntityEnum> dbMeta) {
-
- List<MetaFilenameAware<EchoBaseEntityEnum>> entities = Lists.newArrayList();
-
- Metadatas.addEntries(dbMeta, entities, null, getDataTypes());
- return entities.toArray(new MetaFilenameAware[entities.size()]);
- }
-
- public static Multimap<EchoBaseEntityEnum, MetaFilenameAware<EchoBaseEntityEnum>> getDataAssociationsEntries(DbMeta<EchoBaseEntityEnum> dbMeta) {
-
- List<MetaFilenameAware<EchoBaseEntityEnum>> associations = Lists.newArrayList();
-
- Metadatas.addEntries(dbMeta, null, associations, getDataTypes());
-
- Multimap<EchoBaseEntityEnum, MetaFilenameAware<EchoBaseEntityEnum>> associationsBySource = Metadatas.split(associations);
- return associationsBySource;
- }
-
- /**
- * @return the entity types of data in correct order for replication
- * purpose.
- */
- public static EchoBaseEntityEnum[] getDataTypes() {
-
- List<EchoBaseEntityEnum> result = Lists.newLinkedList();
-
- result.add(EchoBaseEntityEnum.SampleData);
- result.add(EchoBaseEntityEnum.Sample);
-
- result.add(EchoBaseEntityEnum.OperationMetadataValue);
- result.add(EchoBaseEntityEnum.GearMetadataValue);
- result.add(EchoBaseEntityEnum.Operation);
-
- result.add(EchoBaseEntityEnum.Data);
-
- result.add(EchoBaseEntityEnum.Echotype);
- result.add(EchoBaseEntityEnum.Category);
- result.add(EchoBaseEntityEnum.Result);
-
- result.add(EchoBaseEntityEnum.Cell);
- result.add(EchoBaseEntityEnum.DataProcessing);
- result.add(EchoBaseEntityEnum.DataAcquisition);
- result.add(EchoBaseEntityEnum.Transect);
- result.add(EchoBaseEntityEnum.Transit);
-
- result.add(EchoBaseEntityEnum.LengthAgeKey);
- result.add(EchoBaseEntityEnum.LengthWeightKey);
-
- result.add(EchoBaseEntityEnum.Voyage);
-
- return result.toArray(new EchoBaseEntityEnum[result.size()]);
- }
-
- /**
- * @return the entity types of reference in correct order for copy
- * purpose (says import / export of all a database.
- */
- public static EchoBaseEntityEnum[] getReferenceTypes() {
- List<EchoBaseEntityEnum> result = Lists.newLinkedList();
-
- // with no dep
- result.add(EchoBaseEntityEnum.SexCategory);
- result.add(EchoBaseEntityEnum.AgeCategory);
- result.add(EchoBaseEntityEnum.SizeCategory);
- result.add(EchoBaseEntityEnum.Species);
- result.add(EchoBaseEntityEnum.Calibration);
- result.add(EchoBaseEntityEnum.VesselType);
- result.add(EchoBaseEntityEnum.Mission);
- result.add(EchoBaseEntityEnum.DepthStratum);
- result.add(EchoBaseEntityEnum.EchotypeCategory);
- result.add(EchoBaseEntityEnum.AreaOfOperation);
- result.add(EchoBaseEntityEnum.ReferenceDatumType);
- result.add(EchoBaseEntityEnum.DataType);
- result.add(EchoBaseEntityEnum.DataQuality);
- result.add(EchoBaseEntityEnum.CellMethod);
- result.add(EchoBaseEntityEnum.CellType);
- result.add(EchoBaseEntityEnum.OperationEvent);
- result.add(EchoBaseEntityEnum.SampleDataType);
- result.add(EchoBaseEntityEnum.SampleType);
- result.add(EchoBaseEntityEnum.GearCharacteristic);
- result.add(EchoBaseEntityEnum.CategoryMeaning);
- result.add(EchoBaseEntityEnum.CategoryType);
- result.add(EchoBaseEntityEnum.MeasureType);
- result.add(EchoBaseEntityEnum.MeasurementMetadata);
- result.add(EchoBaseEntityEnum.ReferencingMethod);
-
- // with deps
- result.add(EchoBaseEntityEnum.Strata);
- result.add(EchoBaseEntityEnum.AcousticInstrument);
- result.add(EchoBaseEntityEnum.Vessel);
- result.add(EchoBaseEntityEnum.ReferenceDatum);
- result.add(EchoBaseEntityEnum.OperationMetadata);
- result.add(EchoBaseEntityEnum.GearMetadata);
- result.add(EchoBaseEntityEnum.GearCharacteristicValue);
- result.add(EchoBaseEntityEnum.Gear);
-
- result.add(EchoBaseEntityEnum.SpeciesCategory);
- result.add(EchoBaseEntityEnum.TSParameters);
- result.add(EchoBaseEntityEnum.DataMetadata);
- result.add(EchoBaseEntityEnum.CategoryRef);
- result.add(EchoBaseEntityEnum.Impacte);
- result.add(EchoBaseEntityEnum.DataProtocol);
- return result.toArray(new EchoBaseEntityEnum[result.size()]);
- }
-
-}
Modified: trunk/echobase-entities/src/test/java/fr/ifremer/echobase/EchoBaseDecoratorProviderTest.java
===================================================================
--- trunk/echobase-entities/src/test/java/fr/ifremer/echobase/EchoBaseDecoratorProviderTest.java 2012-08-21 16:39:57 UTC (rev 560)
+++ trunk/echobase-entities/src/test/java/fr/ifremer/echobase/EchoBaseDecoratorProviderTest.java 2012-08-22 10:54:29 UTC (rev 561)
@@ -24,8 +24,8 @@
package fr.ifremer.echobase;
import com.google.common.collect.Lists;
+import fr.ifremer.echobase.entities.EchoBaseDbMetaTest;
import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
-import fr.ifremer.echobase.entities.EchoBaseMetadatasTest;
import fr.ifremer.echobase.entities.data.Voyage;
import fr.ifremer.echobase.entities.references.Mission;
import junit.framework.Assert;
@@ -49,7 +49,7 @@
EchoBaseDecoratorProvider provider = new EchoBaseDecoratorProvider();
provider.loadDecorators(locale);
List<EchoBaseEntityEnum> expectedTypes =
- Lists.newArrayList(EchoBaseMetadatasTest.getContractsOf(
+ Lists.newArrayList(EchoBaseDbMetaTest.getContractsOf(
Mission.class.getPackage()));
for (EchoBaseEntityEnum type : expectedTypes) {
@@ -65,7 +65,7 @@
EchoBaseDecoratorProvider provider = new EchoBaseDecoratorProvider();
provider.loadDecorators(locale);
List<EchoBaseEntityEnum> expectedTypes =
- Lists.newArrayList(EchoBaseMetadatasTest.getContractsOf(
+ Lists.newArrayList(EchoBaseDbMetaTest.getContractsOf(
Voyage.class.getPackage()));
for (EchoBaseEntityEnum type : expectedTypes) {
Copied: trunk/echobase-entities/src/test/java/fr/ifremer/echobase/entities/EchoBaseDbMetaTest.java (from rev 560, trunk/echobase-entities/src/test/java/fr/ifremer/echobase/entities/EchoBaseMetadatasTest.java)
===================================================================
--- trunk/echobase-entities/src/test/java/fr/ifremer/echobase/entities/EchoBaseDbMetaTest.java (rev 0)
+++ trunk/echobase-entities/src/test/java/fr/ifremer/echobase/entities/EchoBaseDbMetaTest.java 2012-08-22 10:54:29 UTC (rev 561)
@@ -0,0 +1,107 @@
+/*
+ * #%L
+ * EchoBase :: Entities
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2011 Ifremer, Codelutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+package fr.ifremer.echobase.entities;
+
+import com.google.common.collect.Lists;
+import fr.ifremer.echobase.entities.data.Voyage;
+import fr.ifremer.echobase.entities.references.Mission;
+import junit.framework.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.nuiton.topia.persistence.TopiaEntity;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * To test the class {@link EchoBaseDbMeta}.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 0.2
+ */
+public class EchoBaseDbMetaTest {
+
+
+ protected EchoBaseDbMeta dbMetas;
+
+ @Before
+ public void setUp() throws Exception {
+ dbMetas = EchoBaseDbMeta.newDbMeta();
+ }
+
+
+ @Test
+ public void getReferenceTypes() {
+
+ List<EchoBaseEntityEnum> types =
+ dbMetas.getReferenceTypes();
+
+ List<EchoBaseEntityEnum> expectedTypes =
+ Lists.newArrayList(getContractsOf(Mission.class.getPackage()));
+
+ Assert.assertNotNull(types);
+
+ for (EchoBaseEntityEnum type : expectedTypes) {
+ Assert.assertTrue("Missing type : " + type, types.contains(type));
+ }
+ Assert.assertEquals(expectedTypes.size(), types.size());
+ }
+
+ @Test
+ public void getDataTypes() {
+
+ List<EchoBaseEntityEnum> types =
+ dbMetas.getDataTypes();
+
+ List<EchoBaseEntityEnum> expectedTypes =
+ Lists.newArrayList(getContractsOf(Voyage.class.getPackage()));
+
+ Assert.assertNotNull(types);
+
+ for (EchoBaseEntityEnum type : expectedTypes) {
+ Assert.assertTrue("Missing type : " + type, types.contains(type));
+ }
+ Assert.assertEquals(expectedTypes.size(), types.size());
+ }
+
+ /**
+ * Used to get all contract of a package
+ *
+ * @param entitiesPackage package contening desired entities
+ * @return contracts contained in entitiesPackage
+ */
+ public static EchoBaseEntityEnum[] getContractsOf(Package entitiesPackage) {
+ EchoBaseEntityEnum[] echoBaseEntityEnums = EchoBaseEntityEnum.values();
+ List<EchoBaseEntityEnum> refClasses = new ArrayList<EchoBaseEntityEnum>();
+ for (EchoBaseEntityEnum echoBaseEntityEnum : echoBaseEntityEnums) {
+
+ // Get all entities in package fr.ifremer.echobase.entities.references
+ Class<? extends TopiaEntity> contract = echoBaseEntityEnum.getContract();
+ if (entitiesPackage.equals(contract.getPackage())) {
+ refClasses.add(echoBaseEntityEnum);
+ }
+ }
+ return refClasses.toArray(new EchoBaseEntityEnum[refClasses.size()]);
+ }
+}
Property changes on: trunk/echobase-entities/src/test/java/fr/ifremer/echobase/entities/EchoBaseDbMetaTest.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Deleted: trunk/echobase-entities/src/test/java/fr/ifremer/echobase/entities/EchoBaseMetadatasTest.java
===================================================================
--- trunk/echobase-entities/src/test/java/fr/ifremer/echobase/entities/EchoBaseMetadatasTest.java 2012-08-21 16:39:57 UTC (rev 560)
+++ trunk/echobase-entities/src/test/java/fr/ifremer/echobase/entities/EchoBaseMetadatasTest.java 2012-08-22 10:54:29 UTC (rev 561)
@@ -1,98 +0,0 @@
-/*
- * #%L
- * EchoBase :: Entities
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2011 Ifremer, Codelutin
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero 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 Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- * #L%
- */
-package fr.ifremer.echobase.entities;
-
-import com.google.common.collect.Lists;
-import fr.ifremer.echobase.entities.data.Voyage;
-import fr.ifremer.echobase.entities.references.Mission;
-import junit.framework.Assert;
-import org.junit.Test;
-import org.nuiton.topia.persistence.TopiaEntity;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-/**
- * To test the class {@link EchoBaseMetadatas}.
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 0.2
- */
-public class EchoBaseMetadatasTest {
-
- @Test
- public void getReferenceTypes() {
-
- List<EchoBaseEntityEnum> types =
- Arrays.asList(EchoBaseMetadatas.getReferenceTypes());
-
- List<EchoBaseEntityEnum> expectedTypes =
- Lists.newArrayList(getContractsOf(Mission.class.getPackage()));
-
- Assert.assertNotNull(types);
-
- for (EchoBaseEntityEnum type : expectedTypes) {
- Assert.assertTrue("Missing type : " + type, types.contains(type));
- }
- Assert.assertEquals(expectedTypes.size(), types.size());
- }
-
- @Test
- public void getDataTypes() {
-
- List<EchoBaseEntityEnum> types =
- Arrays.asList(EchoBaseMetadatas.getDataTypes());
-
- List<EchoBaseEntityEnum> expectedTypes =
- Lists.newArrayList(getContractsOf(Voyage.class.getPackage()));
-
- Assert.assertNotNull(types);
-
- for (EchoBaseEntityEnum type : expectedTypes) {
- Assert.assertTrue("Missing type : " + type, types.contains(type));
- }
- Assert.assertEquals(expectedTypes.size(), types.size());
- }
-
- /**
- * Used to get all contract of a package
- *
- * @param entitiesPackage package contening desired entities
- * @return contracts contained in entitiesPackage
- */
- public static EchoBaseEntityEnum[] getContractsOf(Package entitiesPackage) {
- EchoBaseEntityEnum[] echoBaseEntityEnums = EchoBaseEntityEnum.values();
- List<EchoBaseEntityEnum> refClasses = new ArrayList<EchoBaseEntityEnum>();
- for (EchoBaseEntityEnum echoBaseEntityEnum : echoBaseEntityEnums) {
-
- // Get all entities in package fr.ifremer.echobase.entities.references
- Class<? extends TopiaEntity> contract = echoBaseEntityEnum.getContract();
- if (entitiesPackage.equals(contract.getPackage())) {
- refClasses.add(echoBaseEntityEnum);
- }
- }
- return refClasses.toArray(new EchoBaseEntityEnum[refClasses.size()]);
- }
-}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DefaultEchoBaseServiceContext.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DefaultEchoBaseServiceContext.java 2012-08-21 16:39:57 UTC (rev 560)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DefaultEchoBaseServiceContext.java 2012-08-22 10:54:29 UTC (rev 561)
@@ -25,9 +25,8 @@
import com.google.common.base.Preconditions;
import fr.ifremer.echobase.EchoBaseConfiguration;
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
+import fr.ifremer.echobase.entities.EchoBaseDbMeta;
import org.nuiton.topia.TopiaContext;
-import org.nuiton.topia.persistence.metadata.DbMeta;
import java.util.Locale;
@@ -47,7 +46,7 @@
protected Locale locale;
- protected DbMeta<EchoBaseEntityEnum> dbMeta;
+ protected EchoBaseDbMeta dbMeta;
public static EchoBaseServiceContext newContext(
EchoBaseServiceContext serviceContext,
@@ -64,7 +63,7 @@
Locale locale,
TopiaContext transaction,
EchoBaseConfiguration configuration,
- DbMeta dbMeta,
+ EchoBaseDbMeta dbMeta,
EchoBaseServiceFactory serviceFactory) {
return new DefaultEchoBaseServiceContext(locale,
transaction,
@@ -76,7 +75,7 @@
protected DefaultEchoBaseServiceContext(Locale locale,
TopiaContext transaction,
EchoBaseConfiguration configuration,
- DbMeta dbMeta,
+ EchoBaseDbMeta dbMeta,
EchoBaseServiceFactory serviceFactory) {
this.locale = locale;
this.transaction = transaction;
@@ -112,7 +111,7 @@
}
@Override
- public DbMeta<EchoBaseEntityEnum> getDbMeta() {
+ public EchoBaseDbMeta getDbMeta() {
return dbMeta;
}
Added: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DefaultImportStrategy.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DefaultImportStrategy.java (rev 0)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DefaultImportStrategy.java 2012-08-22 10:54:29 UTC (rev 561)
@@ -0,0 +1,93 @@
+package fr.ifremer.echobase.services;
+
+import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.persistence.TopiaDAO;
+import org.nuiton.topia.persistence.TopiaEntity;
+import org.nuiton.topia.persistence.TopiaEntityEnum;
+import org.nuiton.topia.persistence.TopiaPersistenceHelper;
+import org.nuiton.topia.persistence.csv.in.CsvImportResult;
+import org.nuiton.topia.persistence.csv.in.ImportModelFactory;
+import org.nuiton.topia.persistence.csv.in.ImportStrategy;
+import org.nuiton.topia.persistence.csv.in.TopiaCsvImports;
+import org.nuiton.topia.persistence.metadata.AssociationMeta;
+import org.nuiton.topia.persistence.metadata.TableMeta;
+import org.nuiton.util.csv.Import;
+import org.nuiton.util.csv.ImportToMap;
+
+import java.io.Reader;
+import java.util.Map;
+
+/**
+ * TODO
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 1.1
+ */
+public class DefaultImportStrategy implements ImportStrategy<EchoBaseEntityEnum> {
+
+ private final TopiaContext tx;
+
+ private final TopiaPersistenceHelper<EchoBaseEntityEnum> persistenceHelper;
+
+ private final int nbRowBuffer;
+
+ private final ImportModelFactory<EchoBaseEntityEnum> modelFactory;
+
+ public DefaultImportStrategy(ImportModelFactory<EchoBaseEntityEnum> modelFactory,
+ TopiaContext tx,
+ TopiaPersistenceHelper<EchoBaseEntityEnum> persistenceHelper,
+ int nbRowBuffer) {
+ this.tx = tx;
+ this.persistenceHelper = persistenceHelper;
+ this.nbRowBuffer = nbRowBuffer;
+ this.modelFactory = modelFactory;
+ }
+
+ public ImportModelFactory<EchoBaseEntityEnum> getModelFactory() {
+ return modelFactory;
+ }
+
+ @Override
+ public <E extends TopiaEntity> void importTableFile(Import<E> importer,
+ TableMeta<EchoBaseEntityEnum> meta,
+ Reader reader,
+ CsvImportResult<EchoBaseEntityEnum> csvResult) throws TopiaException {
+ TopiaDAO<E> dao = (TopiaDAO<E>) persistenceHelper.getDAO(tx, meta.getEntityType());
+
+ for (TopiaEntity entity : importer) {
+
+ Map<String, Object> properties = meta.prepareCreate(
+ entity, entity.getTopiaId());
+ E entityToSave = dao.create(properties);
+
+ meta.copy(entity, entityToSave);
+
+ csvResult.incrementsNumberUpdated();
+ }
+ }
+
+ @Override
+ public <T extends TopiaEntityEnum> void importAssociationFile(AssociationMeta<T> meta,
+ ImportToMap importer,
+ CsvImportResult<T> csvResult) throws TopiaException {
+ TopiaCsvImports.importAssociationFile(tx,
+ meta,
+ importer,
+ csvResult,
+ nbRowBuffer);
+ }
+
+ @Override
+ public void importNMAssociationFile(AssociationMeta<EchoBaseEntityEnum> meta,
+ ImportToMap importer,
+ CsvImportResult<EchoBaseEntityEnum> csvResult) throws TopiaException {
+
+ TopiaCsvImports.importNMAssociationFile(tx,
+ meta,
+ importer,
+ csvResult,
+ nbRowBuffer);
+ }
+}
Property changes on: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DefaultImportStrategy.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EchoBaseServiceContext.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EchoBaseServiceContext.java 2012-08-21 16:39:57 UTC (rev 560)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EchoBaseServiceContext.java 2012-08-22 10:54:29 UTC (rev 561)
@@ -25,9 +25,8 @@
package fr.ifremer.echobase.services;
import fr.ifremer.echobase.EchoBaseConfiguration;
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
+import fr.ifremer.echobase.entities.EchoBaseDbMeta;
import org.nuiton.topia.TopiaContext;
-import org.nuiton.topia.persistence.metadata.DbMeta;
import java.util.Locale;
@@ -49,7 +48,7 @@
EchoBaseConfiguration getConfiguration();
- DbMeta<EchoBaseEntityEnum> getDbMeta();
+ EchoBaseDbMeta getDbMeta();
EchoBaseServiceFactory getServiceFactory();
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EchoBaseServiceSupport.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EchoBaseServiceSupport.java 2012-08-21 16:39:57 UTC (rev 560)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EchoBaseServiceSupport.java 2012-08-22 10:54:29 UTC (rev 561)
@@ -28,6 +28,7 @@
import fr.ifremer.echobase.EchoBaseConfiguration;
import fr.ifremer.echobase.EchoBaseTechnicalException;
import fr.ifremer.echobase.entities.EchoBaseDAOHelper;
+import fr.ifremer.echobase.entities.EchoBaseDbMeta;
import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.DateUtils;
@@ -36,7 +37,6 @@
import org.nuiton.topia.framework.TopiaContextImplementor;
import org.nuiton.topia.persistence.TopiaDAO;
import org.nuiton.topia.persistence.TopiaEntity;
-import org.nuiton.topia.persistence.metadata.DbMeta;
import java.util.Date;
import java.util.List;
@@ -121,7 +121,7 @@
return serviceContext.getLocale();
}
- protected final DbMeta<EchoBaseEntityEnum> getDbMeta() {
+ protected final EchoBaseDbMeta getDbMeta() {
return serviceContext.getDbMeta();
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EmbeddedApplicationService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EmbeddedApplicationService.java 2012-08-21 16:39:57 UTC (rev 560)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EmbeddedApplicationService.java 2012-08-22 10:54:29 UTC (rev 561)
@@ -30,7 +30,6 @@
import fr.ifremer.echobase.EchoBaseTopiaRootContextFactory;
import fr.ifremer.echobase.entities.EchoBaseUser;
import fr.ifremer.echobase.entities.ExportQuery;
-import fr.ifremer.echobase.entities.EchoBaseMetadatas;
import fr.ifremer.echobase.services.exceptions.ExportQueryNameAlreadyExistException;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
@@ -172,13 +171,13 @@
// export db steps
- nbSteps += EchoBaseMetadatas.getReferenceEntries(getDbMeta()).length;
+ nbSteps += getDbMeta().getReferenceEntriesSize();
if (model.getVoyageIds() != null) {
nbSteps += model.getVoyageIds().length;
}
// import db stesp
- nbSteps += EchoBaseMetadatas.getEntries(getDbMeta()).length;
+ nbSteps += getDbMeta().getEntriesSize();
return nbSteps;
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportDbService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportDbService.java 2012-08-21 16:39:57 UTC (rev 560)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportDbService.java 2012-08-22 10:54:29 UTC (rev 561)
@@ -24,29 +24,28 @@
package fr.ifremer.echobase.services;
import com.google.common.base.Preconditions;
-import com.google.common.collect.Multimap;
import com.google.common.collect.Sets;
import fr.ifremer.echobase.EchoBaseIOUtil;
+import fr.ifremer.echobase.entities.EchoBaseDbMeta;
import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.data.Result;
import fr.ifremer.echobase.entities.data.Voyage;
-import fr.ifremer.echobase.entities.EchoBaseMetadatas;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.topia.TopiaException;
import org.nuiton.topia.persistence.TopiaEntity;
+import org.nuiton.topia.persistence.TopiaPersistenceHelper;
import org.nuiton.topia.persistence.csv.out.ExportEntityVisitor;
import org.nuiton.topia.persistence.csv.out.ExportModelFactory;
import org.nuiton.topia.persistence.csv.out.TopiaCsvExports;
import org.nuiton.topia.persistence.metadata.AssociationMeta;
-import org.nuiton.topia.persistence.metadata.MetaFilenameAware;
import org.nuiton.topia.persistence.metadata.TableMeta;
-import org.nuiton.topia.persistence.TopiaPersistenceHelper;
import org.nuiton.util.FileUtil;
import org.nuiton.util.TimeLog;
import java.io.File;
import java.io.IOException;
+import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -88,23 +87,23 @@
FileUtil.createDirectoryIfNecessary(dir);
- MetaFilenameAware<EchoBaseEntityEnum>[] entries = EchoBaseMetadatas.getEntries(getDbMeta());
+ EchoBaseDbMeta dbMeta = getDbMeta();
- model.setNbSteps(entries.length);
+ model.setNbSteps(dbMeta.getEntriesSize());
- for (MetaFilenameAware<EchoBaseEntityEnum> entry : entries) {
+ for (TableMeta<EchoBaseEntityEnum> meta : dbMeta.getAllTables()) {
model.incrementsProgression();
- File entryFile = new File(dir, entry.getFilename());
- if (entry instanceof AssociationMeta) {
- AssociationMeta<EchoBaseEntityEnum> associationMeta = (AssociationMeta<EchoBaseEntityEnum>) entry;
- exportService.exportData(associationMeta, entryFile);
- } else {
- TableMeta<EchoBaseEntityEnum> meta = (TableMeta<EchoBaseEntityEnum>) entry;
- exportService.exportData(meta, entryFile);
- }
+ exportService.exportData(meta, new File(dir, meta.getFilename()));
}
+
+ for (AssociationMeta<EchoBaseEntityEnum> meta : dbMeta.getAllAssociations()) {
+
+ model.incrementsProgression();
+
+ exportService.exportData(meta, new File(dir, meta.getFilename()));
+ }
if (log.isInfoEnabled()) {
log.info("Export zip file = " + zipFile);
}
@@ -137,13 +136,13 @@
ExportService exportService = getService(ExportService.class);
// export all referentiel
- MetaFilenameAware<EchoBaseEntityEnum>[] refEntries = EchoBaseMetadatas.getReferenceEntries(
- getDbMeta());
+ List<TableMeta<EchoBaseEntityEnum>> refEntries = getDbMeta().getReferenceTables();
+ List<AssociationMeta<EchoBaseEntityEnum>> refAssocEntries = getDbMeta().getReferenceAssociations();
boolean withVoyages = model.getVoyageIds() != null;
if (computeSteps) {
- int nbstesp = refEntries.length;
+ int nbstesp = refEntries.size();
if (withVoyages) {
nbstesp += model.getVoyageIds().length;
@@ -151,25 +150,28 @@
model.setNbSteps(nbstesp);
}
- for (MetaFilenameAware<EchoBaseEntityEnum> entry : refEntries) {
+ for (TableMeta<EchoBaseEntityEnum> meta : refEntries) {
+
model.incrementsProgression();
- File entryFile = new File(dir, entry.getFilename());
- if (entry instanceof AssociationMeta) {
- AssociationMeta<EchoBaseEntityEnum> associationMeta = (AssociationMeta<EchoBaseEntityEnum>) entry;
- exportService.exportData(associationMeta, entryFile);
- } else {
- TableMeta<EchoBaseEntityEnum> meta = (TableMeta<EchoBaseEntityEnum>) entry;
- exportService.exportData(meta, entryFile);
- }
+ File entryFile = new File(dir, meta.getFilename());
+ exportService.exportData(meta, entryFile);
}
+ for (AssociationMeta<EchoBaseEntityEnum> associationMeta : refAssocEntries) {
+
+ model.incrementsProgression();
+
+ File entryFile = new File(dir, associationMeta.getFilename());
+ exportService.exportData(associationMeta, entryFile);
+ }
+
if (withVoyages) {
- MetaFilenameAware<EchoBaseEntityEnum>[] dataEntries =
- EchoBaseMetadatas.getDataEntries(getDbMeta());
- Multimap<EchoBaseEntityEnum, MetaFilenameAware<EchoBaseEntityEnum>> dataAssociationEntries =
- EchoBaseMetadatas.getDataAssociationsEntries(getDbMeta());
+ List<TableMeta<EchoBaseEntityEnum>> dataEntries =
+ getDbMeta().getDataTables();
+ List<AssociationMeta<EchoBaseEntityEnum>> dataAssociationEntries =
+ getDbMeta().getDataAssociations();
ReplicateEntityVisitor visitor = createVisitor(
exportService.getModelFactory(false),
@@ -196,8 +198,8 @@
}
public ReplicateEntityVisitor createVisitor(ExportModelFactory<EchoBaseEntityEnum> modelFactory,
- MetaFilenameAware<EchoBaseEntityEnum>[] entityMetas,
- Multimap<EchoBaseEntityEnum, MetaFilenameAware<EchoBaseEntityEnum>> associations,
+ List<TableMeta<EchoBaseEntityEnum>> entityMetas,
+ List<AssociationMeta<EchoBaseEntityEnum>> associations,
File container) {
Preconditions.checkNotNull(modelFactory);
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportDbService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportDbService.java 2012-08-21 16:39:57 UTC (rev 560)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportDbService.java 2012-08-22 10:54:29 UTC (rev 561)
@@ -27,16 +27,15 @@
import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.EchoBaseUser;
import fr.ifremer.echobase.entities.EntityModificationLog;
-import fr.ifremer.echobase.entities.EchoBaseMetadatas;
import org.apache.commons.io.IOUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.topia.TopiaException;
-import org.nuiton.topia.framework.TopiaContextImplementor;
import org.nuiton.topia.persistence.TopiaDAO;
-import org.nuiton.topia.persistence.metadata.MetaFilenameAware;
import org.nuiton.topia.persistence.csv.in.CsvImportResult;
import org.nuiton.topia.persistence.csv.in.TopiaCsvImports;
+import org.nuiton.topia.persistence.metadata.AssociationMeta;
+import org.nuiton.topia.persistence.metadata.TableMeta;
import org.nuiton.util.TimeLog;
import java.io.File;
@@ -84,15 +83,16 @@
List<String> missingEntries = Lists.newArrayList();
- MetaFilenameAware<EchoBaseEntityEnum>[] entries =
- EchoBaseMetadatas.getEntries(getDbMeta());
+ Map<TableMeta<EchoBaseEntityEnum>, ZipEntry> tables = TopiaCsvImports.discoverEntries(
+ "echobase/", getDbMeta().getAllTables(),
+ zipFile, missingEntries);
- Map<MetaFilenameAware<EchoBaseEntityEnum>, ZipEntry> entriestoConsume = TopiaCsvImports.discoverEntries(
- "echobase/", entries,
+ Map<AssociationMeta<EchoBaseEntityEnum>, ZipEntry> associations = TopiaCsvImports.discoverEntries(
+ "echobase/", getDbMeta().getAllAssociations(),
zipFile, missingEntries);
if (computeSteps) {
- int size = entriestoConsume.size();
+ int size = tables.size() + associations.size();
model.setNbSteps(size + missingEntries.size());
}
@@ -106,54 +106,17 @@
}
}
- // consume all found entries
- for (Map.Entry<MetaFilenameAware<EchoBaseEntityEnum>, ZipEntry> entry :
- entriestoConsume.entrySet()) {
+ DefaultImportStrategy strategy = new DefaultImportStrategy(
+ getService(ImportService.class),
+ getTransaction(),
+ getDbMeta().getPersistenceHelper(),
+ 1000
+ );
- model.incrementsProgression();
+ importTables(strategy, model, zipFile, tables, commitAfterEachFile);
- MetaFilenameAware<EchoBaseEntityEnum> entryDef = entry.getKey();
- ZipEntry value = entry.getValue();
- CsvImportResult<EchoBaseEntityEnum> csvResult = CsvImportResult.newResult(
- entryDef.getSource(),
- value.getName(),
- false
- );
+ importAssociations(strategy, model, zipFile, associations);
- Reader reader = IOUtils.toBufferedReader(new InputStreamReader(zipFile.getInputStream(value)));
- try {
- long s0 = TimeLog.getTime();
-
- if (log.isInfoEnabled()) {
- log.info("Will import " + entry);
- }
-
- ImportService importService = getService(ImportService.class);
-
- TopiaCsvImports.importFile((TopiaContextImplementor) getTransaction(),
- importService,
- entryDef,
- reader,
- csvResult);
-
- TIME_LOG.log(s0, "importFile::done");
-
- s0 = TimeLog.getTime();
-
- flushTransaction();
-
- TIME_LOG.log(s0, "importFile::flushTransaction");
- } finally {
- reader.close();
-
- if (commitAfterEachFile) {
- commitTransaction(
- "Could not commit db import from file " +
- file + "#" + entryDef.getFilename());
- }
- }
- }
-
// add a log entry of import db
if (log.isInfoEnabled()) {
log.info("Import done with user " + user.getEmail());
@@ -175,171 +138,98 @@
}
}
-// public void importFile(MetaFilenameAware<EchoBaseEntityEnum> entry,
-// Reader reader,
-// CsvImportResult<EchoBaseEntityEnum> csvResult) throws IOException, TopiaException {
-//
-// long s0 = TimeLog.getTime();
-//
-// if (log.isInfoEnabled()) {
-// log.info("Will import " + entry);
-// }
-//
-// ImportService importService = getService(ImportService.class);
-//
-// TopiaCsvImports.importFile((TopiaContextImplementor) getTransaction(),
-// importService,
-// entry,
-// reader,
-// csvResult);
-//
-// if (entry instanceof AssociationMeta) {
-//
-// // load a association input
-// AssociationMeta<EchoBaseEntityEnum> meta = (AssociationMeta<EchoBaseEntityEnum>) entry;
-// ImportModel<Map<String, Object>> model =
-// importService.buildForImport(meta);
-// ImportToMap importer = ImportToMap.newImportToMap(model, reader, false);
-//
-//
-// try {
-// if (isNMAssociationMeta(meta)) {
-// TopiaCsvImports.importNMAssociationFile(getTransaction(), meta, importer, csvResult, 1000);
-// } else {
-// TopiaCsvImports.importAssociationFile(getTransaction(), meta, importer, csvResult, 1000);
-// }
-// } finally {
-// importer.close();
-// }
-//
-// } else {
-//
-// // normal entity table import
-// TableMeta<EchoBaseEntityEnum> meta = (TableMeta<EchoBaseEntityEnum>) entry;
-// ImportModel<TopiaEntity> model = importService.buildForImport(meta);
-// Import<TopiaEntity> importer = Import.newImport(model, reader);
-//
-// try {
-// TopiaDAO<TopiaEntity> dao = getDAO(meta.getSource());
-// TopiaCsvImports.importEntityFile(dao, meta, importer, csvResult);
-// } finally {
-// importer.close();
-// }
-// }
-//
-// TIME_LOG.log(s0, "importFile::done");
-//
-// s0 = TimeLog.getTime();
-//
-// flushTransaction();
-//
-// TIME_LOG.log(s0, "importFile::flushTransaction");
-// }
-//
-// protected boolean isNMAssociationMeta(AssociationMeta<EchoBaseEntityEnum> meta) {
-// EchoBaseEntityEnum source = meta.getSource();
-// EchoBaseEntityEnum target = meta.getTarget();
-// boolean result = false;
-// if (source == EchoBaseEntityEnum.Voyage && target == EchoBaseEntityEnum.Echotype ||
-// source == EchoBaseEntityEnum.Echotype && target == EchoBaseEntityEnum.Species ||
-// source == EchoBaseEntityEnum.Voyage && target == EchoBaseEntityEnum.Strata) {
-// result = true;
-// }
-// return result;
-// }
-//
-// public Map<MetaFilenameAware<EchoBaseEntityEnum>, ZipEntry> discoverEntries(ZipFile zipFile,
-// List<String> missingEntries) {
-//
-// Map<MetaFilenameAware<EchoBaseEntityEnum>, ZipEntry> result =
-// Maps.newLinkedHashMap();
-//
-// MetaFilenameAware<EchoBaseEntityEnum>[] entries =
-// EchoBaseMetadatas.getEntries(getDbMeta());
-//
-// // check that all mandatories
-// for (MetaFilenameAware<EchoBaseEntityEnum> entry : entries) {
-// String filename = entry.getFilename();
-// ZipEntry zipEntry = zipFile.getEntry("echobase/" + filename);
-//
-// if (zipEntry == null) {
-// missingEntries.add(filename);
-// } else {
-// result.put(entry, zipEntry);
-// }
-// }
-//// if (!missingEntries.isEmpty() && log.isWarnEnabled()) {
-//// log.warn("There is " + missingEntries.size() + " missing files " +
-//// " in import " + file + "\n" + StringUtil.join(missingEntries, "\n", false));
-//// }
-//
-// return result;
-// }
-//
-// protected void importEntityFile(TableMeta<EchoBaseEntityEnum> meta,
-// Import<TopiaEntity> importer,
-// CsvImportResult<EchoBaseEntityEnum> csvResult) throws TopiaException {
-//
-// TopiaDAO<TopiaEntity> dao = getDAO(meta.getSource());
-//
-// for (TopiaEntity entity : importer) {
-//
-// Map<String, Object> properties = meta.prepareCreate(
-// entity, entity.getTopiaId());
-// TopiaEntity entityToSave = dao.create(properties);
-//
-// meta.copy(entity, entityToSave);
-//
-// csvResult.incrementsNumberUpdated();
-// }
-// }
-//
-// protected void importAssociationFile(AssociationMeta<EchoBaseEntityEnum> meta,
-// ImportToMap importer,
-// CsvImportResult<EchoBaseEntityEnum> csvResult) throws TopiaException {
-//
-// EchoBaseEntityEnum source = meta.getSource();
-// EchoBaseEntityEnum target = meta.getTarget();
-//
-// StringBuilder builder = new StringBuilder();
-//
-// String updateString;
-// String targetTableName = target.getContract().getSimpleName();
-// String sourceTableName = source.getContract().getSimpleName();
-// String table = targetTableName;
-// if (source == EchoBaseEntityEnum.Voyage && target == EchoBaseEntityEnum.Echotype ||
-// source == EchoBaseEntityEnum.Echotype && target == EchoBaseEntityEnum.Species ||
-// source == EchoBaseEntityEnum.Voyage && target == EchoBaseEntityEnum.Strata) {
-// // relation *-*
-// table = TopiaEntityHelper.getNormalizedAssociationTableName(sourceTableName, targetTableName);
-// updateString = "INSERT INTO " + table + " (" + sourceTableName + "," + targetTableName + ") VALUES('%s','%s');";
-// } else {
-// updateString = "UPDATE " + table + " SET " + sourceTableName + " = '%s' WHERE topiaId ='%s';";
-// }
-//
-// if (log.isDebugEnabled()) {
-// log.debug("Will apply " + updateString);
-// }
-// int compt = 0;
-// for (Map<String, Object> row : importer) {
-// String topiaId = (String) row.get(TopiaEntity.TOPIA_ID);
-// String[] associations = (String[]) row.get("target");
-// for (String association : associations) {
-// if (StringUtils.isNotEmpty(association)) {
-// builder.append(String.format(updateString, topiaId, association)).append('\n');
-// compt++;
-// if (compt % 1000 == 0) {
-// // flush it
-// getTransaction().executeSQL(builder.toString());
-// builder = new StringBuilder();
-// }
-// }
-// }
-// csvResult.incrementsNumberUpdated();
-// }
-// if (builder.length() > 0) {
-// getTransaction().executeSQL(builder.toString());
-// }
-// }
+ private void importTables(DefaultImportStrategy strategy,
+ ImportDbConfiguration model,
+ ZipFile zipFile,
+ Map<TableMeta<EchoBaseEntityEnum>, ZipEntry> entriestoConsume,
+ boolean commitAfterEachFile) throws IOException, TopiaException {
+
+ for (Map.Entry<TableMeta<EchoBaseEntityEnum>, ZipEntry> entry :
+ entriestoConsume.entrySet()) {
+
+ model.incrementsProgression();
+
+ TableMeta<EchoBaseEntityEnum> entryDef = entry.getKey();
+ ZipEntry value = entry.getValue();
+ CsvImportResult<EchoBaseEntityEnum> csvResult = CsvImportResult.newResult(
+ entryDef.getSource(),
+ value.getName(),
+ false
+ );
+
+ Reader reader = IOUtils.toBufferedReader(new InputStreamReader(zipFile.getInputStream(value)));
+ try {
+
+ long s0 = TimeLog.getTime();
+
+ if (log.isInfoEnabled()) {
+ log.info("Will import " + entryDef);
+ }
+ TopiaCsvImports.importTable(reader,
+ strategy,
+ entryDef,
+ csvResult
+ );
+
+ s0 = TIME_LOG.log(s0, "importFile::done");
+
+ flushTransaction();
+
+ TIME_LOG.log(s0, "importFile::flushTransaction");
+ } finally {
+ reader.close();
+
+ if (commitAfterEachFile) {
+ commitTransaction(
+ "Could not commit db import from file " +
+ zipFile.getName() + "#" + entryDef.getFilename());
+ }
+ }
+ }
+ }
+
+ private void importAssociations(DefaultImportStrategy strategy,
+ ImportDbConfiguration model,
+ ZipFile zipFile,
+ Map<AssociationMeta<EchoBaseEntityEnum>, ZipEntry> associations) throws IOException, TopiaException {
+
+ for (Map.Entry<AssociationMeta<EchoBaseEntityEnum>, ZipEntry> entry :
+ associations.entrySet()) {
+
+ model.incrementsProgression();
+
+ AssociationMeta<EchoBaseEntityEnum> entryDef = entry.getKey();
+ ZipEntry value = entry.getValue();
+
+ CsvImportResult<EchoBaseEntityEnum> csvResult = CsvImportResult.newResult(
+ entryDef.getSource(),
+ value.getName(),
+ false
+ );
+
+ Reader reader = IOUtils.toBufferedReader(new InputStreamReader(zipFile.getInputStream(value)));
+ try {
+ long s0 = TimeLog.getTime();
+
+ if (log.isInfoEnabled()) {
+ log.info("Will import " + entryDef);
+ }
+
+ TopiaCsvImports.importAssociationFile(reader,
+ strategy,
+ entryDef,
+ csvResult);
+
+ s0 = TIME_LOG.log(s0, "importFile::done");
+
+ flushTransaction();
+
+ TIME_LOG.log(s0, "importFile::flushTransaction");
+ } finally {
+ reader.close();
+ }
+ }
+ }
+
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportService.java 2012-08-21 16:39:57 UTC (rev 560)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportService.java 2012-08-22 10:54:29 UTC (rev 561)
@@ -31,13 +31,13 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.topia.persistence.TopiaEntity;
-import org.nuiton.topia.persistence.metadata.AssociationMeta;
-import org.nuiton.topia.persistence.metadata.ColumnMeta;
-import org.nuiton.topia.persistence.metadata.TableMeta;
import org.nuiton.topia.persistence.csv.EntityCsvModel;
import org.nuiton.topia.persistence.csv.in.CsvImportResult;
import org.nuiton.topia.persistence.csv.in.EntityAssociationImportModel;
import org.nuiton.topia.persistence.csv.in.ImportModelFactory;
+import org.nuiton.topia.persistence.metadata.AssociationMeta;
+import org.nuiton.topia.persistence.metadata.ColumnMeta;
+import org.nuiton.topia.persistence.metadata.TableMeta;
import org.nuiton.util.csv.Import;
import org.nuiton.util.csv.ImportModel;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/UserService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/UserService.java 2012-08-21 16:39:57 UTC (rev 560)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/UserService.java 2012-08-22 10:54:29 UTC (rev 561)
@@ -31,7 +31,6 @@
import org.apache.commons.lang3.StringUtils;
import org.nuiton.topia.TopiaException;
import org.nuiton.topia.persistence.TopiaFilterPagerUtil;
-import org.nuiton.util.PagerUtil;
import org.nuiton.util.StringUtil;
import java.util.List;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AcousticImportService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AcousticImportService.java 2012-08-21 16:39:57 UTC (rev 560)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AcousticImportService.java 2012-08-22 10:54:29 UTC (rev 561)
@@ -29,7 +29,6 @@
import fr.ifremer.echobase.EchoBasePredicates;
import fr.ifremer.echobase.InputFile;
import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
-import org.nuiton.topia.persistence.csv.in.CsvFileImportResult;
import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.EchoBaseUser;
import fr.ifremer.echobase.entities.data.Cell;
@@ -54,6 +53,7 @@
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.nuiton.topia.persistence.csv.in.CsvFileImportResult;
import org.nuiton.util.csv.Import;
import org.nuiton.util.csv.ImportRuntimeException;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsMapCellImportService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsMapCellImportService.java 2012-08-21 16:39:57 UTC (rev 560)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsMapCellImportService.java 2012-08-22 10:54:29 UTC (rev 561)
@@ -27,7 +27,6 @@
import com.google.common.collect.Maps;
import fr.ifremer.echobase.EchoBaseFunctions;
import fr.ifremer.echobase.InputFile;
-import org.nuiton.topia.persistence.csv.in.CsvFileImportResult;
import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.EchoBaseUser;
import fr.ifremer.echobase.entities.data.Category;
@@ -52,6 +51,7 @@
import fr.ifremer.echobase.services.importdata.csv.MapCellImportRow;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.nuiton.topia.persistence.csv.in.CsvFileImportResult;
import org.nuiton.util.csv.Import;
import org.nuiton.util.csv.ImportRuntimeException;
import org.nuiton.util.csv.ext.CsvReaders;
@@ -192,7 +192,7 @@
configuration.incrementsProgression();
- int rowNumber=0;
+ int rowNumber = 0;
for (MapCellImportRow row : importer) {
doFlushTransaction(++rowNumber, inputFile);
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/AcousticImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/AcousticImportModel.java 2012-08-21 16:39:57 UTC (rev 560)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/AcousticImportModel.java 2012-08-22 10:54:29 UTC (rev 561)
@@ -23,7 +23,6 @@
*/
package fr.ifremer.echobase.services.importdata.csv;
-import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
import fr.ifremer.echobase.entities.data.Cell;
import fr.ifremer.echobase.entities.data.Data;
@@ -31,6 +30,7 @@
import fr.ifremer.echobase.entities.data.DataProcessing;
import fr.ifremer.echobase.entities.references.AcousticInstrument;
import fr.ifremer.echobase.entities.references.DataQuality;
+import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
import java.util.Map;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/AcousticImportRow.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/AcousticImportRow.java 2012-08-21 16:39:57 UTC (rev 560)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/AcousticImportRow.java 2012-08-22 10:54:29 UTC (rev 561)
@@ -368,7 +368,7 @@
this.soundCelerity = soundCelerity;
}
- public DataQuality getDataQuality() {
+ public DataQuality getDataQuality() {
return dataQuality;
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/BiometrySampleImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/BiometrySampleImportModel.java 2012-08-21 16:39:57 UTC (rev 560)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/BiometrySampleImportModel.java 2012-08-22 10:54:29 UTC (rev 561)
@@ -23,13 +23,13 @@
*/
package fr.ifremer.echobase.services.importdata.csv;
-import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
import fr.ifremer.echobase.entities.data.Operation;
import fr.ifremer.echobase.entities.data.Sample;
import fr.ifremer.echobase.entities.data.SampleData;
import fr.ifremer.echobase.entities.references.SampleDataType;
import fr.ifremer.echobase.entities.references.Species;
+import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
import java.util.Map;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EchotypeImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EchotypeImportModel.java 2012-08-21 16:39:57 UTC (rev 560)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EchotypeImportModel.java 2012-08-22 10:54:29 UTC (rev 561)
@@ -23,12 +23,12 @@
*/
package fr.ifremer.echobase.services.importdata.csv;
-import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
import fr.ifremer.echobase.entities.data.Echotype;
import fr.ifremer.echobase.entities.data.Voyage;
import fr.ifremer.echobase.entities.references.DepthStratum;
import fr.ifremer.echobase.entities.references.Species;
+import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
import java.util.Map;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultByEchotypeAndSpeciesCategoryImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultByEchotypeAndSpeciesCategoryImportModel.java 2012-08-21 16:39:57 UTC (rev 560)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultByEchotypeAndSpeciesCategoryImportModel.java 2012-08-22 10:54:29 UTC (rev 561)
@@ -23,7 +23,6 @@
*/
package fr.ifremer.echobase.services.importdata.csv;
-import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
import fr.ifremer.echobase.entities.data.Cell;
import fr.ifremer.echobase.entities.data.Echotype;
@@ -33,6 +32,7 @@
import fr.ifremer.echobase.entities.references.DataQuality;
import fr.ifremer.echobase.entities.references.SizeCategory;
import fr.ifremer.echobase.entities.references.Species;
+import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
import java.util.List;
import java.util.Map;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultByEchotypeImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultByEchotypeImportModel.java 2012-08-21 16:39:57 UTC (rev 560)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultByEchotypeImportModel.java 2012-08-22 10:54:29 UTC (rev 561)
@@ -23,7 +23,6 @@
*/
package fr.ifremer.echobase.services.importdata.csv;
-import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
import fr.ifremer.echobase.entities.data.Cell;
import fr.ifremer.echobase.entities.data.Echotype;
@@ -31,6 +30,7 @@
import fr.ifremer.echobase.entities.data.Voyage;
import fr.ifremer.echobase.entities.references.DataMetadata;
import fr.ifremer.echobase.entities.references.DataQuality;
+import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
import java.util.List;
import java.util.Map;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultBySpeciesAndAgeCategoryImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultBySpeciesAndAgeCategoryImportModel.java 2012-08-21 16:39:57 UTC (rev 560)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultBySpeciesAndAgeCategoryImportModel.java 2012-08-22 10:54:29 UTC (rev 561)
@@ -23,7 +23,6 @@
*/
package fr.ifremer.echobase.services.importdata.csv;
-import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
import fr.ifremer.echobase.entities.data.Cell;
import fr.ifremer.echobase.entities.data.Result;
@@ -31,6 +30,7 @@
import fr.ifremer.echobase.entities.references.DataMetadata;
import fr.ifremer.echobase.entities.references.DataQuality;
import fr.ifremer.echobase.entities.references.Species;
+import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
import java.util.List;
import java.util.Map;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultBySpeciesAndSizeCategoryImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultBySpeciesAndSizeCategoryImportModel.java 2012-08-21 16:39:57 UTC (rev 560)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultBySpeciesAndSizeCategoryImportModel.java 2012-08-22 10:54:29 UTC (rev 561)
@@ -23,7 +23,6 @@
*/
package fr.ifremer.echobase.services.importdata.csv;
-import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
import fr.ifremer.echobase.entities.data.Cell;
import fr.ifremer.echobase.entities.data.Result;
@@ -31,6 +30,7 @@
import fr.ifremer.echobase.entities.references.DataMetadata;
import fr.ifremer.echobase.entities.references.DataQuality;
import fr.ifremer.echobase.entities.references.Species;
+import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
import java.util.List;
import java.util.Map;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/GearMetadataValueImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/GearMetadataValueImportModel.java 2012-08-21 16:39:57 UTC (rev 560)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/GearMetadataValueImportModel.java 2012-08-22 10:54:29 UTC (rev 561)
@@ -23,13 +23,13 @@
*/
package fr.ifremer.echobase.services.importdata.csv;
-import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
import fr.ifremer.echobase.entities.data.GearMetadataValue;
import fr.ifremer.echobase.entities.data.Operation;
import fr.ifremer.echobase.entities.references.Gear;
import fr.ifremer.echobase.entities.references.GearMetadata;
import fr.ifremer.echobase.entities.references.Vessel;
+import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
import java.util.Map;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/LengthAgeKeyImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/LengthAgeKeyImportModel.java 2012-08-21 16:39:57 UTC (rev 560)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/LengthAgeKeyImportModel.java 2012-08-22 10:54:29 UTC (rev 561)
@@ -23,12 +23,12 @@
*/
package fr.ifremer.echobase.services.importdata.csv;
-import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
import fr.ifremer.echobase.entities.data.LengthAgeKey;
import fr.ifremer.echobase.entities.data.Voyage;
import fr.ifremer.echobase.entities.references.Species;
import fr.ifremer.echobase.entities.references.Strata;
+import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
import java.util.Map;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/LengthWeightKeyImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/LengthWeightKeyImportModel.java 2012-08-21 16:39:57 UTC (rev 560)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/LengthWeightKeyImportModel.java 2012-08-22 10:54:29 UTC (rev 561)
@@ -23,13 +23,13 @@
*/
package fr.ifremer.echobase.services.importdata.csv;
-import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
import fr.ifremer.echobase.entities.data.LengthWeightKey;
import fr.ifremer.echobase.entities.data.Voyage;
import fr.ifremer.echobase.entities.references.SizeCategory;
import fr.ifremer.echobase.entities.references.Species;
import fr.ifremer.echobase.entities.references.Strata;
+import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
import java.util.Map;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/MapCellImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/MapCellImportModel.java 2012-08-21 16:39:57 UTC (rev 560)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/MapCellImportModel.java 2012-08-22 10:54:29 UTC (rev 561)
@@ -23,7 +23,6 @@
*/
package fr.ifremer.echobase.services.importdata.csv;
-import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
import fr.ifremer.echobase.entities.data.Voyage;
import fr.ifremer.echobase.entities.references.AgeCategory;
@@ -32,6 +31,7 @@
import fr.ifremer.echobase.entities.references.DataQuality;
import fr.ifremer.echobase.entities.references.SizeCategory;
import fr.ifremer.echobase.entities.references.Species;
+import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
import java.util.List;
import java.util.Map;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/OperationImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/OperationImportModel.java 2012-08-21 16:39:57 UTC (rev 560)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/OperationImportModel.java 2012-08-22 10:54:29 UTC (rev 561)
@@ -23,12 +23,12 @@
*/
package fr.ifremer.echobase.services.importdata.csv;
-import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
import fr.ifremer.echobase.entities.data.Operation;
import fr.ifremer.echobase.entities.references.DepthStratum;
import fr.ifremer.echobase.entities.references.Gear;
import fr.ifremer.echobase.entities.references.Vessel;
+import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
import java.util.Map;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/OperationMetadataValueImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/OperationMetadataValueImportModel.java 2012-08-21 16:39:57 UTC (rev 560)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/OperationMetadataValueImportModel.java 2012-08-22 10:54:29 UTC (rev 561)
@@ -23,12 +23,12 @@
*/
package fr.ifremer.echobase.services.importdata.csv;
-import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
import fr.ifremer.echobase.entities.data.Operation;
import fr.ifremer.echobase.entities.data.OperationMetadataValue;
import fr.ifremer.echobase.entities.references.OperationMetadata;
import fr.ifremer.echobase.entities.references.Vessel;
+import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
import java.util.Map;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellAssociationImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellAssociationImportModel.java 2012-08-21 16:39:57 UTC (rev 560)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellAssociationImportModel.java 2012-08-22 10:54:29 UTC (rev 561)
@@ -23,11 +23,11 @@
*/
package fr.ifremer.echobase.services.importdata.csv;
-import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
import fr.ifremer.echobase.entities.data.Cell;
import fr.ifremer.echobase.entities.data.CellDAO;
import fr.ifremer.echobase.entities.data.Voyage;
+import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
import java.util.Map;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellImportModel.java 2012-08-21 16:39:57 UTC (rev 560)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellImportModel.java 2012-08-22 10:54:29 UTC (rev 561)
@@ -23,11 +23,11 @@
*/
package fr.ifremer.echobase.services.importdata.csv;
-import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
import fr.ifremer.echobase.entities.data.Voyage;
import fr.ifremer.echobase.entities.references.CellType;
import fr.ifremer.echobase.entities.references.DataQuality;
+import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
import java.util.Map;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellResultImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellResultImportModel.java 2012-08-21 16:39:57 UTC (rev 560)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellResultImportModel.java 2012-08-22 10:54:29 UTC (rev 561)
@@ -23,7 +23,6 @@
*/
package fr.ifremer.echobase.services.importdata.csv;
-import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
import fr.ifremer.echobase.entities.data.Cell;
import fr.ifremer.echobase.entities.data.Echotype;
@@ -32,6 +31,7 @@
import fr.ifremer.echobase.entities.references.DataQuality;
import fr.ifremer.echobase.entities.references.SizeCategory;
import fr.ifremer.echobase.entities.references.Species;
+import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
import java.util.List;
import java.util.Map;
@@ -45,7 +45,6 @@
public class RegionCellResultImportModel extends AbstractImportModel<RegionCellResultImportRow> {
-
public static final String[] COLUMN_NAMES_TO_EXCLUDE = {
EchoBaseCsvUtil.CELL_NAME,
Species.PROPERTY_BARACOUDA_CODE,
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/SubSampleImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/SubSampleImportModel.java 2012-08-21 16:39:57 UTC (rev 560)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/SubSampleImportModel.java 2012-08-22 10:54:29 UTC (rev 561)
@@ -23,7 +23,6 @@
*/
package fr.ifremer.echobase.services.importdata.csv;
-import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
import fr.ifremer.echobase.entities.data.Operation;
import fr.ifremer.echobase.entities.data.Sample;
@@ -31,6 +30,7 @@
import fr.ifremer.echobase.entities.references.SexCategory;
import fr.ifremer.echobase.entities.references.SizeCategory;
import fr.ifremer.echobase.entities.references.Species;
+import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
import java.util.Map;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/TotalSampleImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/TotalSampleImportModel.java 2012-08-21 16:39:57 UTC (rev 560)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/TotalSampleImportModel.java 2012-08-22 10:54:29 UTC (rev 561)
@@ -23,12 +23,12 @@
*/
package fr.ifremer.echobase.services.importdata.csv;
-import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
import fr.ifremer.echobase.entities.data.Operation;
import fr.ifremer.echobase.entities.data.Sample;
import fr.ifremer.echobase.entities.references.SizeCategory;
import fr.ifremer.echobase.entities.references.Species;
+import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
import java.util.Map;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/TransectImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/TransectImportModel.java 2012-08-21 16:39:57 UTC (rev 560)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/TransectImportModel.java 2012-08-22 10:54:29 UTC (rev 561)
@@ -23,11 +23,11 @@
*/
package fr.ifremer.echobase.services.importdata.csv;
-import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
import fr.ifremer.echobase.entities.data.Transect;
import fr.ifremer.echobase.entities.data.Voyage;
import fr.ifremer.echobase.entities.references.Vessel;
+import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
import java.util.Map;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/TransitImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/TransitImportModel.java 2012-08-21 16:39:57 UTC (rev 560)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/TransitImportModel.java 2012-08-22 10:54:29 UTC (rev 561)
@@ -23,10 +23,10 @@
*/
package fr.ifremer.echobase.services.importdata.csv;
-import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
import fr.ifremer.echobase.entities.data.Transit;
import fr.ifremer.echobase.entities.data.Voyage;
+import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
import java.util.Map;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/VoyageImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/VoyageImportModel.java 2012-08-21 16:39:57 UTC (rev 560)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/VoyageImportModel.java 2012-08-22 10:54:29 UTC (rev 561)
@@ -23,10 +23,10 @@
*/
package fr.ifremer.echobase.services.importdata.csv;
-import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
import fr.ifremer.echobase.entities.data.Voyage;
import fr.ifremer.echobase.entities.data.VoyageImpl;
+import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
/**
* Model to import Voyages.
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/FakeEchoBaseServiceContext.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/FakeEchoBaseServiceContext.java 2012-08-21 16:39:57 UTC (rev 560)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/FakeEchoBaseServiceContext.java 2012-08-22 10:54:29 UTC (rev 561)
@@ -28,8 +28,7 @@
import fr.ifremer.echobase.EchoBaseConfigurationOption;
import fr.ifremer.echobase.EchoBaseTechnicalException;
import fr.ifremer.echobase.EchoBaseTopiaRootContextFactory;
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
-import fr.ifremer.echobase.entities.EchoBaseMetadatas;
+import fr.ifremer.echobase.entities.EchoBaseDbMeta;
import org.apache.commons.io.IOUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -38,7 +37,6 @@
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.TopiaException;
import org.nuiton.topia.TopiaRuntimeException;
-import org.nuiton.topia.persistence.metadata.DbMeta;
import org.nuiton.util.FileUtil;
import java.io.File;
@@ -189,8 +187,8 @@
}
@Override
- public DbMeta<EchoBaseEntityEnum> getDbMeta() {
- return EchoBaseMetadatas.newDbMeta();
+ public EchoBaseDbMeta getDbMeta() {
+ return EchoBaseDbMeta.newDbMeta();
}
@Override
Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/EchoBaseDbCreator.java
===================================================================
--- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/EchoBaseDbCreator.java 2012-08-21 16:39:57 UTC (rev 560)
+++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/EchoBaseDbCreator.java 2012-08-22 10:54:29 UTC (rev 561)
@@ -32,9 +32,8 @@
import com.healthmarketscience.jackcess.Table;
import fr.ifremer.echobase.EchoBaseFunctions;
import fr.ifremer.echobase.EchoBaseIOUtil;
-import fr.ifremer.echobase.entities.EchoBaseMetadatas;
-import org.nuiton.util.csv.ext.AbstractExportModel;
import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
+import fr.ifremer.echobase.entities.EchoBaseDbMeta;
import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -42,6 +41,7 @@
import org.nuiton.util.FileUtil;
import org.nuiton.util.csv.Export;
import org.nuiton.util.csv.ValueFormatter;
+import org.nuiton.util.csv.ext.AbstractExportModel;
import java.io.File;
import java.io.FileFilter;
@@ -107,6 +107,8 @@
Database db = Database.open(msAccessFile);
+ EchoBaseDbMeta metas = EchoBaseDbMeta.newDbMeta();
+
for (Table table : db) {
MSAccessToCsvExportModel model =
new MSAccessToCsvExportModel(table);
@@ -120,7 +122,8 @@
}
}
- public void createEchoBaseLegacyDataDb(File sourceDir,
+ public void createEchoBaseLegacyDataDb(EchoBaseDbMeta metas,
+ File sourceDir,
File outputDir,
File zipFile) throws IOException, TopiaException {
@@ -128,8 +131,8 @@
File baracoudaDir = new File(sourceDir, FileType.BARACOUDA.name().toLowerCase());
File associationDir = new File(sourceDir, FileType.ASSOCIATION.name().toLowerCase());
- FileFilter entityFile = new EntityFileFilter(EchoBaseMetadatas.getDataTypes());
- FileFilter associationFileFilter = new AssociationFileFilter(EchoBaseMetadatas.getDataTypes());
+ FileFilter entityFile = new EntityFileFilter(metas.getDataTypes());
+ FileFilter associationFileFilter = new AssociationFileFilter(metas.getDataTypes());
FileUtil.createDirectoryIfNecessary(outputDir);
@@ -159,7 +162,8 @@
EchoBaseIOUtil.compressZipFile(zipFile, outputDir, false);
}
- public void createEchoBaseReferentielDb(File sourceDir,
+ public void createEchoBaseReferentielDb(EchoBaseDbMeta metas,
+ File sourceDir,
File outputDir,
File zipFile) throws IOException, TopiaException {
@@ -167,8 +171,8 @@
File baracoudaDir = new File(sourceDir, FileType.BARACOUDA.name().toLowerCase());
File associationDir = new File(sourceDir, FileType.ASSOCIATION.name().toLowerCase());
- FileFilter entityFile = new EntityFileFilter(EchoBaseMetadatas.getReferenceTypes());
- FileFilter associationFileFilter = new AssociationFileFilter(EchoBaseMetadatas.getReferenceTypes());
+ FileFilter entityFile = new EntityFileFilter(metas.getReferenceTypes());
+ FileFilter associationFileFilter = new AssociationFileFilter(metas.getReferenceTypes());
FileUtil.createDirectoryIfNecessary(outputDir);
@@ -225,9 +229,9 @@
}
private static class EntityFileFilter implements FileFilter {
- final EchoBaseEntityEnum[] allowedTypes;
+ final Iterable<EchoBaseEntityEnum> allowedTypes;
- private EntityFileFilter(EchoBaseEntityEnum[] allowedTypes) {
+ private EntityFileFilter(Iterable<EchoBaseEntityEnum> allowedTypes) {
this.allowedTypes = allowedTypes;
}
@@ -252,9 +256,9 @@
}
private static class AssociationFileFilter implements FileFilter {
- final EchoBaseEntityEnum[] allowedTypes;
+ final Iterable<EchoBaseEntityEnum> allowedTypes;
- private AssociationFileFilter(EchoBaseEntityEnum[] allowedTypes) {
+ private AssociationFileFilter(Iterable<EchoBaseEntityEnum> allowedTypes) {
this.allowedTypes = allowedTypes;
}
Modified: trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/AbstractToolTest.java
===================================================================
--- trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/AbstractToolTest.java 2012-08-21 16:39:57 UTC (rev 560)
+++ trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/AbstractToolTest.java 2012-08-22 10:54:29 UTC (rev 561)
@@ -26,8 +26,7 @@
import fr.ifremer.echobase.EchoBaseConfiguration;
import fr.ifremer.echobase.EchoBaseConfigurationOption;
import fr.ifremer.echobase.EchoBaseTopiaRootContextFactory;
-import fr.ifremer.echobase.entities.EchoBaseDAOHelper;
-import fr.ifremer.echobase.entities.EchoBaseMetadatas;
+import fr.ifremer.echobase.entities.EchoBaseDbMeta;
import fr.ifremer.echobase.services.DefaultEchoBaseServiceContext;
import fr.ifremer.echobase.services.EchoBaseService;
import fr.ifremer.echobase.services.EchoBaseServiceContext;
@@ -102,7 +101,7 @@
Locale.getDefault(),
topiaContext.beginTransaction(),
configuration,
- EchoBaseMetadatas.newDbMeta(),
+ EchoBaseDbMeta.newDbMeta(),
new EchoBaseServiceFactory()
);
}
@@ -122,7 +121,7 @@
}
protected <E extends TopiaEntity> TopiaDAO<E> getDao(Class<E> entityClass) throws TopiaException {
- TopiaDAO<E> dao = EchoBaseDAOHelper.<E, TopiaDAO<E>>getDAO(serviceContext.getTransaction(), entityClass);
+ TopiaDAO<E> dao = serviceContext.getDbMeta().getPersistenceHelper().getDAO(serviceContext.getTransaction(), entityClass);
return dao;
}
Modified: trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/EchoBaseDbZipCreatorIT.java
===================================================================
--- trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/EchoBaseDbZipCreatorIT.java 2012-08-21 16:39:57 UTC (rev 560)
+++ trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/EchoBaseDbZipCreatorIT.java 2012-08-22 10:54:29 UTC (rev 561)
@@ -23,6 +23,7 @@
*/
package fr.ifremer.echobase.tools;
+import fr.ifremer.echobase.entities.EchoBaseDbMeta;
import org.apache.commons.io.FileUtils;
import org.junit.Assert;
import org.junit.BeforeClass;
@@ -51,9 +52,14 @@
static String dbVersion;
+
+ protected static EchoBaseDbMeta dbMetas;
+
@BeforeClass
public static void beforeTest() throws IOException {
+ dbMetas = EchoBaseDbMeta.newDbMeta();
+
String dbDestination = System.getenv("dbDestination");
dbVersion = System.getenv("dbVersion");
@@ -79,7 +85,10 @@
File sourceDir = TestHelper.getCsvResourceDirectory();
- new EchoBaseDbCreator().createEchoBaseLegacyDataDb(sourceDir, dir, distributionFile);
+ new EchoBaseDbCreator().createEchoBaseLegacyDataDb(dbMetas,
+ sourceDir,
+ dir,
+ distributionFile);
Assert.assertTrue(distributionFile.exists());
@@ -104,7 +113,10 @@
File sourceDir = TestHelper.getCsvResourceDirectory();
- new EchoBaseDbCreator().createEchoBaseReferentielDb(sourceDir, dir, distributionFile);
+ new EchoBaseDbCreator().createEchoBaseReferentielDb(dbMetas,
+ sourceDir,
+ dir,
+ distributionFile);
Assert.assertTrue(distributionFile.exists());
Modified: trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/AbstractLoaderIT.java
===================================================================
--- trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/AbstractLoaderIT.java 2012-08-21 16:39:57 UTC (rev 560)
+++ trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/loaders/AbstractLoaderIT.java 2012-08-22 10:54:29 UTC (rev 561)
@@ -41,11 +41,11 @@
import org.nuiton.topia.TopiaException;
import org.nuiton.topia.persistence.TopiaDAO;
import org.nuiton.topia.persistence.TopiaEntity;
+import org.nuiton.topia.persistence.csv.in.CsvImportResult;
import org.nuiton.topia.persistence.metadata.AssociationMeta;
import org.nuiton.topia.persistence.metadata.DbMeta;
import org.nuiton.topia.persistence.metadata.MetaFilenameAware;
import org.nuiton.topia.persistence.metadata.TableMeta;
-import org.nuiton.topia.persistence.csv.in.CsvImportResult;
import org.nuiton.util.FileUtil;
import java.io.File;
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseApplicationContext.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseApplicationContext.java 2012-08-21 16:39:57 UTC (rev 560)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseApplicationContext.java 2012-08-22 10:54:29 UTC (rev 561)
@@ -24,9 +24,8 @@
package fr.ifremer.echobase.ui;
import fr.ifremer.echobase.EchoBaseConfiguration;
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
+import fr.ifremer.echobase.entities.EchoBaseDbMeta;
import org.nuiton.topia.TopiaContext;
-import org.nuiton.topia.persistence.metadata.DbMeta;
/**
* @author tchemit <chemit(a)codelutin.com>
@@ -36,7 +35,7 @@
protected EchoBaseConfiguration configuration;
- protected DbMeta<EchoBaseEntityEnum> dbMeta;
+ protected EchoBaseDbMeta dbMeta;
protected TopiaContext rootContext;
@@ -56,11 +55,11 @@
this.rootContext = rootContext;
}
- public DbMeta<EchoBaseEntityEnum> getDbMeta() {
+ public EchoBaseDbMeta getDbMeta() {
return dbMeta;
}
- public void setDbMeta(DbMeta<EchoBaseEntityEnum> dbMeta) {
+ public void setDbMeta(EchoBaseDbMeta dbMeta) {
this.dbMeta = dbMeta;
}
}
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseApplicationListener.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseApplicationListener.java 2012-08-21 16:39:57 UTC (rev 560)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseApplicationListener.java 2012-08-22 10:54:29 UTC (rev 561)
@@ -26,10 +26,9 @@
import fr.ifremer.echobase.EchoBaseConfiguration;
import fr.ifremer.echobase.EchoBaseTechnicalException;
import fr.ifremer.echobase.EchoBaseTopiaRootContextFactory;
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
+import fr.ifremer.echobase.entities.EchoBaseDbMeta;
import fr.ifremer.echobase.entities.EchoBaseUser;
import fr.ifremer.echobase.entities.EchoBaseUserImpl;
-import fr.ifremer.echobase.entities.EchoBaseMetadatas;
import fr.ifremer.echobase.services.DefaultEchoBaseServiceContext;
import fr.ifremer.echobase.services.EchoBaseServiceContext;
import fr.ifremer.echobase.services.EchoBaseServiceFactory;
@@ -46,7 +45,6 @@
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.TopiaException;
import org.nuiton.topia.framework.TopiaUtil;
-import org.nuiton.topia.persistence.metadata.DbMeta;
import org.nuiton.util.converter.ConverterUtil;
import javax.servlet.ServletContextEvent;
@@ -101,9 +99,8 @@
new EchoBaseTopiaRootContextFactory();
rootContext = factory.newDatabaseFromConfig(configuration);
applicationContext.setRootContext(rootContext);
- DbMeta<EchoBaseEntityEnum> dbMeta = EchoBaseMetadatas.newDbMeta();
- applicationContext.setDbMeta(dbMeta);
+ applicationContext.setDbMeta(EchoBaseDbMeta.newDbMeta());
// register our not locale dependant converter
Converter converter = ConverterUtil.getConverter(Float.class);
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/ImportTable.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/ImportTable.java 2012-08-21 16:39:57 UTC (rev 560)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/ImportTable.java 2012-08-22 10:54:29 UTC (rev 561)
@@ -25,11 +25,11 @@
import com.opensymphony.xwork2.interceptor.annotations.InputConfig;
import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
-import org.nuiton.topia.persistence.csv.in.CsvImportResult;
import fr.ifremer.echobase.services.ImportService;
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.nuiton.topia.persistence.csv.in.CsvImportResult;
import java.io.File;
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/user/Delete.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/user/Delete.java 2012-08-21 16:39:57 UTC (rev 560)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/user/Delete.java 2012-08-22 10:54:29 UTC (rev 561)
@@ -100,6 +100,6 @@
@Override
public void setParameters(Map<String, String[]> parameters) {
- this.parameters=parameters;
+ this.parameters = parameters;
}
}
\ No newline at end of file
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/user/Update.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/user/Update.java 2012-08-21 16:39:57 UTC (rev 560)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/user/Update.java 2012-08-22 10:54:29 UTC (rev 561)
@@ -100,6 +100,6 @@
@Override
public void setParameters(Map<String, String[]> parameters) {
- this.parameters=parameters;
+ this.parameters = parameters;
}
}
\ No newline at end of file
1
0
r560 - in trunk: echobase-entities/src/main/java/fr/ifremer/echobase/entities echobase-services/src/main/java/fr/ifremer/echobase/services
by tchemit@users.forge.codelutin.com 21 Aug '12
by tchemit@users.forge.codelutin.com 21 Aug '12
21 Aug '12
Author: tchemit
Date: 2012-08-21 18:39:57 +0200 (Tue, 21 Aug 2012)
New Revision: 560
Url: http://forge.codelutin.com/repositories/revision/echobase/560
Log:
refs #1407: Extraction du module d'import-export csv vers ToPIA
Added:
trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EchoBasePersistenceHelper.java
Modified:
trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EchoBaseMetadatas.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportDbService.java
Modified: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EchoBaseMetadatas.java
===================================================================
--- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EchoBaseMetadatas.java 2012-08-21 16:39:30 UTC (rev 559)
+++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EchoBaseMetadatas.java 2012-08-21 16:39:57 UTC (rev 560)
@@ -27,7 +27,6 @@
import org.nuiton.topia.persistence.metadata.DbMeta;
import org.nuiton.topia.persistence.metadata.MetaFilenameAware;
import org.nuiton.topia.persistence.metadata.Metadatas;
-import org.nuiton.topia.persistence.metadata.TopiaEntityEnumProvider;
import java.util.List;
@@ -52,7 +51,7 @@
public static DbMeta<EchoBaseEntityEnum> newDbMeta() {
return DbMeta.newDbMeta(
- new EchoBaseTopiaEntityEnumProvider(),
+ new EchoBasePersistenceHelper(),
EchoBaseEntityEnum.values(),
nonEditableTypes
);
@@ -185,11 +184,4 @@
return result.toArray(new EchoBaseEntityEnum[result.size()]);
}
- public static class EchoBaseTopiaEntityEnumProvider implements TopiaEntityEnumProvider<EchoBaseEntityEnum> {
-
- @Override
- public <E> EchoBaseEntityEnum getEntityEnum(Class<E> type) {
- return EchoBaseEntityEnum.valueOf(type);
- }
- }
}
Added: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EchoBasePersistenceHelper.java
===================================================================
--- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EchoBasePersistenceHelper.java (rev 0)
+++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EchoBasePersistenceHelper.java 2012-08-21 16:39:57 UTC (rev 560)
@@ -0,0 +1,54 @@
+package fr.ifremer.echobase.entities;
+
+/*
+ * #%L
+ * EchoBase :: Entities
+ * $Id$
+ * $HeadURL: http://svn.forge.codelutin.com/svn/echobase/trunk/echobase-entities/src/mai… $
+ * %%
+ * Copyright (C) 2011 - 2012 Ifremer, Codelutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.TopiaRuntimeException;
+import org.nuiton.topia.persistence.TopiaDAO;
+import org.nuiton.topia.persistence.TopiaEntity;
+import org.nuiton.topia.persistence.TopiaPersistenceHelper;
+
+/**
+* TODO
+*
+* @author tchemit <chemit(a)codelutin.com>
+* @since 1.1
+*/
+public class EchoBasePersistenceHelper implements TopiaPersistenceHelper<EchoBaseEntityEnum> {
+
+ @Override
+ public <E extends TopiaEntity> EchoBaseEntityEnum getEntityEnum(Class<E> type) {
+ return EchoBaseEntityEnum.valueOf(type);
+ }
+
+ @Override
+ public <E extends TopiaEntity> TopiaDAO<E> getDAO(TopiaContext tx, Class<E> type) {
+ try {
+ return EchoBaseDAOHelper.<E, TopiaDAO<E>>getDAO(tx, type);
+ } catch (TopiaException e) {
+ throw new TopiaRuntimeException(e);
+ }
+ }
+}
Property changes on: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EchoBasePersistenceHelper.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportDbService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportDbService.java 2012-08-21 16:39:30 UTC (rev 559)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportDbService.java 2012-08-21 16:39:57 UTC (rev 560)
@@ -41,7 +41,7 @@
import org.nuiton.topia.persistence.metadata.AssociationMeta;
import org.nuiton.topia.persistence.metadata.MetaFilenameAware;
import org.nuiton.topia.persistence.metadata.TableMeta;
-import org.nuiton.topia.persistence.metadata.TopiaEntityEnumProvider;
+import org.nuiton.topia.persistence.TopiaPersistenceHelper;
import org.nuiton.util.FileUtil;
import org.nuiton.util.TimeLog;
@@ -206,7 +206,7 @@
modelFactory, entityMetas, associations, container);
ReplicateEntityVisitor result = new ReplicateEntityVisitor(
- getDbMeta().getEntityEnumProvider(), contexts);
+ getDbMeta().getPersistenceHelper(), contexts);
return result;
}
@@ -226,7 +226,7 @@
entity instanceof Result;
}
- public ReplicateEntityVisitor(TopiaEntityEnumProvider<EchoBaseEntityEnum> typeProvider,
+ public ReplicateEntityVisitor(TopiaPersistenceHelper<EchoBaseEntityEnum> typeProvider,
Map<EchoBaseEntityEnum, TopiaCsvExports.EntityExportContext<EchoBaseEntityEnum>> entityExporters) {
super(typeProvider, entityExporters);
categoryIds = Sets.newHashSet();
1
0
r559 - trunk/echobase-entities/src/main/java/fr/ifremer/echobase
by tchemit@users.forge.codelutin.com 21 Aug '12
by tchemit@users.forge.codelutin.com 21 Aug '12
21 Aug '12
Author: tchemit
Date: 2012-08-21 18:39:30 +0200 (Tue, 21 Aug 2012)
New Revision: 559
Url: http://forge.codelutin.com/repositories/revision/echobase/559
Log:
use not deprecated api
Modified:
trunk/echobase-entities/src/main/java/fr/ifremer/echobase/EchoBaseConfiguration.java
Modified: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/EchoBaseConfiguration.java
===================================================================
--- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/EchoBaseConfiguration.java 2012-08-19 11:16:42 UTC (rev 558)
+++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/EchoBaseConfiguration.java 2012-08-21 16:39:30 UTC (rev 559)
@@ -73,7 +73,7 @@
log.info(this + " is initializing...");
}
try {
- applicationConfig.loadDefaultOptions(EchoBaseConfigurationOption.class);
+ applicationConfig.loadDefaultOptions(EchoBaseConfigurationOption.values());
if (propos != null) {
for (Map.Entry<Object, Object> entry : propos.entrySet()) {
1
0
r558 - trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities
by tchemit@users.forge.codelutin.com 19 Aug '12
by tchemit@users.forge.codelutin.com 19 Aug '12
19 Aug '12
Author: tchemit
Date: 2012-08-19 13:16:42 +0200 (Sun, 19 Aug 2012)
New Revision: 558
Url: http://forge.codelutin.com/repositories/revision/echobase/558
Log:
remove meta package + add missing svn properties and license header
Removed:
trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/meta/
Modified:
trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EchoBaseMetadatas.java
Modified: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EchoBaseMetadatas.java
===================================================================
--- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EchoBaseMetadatas.java 2012-08-19 11:15:16 UTC (rev 557)
+++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EchoBaseMetadatas.java 2012-08-19 11:16:42 UTC (rev 558)
@@ -1,4 +1,26 @@
package fr.ifremer.echobase.entities;
+/*
+ * #%L
+ * EchoBase :: Entities
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2011 - 2012 Ifremer, Codelutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
import com.google.common.collect.Lists;
import com.google.common.collect.Multimap;
Property changes on: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EchoBaseMetadatas.java
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ Author Date Id Revision HeadURL
1
0
19 Aug '12
Author: tchemit
Date: 2012-08-19 13:15:16 +0200 (Sun, 19 Aug 2012)
New Revision: 557
Url: http://forge.codelutin.com/repositories/revision/echobase/557
Log:
remove EntitiesUtil + start to remove TopiaQuery
Added:
trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EchoBaseMetadatas.java
trunk/echobase-entities/src/test/java/fr/ifremer/echobase/entities/EchoBaseMetadatasTest.java
Removed:
trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EntitiesUtil.java
trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/meta/EchoBaseMetadatas.java
trunk/echobase-entities/src/test/java/fr/ifremer/echobase/entities/EntitiesUtilTest.java
Modified:
trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/EchoBaseCsvUtil.java
trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EchoBaseUserDAOImpl.java
trunk/echobase-entities/src/test/java/fr/ifremer/echobase/EchoBaseDecoratorProviderTest.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DbEditorService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EmbeddedApplicationService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportDbService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportQueryService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportDbService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/UserService.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/FakeEchoBaseServiceContext.java
trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/EchoBaseDbCreator.java
trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/AbstractToolTest.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseApplicationListener.java
Modified: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/EchoBaseCsvUtil.java
===================================================================
--- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/EchoBaseCsvUtil.java 2012-08-18 10:03:41 UTC (rev 556)
+++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/EchoBaseCsvUtil.java 2012-08-19 11:15:16 UTC (rev 557)
@@ -31,11 +31,8 @@
import fr.ifremer.echobase.entities.references.DataQuality;
import org.nuiton.topia.persistence.csv.TopiaCsvCommons;
import org.nuiton.util.csv.ValueParser;
-import org.nuiton.util.csv.ValueParserFormatter;
import org.nuiton.util.csv.ValueSetter;
-import java.sql.Timestamp;
-import java.text.ParseException;
import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -48,20 +45,6 @@
*/
public class EchoBaseCsvUtil extends TopiaCsvCommons {
- public static final ValueParserFormatter<Date> DAY_TIME_SECOND_WITH_TIMESTAMP =
- new DateValue("dd/MM/yyyy HH:mm:ss") {
-
- @Override
- public Date parse(String value) throws ParseException {
-
- Date parse = super.parse(value);
- if (parse != null) {
- parse = new Timestamp(parse.getTime());
- }
- return parse;
- }
- };
-
public static final String CELLULE_DATE_FORMAT = "yyyy-MM-dd HH:mm:ss.SSSS";
public static final ValueParser<Date> IMPORT_DAY_TIME_ECHOBASE = new DateValue(CELLULE_DATE_FORMAT);
@@ -110,10 +93,6 @@
public static final String DEPTH_STRATUM_ID = "depthStratumId";
-// public static <E extends TopiaEntity> ForeignKeyValue<E> create(Class<E> type, String propertyName, Map<String, E> universe) {
-// return new ForeignKeyValue<E>(type, propertyName, universe);
-// }
-
protected EchoBaseCsvUtil() {
// avoid instanciation on helper class
}
Copied: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EchoBaseMetadatas.java (from rev 556, trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/meta/EchoBaseMetadatas.java)
===================================================================
--- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EchoBaseMetadatas.java (rev 0)
+++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EchoBaseMetadatas.java 2012-08-19 11:15:16 UTC (rev 557)
@@ -0,0 +1,173 @@
+package fr.ifremer.echobase.entities;
+
+import com.google.common.collect.Lists;
+import com.google.common.collect.Multimap;
+import org.nuiton.topia.persistence.metadata.DbMeta;
+import org.nuiton.topia.persistence.metadata.MetaFilenameAware;
+import org.nuiton.topia.persistence.metadata.Metadatas;
+import org.nuiton.topia.persistence.metadata.TopiaEntityEnumProvider;
+
+import java.util.List;
+
+/**
+ * Metas useful method.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 1.1
+ */
+public class EchoBaseMetadatas {
+
+ protected EchoBaseMetadatas() {
+ // avoid instance
+ }
+
+ /** All types that we do not want to edit. */
+ protected static final EchoBaseEntityEnum[] nonEditableTypes = {
+ EchoBaseEntityEnum.EchoBaseUser,
+ EchoBaseEntityEnum.EntityModificationLog,
+ EchoBaseEntityEnum.ExportQuery
+ };
+
+ public static DbMeta<EchoBaseEntityEnum> newDbMeta() {
+ return DbMeta.newDbMeta(
+ new EchoBaseTopiaEntityEnumProvider(),
+ EchoBaseEntityEnum.values(),
+ nonEditableTypes
+ );
+ }
+
+ public static MetaFilenameAware<EchoBaseEntityEnum>[] getEntries(DbMeta<EchoBaseEntityEnum> dbMeta) {
+
+ List<MetaFilenameAware<EchoBaseEntityEnum>> entities = Lists.newArrayList();
+ List<MetaFilenameAware<EchoBaseEntityEnum>> associations = Lists.newArrayList();
+
+ Metadatas.addEntries(dbMeta, entities, associations, getReferenceTypes());
+ Metadatas.addEntries(dbMeta, entities, associations, getDataTypes());
+ entities.addAll(associations);
+ return entities.toArray(new MetaFilenameAware[entities.size()]);
+ }
+
+ public static MetaFilenameAware<EchoBaseEntityEnum>[] getReferenceEntries(DbMeta<EchoBaseEntityEnum> dbMeta) {
+
+ List<MetaFilenameAware<EchoBaseEntityEnum>> entities = Lists.newArrayList();
+ List<MetaFilenameAware<EchoBaseEntityEnum>> associations = Lists.newArrayList();
+
+ Metadatas.addEntries(dbMeta, entities, associations, getReferenceTypes());
+
+ entities.addAll(associations);
+ return entities.toArray(new MetaFilenameAware[entities.size()]);
+ }
+
+ public static MetaFilenameAware<EchoBaseEntityEnum>[] getDataEntries(DbMeta<EchoBaseEntityEnum> dbMeta) {
+
+ List<MetaFilenameAware<EchoBaseEntityEnum>> entities = Lists.newArrayList();
+
+ Metadatas.addEntries(dbMeta, entities, null, getDataTypes());
+ return entities.toArray(new MetaFilenameAware[entities.size()]);
+ }
+
+ public static Multimap<EchoBaseEntityEnum, MetaFilenameAware<EchoBaseEntityEnum>> getDataAssociationsEntries(DbMeta<EchoBaseEntityEnum> dbMeta) {
+
+ List<MetaFilenameAware<EchoBaseEntityEnum>> associations = Lists.newArrayList();
+
+ Metadatas.addEntries(dbMeta, null, associations, getDataTypes());
+
+ Multimap<EchoBaseEntityEnum, MetaFilenameAware<EchoBaseEntityEnum>> associationsBySource = Metadatas.split(associations);
+ return associationsBySource;
+ }
+
+ /**
+ * @return the entity types of data in correct order for replication
+ * purpose.
+ */
+ public static EchoBaseEntityEnum[] getDataTypes() {
+
+ List<EchoBaseEntityEnum> result = Lists.newLinkedList();
+
+ result.add(EchoBaseEntityEnum.SampleData);
+ result.add(EchoBaseEntityEnum.Sample);
+
+ result.add(EchoBaseEntityEnum.OperationMetadataValue);
+ result.add(EchoBaseEntityEnum.GearMetadataValue);
+ result.add(EchoBaseEntityEnum.Operation);
+
+ result.add(EchoBaseEntityEnum.Data);
+
+ result.add(EchoBaseEntityEnum.Echotype);
+ result.add(EchoBaseEntityEnum.Category);
+ result.add(EchoBaseEntityEnum.Result);
+
+ result.add(EchoBaseEntityEnum.Cell);
+ result.add(EchoBaseEntityEnum.DataProcessing);
+ result.add(EchoBaseEntityEnum.DataAcquisition);
+ result.add(EchoBaseEntityEnum.Transect);
+ result.add(EchoBaseEntityEnum.Transit);
+
+ result.add(EchoBaseEntityEnum.LengthAgeKey);
+ result.add(EchoBaseEntityEnum.LengthWeightKey);
+
+ result.add(EchoBaseEntityEnum.Voyage);
+
+ return result.toArray(new EchoBaseEntityEnum[result.size()]);
+ }
+
+ /**
+ * @return the entity types of reference in correct order for copy
+ * purpose (says import / export of all a database.
+ */
+ public static EchoBaseEntityEnum[] getReferenceTypes() {
+ List<EchoBaseEntityEnum> result = Lists.newLinkedList();
+
+ // with no dep
+ result.add(EchoBaseEntityEnum.SexCategory);
+ result.add(EchoBaseEntityEnum.AgeCategory);
+ result.add(EchoBaseEntityEnum.SizeCategory);
+ result.add(EchoBaseEntityEnum.Species);
+ result.add(EchoBaseEntityEnum.Calibration);
+ result.add(EchoBaseEntityEnum.VesselType);
+ result.add(EchoBaseEntityEnum.Mission);
+ result.add(EchoBaseEntityEnum.DepthStratum);
+ result.add(EchoBaseEntityEnum.EchotypeCategory);
+ result.add(EchoBaseEntityEnum.AreaOfOperation);
+ result.add(EchoBaseEntityEnum.ReferenceDatumType);
+ result.add(EchoBaseEntityEnum.DataType);
+ result.add(EchoBaseEntityEnum.DataQuality);
+ result.add(EchoBaseEntityEnum.CellMethod);
+ result.add(EchoBaseEntityEnum.CellType);
+ result.add(EchoBaseEntityEnum.OperationEvent);
+ result.add(EchoBaseEntityEnum.SampleDataType);
+ result.add(EchoBaseEntityEnum.SampleType);
+ result.add(EchoBaseEntityEnum.GearCharacteristic);
+ result.add(EchoBaseEntityEnum.CategoryMeaning);
+ result.add(EchoBaseEntityEnum.CategoryType);
+ result.add(EchoBaseEntityEnum.MeasureType);
+ result.add(EchoBaseEntityEnum.MeasurementMetadata);
+ result.add(EchoBaseEntityEnum.ReferencingMethod);
+
+ // with deps
+ result.add(EchoBaseEntityEnum.Strata);
+ result.add(EchoBaseEntityEnum.AcousticInstrument);
+ result.add(EchoBaseEntityEnum.Vessel);
+ result.add(EchoBaseEntityEnum.ReferenceDatum);
+ result.add(EchoBaseEntityEnum.OperationMetadata);
+ result.add(EchoBaseEntityEnum.GearMetadata);
+ result.add(EchoBaseEntityEnum.GearCharacteristicValue);
+ result.add(EchoBaseEntityEnum.Gear);
+
+ result.add(EchoBaseEntityEnum.SpeciesCategory);
+ result.add(EchoBaseEntityEnum.TSParameters);
+ result.add(EchoBaseEntityEnum.DataMetadata);
+ result.add(EchoBaseEntityEnum.CategoryRef);
+ result.add(EchoBaseEntityEnum.Impacte);
+ result.add(EchoBaseEntityEnum.DataProtocol);
+ return result.toArray(new EchoBaseEntityEnum[result.size()]);
+ }
+
+ public static class EchoBaseTopiaEntityEnumProvider implements TopiaEntityEnumProvider<EchoBaseEntityEnum> {
+
+ @Override
+ public <E> EchoBaseEntityEnum getEntityEnum(Class<E> type) {
+ return EchoBaseEntityEnum.valueOf(type);
+ }
+ }
+}
Property changes on: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EchoBaseMetadatas.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Modified: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EchoBaseUserDAOImpl.java
===================================================================
--- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EchoBaseUserDAOImpl.java 2012-08-18 10:03:41 UTC (rev 556)
+++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EchoBaseUserDAOImpl.java 2012-08-19 11:15:16 UTC (rev 557)
@@ -24,14 +24,13 @@
package fr.ifremer.echobase.entities;
import org.nuiton.topia.TopiaException;
-import org.nuiton.topia.framework.TopiaQuery;
-import org.nuiton.util.PagerUtil;
+import org.nuiton.topia.persistence.TopiaFilterPagerUtil;
import java.util.List;
public class EchoBaseUserDAOImpl<E extends EchoBaseUser> extends EchoBaseUserDAOAbstract<E> {
- public List<E> findAll(PagerUtil.PagerBean pager) throws TopiaException {
+ public List<E> findAll(TopiaFilterPagerUtil.FilterPagerBean pager) throws TopiaException {
List<E> users;
if (pager == null) {
@@ -39,14 +38,16 @@
users = findAll();
} else {
- // get user count
- long count = count();
- pager.setRecords((int) count);
- PagerUtil.computeRecordIndexesAndPagesNumber(pager);
+ computeAndAddRecordsToPager("SELECT COUNT()* FROM " + getTopiaEntityEnum().getImplementationFQN(), pager);
- TopiaQuery query = createQuery("e");
- query.setLimit(pager.getRecordStartIndex(), pager.getRecordEndIndex() - 1);
- users = findAllByQuery(query);
+// //get user count
+// long count = count();
+// pager.setRecords((int) count);
+// PagerUtil.computeRecordIndexesAndPagesNumber(pager);
+
+// TopiaQuery query = createQuery("e");
+// query.setLimit(pager.getRecordStartIndex(), pager.getRecordEndIndex() - 1);
+ users = findAllByQuery("FROM " + getTopiaEntityEnum().getImplementationFQN(), pager);
}
return users;
}
Deleted: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EntitiesUtil.java
===================================================================
--- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EntitiesUtil.java 2012-08-18 10:03:41 UTC (rev 556)
+++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/EntitiesUtil.java 2012-08-19 11:15:16 UTC (rev 557)
@@ -1,133 +0,0 @@
-/*
- * #%L
- * EchoBase :: Entities
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2011 Ifremer, Codelutin
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero 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 Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- * #L%
- */
-package fr.ifremer.echobase.entities;
-
-import com.google.common.collect.Lists;
-import com.google.common.collect.Multimap;
-import org.nuiton.topia.persistence.metadata.DbMeta;
-import org.nuiton.topia.persistence.metadata.MetaFilenameAware;
-import org.nuiton.topia.persistence.metadata.Metadatas;
-
-import java.util.List;
-
-/**
- * Utility method for entities.
- *
- * @author sletellier <letellier(a)codelutin.com>
- * @since 0.2
- */
-public class EntitiesUtil {
-
- /**
- * @return the entity types of data in correct order for replication
- * purpose.
- */
- public static EchoBaseEntityEnum[] getDataTypes() {
-
- List<EchoBaseEntityEnum> result = Lists.newLinkedList();
-
- result.add(EchoBaseEntityEnum.SampleData);
- result.add(EchoBaseEntityEnum.Sample);
-
- result.add(EchoBaseEntityEnum.OperationMetadataValue);
- result.add(EchoBaseEntityEnum.GearMetadataValue);
- result.add(EchoBaseEntityEnum.Operation);
-
- result.add(EchoBaseEntityEnum.Data);
-
- result.add(EchoBaseEntityEnum.Echotype);
- result.add(EchoBaseEntityEnum.Category);
- result.add(EchoBaseEntityEnum.Result);
-
- result.add(EchoBaseEntityEnum.Cell);
- result.add(EchoBaseEntityEnum.DataProcessing);
- result.add(EchoBaseEntityEnum.DataAcquisition);
- result.add(EchoBaseEntityEnum.Transect);
- result.add(EchoBaseEntityEnum.Transit);
-
- result.add(EchoBaseEntityEnum.LengthAgeKey);
- result.add(EchoBaseEntityEnum.LengthWeightKey);
-
- result.add(EchoBaseEntityEnum.Voyage);
-
- return result.toArray(new EchoBaseEntityEnum[result.size()]);
- }
-
- /**
- * @return the entity types of reference in correct order for copy
- * purpose (says import / export of all a database.
- */
- public static EchoBaseEntityEnum[] getReferenceTypes() {
- List<EchoBaseEntityEnum> result = Lists.newLinkedList();
-
- // with no dep
- result.add(EchoBaseEntityEnum.SexCategory);
- result.add(EchoBaseEntityEnum.AgeCategory);
- result.add(EchoBaseEntityEnum.SizeCategory);
- result.add(EchoBaseEntityEnum.Species);
- result.add(EchoBaseEntityEnum.Calibration);
- result.add(EchoBaseEntityEnum.VesselType);
- result.add(EchoBaseEntityEnum.Mission);
- result.add(EchoBaseEntityEnum.DepthStratum);
- result.add(EchoBaseEntityEnum.EchotypeCategory);
- result.add(EchoBaseEntityEnum.AreaOfOperation);
- result.add(EchoBaseEntityEnum.ReferenceDatumType);
- result.add(EchoBaseEntityEnum.DataType);
- result.add(EchoBaseEntityEnum.DataQuality);
- result.add(EchoBaseEntityEnum.CellMethod);
- result.add(EchoBaseEntityEnum.CellType);
- result.add(EchoBaseEntityEnum.OperationEvent);
- result.add(EchoBaseEntityEnum.SampleDataType);
- result.add(EchoBaseEntityEnum.SampleType);
- result.add(EchoBaseEntityEnum.GearCharacteristic);
- result.add(EchoBaseEntityEnum.CategoryMeaning);
- result.add(EchoBaseEntityEnum.CategoryType);
- result.add(EchoBaseEntityEnum.MeasureType);
- result.add(EchoBaseEntityEnum.MeasurementMetadata);
- result.add(EchoBaseEntityEnum.ReferencingMethod);
-
- // with deps
- result.add(EchoBaseEntityEnum.Strata);
- result.add(EchoBaseEntityEnum.AcousticInstrument);
- result.add(EchoBaseEntityEnum.Vessel);
- result.add(EchoBaseEntityEnum.ReferenceDatum);
- result.add(EchoBaseEntityEnum.OperationMetadata);
- result.add(EchoBaseEntityEnum.GearMetadata);
- result.add(EchoBaseEntityEnum.GearCharacteristicValue);
- result.add(EchoBaseEntityEnum.Gear);
-
- result.add(EchoBaseEntityEnum.SpeciesCategory);
- result.add(EchoBaseEntityEnum.TSParameters);
- result.add(EchoBaseEntityEnum.DataMetadata);
- result.add(EchoBaseEntityEnum.CategoryRef);
- result.add(EchoBaseEntityEnum.Impacte);
- result.add(EchoBaseEntityEnum.DataProtocol);
- return result.toArray(new EchoBaseEntityEnum[result.size()]);
- }
-
- protected EntitiesUtil() {
- // avoid to instanciate helper class
- }
-
-}
Deleted: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/meta/EchoBaseMetadatas.java
===================================================================
--- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/meta/EchoBaseMetadatas.java 2012-08-18 10:03:41 UTC (rev 556)
+++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/meta/EchoBaseMetadatas.java 2012-08-19 11:15:16 UTC (rev 557)
@@ -1,86 +0,0 @@
-package fr.ifremer.echobase.entities.meta;
-
-import com.google.common.collect.Lists;
-import com.google.common.collect.Multimap;
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
-import fr.ifremer.echobase.entities.EntitiesUtil;
-import org.nuiton.topia.persistence.metadata.DbMeta;
-import org.nuiton.topia.persistence.metadata.MetaFilenameAware;
-import org.nuiton.topia.persistence.metadata.Metadatas;
-import org.nuiton.topia.persistence.metadata.TopiaEntityEnumProvider;
-
-import java.util.List;
-
-/**
- * TODO
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since TODO
- */
-public class EchoBaseMetadatas {
-
- /** All types that we do not want to edit. */
- protected static final EchoBaseEntityEnum[] nonEditableTypes = {
- EchoBaseEntityEnum.EchoBaseUser,
- EchoBaseEntityEnum.EntityModificationLog,
- EchoBaseEntityEnum.ExportQuery
- };
-
- public static DbMeta<EchoBaseEntityEnum> newDbMeta(
-
- ) {
- return DbMeta.newDbMeta(
- new EchoBaseTopiaEntityEnumProvider(),
- EchoBaseEntityEnum.values(),
- nonEditableTypes
- );
- }
-
- public static MetaFilenameAware<EchoBaseEntityEnum>[] getEntries(DbMeta<EchoBaseEntityEnum> dbMeta) {
-
- List<MetaFilenameAware<EchoBaseEntityEnum>> entities = Lists.newArrayList();
- List<MetaFilenameAware<EchoBaseEntityEnum>> associations = Lists.newArrayList();
-
- Metadatas.addEntries(dbMeta, entities, associations, EntitiesUtil.getReferenceTypes());
- Metadatas.addEntries(dbMeta, entities, associations, EntitiesUtil.getDataTypes());
- entities.addAll(associations);
- return entities.toArray(new MetaFilenameAware[entities.size()]);
- }
-
- public static MetaFilenameAware<EchoBaseEntityEnum>[] getReferenceEntries(DbMeta<EchoBaseEntityEnum> dbMeta) {
-
- List<MetaFilenameAware<EchoBaseEntityEnum>> entities = Lists.newArrayList();
- List<MetaFilenameAware<EchoBaseEntityEnum>> associations = Lists.newArrayList();
-
- Metadatas.addEntries(dbMeta, entities, associations, EntitiesUtil.getReferenceTypes());
-
- entities.addAll(associations);
- return entities.toArray(new MetaFilenameAware[entities.size()]);
- }
-
- public static MetaFilenameAware<EchoBaseEntityEnum>[] getDataEntries(DbMeta<EchoBaseEntityEnum> dbMeta) {
-
- List<MetaFilenameAware<EchoBaseEntityEnum>> entities = Lists.newArrayList();
-
- Metadatas.addEntries(dbMeta, entities, null, EntitiesUtil.getDataTypes());
- return entities.toArray(new MetaFilenameAware[entities.size()]);
- }
-
- public static Multimap<EchoBaseEntityEnum, MetaFilenameAware<EchoBaseEntityEnum>> getDataAssociationsEntries(DbMeta<EchoBaseEntityEnum> dbMeta) {
-
- List<MetaFilenameAware<EchoBaseEntityEnum>> associations = Lists.newArrayList();
-
- Metadatas.addEntries(dbMeta, null, associations, EntitiesUtil.getDataTypes());
-
- Multimap<EchoBaseEntityEnum, MetaFilenameAware<EchoBaseEntityEnum>> associationsBySource = Metadatas.split(associations);
- return associationsBySource;
- }
-
- public static class EchoBaseTopiaEntityEnumProvider implements TopiaEntityEnumProvider<EchoBaseEntityEnum> {
-
- @Override
- public <E> EchoBaseEntityEnum getEntityEnum(Class<E> type) {
- return EchoBaseEntityEnum.valueOf(type);
- }
- }
-}
Modified: trunk/echobase-entities/src/test/java/fr/ifremer/echobase/EchoBaseDecoratorProviderTest.java
===================================================================
--- trunk/echobase-entities/src/test/java/fr/ifremer/echobase/EchoBaseDecoratorProviderTest.java 2012-08-18 10:03:41 UTC (rev 556)
+++ trunk/echobase-entities/src/test/java/fr/ifremer/echobase/EchoBaseDecoratorProviderTest.java 2012-08-19 11:15:16 UTC (rev 557)
@@ -25,7 +25,7 @@
import com.google.common.collect.Lists;
import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
-import fr.ifremer.echobase.entities.EntitiesUtilTest;
+import fr.ifremer.echobase.entities.EchoBaseMetadatasTest;
import fr.ifremer.echobase.entities.data.Voyage;
import fr.ifremer.echobase.entities.references.Mission;
import junit.framework.Assert;
@@ -49,7 +49,7 @@
EchoBaseDecoratorProvider provider = new EchoBaseDecoratorProvider();
provider.loadDecorators(locale);
List<EchoBaseEntityEnum> expectedTypes =
- Lists.newArrayList(EntitiesUtilTest.getContractsOf(
+ Lists.newArrayList(EchoBaseMetadatasTest.getContractsOf(
Mission.class.getPackage()));
for (EchoBaseEntityEnum type : expectedTypes) {
@@ -65,7 +65,7 @@
EchoBaseDecoratorProvider provider = new EchoBaseDecoratorProvider();
provider.loadDecorators(locale);
List<EchoBaseEntityEnum> expectedTypes =
- Lists.newArrayList(EntitiesUtilTest.getContractsOf(
+ Lists.newArrayList(EchoBaseMetadatasTest.getContractsOf(
Voyage.class.getPackage()));
for (EchoBaseEntityEnum type : expectedTypes) {
Copied: trunk/echobase-entities/src/test/java/fr/ifremer/echobase/entities/EchoBaseMetadatasTest.java (from rev 554, trunk/echobase-entities/src/test/java/fr/ifremer/echobase/entities/EntitiesUtilTest.java)
===================================================================
--- trunk/echobase-entities/src/test/java/fr/ifremer/echobase/entities/EchoBaseMetadatasTest.java (rev 0)
+++ trunk/echobase-entities/src/test/java/fr/ifremer/echobase/entities/EchoBaseMetadatasTest.java 2012-08-19 11:15:16 UTC (rev 557)
@@ -0,0 +1,98 @@
+/*
+ * #%L
+ * EchoBase :: Entities
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2011 Ifremer, Codelutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+package fr.ifremer.echobase.entities;
+
+import com.google.common.collect.Lists;
+import fr.ifremer.echobase.entities.data.Voyage;
+import fr.ifremer.echobase.entities.references.Mission;
+import junit.framework.Assert;
+import org.junit.Test;
+import org.nuiton.topia.persistence.TopiaEntity;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * To test the class {@link EchoBaseMetadatas}.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 0.2
+ */
+public class EchoBaseMetadatasTest {
+
+ @Test
+ public void getReferenceTypes() {
+
+ List<EchoBaseEntityEnum> types =
+ Arrays.asList(EchoBaseMetadatas.getReferenceTypes());
+
+ List<EchoBaseEntityEnum> expectedTypes =
+ Lists.newArrayList(getContractsOf(Mission.class.getPackage()));
+
+ Assert.assertNotNull(types);
+
+ for (EchoBaseEntityEnum type : expectedTypes) {
+ Assert.assertTrue("Missing type : " + type, types.contains(type));
+ }
+ Assert.assertEquals(expectedTypes.size(), types.size());
+ }
+
+ @Test
+ public void getDataTypes() {
+
+ List<EchoBaseEntityEnum> types =
+ Arrays.asList(EchoBaseMetadatas.getDataTypes());
+
+ List<EchoBaseEntityEnum> expectedTypes =
+ Lists.newArrayList(getContractsOf(Voyage.class.getPackage()));
+
+ Assert.assertNotNull(types);
+
+ for (EchoBaseEntityEnum type : expectedTypes) {
+ Assert.assertTrue("Missing type : " + type, types.contains(type));
+ }
+ Assert.assertEquals(expectedTypes.size(), types.size());
+ }
+
+ /**
+ * Used to get all contract of a package
+ *
+ * @param entitiesPackage package contening desired entities
+ * @return contracts contained in entitiesPackage
+ */
+ public static EchoBaseEntityEnum[] getContractsOf(Package entitiesPackage) {
+ EchoBaseEntityEnum[] echoBaseEntityEnums = EchoBaseEntityEnum.values();
+ List<EchoBaseEntityEnum> refClasses = new ArrayList<EchoBaseEntityEnum>();
+ for (EchoBaseEntityEnum echoBaseEntityEnum : echoBaseEntityEnums) {
+
+ // Get all entities in package fr.ifremer.echobase.entities.references
+ Class<? extends TopiaEntity> contract = echoBaseEntityEnum.getContract();
+ if (entitiesPackage.equals(contract.getPackage())) {
+ refClasses.add(echoBaseEntityEnum);
+ }
+ }
+ return refClasses.toArray(new EchoBaseEntityEnum[refClasses.size()]);
+ }
+}
Property changes on: trunk/echobase-entities/src/test/java/fr/ifremer/echobase/entities/EchoBaseMetadatasTest.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Deleted: trunk/echobase-entities/src/test/java/fr/ifremer/echobase/entities/EntitiesUtilTest.java
===================================================================
--- trunk/echobase-entities/src/test/java/fr/ifremer/echobase/entities/EntitiesUtilTest.java 2012-08-18 10:03:41 UTC (rev 556)
+++ trunk/echobase-entities/src/test/java/fr/ifremer/echobase/entities/EntitiesUtilTest.java 2012-08-19 11:15:16 UTC (rev 557)
@@ -1,98 +0,0 @@
-/*
- * #%L
- * EchoBase :: Entities
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2011 Ifremer, Codelutin
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero 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 Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- * #L%
- */
-package fr.ifremer.echobase.entities;
-
-import com.google.common.collect.Lists;
-import fr.ifremer.echobase.entities.data.Voyage;
-import fr.ifremer.echobase.entities.references.Mission;
-import junit.framework.Assert;
-import org.junit.Test;
-import org.nuiton.topia.persistence.TopiaEntity;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-/**
- * To test the class {@link EntitiesUtil}.
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 0.2
- */
-public class EntitiesUtilTest {
-
- @Test
- public void getReferenceTypes() {
-
- List<EchoBaseEntityEnum> types =
- Arrays.asList(EntitiesUtil.getReferenceTypes());
-
- List<EchoBaseEntityEnum> expectedTypes =
- Lists.newArrayList(getContractsOf(Mission.class.getPackage()));
-
- Assert.assertNotNull(types);
-
- for (EchoBaseEntityEnum type : expectedTypes) {
- Assert.assertTrue("Missing type : " + type, types.contains(type));
- }
- Assert.assertEquals(expectedTypes.size(), types.size());
- }
-
- @Test
- public void getDataTypes() {
-
- List<EchoBaseEntityEnum> types =
- Arrays.asList(EntitiesUtil.getDataTypes());
-
- List<EchoBaseEntityEnum> expectedTypes =
- Lists.newArrayList(getContractsOf(Voyage.class.getPackage()));
-
- Assert.assertNotNull(types);
-
- for (EchoBaseEntityEnum type : expectedTypes) {
- Assert.assertTrue("Missing type : " + type, types.contains(type));
- }
- Assert.assertEquals(expectedTypes.size(), types.size());
- }
-
- /**
- * Used to get all contract of a package
- *
- * @param entitiesPackage package contening desired entities
- * @return contracts contained in entitiesPackage
- */
- public static EchoBaseEntityEnum[] getContractsOf(Package entitiesPackage) {
- EchoBaseEntityEnum[] echoBaseEntityEnums = EchoBaseEntityEnum.values();
- List<EchoBaseEntityEnum> refClasses = new ArrayList<EchoBaseEntityEnum>();
- for (EchoBaseEntityEnum echoBaseEntityEnum : echoBaseEntityEnums) {
-
- // Get all entities in package fr.ifremer.echobase.entities.references
- Class<? extends TopiaEntity> contract = echoBaseEntityEnum.getContract();
- if (entitiesPackage.equals(contract.getPackage())) {
- refClasses.add(echoBaseEntityEnum);
- }
- }
- return refClasses.toArray(new EchoBaseEntityEnum[refClasses.size()]);
- }
-}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DbEditorService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DbEditorService.java 2012-08-18 10:03:41 UTC (rev 556)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DbEditorService.java 2012-08-19 11:15:16 UTC (rev 557)
@@ -27,7 +27,6 @@
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import fr.ifremer.echobase.EchoBaseTechnicalException;
-import org.nuiton.topia.persistence.csv.EntityCsvModel;
import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.EchoBaseUser;
import fr.ifremer.echobase.entities.EntityModificationLog;
@@ -40,6 +39,7 @@
import org.nuiton.topia.persistence.TopiaDAO;
import org.nuiton.topia.persistence.TopiaEntity;
import org.nuiton.topia.persistence.TopiaFilterPagerUtil;
+import org.nuiton.topia.persistence.csv.EntityCsvModel;
import org.nuiton.topia.persistence.metadata.ColumnMeta;
import org.nuiton.topia.persistence.metadata.DbMeta;
import org.nuiton.topia.persistence.metadata.TableMeta;
@@ -99,7 +99,7 @@
String sidx,
Boolean ascendantOrder) {
- TableMeta meta = getTableMeta(entityType);
+ TableMeta<EchoBaseEntityEnum> meta = getTableMeta(entityType);
List<TopiaEntity> entities = getEntities(meta,
pager,
@@ -127,6 +127,7 @@
Boolean ascendantOrder,
String extraWhereQuery) {
+ //TODO-tchemit-2012-08-19 Replace TopiaQuery with simple hql query
List<E> result;
EchoBaseEntityEnum entityEnum = tableMeta.getSource();
try {
@@ -530,7 +531,7 @@
protected <E extends TopiaEntity> ImportExportModel<E> buildForSave(TableMeta<EchoBaseEntityEnum> meta) {
- EntityCsvModel<EchoBaseEntityEnum,E> model = EntityCsvModel.newModel(
+ EntityCsvModel<EchoBaseEntityEnum, E> model = EntityCsvModel.newModel(
getConfiguration().getCsvSeparator(),
meta,
TopiaEntity.TOPIA_ID
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EmbeddedApplicationService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EmbeddedApplicationService.java 2012-08-18 10:03:41 UTC (rev 556)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EmbeddedApplicationService.java 2012-08-19 11:15:16 UTC (rev 557)
@@ -30,7 +30,7 @@
import fr.ifremer.echobase.EchoBaseTopiaRootContextFactory;
import fr.ifremer.echobase.entities.EchoBaseUser;
import fr.ifremer.echobase.entities.ExportQuery;
-import fr.ifremer.echobase.entities.meta.EchoBaseMetadatas;
+import fr.ifremer.echobase.entities.EchoBaseMetadatas;
import fr.ifremer.echobase.services.exceptions.ExportQueryNameAlreadyExistException;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportDbService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportDbService.java 2012-08-18 10:03:41 UTC (rev 556)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportDbService.java 2012-08-19 11:15:16 UTC (rev 557)
@@ -30,7 +30,7 @@
import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.data.Result;
import fr.ifremer.echobase.entities.data.Voyage;
-import fr.ifremer.echobase.entities.meta.EchoBaseMetadatas;
+import fr.ifremer.echobase.entities.EchoBaseMetadatas;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.topia.TopiaException;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportQueryService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportQueryService.java 2012-08-18 10:03:41 UTC (rev 556)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportQueryService.java 2012-08-19 11:15:16 UTC (rev 557)
@@ -24,8 +24,8 @@
package fr.ifremer.echobase.services;
import com.google.common.base.Charsets;
+import com.google.common.collect.Lists;
import fr.ifremer.echobase.EchoBaseTechnicalException;
-import org.nuiton.util.csv.ext.AbstractExportModel;
import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
import fr.ifremer.echobase.entities.EchoBaseUser;
import fr.ifremer.echobase.entities.ExportQuery;
@@ -37,11 +37,11 @@
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.TopiaException;
import org.nuiton.topia.framework.TopiaContextImplementor;
-import org.nuiton.topia.framework.TopiaQuery;
import org.nuiton.topia.framework.TopiaSQLQuery;
import org.nuiton.topia.persistence.TopiaDAO;
import org.nuiton.util.PagerUtil;
import org.nuiton.util.csv.Export;
+import org.nuiton.util.csv.ext.AbstractExportModel;
import java.sql.Connection;
import java.sql.PreparedStatement;
@@ -85,16 +85,28 @@
String queryName = exportQuery.getName();
- TopiaQuery query = dao.createQuery();
- query.addWhere(ExportQuery.PROPERTY_NAME, TopiaQuery.Op.EQ, queryName);
+ String hql = "FROM " + dao.getTopiaEntityEnum().getImplementationFQN() +
+ " WHERE " + ExportQuery.PROPERTY_NAME + " = :queryName";
+ List<Object> params = Lists.<Object>newArrayList("queryName", queryName);
+
if (!mustCreate) {
- query.addWhere(ExportQuery.TOPIA_ID, TopiaQuery.Op.NEQ, id);
+ hql += " AND " + ExportQuery.TOPIA_ID + " = :id";
+ params.add("id");
+ params.add(id);
}
+// TopiaQuery query = dao.createQuery();
+// query.addWhere(ExportQuery.PROPERTY_NAME, TopiaQuery.Op.EQ, queryName);
+//
+// if (!mustCreate) {
+// query.addWhere(ExportQuery.TOPIA_ID, TopiaQuery.Op.NEQ, id);
+// }
// check query does not already exists with this name
- boolean queryExists = dao.existByQuery(query);
+ boolean queryExists = dao.existsByQuery(hql, params.toArray());
+// boolean queryExists = dao.existByQuery(query);
+
if (queryExists) {
throw new ExportQueryNameAlreadyExistException();
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportDbService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportDbService.java 2012-08-18 10:03:41 UTC (rev 556)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportDbService.java 2012-08-19 11:15:16 UTC (rev 557)
@@ -27,7 +27,7 @@
import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.EchoBaseUser;
import fr.ifremer.echobase.entities.EntityModificationLog;
-import fr.ifremer.echobase.entities.meta.EchoBaseMetadatas;
+import fr.ifremer.echobase.entities.EchoBaseMetadatas;
import org.apache.commons.io.IOUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/UserService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/UserService.java 2012-08-18 10:03:41 UTC (rev 556)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/UserService.java 2012-08-19 11:15:16 UTC (rev 557)
@@ -30,6 +30,7 @@
import fr.ifremer.echobase.entities.EchoBaseUserImpl;
import org.apache.commons.lang3.StringUtils;
import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.persistence.TopiaFilterPagerUtil;
import org.nuiton.util.PagerUtil;
import org.nuiton.util.StringUtil;
@@ -53,7 +54,7 @@
return getUsers(null);
}
- public List<EchoBaseUser> getUsers(PagerUtil.PagerBean pager) {
+ public List<EchoBaseUser> getUsers(TopiaFilterPagerUtil.FilterPagerBean pager) {
try {
EchoBaseUserDAO dao = getDAO(EchoBaseUser.class, EchoBaseUserDAO.class);
List<EchoBaseUser> users = dao.findAll(pager);
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/FakeEchoBaseServiceContext.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/FakeEchoBaseServiceContext.java 2012-08-18 10:03:41 UTC (rev 556)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/FakeEchoBaseServiceContext.java 2012-08-19 11:15:16 UTC (rev 557)
@@ -29,7 +29,7 @@
import fr.ifremer.echobase.EchoBaseTechnicalException;
import fr.ifremer.echobase.EchoBaseTopiaRootContextFactory;
import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
-import fr.ifremer.echobase.entities.meta.EchoBaseMetadatas;
+import fr.ifremer.echobase.entities.EchoBaseMetadatas;
import org.apache.commons.io.IOUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/EchoBaseDbCreator.java
===================================================================
--- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/EchoBaseDbCreator.java 2012-08-18 10:03:41 UTC (rev 556)
+++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/EchoBaseDbCreator.java 2012-08-19 11:15:16 UTC (rev 557)
@@ -32,10 +32,10 @@
import com.healthmarketscience.jackcess.Table;
import fr.ifremer.echobase.EchoBaseFunctions;
import fr.ifremer.echobase.EchoBaseIOUtil;
+import fr.ifremer.echobase.entities.EchoBaseMetadatas;
import org.nuiton.util.csv.ext.AbstractExportModel;
import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
-import fr.ifremer.echobase.entities.EntitiesUtil;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.topia.TopiaException;
@@ -128,8 +128,8 @@
File baracoudaDir = new File(sourceDir, FileType.BARACOUDA.name().toLowerCase());
File associationDir = new File(sourceDir, FileType.ASSOCIATION.name().toLowerCase());
- FileFilter entityFile = new EntityFileFilter(EntitiesUtil.getDataTypes());
- FileFilter associationFileFilter = new AssociationFileFilter(EntitiesUtil.getDataTypes());
+ FileFilter entityFile = new EntityFileFilter(EchoBaseMetadatas.getDataTypes());
+ FileFilter associationFileFilter = new AssociationFileFilter(EchoBaseMetadatas.getDataTypes());
FileUtil.createDirectoryIfNecessary(outputDir);
@@ -167,8 +167,8 @@
File baracoudaDir = new File(sourceDir, FileType.BARACOUDA.name().toLowerCase());
File associationDir = new File(sourceDir, FileType.ASSOCIATION.name().toLowerCase());
- FileFilter entityFile = new EntityFileFilter(EntitiesUtil.getReferenceTypes());
- FileFilter associationFileFilter = new AssociationFileFilter(EntitiesUtil.getReferenceTypes());
+ FileFilter entityFile = new EntityFileFilter(EchoBaseMetadatas.getReferenceTypes());
+ FileFilter associationFileFilter = new AssociationFileFilter(EchoBaseMetadatas.getReferenceTypes());
FileUtil.createDirectoryIfNecessary(outputDir);
Modified: trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/AbstractToolTest.java
===================================================================
--- trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/AbstractToolTest.java 2012-08-18 10:03:41 UTC (rev 556)
+++ trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/AbstractToolTest.java 2012-08-19 11:15:16 UTC (rev 557)
@@ -27,7 +27,7 @@
import fr.ifremer.echobase.EchoBaseConfigurationOption;
import fr.ifremer.echobase.EchoBaseTopiaRootContextFactory;
import fr.ifremer.echobase.entities.EchoBaseDAOHelper;
-import fr.ifremer.echobase.entities.meta.EchoBaseMetadatas;
+import fr.ifremer.echobase.entities.EchoBaseMetadatas;
import fr.ifremer.echobase.services.DefaultEchoBaseServiceContext;
import fr.ifremer.echobase.services.EchoBaseService;
import fr.ifremer.echobase.services.EchoBaseServiceContext;
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseApplicationListener.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseApplicationListener.java 2012-08-18 10:03:41 UTC (rev 556)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseApplicationListener.java 2012-08-19 11:15:16 UTC (rev 557)
@@ -29,7 +29,7 @@
import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.EchoBaseUser;
import fr.ifremer.echobase.entities.EchoBaseUserImpl;
-import fr.ifremer.echobase.entities.meta.EchoBaseMetadatas;
+import fr.ifremer.echobase.entities.EchoBaseMetadatas;
import fr.ifremer.echobase.services.DefaultEchoBaseServiceContext;
import fr.ifremer.echobase.services.EchoBaseServiceContext;
import fr.ifremer.echobase.services.EchoBaseServiceFactory;
1
0