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
December 2013
- 2 participants
- 34 discussions
Author: tchemit
Date: 2013-12-25 18:35:09 +0100 (Wed, 25 Dec 2013)
New Revision: 926
Url: http://forge.codelutin.com/projects/echobase/repository/revisions/926
Log:
refs #4061: Updates mavenpom to 4.5
Modified:
trunk/pom.xml
trunk/src/site/site_en.xml
trunk/src/site/site_fr.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2013-12-22 00:29:17 UTC (rev 925)
+++ trunk/pom.xml 2013-12-25 17:35:09 UTC (rev 926)
@@ -6,7 +6,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>mavenpom4redmine</artifactId>
- <version>4.4</version>
+ <version>4.5-SNAPSHOT</version>
</parent>
<groupId>fr.ifremer</groupId>
Modified: trunk/src/site/site_en.xml
===================================================================
--- trunk/src/site/site_en.xml 2013-12-22 00:29:17 UTC (rev 925)
+++ trunk/src/site/site_en.xml 2013-12-25 17:35:09 UTC (rev 926)
@@ -30,7 +30,7 @@
<skin>
<groupId>org.apache.maven.skins</groupId>
<artifactId>maven-fluido-skin</artifactId>
- <version>1.3.0</version>
+ <version>${fluidoSkinVersion}</version>
</skin>
<custom>
@@ -54,34 +54,34 @@
<poweredBy>
<logo href="http://maven.apache.org" name="Maven"
- img="http://maven-site.forge.codelutin.com/common/0.2/images/logos/maven-feather…"/>
+ img="${mavenpomSiteCommonResourcesUrl}/images/logos/maven-feather.png"/>
<logo href="http://struts.apache.org/" name="Struts 2"
- img="http://maven-site.forge.codelutin.com/common/0.2/images/logos/struts2-logo.…"/>
+ img="${mavenpomSiteCommonResourcesUrl}/images/logos/struts2-logo.png"/>
<logo href="http://docutils.sourceforge.net/rst.html"
name="ReStructuredText"
- img="http://maven-site.forge.codelutin.com/common/0.2/images/logos/restructuredt…"/>
+ img="${mavenpomSiteCommonResourcesUrl}/images/logos/restructuredtext-logo.png"/>
<logo href="http://maven-site.forge.codelutin.com/jrst" name="JRst"
- img="http://maven-site.forge.codelutin.com/common/0.2/images/logos/jrst-logo.png"/>
+ img="${mavenpomSiteCommonResourcesUrl}/images/logos/jrst-logo.png"/>
<logo href="http://maven-site.forge.codelutin.com/topia" name="ToPIA"
- img="http://maven-site.forge.codelutin.com/common/0.2/images/logos/topia-logo.png"/>
+ img="${mavenpomSiteCommonResourcesUrl}/images/logos/topia-logo.png"/>
<logo href="http://argouml.tigris.org/" name="ArgoUML"
- img="http://maven-site.forge.codelutin.com/common/0.2/images/logos/argouml-logo.…"/>
+ img="${mavenpomSiteCommonResourcesUrl}/images/logos/argouml-logo.png"/>
</poweredBy>
<body>
<head>
<script type="text/javascript"
- src="http://maven-site.forge.codelutin.com/common/0.2/js/mavenpom-site.js">
+ src="${mavenpomSiteCommonResourcesUrl}/js/mavenpom-site.js">
</script>
<link rel="stylesheet" type="text/css"
- href="http://maven-site.forge.codelutin.com/common/0.2/css/mavenpom-site.css"/>
+ href="${mavenpomSiteCommonResourcesUrl}/css/mavenpom-site.css"/>
</head>
<links>
Modified: trunk/src/site/site_fr.xml
===================================================================
--- trunk/src/site/site_fr.xml 2013-12-22 00:29:17 UTC (rev 925)
+++ trunk/src/site/site_fr.xml 2013-12-25 17:35:09 UTC (rev 926)
@@ -30,7 +30,7 @@
<skin>
<groupId>org.apache.maven.skins</groupId>
<artifactId>maven-fluido-skin</artifactId>
- <version>1.3.0</version>
+ <version>${fluidoSkinVersion}</version>
</skin>
<custom>
@@ -54,23 +54,23 @@
<poweredBy>
<logo href="http://maven.apache.org" name="Maven"
- img="http://maven-site.forge.codelutin.com/common/0.2/images/logos/maven-feather…"/>
+ img="${mavenpomSiteCommonResourcesUrl}/images/logos/maven-feather.png"/>
<logo href="http://struts.apache.org/" name="Struts 2"
- img="http://maven-site.forge.codelutin.com/common/0.2/images/logos/struts2-logo.…"/>
+ img="${mavenpomSiteCommonResourcesUrl}/images/logos/struts2-logo.png"/>
<logo href="http://docutils.sourceforge.net/rst.html"
name="ReStructuredText"
- img="http://maven-site.forge.codelutin.com/common/0.2/images/logos/restructuredt…"/>
+ img="${mavenpomSiteCommonResourcesUrl}/images/logos/restructuredtext-logo.png"/>
<logo href="http://maven-site.forge.codelutin.com/jrst" name="JRst"
- img="http://maven-site.forge.codelutin.com/common/0.2/images/logos/jrst-logo.png"/>
+ img="${mavenpomSiteCommonResourcesUrl}/images/logos/jrst-logo.png"/>
<logo href="http://maven-site.forge.codelutin.com/topia" name="ToPIA"
- img="http://maven-site.forge.codelutin.com/common/0.2/images/logos/topia-logo.png"/>
+ img="${mavenpomSiteCommonResourcesUrl}/images/logos/topia-logo.png"/>
<logo href="http://argouml.tigris.org/" name="ArgoUML"
- img="http://maven-site.forge.codelutin.com/common/0.2/images/logos/argouml-logo.…"/>
+ img="${mavenpomSiteCommonResourcesUrl}/images/logos/argouml-logo.png"/>
</poweredBy>
@@ -78,11 +78,11 @@
<head>
<script type="text/javascript"
- src="http://maven-site.forge.codelutin.com/common/0.2/js/mavenpom-site.js">
+ src="${mavenpomSiteCommonResourcesUrl}/js/mavenpom-site.js">
</script>
<link rel="stylesheet" type="text/css"
- href="http://maven-site.forge.codelutin.com/common/0.2/css/mavenpom-site.css"/>
+ href="${mavenpomSiteCommonResourcesUrl}/css/mavenpom-site.css"/>
</head>
<links>
1
0
22 Dec '13
Author: tchemit
Date: 2013-12-22 01:29:17 +0100 (Sun, 22 Dec 2013)
New Revision: 925
Url: http://forge.codelutin.com/projects/echobase/repository/revisions/925
Log:
refactor topia 3.0
Added:
trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/AbstractEchoBaseDao.java
trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/EchoBaseInternalPersistenceContext.java
trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/EchoBaseUserPersistenceContext.java
trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/EchoBaseUserTopiaDao.java
trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/EchoBaseUserTopiaPersistenceContext.java
trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/ExportQueryTopiaDao.java
trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/CategoryTopiaDao.java
trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/CellTopiaDao.java
trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/EchotypeTopiaDao.java
trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/ResultTopiaDao.java
trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/EchobaseTopiaApplicationContexts.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EchobaseAieOC.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ServiceEchobaseAieOC.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/UserDbPersistenceService.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseUserDbTransactionFilter.java
Removed:
trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/EchoBaseInternalPersistenceContext.java
trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/EchoBasePersistenceContext.java
trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/EchoBaseUserDAOImpl.java
trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/ExportQueryDAOImpl.java
trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/TopiaEchoBaseInternalPersistenceContext.java
trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/TopiaEchoBasePersistenceContext.java
trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/CategoryDAOImpl.java
trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/CellDAOImpl.java
trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/EchotypeDAOImpl.java
trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/ResultDAOImpl.java
trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/EchobaseTopiaContexts.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/InternalDbPersistenceService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/WorkingDbPersistenceService.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseWorkingDbTransactionFilter.java
Modified:
trunk/echobase-domain/pom.xml
trunk/echobase-domain/src/main/java/fr/ifremer/echobase/csv/CellValueParser.java
trunk/echobase-domain/src/main/java/fr/ifremer/echobase/csv/EchoBaseCsvUtil.java
trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/EchoBaseDbMeta.java
trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/EchoBaseEntityHelper.java
trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/EchoBasePersistenceHelper.java
trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/JdbcConfiguration.java
trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/EchoBaseMigrationCallBackResolver.java
trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/internalDb/MigrationCallBackForVersion.java
trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/internalDb/MigrationCallBackForVersion2_2.java
trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/internalDb/MigrationCallback.java
trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion.java
trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_2.java
trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_5_1.java
trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallback.java
trunk/echobase-domain/src/main/resources/echobase-internaldb.properties
trunk/echobase-domain/src/main/resources/echobase-workingdb.properties
trunk/echobase-domain/src/main/xmi/echobase-internal.properties
trunk/echobase-domain/src/main/xmi/echobase.properties
trunk/echobase-domain/src/main/xmi/echobase.zargo
trunk/echobase-domain/src/test/java/fr/ifremer/echobase/persistence/EchoBaseDbMetaTest.java
trunk/echobase-services/pom.xml
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DefaultEchoBaseServiceContext.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EchoBaseService.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/ProgressModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/DbEditorService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/DecoratorService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/UserService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/embeddedapplication/EmbeddedApplicationService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/exportdb/ExportDbService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/exportdb/ExportService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/exportquery/ExportQueryService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/exportquery/GenericSQLQuery.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/AbstractImportConfiguration.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/AbstractImportDataService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/AcousticImportService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/CatchesImportService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/CommonAllImportService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/CommonImportService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/CommonTransectImportService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/CommonTransitImportService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/CommonVoyageImportService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/EchoBaseCsvFileImportResult.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/OperationImportService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/ResultsEsduCellImportService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/ResultsImportService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/ResultsMapFishCellImportService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/ResultsMapOtherCellImportService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/ResultsRegionCellImportService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/ResultsVoyageImportService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/AcousticImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/BiometrySampleImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/EchotypeImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/EsduResultByEchotypeAndSpeciesCategoryImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/EsduResultByEchotypeImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/EsduResultBySpeciesAndAgeCategoryImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/EsduResultBySpeciesAndSizeCategoryImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/GearMetadataValueImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/LengthAgeKeyImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/LengthWeightKeyImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/MapCellImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/OperationImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/OperationMetadataValueImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/RegionCellAssociationImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/RegionCellImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/RegionCellResultImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/SubSampleImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/TotalSampleImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/TransectImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/TransitImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdb/EchoBaseImportModelFactory.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdb/ImportDbService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdb/ImportService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdb/strategy/AbstractImportDbStrategy.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdb/strategy/EchoBaseImportStrategy.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdb/strategy/FreeImportDbStrategy.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdb/strategy/ReferentialImportDbStrategy.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/RemoveDataService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/AbstractRemoveDataStrategy.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/AcousticRemoveDataStrategy.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/CatchesRemoveDataStrategy.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/CommonAllRemoveDataStrategy.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/CommonTransectRemoveDataStrategy.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/CommonTransitRemoveDataStrategy.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/CommonVoyageRemoveDataStrategy.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/LegacyVoyageRemoveDataStrategy.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/OperationRemoveDataStrategy.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/ResultEsduRemoveDataStrategy.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/ResultMapFishRemoveDataStrategy.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/ResultMapOtherRemoveDataStrategy.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/ResultRegionRemoveDataStrategy.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/ResultVoyageRemoveDataStrategy.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/spatial/SpatialService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/workingDb/WorkingDbConfigurationService.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/EchoBaseTestServiceSupport.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/FakeEchoBaseServiceContext.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/FixCellsIT.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/service/DecoratorServiceTest.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/service/exportdb/ExportDbServiceTest.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/service/exportquery/ExportQueryServiceTest.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/AbstractImportDataServiceIT.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/CommonTransectImportServiceIT.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/CommonTransitImportServiceIT.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdb/ImportDbServiceTest.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/AbstractRemoveDataServiceTest.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/CatchesRemoveDataServiceTest.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/CommonAllRemoveDataServiceTest.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/CommonTransectRemoveDataServiceTest.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/CommonTransitRemoveDataServiceTest.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/CommonVoyageRemoveDataServiceTest.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/OperationRemoveDataServiceTest.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/ResultEsduRemoveDataServiceTest.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/ResultMapRemoveFishDataServiceTest.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/ResultMapRemoveOtherDataServiceTest.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/ResultRegionRemoveDataServiceTest.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/ResultVoyageRemoveDataServiceTest.java
trunk/echobase-ui/pom.xml
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseApplicationContext.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseInternalDbTransactionFilter.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseSession.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/AbstractConfigureAction.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/AbstractWaitAndExecAction.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/EchoBaseActionSupport.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/AbstractLoadPage.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/ExportTable.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/GetEntities.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/GetEntity.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/GetForeignEntities.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/dbeditor/SaveEntity.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/embeddedApplication/Configure.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportDb/Configure.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportQuery/AbstractEditExportQuery.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportQuery/ConfirmDeleteExportQuery.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportQuery/CreateNewExportQuery.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportQuery/DeleteExportQuery.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportQuery/DownloadExportQueryResult.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportQuery/EditExportQuery.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportQuery/ExportQueryResult.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportQuery/GetExportQueryResult.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportQuery/NewLibreOfficeQuery.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportQuery/ShowExportQuery.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/AbstractConfigureImport.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureAcousticImport.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureCatchesImport.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureCommonImport.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureOperationImport.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureResultsImport.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/CreateMission.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/GetDataProcessingsForVoyage.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/GetVesselsForVoyage.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/SelectImportType.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/removeData/ConfirmDelete.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/removeData/ImportLogs.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/spatial/AbstractGetVoyage.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/spatial/GetSpatialData.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/spatial/GetVoyageDataMetadata.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/spatial/GetVoyageEchotype.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/spatial/GetVoyageSpecies.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/spatial/ShowSpatialData.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/user/Create.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/GetUsers.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/user/Login.java
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/workingDb/AbstractWorkingDbAction.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/AddSpatial.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/Connect.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/CreatePostgresDb.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/Disconnect.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/GetImportLogDetail.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/GetVoyage.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/Information.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/interceptors/EchoBaseInjectInterceptor.java
trunk/echobase-ui/src/main/webapp/WEB-INF/web.xml
trunk/pom.xml
Modified: trunk/echobase-domain/pom.xml
===================================================================
--- trunk/echobase-domain/pom.xml 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-domain/pom.xml 2013-12-22 00:29:17 UTC (rev 925)
@@ -2,10 +2,6 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
- <!-- ************************************************************* -->
- <!-- *** POM Relationships *************************************** -->
- <!-- ************************************************************* -->
-
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>echobase</artifactId>
@@ -31,7 +27,7 @@
<templates>
org.nuiton.eugene.java.JavaInterfaceTransformer,
org.nuiton.eugene.java.JavaBeanTransformer,
- org.nuiton.topia.generator.TopiaMetaTransformer
+ org.nuiton.topia.templates.TopiaMetaTransformer
</templates>
</configuration>
<executions>
@@ -85,6 +81,11 @@
<scope>compile</scope>
</dependency>
<dependency>
+ <groupId>org.nuiton.topia</groupId>
+ <artifactId>topia-templates</artifactId>
+ <version>${topiaVersion}</version>
+ </dependency>
+ <dependency>
<groupId>org.nuiton</groupId>
<artifactId>nuiton-utils</artifactId>
<version>${nuitonUtilsVersion}</version>
@@ -189,6 +190,11 @@
</dependency>
<dependency>
+ <groupId>org.nuiton.topia</groupId>
+ <artifactId>topia-service-csv</artifactId>
+ </dependency>
+
+ <dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
</dependency>
Modified: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/csv/CellValueParser.java
===================================================================
--- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/csv/CellValueParser.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/csv/CellValueParser.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -24,12 +24,12 @@
import com.google.common.collect.Maps;
import fr.ifremer.echobase.entities.data.Cell;
-import fr.ifremer.echobase.entities.data.CellDAO;
+import fr.ifremer.echobase.entities.data.CellTopiaDao;
import fr.ifremer.echobase.entities.data.Voyage;
import org.apache.commons.collections.CollectionUtils;
import org.nuiton.csv.ImportRuntimeException;
import org.nuiton.csv.ValueParser;
-import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.persistence.TopiaException;
import java.text.ParseException;
import java.util.List;
@@ -41,9 +41,9 @@
private final Map<String, Cell> esduCellMap;
- private CellDAO cellDAO;
+ private CellTopiaDao cellDAO;
- public CellValueParser(Voyage voyage, CellDAO cellDAO) {
+ public CellValueParser(Voyage voyage, CellTopiaDao cellDAO) {
this.voyage = voyage;
this.esduCellMap = Maps.newTreeMap();
this.cellDAO = cellDAO;
@@ -105,7 +105,7 @@
if (result == null && cellDAO != null) {
try {
- List<Cell> cells = cellDAO.findAllByName(esduCellId);
+ List<Cell> cells = cellDAO.forNameEquals(esduCellId).findAll();
if (CollectionUtils.isEmpty(cells)) {
throw new ImportRuntimeException(
Modified: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/csv/EchoBaseCsvUtil.java
===================================================================
--- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/csv/EchoBaseCsvUtil.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/csv/EchoBaseCsvUtil.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -23,12 +23,11 @@
package fr.ifremer.echobase.csv;
import fr.ifremer.echobase.entities.data.Cell;
-import fr.ifremer.echobase.entities.data.CellDAO;
import fr.ifremer.echobase.entities.data.Result;
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.TopiaCsvCommons;
+import org.nuiton.topia.service.csv.TopiaCsvCommons;
import org.nuiton.csv.ValueParser;
import org.nuiton.csv.ValueSetter;
@@ -75,7 +74,7 @@
@Override
protected Float parseNoneEmptyValue(String value) {
- Float result = null;
+ Float result;
if (!"NA".equals(value)) {
result = super.parseNoneEmptyValue(value);
} else {
Added: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/AbstractEchoBaseDao.java
===================================================================
--- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/AbstractEchoBaseDao.java (rev 0)
+++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/AbstractEchoBaseDao.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -0,0 +1,31 @@
+package fr.ifremer.echobase.entities;
+
+import org.nuiton.topia.persistence.TopiaNoResultException;
+import org.nuiton.topia.persistence.internal.AbstractTopiaDao;
+import org.nuiton.topia.persistence.TopiaEntity;
+
+import java.util.Map;
+
+/**
+ * Created on 12/19/13.
+ *
+ * @author Tony Chemit <chemit(a)codelutin.com>
+ * @since 1.6
+ */
+public abstract class AbstractEchoBaseDao<E extends TopiaEntity> extends AbstractTopiaDao<E> {
+
+ @Override
+ public InnerTopiaQueryBuilderRunQueryStep<E> forHql(String hql, Map<String, Object> hqlParameters) {
+ return super.forHql(hql, hqlParameters);
+ }
+
+ @Override
+ public String newFromClause(String alias) {
+ return super.newFromClause(alias);
+ }
+
+ @Override
+ public <K> K findAny(String hql, Map<String, Object> hqlParameters) throws TopiaNoResultException {
+ return super.findAny(hql, hqlParameters);
+ }
+}
Property changes on: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/AbstractEchoBaseDao.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Deleted: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/EchoBaseInternalPersistenceContext.java
===================================================================
--- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/EchoBaseInternalPersistenceContext.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/EchoBaseInternalPersistenceContext.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -1,37 +0,0 @@
-package fr.ifremer.echobase.entities;
-
-/*
- * #%L
- * EchoBase :: Domain
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2011 - 2013 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.TopiaPersistenceContext;
-import org.nuiton.topia.TopiaReplicationSupport;
-import org.nuiton.topia.TopiaTransaction;
-
-/**
- * TODO
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 2.2
- */
-public interface EchoBaseInternalPersistenceContext extends TopiaTransaction, TopiaPersistenceContext, TopiaReplicationSupport {
-}
Added: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/EchoBaseInternalPersistenceContext.java
===================================================================
--- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/EchoBaseInternalPersistenceContext.java (rev 0)
+++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/EchoBaseInternalPersistenceContext.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -0,0 +1,13 @@
+package fr.ifremer.echobase.entities;
+
+import org.nuiton.topia.persistence.TopiaPersistenceContext;
+
+/**
+ * Created on 12/19/13.
+ *
+ * @author Tony Chemit <chemit(a)codelutin.com>
+ * @since 1.6
+ */
+public interface EchoBaseInternalPersistenceContext extends TopiaPersistenceContext, EchoBaseInternalTopiaDaoSupplier{
+
+}
\ No newline at end of file
Property changes on: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/EchoBaseInternalPersistenceContext.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Deleted: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/EchoBasePersistenceContext.java
===================================================================
--- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/EchoBasePersistenceContext.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/EchoBasePersistenceContext.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -1,40 +0,0 @@
-package fr.ifremer.echobase.entities;
-
-/*
- * #%L
- * EchoBase :: Domain
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2011 - 2013 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.TopiaPersistenceContext;
-import org.nuiton.topia.TopiaSqlSupport;
-import org.nuiton.topia.TopiaTransaction;
-
-/**
- * TODO
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 2.2
- */
-public interface EchoBasePersistenceContext extends TopiaTransaction, TopiaPersistenceContext, TopiaSqlSupport {
-
- TopiaContext getContext();
-}
Deleted: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/EchoBaseUserDAOImpl.java
===================================================================
--- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/EchoBaseUserDAOImpl.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/EchoBaseUserDAOImpl.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -1,46 +0,0 @@
-/*
- * #%L
- * EchoBase :: Domain
- * $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%
- */
-package fr.ifremer.echobase.entities;
-
-import org.nuiton.topia.TopiaException;
-import org.nuiton.topia.persistence.pager.TopiaPagerBean;
-
-import java.util.List;
-
-public class EchoBaseUserDAOImpl<E extends EchoBaseUser> extends EchoBaseUserDAOAbstract<E> {
-
- public List<E> findAll(TopiaPagerBean pager) throws TopiaException {
- List<E> users;
-
- if (pager == null) {
-
- users = findAll();
- } else {
-
- String hql = "FROM " + getTopiaEntityEnum().getImplementationFQN();
- computeAndAddRecordsToPager("SELECT COUNT(*) " + hql, pager);
- users = findAllByQuery(hql);
- }
- return users;
- }
-}
Added: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/EchoBaseUserPersistenceContext.java
===================================================================
--- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/EchoBaseUserPersistenceContext.java (rev 0)
+++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/EchoBaseUserPersistenceContext.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -0,0 +1,24 @@
+package fr.ifremer.echobase.entities;
+
+import org.nuiton.topia.persistence.support.TopiaHibernateSupport;
+import org.nuiton.topia.persistence.TopiaPersistenceContext;
+import org.nuiton.topia.persistence.support.TopiaSqlSupport;
+
+/**
+ * Created on 12/19/13.
+ *
+ * @author Tony Chemit <chemit(a)codelutin.com>
+ * @since 1.6
+ */
+public interface EchoBaseUserPersistenceContext extends TopiaPersistenceContext, EchoBaseUserTopiaDaoSupplier {
+
+ boolean isPostgresql();
+
+ boolean isSpatialAware();
+
+ String getUrl();
+
+ TopiaHibernateSupport getHibernateSupport();
+
+ TopiaSqlSupport getSqlSupport();
+}
Property changes on: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/EchoBaseUserPersistenceContext.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Copied: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/EchoBaseUserTopiaDao.java (from rev 924, trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/EchoBaseUserDAOImpl.java)
===================================================================
--- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/EchoBaseUserTopiaDao.java (rev 0)
+++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/EchoBaseUserTopiaDao.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -0,0 +1,45 @@
+/*
+ * #%L
+ * EchoBase :: Domain
+ * $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%
+ */
+package fr.ifremer.echobase.entities;
+
+import org.nuiton.topia.persistence.TopiaException;
+import org.nuiton.topia.persistence.pager.TopiaPagerBean;
+
+import java.util.List;
+
+public class EchoBaseUserTopiaDao extends AbstractEchoBaseUserTopiaDao<EchoBaseUser> {
+
+ public List<EchoBaseUser> findAll(TopiaPagerBean pager) throws TopiaException {
+ List<EchoBaseUser> users;
+
+ if (pager == null) {
+
+ users = findAll();
+ } else {
+
+ //FIXME Let's init the pager
+ users = forHql(newFromClause()).find(pager);
+ }
+ return users;
+ }
+}
Added: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/EchoBaseUserTopiaPersistenceContext.java
===================================================================
--- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/EchoBaseUserTopiaPersistenceContext.java (rev 0)
+++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/EchoBaseUserTopiaPersistenceContext.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -0,0 +1,45 @@
+package fr.ifremer.echobase.entities;
+
+import org.hibernate.cfg.Environment;
+import org.nuiton.topia.persistence.support.TopiaListenableSupport;
+import org.nuiton.topia.persistence.internal.HibernateProvider;
+import org.nuiton.topia.persistence.internal.TopiaHibernateSessionRegistry;
+import org.nuiton.topia.persistence.TopiaIdFactory;
+
+public class EchoBaseUserTopiaPersistenceContext extends AbstractEchoBaseUserTopiaPersistenceContext {
+
+ public EchoBaseUserTopiaPersistenceContext(HibernateProvider hibernateProvider, TopiaListenableSupport listenableSupport, TopiaIdFactory topiaIdFactory, TopiaHibernateSessionRegistry sessionRegistry) {
+ super(hibernateProvider, listenableSupport, topiaIdFactory, sessionRegistry);
+ }
+
+ @Override
+ public boolean isPostgresql() {
+ String dialect = getHibernateSupport().getHibernateConfiguration().getProperty(Environment.DIALECT);
+
+ return DriverType.POSTGRESQL.getDialectClass().getName().equals(dialect);
+ }
+
+ @Override
+ public boolean isSpatialAware() {
+ boolean result = isPostgresql();
+
+ if (result) {
+
+ // on pg db, check there is now a echobase_spatial_cell
+ try {
+ getSqlSupport().executeSql("select count(*) from echobase_cell_spatial;");
+ } catch (Exception e) {
+ // table not found (or other, ...)
+ result = false;
+ // rollback (otherwise transaction will stay dirty)
+ rollback();
+ }
+ }
+ return result;
+ }
+
+ @Override
+ public String getUrl() {
+ return getHibernateSupport().getHibernateConfiguration().getProperty(Environment.URL);
+ }
+}
Property changes on: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/EchoBaseUserTopiaPersistenceContext.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Deleted: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/ExportQueryDAOImpl.java
===================================================================
--- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/ExportQueryDAOImpl.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/ExportQueryDAOImpl.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -1,52 +0,0 @@
-package fr.ifremer.echobase.entities;
-
-/*
- * #%L
- * EchoBase :: Domain
- * $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 org.nuiton.topia.TopiaException;
-
-public class ExportQueryDAOImpl<E extends ExportQuery> extends ExportQueryDAOAbstract<E> {
-
- public boolean isQueryExists(String queryName) throws TopiaException {
-
- String hql = "SELECT COUNT(*)" +
- " FROM " + getTopiaEntityEnum().getImplementationFQN() +
- " WHERE " + ExportQuery.PROPERTY_NAME + " = :name";
-
- boolean result = existsByQuery(hql, new String[]{"name", queryName});
- return result;
- }
-
- public boolean isQueryExists(String id, String queryName) throws TopiaException {
-
- String hql = "SELECT COUNT(*)" +
- " FROM " + getTopiaEntityEnum().getImplementationFQN() +
- " WHERE " + ExportQuery.PROPERTY_NAME + " = :name" +
- " AND " + ExportQuery.PROPERTY_TOPIA_ID + " != :id";
-
- boolean result = existsByQuery(
- hql,
- new String[]{"name", queryName, "id", id});
- return result;
- }
-}
Copied: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/ExportQueryTopiaDao.java (from rev 924, trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/ExportQueryDAOImpl.java)
===================================================================
--- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/ExportQueryTopiaDao.java (rev 0)
+++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/ExportQueryTopiaDao.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -0,0 +1,57 @@
+package fr.ifremer.echobase.entities;
+
+/*
+ * #%L
+ * EchoBase :: Domain
+ * $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 org.nuiton.topia.persistence.TopiaException;
+
+public class ExportQueryTopiaDao extends AbstractExportQueryTopiaDao<ExportQuery> {
+
+ public boolean isQueryExists(String queryName) throws TopiaException {
+
+// String hql = "SELECT COUNT(*)" +
+// " FROM " + getTopiaEntityEnum().getImplementationFQN() +
+// " WHERE " + ExportQuery.PROPERTY_NAME + " = :name";
+//
+// boolean result = existsByQuery(hql, new String[]{"name", queryName});
+// return result;
+ boolean result = forNameEquals(queryName).exists();
+ return result;
+ }
+
+ public boolean isQueryExists(String id, String queryName) throws TopiaException {
+
+// String hql = "SELECT COUNT(*)" +
+// " FROM " + getTopiaEntityEnum().getImplementationFQN() +
+// " WHERE " + ExportQuery.PROPERTY_NAME + " = :name" +
+// " AND " + ExportQuery.PROPERTY_TOPIA_ID + " != :id";
+//
+// boolean result = existsByQuery(
+// hql,
+// new String[]{"name", queryName, "id", id});
+ boolean result = forNameEquals(queryName).
+ addNotEquals(ExportQuery.PROPERTY_TOPIA_ID, id).
+ exists();
+ return result;
+ }
+}
Deleted: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/TopiaEchoBaseInternalPersistenceContext.java
===================================================================
--- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/TopiaEchoBaseInternalPersistenceContext.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/TopiaEchoBaseInternalPersistenceContext.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -1,173 +0,0 @@
-package fr.ifremer.echobase.entities;
-
-/*
- * #%L
- * EchoBase :: Domain
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2011 - 2013 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.TopiaPersistenceContext;
-import org.nuiton.topia.TopiaReplicationSupport;
-import org.nuiton.topia.TopiaTransaction;
-import org.nuiton.topia.framework.TopiaSQLQuery;
-import org.nuiton.topia.persistence.TopiaDAO;
-import org.nuiton.topia.persistence.TopiaEntity;
-import org.nuiton.topia.persistence.TopiaIdFactory;
-
-import java.util.List;
-import java.util.Properties;
-
-public class TopiaEchoBaseInternalPersistenceContext extends AbstractTopiaEchoBaseInternalPersistenceContext {
-
- public TopiaEchoBaseInternalPersistenceContext(TopiaContext context) {
- super(context);
- }
-
- @Override
- public void commitTransaction() {
- getTransaction().commitTransaction();
- }
-
- @Override
- public void rollbackTransaction() {
- getTransaction().rollbackTransaction();
- }
-
- @Override
- public void closeContext() {
- getTransaction().closeContext();
- }
-
- @Override
- public boolean isClosed() {
- return getTransaction().isClosed();
- }
-
- @Override
- public <E extends TopiaEntity> E findByTopiaId(java.lang.String topiaId) {
- return getPersistenceContext().findByTopiaId(topiaId);
- }
-
- @Override
- public void update(TopiaEntity entity) {
- getPersistenceContext().update(entity);
- }
-
- @Override
- public TopiaIdFactory getTopiaIdFactory() {
- return getPersistenceContext().getTopiaIdFactory();
- }
-
- @Override
- public List<Class<?>> getPersistenceClasses() {
- return getPersistenceContext().getPersistenceClasses();
- }
-
- @Override
- public void setUseFlushMode(boolean useFlushMode) {
- getPersistenceContext().setUseFlushMode(useFlushMode);
- }
-
- @Override
- public Properties getConfig() {
- return getPersistenceContext().getConfig();
- }
-
- @Override
- public <E extends TopiaEntity> TopiaDAO<E> getDAO(Class<E> entityClass) {
- return getPersistenceContext().getDAO(entityClass);
- }
-
- @Override
- public <E extends TopiaEntity, D extends TopiaDAO<E>> D getDAO(Class<E> entityClass, Class<D> daoClass) {
- return getPersistenceContext().getDAO(entityClass, daoClass);
- }
-
- @Override
- public boolean isSchemaEmpty() {
- return getPersistenceContext().isSchemaEmpty();
- }
-
- @Override
- public boolean isTableExists(Class<?> clazz) {
- return getPersistenceContext().isTableExists(clazz);
- }
-
- @Override
- public java.lang.String getSchemaName() {
- return getPersistenceContext().getSchemaName();
- }
-
- @Override
- public void createSchema() {
- getPersistenceContext().createSchema();
- }
-
- @Override
- public void showCreateSchema() {
- getPersistenceContext().showCreateSchema();
- }
-
- @Override
- public void updateSchema() {
- getPersistenceContext().updateSchema();
- }
-
- @Override
- public void dropSchema() {
- getPersistenceContext().dropSchema();
- }
-
- @Override
- public void replicate(TopiaContext destinationContext, Object... entityAndCondition) throws IllegalArgumentException {
- getReplicationSupport().replicate(destinationContext, entityAndCondition);
- }
-
- @Override
- public <T extends TopiaEntity> void replicateEntity(TopiaContext destinationContext, T entity) throws IllegalArgumentException {
- getReplicationSupport().replicateEntity(destinationContext, entity);
- }
-
- @Override
- public <T extends TopiaEntity> void replicateEntities(TopiaContext destinationContext, List<T> entities) throws IllegalArgumentException {
- getReplicationSupport().replicateEntities(destinationContext, entities);
- }
-
- public <R> R findSingleResult(TopiaSQLQuery<R> sqlQuery) {
- return sqlQuery.findSingleResult(context);
- }
-
- public <R> List<R> findMultipleResult(TopiaSQLQuery<R> sqlQuery) {
- return sqlQuery.findMultipleResult(context);
- }
-
- protected TopiaTransaction getTransaction() {
- return context;
- }
-
- protected TopiaPersistenceContext getPersistenceContext() {
- return context;
- }
-
- protected TopiaReplicationSupport getReplicationSupport() {
- return context;
- }
-}
Deleted: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/TopiaEchoBasePersistenceContext.java
===================================================================
--- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/TopiaEchoBasePersistenceContext.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/TopiaEchoBasePersistenceContext.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -1,266 +0,0 @@
-package fr.ifremer.echobase.entities;
-
-/*
- * #%L
- * EchoBase :: Domain
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2011 - 2013 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.base.Charsets;
-import com.google.common.base.Preconditions;
-import fr.ifremer.echobase.EchoBaseTechnicalException;
-import org.apache.commons.io.IOUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.nuiton.topia.TopiaContext;
-import org.nuiton.topia.TopiaContextFactory;
-import org.nuiton.topia.TopiaException;
-import org.nuiton.topia.TopiaPersistenceContext;
-import org.nuiton.topia.TopiaSqlSupport;
-import org.nuiton.topia.TopiaTransaction;
-import org.nuiton.topia.framework.TopiaSQLQuery;
-import org.nuiton.topia.persistence.TopiaDAO;
-import org.nuiton.topia.persistence.TopiaEntity;
-import org.nuiton.topia.persistence.TopiaIdFactory;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.List;
-import java.util.Properties;
-
-public class TopiaEchoBasePersistenceContext extends AbstractTopiaEchoBasePersistenceContext {
-
- /** Logger. */
- private static final Log log =
- LogFactory.getLog(TopiaEchoBasePersistenceContext.class);
-
- public TopiaEchoBasePersistenceContext(TopiaContext context) {
- super(context);
- }
-
- @Override
- public void commitTransaction() {
- getTransaction().commitTransaction();
- }
-
- @Override
- public void rollbackTransaction() {
- getTransaction().rollbackTransaction();
- }
-
- @Override
- public void closeContext() {
- getTransaction().closeContext();
- }
-
- @Override
- public boolean isClosed() {
- return getTransaction().isClosed();
- }
-
- @Override
- public <E extends TopiaEntity> E findByTopiaId(java.lang.String topiaId) {
- return getPersistenceContext().findByTopiaId(topiaId);
- }
-
- @Override
- public void update(TopiaEntity entity) {
- getPersistenceContext().update(entity);
- }
-
- @Override
- public TopiaIdFactory getTopiaIdFactory() {
- return getPersistenceContext().getTopiaIdFactory();
- }
-
- @Override
- public List<Class<?>> getPersistenceClasses() {
- return getPersistenceContext().getPersistenceClasses();
- }
-
- @Override
- public void setUseFlushMode(boolean useFlushMode) {
- getPersistenceContext().setUseFlushMode(useFlushMode);
- }
-
- @Override
- public Properties getConfig() {
- return getPersistenceContext().getConfig();
- }
-
- @Override
- public <E extends TopiaEntity> TopiaDAO<E> getDAO(Class<E> entityClass) {
- return getPersistenceContext().getDAO(entityClass);
- }
-
- @Override
- public <E extends TopiaEntity, D extends TopiaDAO<E>> D getDAO(Class<E> entityClass, Class<D> daoClass) {
- return getPersistenceContext().getDAO(entityClass, daoClass);
- }
-
- @Override
- public boolean isSchemaEmpty() {
- return getPersistenceContext().isSchemaEmpty();
- }
-
- @Override
- public boolean isTableExists(Class<?> clazz) {
- return getPersistenceContext().isTableExists(clazz);
- }
-
- @Override
- public java.lang.String getSchemaName() {
- return getPersistenceContext().getSchemaName();
- }
-
- @Override
- public void createSchema() {
- getPersistenceContext().createSchema();
- }
-
- @Override
- public void showCreateSchema() {
- getPersistenceContext().showCreateSchema();
- }
-
- @Override
- public void updateSchema() {
- getPersistenceContext().updateSchema();
- }
-
- @Override
- public void dropSchema() {
- getPersistenceContext().dropSchema();
- }
-
- @Override
- public void executeSQL(String sqlScript) {
- getTopiaSqlSupport().executeSQL(sqlScript);
- }
-
- protected void executeInClassPathSQL(String scriptPath) {
-
- // get sql file
- InputStream inputStream = getClass().getResourceAsStream(scriptPath);
-
- Preconditions.checkNotNull(
- inputStream,
- "Could not find resource in classpath " + scriptPath);
-
- String sql;
- try {
- sql = IOUtils.toString(inputStream, Charsets.UTF_8);
- } catch (IOException e) {
- throw new EchoBaseTechnicalException(
- "Could not load sql file " + scriptPath, e);
- }
-
- if (log.isInfoEnabled()) {
- log.info("Will execute sql file " + scriptPath);
- }
-
- try {
- executeSQL(sql);
- } catch (Exception e) {
- throw new EchoBaseTechnicalException(
- "Could not execute sql file " + scriptPath, e);
- }
- }
-
- public final <E extends TopiaEntity> E getEntityById(Class<E> entityType, String id) {
- Preconditions.checkNotNull(entityType);
- Preconditions.checkArgument(StringUtils.isNotEmpty(id));
- try {
- E result = getDAO(entityType).findByTopiaId(id);
- return result;
- } catch (TopiaException eee) {
- throw new EchoBaseTechnicalException(
- "Could not obtain data of id [" + id + "] for type " +
- entityType, eee);
- }
- }
-
- public final <E extends TopiaEntity> E getEntityOrNullById(Class<E> entityType, String id) {
- Preconditions.checkNotNull(entityType);
- if (StringUtils.isBlank(id)) {
- return null;
- }
- return getEntityById(entityType, id);
- }
-
- public void flush() {
- context.getHibernateSession().flush();
- }
-
- public void clear() {
- context.getHibernateSession().clear();
- }
-
- protected TopiaTransaction getTransaction() {
- return context;
- }
-
- protected TopiaSqlSupport getTopiaSqlSupport() {
- return context;
- }
-
- protected TopiaPersistenceContext getPersistenceContext() {
- return context;
- }
-
- @Override
- public TopiaContext getContext() {
- return context;
- }
-
- public <R> R findSingleResult(TopiaSQLQuery<R> sqlQuery) {
- return sqlQuery.findSingleResult(context);
- }
-
- public <R> List<R> findMultipleResult(TopiaSQLQuery<R> sqlQuery) {
- return sqlQuery.findMultipleResult(context);
- }
-
- public boolean isPostgresql() {
- String dialect = context.getHibernateConfiguration().getProperty(TopiaContextFactory.CONFIG_DIALECT);
-
- return DriverType.POSTGRESQL.getDialectClass().getName().equals(dialect);
- }
-
- public boolean isSpatialAware() {
- boolean result = isPostgresql();
-
- if (result) {
-
- // on pg db, check there is now a echobase_spatial_cell
- try {
- executeSQL("select count(*) from echobase_cell_spatial;");
- } catch (Exception e) {
- // table not found (or other, ...)
- result = false;
- // rollback (otherwise transaction will stay dirty)
- rollbackTransaction();
- }
- }
- return result;
- }
-
-}
Deleted: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/CategoryDAOImpl.java
===================================================================
--- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/CategoryDAOImpl.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/CategoryDAOImpl.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -1,51 +0,0 @@
-package fr.ifremer.echobase.entities.data;
-
-/*
- * #%L
- * EchoBase :: Domain
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2011 - 2013 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 fr.ifremer.echobase.EchoBaseTechnicalException;
-import org.nuiton.topia.TopiaException;
-
-import java.util.List;
-
-public class CategoryDAOImpl<E extends Category> extends CategoryDAOAbstract<E> {
-
- public List<E> getCategoryUsingEchotype(Voyage voyage) throws TopiaException {
- String hql = "SELECT DISTINCT c FROM VoyageImpl v, CategoryImpl c WHERE " +
- "v = :voyage AND c.echotype in elements(v.echotype)";
- List<E> result = findAllByQuery(hql, "voyage", voyage);
- return result;
- }
-
- public long countCategoryUsingEchotype(Voyage voyage) {
- String hql = "SELECT COUNT(DISTINCT c) FROM VoyageImpl v, CategoryImpl c WHERE " +
- "v = :voyage AND c.echotype in elements(v.echotype)";
- try {
- long result = countByQuery(hql, "voyage", voyage);
- return result;
- } catch (TopiaException e) {
- throw new EchoBaseTechnicalException(e);
- }
- }
-
-} //CategoryDAOImpl<E extends Category>
Copied: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/CategoryTopiaDao.java (from rev 924, trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/CategoryDAOImpl.java)
===================================================================
--- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/CategoryTopiaDao.java (rev 0)
+++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/CategoryTopiaDao.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -0,0 +1,54 @@
+package fr.ifremer.echobase.entities.data;
+
+/*
+ * #%L
+ * EchoBase :: Domain
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2011 - 2013 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 fr.ifremer.echobase.EchoBaseTechnicalException;
+import org.nuiton.topia.persistence.TopiaException;
+import org.nuiton.topia.persistence.util.TopiaUtil;
+
+import java.util.List;
+
+public class CategoryTopiaDao extends AbstractCategoryTopiaDao<Category> {
+
+ public List<Category> getCategoryUsingEchotype(Voyage voyage) throws TopiaException {
+ String hql = "SELECT DISTINCT c FROM VoyageImpl v, CategoryImpl c WHERE " +
+ "v = :voyage AND c.echotype in elements(v.echotype)";
+// List<Category> result = findAllByQuery(hql, "voyage", voyage);
+ List<Category> result = forHql(hql, "voyage", voyage).findAll();
+ return result;
+ }
+
+ public long countCategoryUsingEchotype(Voyage voyage) {
+ String hql = "SELECT COUNT(DISTINCT c) FROM VoyageImpl v, CategoryImpl c WHERE " +
+ "v = :voyage AND c.echotype in elements(v.echotype)";
+ try {
+// long result = countByQuery(hql, "voyage", voyage);
+ Long result = findUnique(hql, TopiaUtil.convertPropertiesArrayToMap("voyage", voyage));
+ return result;
+ } catch (TopiaException e) {
+ throw new EchoBaseTechnicalException(e);
+ }
+ }
+
+} //CategoryDAOImpl<E extends Category>
Deleted: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/CellDAOImpl.java
===================================================================
--- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/CellDAOImpl.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/CellDAOImpl.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -1,224 +0,0 @@
-package fr.ifremer.echobase.entities.data;
-
-/*
- * #%L
- * EchoBase :: Domain
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2011 - 2013 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 fr.ifremer.echobase.csv.CellValueParser;
-import fr.ifremer.echobase.entities.references.CellType;
-import fr.ifremer.echobase.entities.spatial.CellPoint;
-import org.nuiton.csv.ValueParser;
-import org.nuiton.topia.TopiaException;
-import org.nuiton.topia.framework.TopiaSQLQuery;
-
-import java.sql.Connection;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.List;
-
-public class CellDAOImpl<E extends Cell> extends CellDAOAbstract<E> {
-
- public List<CellPoint> getVoyageCellPoints(Voyage voyage, CellType cellType) {
-
- List<CellPoint> result = Lists.newArrayList();
-
- String voyageId = voyage.getTopiaId();
- String cellTypeId = cellType == null ? null : cellType.getTopiaId();
-
- TopiaSQLQuery<CellPoint> queryPoint = newLatLongSqlQuery(voyageId, cellTypeId);
- TopiaSQLQuery<CellPoint> queryPoint3D = newLatLongDepthSqlQuery(voyageId, cellTypeId);
-
- result.addAll(queryPoint.findMultipleResult(context));
- result.addAll(queryPoint3D.findMultipleResult(context));
- return result;
- }
-
- public long countVoyageOrphanCells(Voyage voyage) {
- TopiaSQLQuery<Long> query = newCountVoyageOrphanCellsQuery(voyage);
- Long result = query.findSingleResult(context);
- return result;
- }
-
- public long countVoyageCellResults(Voyage voyage) {
- TopiaSQLQuery<Long> query = newCountVoyageCellResultsQuery(voyage);
- Long result = query.findSingleResult(context);
- return result;
- }
-
- public List<String> getVoyageCellIds() throws TopiaException {
- TopiaSQLQuery<String> query = newVoyageCellIdsQuery();
- List<String> cellIds = query.findMultipleResult(context);
- return cellIds;
- }
-
- public List<String> getVoyageCellIds(Voyage voyage) throws TopiaException {
- TopiaSQLQuery<String> query = newVoyageCellIdsQuery(voyage);
-
- List<String> cellIds = query.findMultipleResult(context);
- return cellIds;
- }
-
- public ValueParser<Cell> newCellValueParser(Voyage voyage) {
- return new CellValueParser(voyage, (CellDAO)this);
- }
-
- protected TopiaSQLQuery<CellPoint> newLatLongSqlQuery(final String voyageId, final String cellTypeId) {
- return new TopiaSQLQuery<CellPoint>() {
- @Override
- protected PreparedStatement prepareQuery(Connection connection) throws SQLException {
-
- PreparedStatement ps = connection.prepareStatement("SELECT cellId, ST_Y(ST_ASTEXT(coordinate)), ST_X(ST_ASTEXT(coordinate)) FROM echobase_cell_spatial WHERE coordinate IS NOT NULL AND voyageId = ? AND celltypeid = ?");
- ps.setString(1, voyageId);
- ps.setString(2, cellTypeId);
- return ps;
- }
-
- @Override
- protected CellPoint prepareResult(ResultSet set) throws SQLException {
- String cellId = set.getString(1);
- Double latitude = set.getDouble(2);
- Double longitude = set.getDouble(3);
- return new CellPoint(cellId, latitude, longitude, 0d);
- }
- };
- }
-
- protected TopiaSQLQuery<CellPoint> newLatLongDepthSqlQuery(final String voyageId, final String cellTypeId) {
- return new TopiaSQLQuery<CellPoint>() {
- @Override
- protected PreparedStatement prepareQuery(Connection connection) throws SQLException {
-
- PreparedStatement ps = connection.prepareStatement("SELECT cellId, ST_Y(ST_ASTEXT(coordinate3D)), ST_X(ST_ASTEXT(coordinate3D)) , ST_Y(ST_ASTEXT(coordinate3D)) FROM echobase_cell_spatial WHERE coordinate3D IS NOT NULL AND voyageId = ? AND celltypeid = ?");
- ps.setString(1, voyageId);
- ps.setString(2, cellTypeId);
- return ps;
- }
-
- @Override
- protected CellPoint prepareResult(ResultSet set) throws SQLException {
- String cellId = set.getString(1);
- Double latitude = set.getDouble(2);
- Double longitude = set.getDouble(3);
- Double depth = set.getDouble(4);
- return new CellPoint(cellId, latitude, longitude, depth);
- }
- };
- }
-
- protected TopiaSQLQuery<Long> newCountVoyageOrphanCellsQuery(final Voyage voyage) {
- return new TopiaSQLQuery<Long>() {
- @Override
- protected PreparedStatement prepareQuery(Connection connection) throws SQLException {
- String hql = "SELECT count(c2.topiaid) FROM Transit ta, " +
- " Transect te, " +
- " DataAcquisition da, " +
- " DataProcessing dp, " +
- " Cell c, Cell c2 " +
- "WHERE ta.voyage = ? " +
- "AND ta.topiaId = te.transit " +
- "AND te.topiaId = da.transect " +
- "AND da.topiaId = dp.dataacquisition " +
- "AND dp.topiaId = c.dataprocessing " +
- "AND c.topiaId = c2.cell";
- PreparedStatement result = connection.prepareStatement(hql);
- result.setString(1, voyage.getTopiaId());
- return result;
- }
-
- @Override
- protected Long prepareResult(ResultSet set) throws SQLException {
- return set.getLong(1);
- }
- };
- }
-
- protected TopiaSQLQuery<Long> newCountVoyageCellResultsQuery(final Voyage voyage) {
- return new TopiaSQLQuery<Long>() {
- @Override
- protected PreparedStatement prepareQuery(Connection connection) throws SQLException {
- String hql = "SELECT count(c.topiaid) FROM Transit ta, " +
- " Transect te, " +
- " DataAcquisition da, " +
- " DataProcessing dp, " +
- " Cell c " +
- "WHERE ta.voyage = ? " +
- "AND ta.topiaId = te.transit " +
- "AND te.topiaId = da.transect " +
- "AND da.topiaId = dp.dataacquisition " +
- "AND dp.topiaId = c.dataprocessing";
- PreparedStatement result = connection.prepareStatement(hql);
- result.setString(1, voyage.getTopiaId());
- return result;
- }
-
- @Override
- protected Long prepareResult(ResultSet set) throws SQLException {
- return set.getLong(1);
- }
- };
- }
-
- protected TopiaSQLQuery<String> newVoyageCellIdsQuery() {
- return new TopiaSQLQuery<String>() {
- @Override
- protected PreparedStatement prepareQuery(Connection connection) throws SQLException {
- String hql = "SELECT c.topiaid FROM Cell c " +
- "WHERE c.cell IS NULL AND c.dataprocessing IS NULL AND c.voyage IS NULL";
- PreparedStatement result = connection.prepareStatement(hql);
- return result;
- }
-
- @Override
- protected String prepareResult(ResultSet set) throws SQLException {
- return set.getString(1);
- }
- };
- }
-
- protected TopiaSQLQuery<String> newVoyageCellIdsQuery(final Voyage voyage) {
- return new TopiaSQLQuery<String>() {
- @Override
- protected PreparedStatement prepareQuery(Connection connection) throws SQLException {
- String hql = "SELECT c.topiaid FROM Transit ta, " +
- " Transect te, " +
- " DataAcquisition da, " +
- " DataProcessing dp, " +
- " Cell c " +
- "WHERE ta.voyage = ? " +
- "AND ta.topiaId = te.transit " +
- "AND te.topiaId = da.transect " +
- "AND da.topiaId = dp.dataacquisition " +
- "AND dp.topiaId = c.dataprocessing";
- PreparedStatement result = connection.prepareStatement(hql);
- result.setString(1, voyage.getTopiaId());
- return result;
- }
-
- @Override
- protected String prepareResult(ResultSet set) throws SQLException {
- return set.getString(1);
- }
- };
- }
-}
Copied: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/CellTopiaDao.java (from rev 924, trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/CellDAOImpl.java)
===================================================================
--- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/CellTopiaDao.java (rev 0)
+++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/CellTopiaDao.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -0,0 +1,224 @@
+package fr.ifremer.echobase.entities.data;
+
+/*
+ * #%L
+ * EchoBase :: Domain
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2011 - 2013 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 fr.ifremer.echobase.csv.CellValueParser;
+import fr.ifremer.echobase.entities.references.CellType;
+import fr.ifremer.echobase.entities.spatial.CellPoint;
+import org.nuiton.csv.ValueParser;
+import org.nuiton.topia.persistence.TopiaException;
+import org.nuiton.topia.persistence.support.TopiaSqlQuery;
+
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.List;
+
+public class CellTopiaDao extends AbstractCellTopiaDao<Cell> {
+
+ public List<CellPoint> getVoyageCellPoints(Voyage voyage, CellType cellType) {
+
+ List<CellPoint> result = Lists.newArrayList();
+
+ String voyageId = voyage.getTopiaId();
+ String cellTypeId = cellType == null ? null : cellType.getTopiaId();
+
+ TopiaSqlQuery<CellPoint> queryPoint = newLatLongSqlQuery(voyageId, cellTypeId);
+ TopiaSqlQuery<CellPoint> queryPoint3D = newLatLongDepthSqlQuery(voyageId, cellTypeId);
+
+ result.addAll(topiaSqlSupport.findMultipleResult(queryPoint));
+ result.addAll(topiaSqlSupport.findMultipleResult(queryPoint3D));
+ return result;
+ }
+
+ public long countVoyageOrphanCells(Voyage voyage) {
+ TopiaSqlQuery<Long> query = newCountVoyageOrphanCellsQuery(voyage);
+ Long result = topiaSqlSupport.findSingleResult(query);
+ return result;
+ }
+
+ public long countVoyageCellResults(Voyage voyage) {
+ TopiaSqlQuery<Long> query = newCountVoyageCellResultsQuery(voyage);
+ Long result = topiaSqlSupport.findSingleResult(query);
+ return result;
+ }
+
+ public List<String> getVoyageCellIds() throws TopiaException {
+ TopiaSqlQuery<String> query = newVoyageCellIdsQuery();
+ List<String> cellIds = topiaSqlSupport.findMultipleResult(query);
+ return cellIds;
+ }
+
+ public List<String> getVoyageCellIds(Voyage voyage) throws TopiaException {
+ TopiaSqlQuery<String> query = newVoyageCellIdsQuery(voyage);
+
+ List<String> cellIds = topiaSqlSupport.findMultipleResult(query);
+ return cellIds;
+ }
+
+ public ValueParser<Cell> newCellValueParser(Voyage voyage) {
+ return new CellValueParser(voyage, this);
+ }
+
+ protected TopiaSqlQuery<CellPoint> newLatLongSqlQuery(final String voyageId, final String cellTypeId) {
+ return new TopiaSqlQuery<CellPoint>() {
+ @Override
+ public PreparedStatement prepareQuery(Connection connection) throws SQLException {
+
+ PreparedStatement ps = connection.prepareStatement("SELECT cellId, ST_Y(ST_ASTEXT(coordinate)), ST_X(ST_ASTEXT(coordinate)) FROM echobase_cell_spatial WHERE coordinate IS NOT NULL AND voyageId = ? AND celltypeid = ?");
+ ps.setString(1, voyageId);
+ ps.setString(2, cellTypeId);
+ return ps;
+ }
+
+ @Override
+ public CellPoint prepareResult(ResultSet set) throws SQLException {
+ String cellId = set.getString(1);
+ Double latitude = set.getDouble(2);
+ Double longitude = set.getDouble(3);
+ return new CellPoint(cellId, latitude, longitude, 0d);
+ }
+ };
+ }
+
+ protected TopiaSqlQuery<CellPoint> newLatLongDepthSqlQuery(final String voyageId, final String cellTypeId) {
+ return new TopiaSqlQuery<CellPoint>() {
+ @Override
+ public PreparedStatement prepareQuery(Connection connection) throws SQLException {
+
+ PreparedStatement ps = connection.prepareStatement("SELECT cellId, ST_Y(ST_ASTEXT(coordinate3D)), ST_X(ST_ASTEXT(coordinate3D)) , ST_Y(ST_ASTEXT(coordinate3D)) FROM echobase_cell_spatial WHERE coordinate3D IS NOT NULL AND voyageId = ? AND celltypeid = ?");
+ ps.setString(1, voyageId);
+ ps.setString(2, cellTypeId);
+ return ps;
+ }
+
+ @Override
+ public CellPoint prepareResult(ResultSet set) throws SQLException {
+ String cellId = set.getString(1);
+ Double latitude = set.getDouble(2);
+ Double longitude = set.getDouble(3);
+ Double depth = set.getDouble(4);
+ return new CellPoint(cellId, latitude, longitude, depth);
+ }
+ };
+ }
+
+ protected TopiaSqlQuery<Long> newCountVoyageOrphanCellsQuery(final Voyage voyage) {
+ return new TopiaSqlQuery<Long>() {
+ @Override
+ public PreparedStatement prepareQuery(Connection connection) throws SQLException {
+ String hql = "SELECT count(c2.topiaid) FROM Transit ta, " +
+ " Transect te, " +
+ " DataAcquisition da, " +
+ " DataProcessing dp, " +
+ " Cell c, Cell c2 " +
+ "WHERE ta.voyage = ? " +
+ "AND ta.topiaId = te.transit " +
+ "AND te.topiaId = da.transect " +
+ "AND da.topiaId = dp.dataacquisition " +
+ "AND dp.topiaId = c.dataprocessing " +
+ "AND c.topiaId = c2.cell";
+ PreparedStatement result = connection.prepareStatement(hql);
+ result.setString(1, voyage.getTopiaId());
+ return result;
+ }
+
+ @Override
+ public Long prepareResult(ResultSet set) throws SQLException {
+ return set.getLong(1);
+ }
+ };
+ }
+
+ protected TopiaSqlQuery<Long> newCountVoyageCellResultsQuery(final Voyage voyage) {
+ return new TopiaSqlQuery<Long>() {
+ @Override
+ public PreparedStatement prepareQuery(Connection connection) throws SQLException {
+ String hql = "SELECT count(c.topiaid) FROM Transit ta, " +
+ " Transect te, " +
+ " DataAcquisition da, " +
+ " DataProcessing dp, " +
+ " Cell c " +
+ "WHERE ta.voyage = ? " +
+ "AND ta.topiaId = te.transit " +
+ "AND te.topiaId = da.transect " +
+ "AND da.topiaId = dp.dataacquisition " +
+ "AND dp.topiaId = c.dataprocessing";
+ PreparedStatement result = connection.prepareStatement(hql);
+ result.setString(1, voyage.getTopiaId());
+ return result;
+ }
+
+ @Override
+ public Long prepareResult(ResultSet set) throws SQLException {
+ return set.getLong(1);
+ }
+ };
+ }
+
+ protected TopiaSqlQuery<String> newVoyageCellIdsQuery() {
+ return new TopiaSqlQuery<String>() {
+ @Override
+ public PreparedStatement prepareQuery(Connection connection) throws SQLException {
+ String hql = "SELECT c.topiaid FROM Cell c " +
+ "WHERE c.cell IS NULL AND c.dataprocessing IS NULL AND c.voyage IS NULL";
+ PreparedStatement result = connection.prepareStatement(hql);
+ return result;
+ }
+
+ @Override
+ public String prepareResult(ResultSet set) throws SQLException {
+ return set.getString(1);
+ }
+ };
+ }
+
+ protected TopiaSqlQuery<String> newVoyageCellIdsQuery(final Voyage voyage) {
+ return new TopiaSqlQuery<String>() {
+ @Override
+ public PreparedStatement prepareQuery(Connection connection) throws SQLException {
+ String hql = "SELECT c.topiaid FROM Transit ta, " +
+ " Transect te, " +
+ " DataAcquisition da, " +
+ " DataProcessing dp, " +
+ " Cell c " +
+ "WHERE ta.voyage = ? " +
+ "AND ta.topiaId = te.transit " +
+ "AND te.topiaId = da.transect " +
+ "AND da.topiaId = dp.dataacquisition " +
+ "AND dp.topiaId = c.dataprocessing";
+ PreparedStatement result = connection.prepareStatement(hql);
+ result.setString(1, voyage.getTopiaId());
+ return result;
+ }
+
+ @Override
+ public String prepareResult(ResultSet set) throws SQLException {
+ return set.getString(1);
+ }
+ };
+ }
+}
Deleted: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/EchotypeDAOImpl.java
===================================================================
--- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/EchotypeDAOImpl.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/EchotypeDAOImpl.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -1,51 +0,0 @@
-/*
- * #%L
- * EchoBase :: Domain
- * $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%
- */
-package fr.ifremer.echobase.entities.data;
-
-import fr.ifremer.echobase.entities.references.Species;
-import org.nuiton.topia.TopiaException;
-
-import java.util.List;
-
-/**
- * User {@link EchotypeDAO} implementation.
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 0.2
- */
-public class EchotypeDAOImpl<E extends Echotype> extends EchotypeDAOAbstract<E> {
-
- @Override
- public Echotype findByIdAndSpecies(Integer id,
- Species species) throws TopiaException {
- List<E> allById = findAllById(id);
- Echotype result = null;
- for (E echotype : allById) {
- if (echotype.getSpecies().contains(species)) {
- result = echotype;
- break;
- }
- }
- return result;
- }
-}
Copied: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/EchotypeTopiaDao.java (from rev 924, trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/EchotypeDAOImpl.java)
===================================================================
--- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/EchotypeTopiaDao.java (rev 0)
+++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/EchotypeTopiaDao.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -0,0 +1,52 @@
+/*
+ * #%L
+ * EchoBase :: Domain
+ * $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%
+ */
+package fr.ifremer.echobase.entities.data;
+
+import fr.ifremer.echobase.entities.references.Species;
+import org.nuiton.topia.persistence.TopiaException;
+
+import java.util.List;
+
+/**
+ * User {@link EchotypeTopiaDao} implementation.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 0.2
+ */
+public class EchotypeTopiaDao extends GeneratedEchotypeTopiaDao<Echotype> {
+
+ @Override
+ public Echotype findByIdAndSpecies(Integer id,
+ Species species) throws TopiaException {
+// List<E> allById = findAllById(id);
+ List<Echotype> allById = forIdEquals(id).findAll();
+ Echotype result = null;
+ for (Echotype echotype : allById) {
+ if (echotype.getSpecies().contains(species)) {
+ result = echotype;
+ break;
+ }
+ }
+ return result;
+ }
+}
Deleted: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/ResultDAOImpl.java
===================================================================
--- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/ResultDAOImpl.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/ResultDAOImpl.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -1,55 +0,0 @@
-package fr.ifremer.echobase.entities.data;
-
-/*
- * #%L
- * EchoBase :: Domain
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2011 - 2013 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 fr.ifremer.echobase.entities.references.DataMetadata;
-
-import java.util.List;
-import java.util.Set;
-
-public class ResultDAOImpl<E extends Result> extends ResultDAOAbstract<E> {
-
- public List<E> findAllWithCategoryCellAndDataMetadata(Set<String> cellIds,
- DataMetadata requiredDataMetadata,
- List<String> categoryIds) {
-
- String query = createSimpleQuery(null) + " WHERE cell.id IN :cell AND dataMetadata = :dataMetadata";
- return findAllByQuery(
- query + " AND category.id IN :category",
- Result.PROPERTY_CELL, cellIds,
- Result.PROPERTY_DATA_METADATA, requiredDataMetadata,
- Result.PROPERTY_CATEGORY, categoryIds);
- }
-
- public List<E> findAllWithNoCategoryCellAndDataMetadata(Set<String> cellIds,
- DataMetadata requiredDataMetadata) {
-
- String query = createSimpleQuery(null) + " WHERE cell.id IN :cell AND dataMetadata = :dataMetadata";
- return findAllByQuery(
- query + " AND category IS NULL",
- Result.PROPERTY_CELL, cellIds,
- Result.PROPERTY_DATA_METADATA, requiredDataMetadata);
- }
-
-} //ResultDAOImpl<E extends Result>
Copied: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/ResultTopiaDao.java (from rev 924, trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/ResultDAOImpl.java)
===================================================================
--- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/ResultTopiaDao.java (rev 0)
+++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/ResultTopiaDao.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -0,0 +1,63 @@
+package fr.ifremer.echobase.entities.data;
+
+/*
+ * #%L
+ * EchoBase :: Domain
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2011 - 2013 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 fr.ifremer.echobase.entities.references.DataMetadata;
+
+import java.util.List;
+import java.util.Set;
+
+public class ResultTopiaDao extends AbstractResultTopiaDao<Result> {
+
+ public List<Result> findAllWithCategoryCellAndDataMetadata(Set<String> cellIds,
+ DataMetadata requiredDataMetadata,
+ List<String> categoryIds) {
+
+// String query = createSimpleQuery(null) + " WHERE cell.id IN :cell AND dataMetadata = :dataMetadata";
+// return findAllByQuery(
+// query + " AND category.id IN :category",
+// Result.PROPERTY_CELL, cellIds,
+// Result.PROPERTY_DATA_METADATA, requiredDataMetadata,
+// Result.PROPERTY_CATEGORY, categoryIds);
+ return forEquals(Result.PROPERTY_DATA_METADATA, requiredDataMetadata).
+ addTopiaIdIn(Result.PROPERTY_CELL, cellIds).
+ addTopiaIdIn(Result.PROPERTY_CATEGORY, categoryIds).
+ findAll();
+ }
+
+ public List<Result> findAllWithNoCategoryCellAndDataMetadata(Set<String> cellIds,
+ DataMetadata requiredDataMetadata) {
+
+// String query = createSimpleQuery(null) + " WHERE cell.id IN :cell AND dataMetadata = :dataMetadata";
+// return findAllByQuery(
+// query + " AND category IS NULL",
+// Result.PROPERTY_CELL, cellIds,
+// Result.PROPERTY_DATA_METADATA, requiredDataMetadata);
+ return forEquals(Result.PROPERTY_DATA_METADATA, requiredDataMetadata).
+ addTopiaIdIn(Result.PROPERTY_CELL, cellIds).
+ addNull(Result.PROPERTY_CATEGORY).
+ findAll();
+ }
+
+}
Modified: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/EchoBaseDbMeta.java
===================================================================
--- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/EchoBaseDbMeta.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/EchoBaseDbMeta.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -24,7 +24,7 @@
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Lists;
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
+import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum;
import org.nuiton.topia.persistence.metadata.AssociationMeta;
import org.nuiton.topia.persistence.metadata.DbMeta;
import org.nuiton.topia.persistence.metadata.TableMeta;
@@ -38,125 +38,125 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 1.1
*/
-public class EchoBaseDbMeta extends DbMeta<EchoBaseEntityEnum> {
+public class EchoBaseDbMeta extends DbMeta<EchoBaseUserEntityEnum> {
public static EchoBaseDbMeta newDbMeta() {
return new EchoBaseDbMeta(new EchoBasePersistenceHelper());
}
- private static final List<EchoBaseEntityEnum> REFERENCE_TYPES = ImmutableList.copyOf(Arrays.asList(
+ private static final List<EchoBaseUserEntityEnum> 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,
+ EchoBaseUserEntityEnum.SexCategory,
+ EchoBaseUserEntityEnum.AgeCategory,
+ EchoBaseUserEntityEnum.SizeCategory,
+ EchoBaseUserEntityEnum.Species,
+ EchoBaseUserEntityEnum.Calibration,
+ EchoBaseUserEntityEnum.VesselType,
+ EchoBaseUserEntityEnum.Mission,
+ EchoBaseUserEntityEnum.DepthStratum,
+ EchoBaseUserEntityEnum.EchotypeCategory,
+ EchoBaseUserEntityEnum.AreaOfOperation,
+ EchoBaseUserEntityEnum.ReferenceDatumType,
+ EchoBaseUserEntityEnum.DataType,
+ EchoBaseUserEntityEnum.DataQuality,
+ EchoBaseUserEntityEnum.CellMethod,
+ EchoBaseUserEntityEnum.CellType,
+ EchoBaseUserEntityEnum.OperationEvent,
+ EchoBaseUserEntityEnum.SampleDataType,
+ EchoBaseUserEntityEnum.SampleType,
+ EchoBaseUserEntityEnum.GearCharacteristic,
+ EchoBaseUserEntityEnum.CategoryMeaning,
+ EchoBaseUserEntityEnum.CategoryType,
+ EchoBaseUserEntityEnum.MeasureType,
+ EchoBaseUserEntityEnum.MeasurementMetadata,
+ EchoBaseUserEntityEnum.ReferencingMethod,
// with deps
- EchoBaseEntityEnum.Strata,
- EchoBaseEntityEnum.AcousticInstrument,
- EchoBaseEntityEnum.Vessel,
- EchoBaseEntityEnum.ReferenceDatum,
- EchoBaseEntityEnum.OperationMetadata,
- EchoBaseEntityEnum.GearMetadata,
- EchoBaseEntityEnum.GearCharacteristicValue,
- EchoBaseEntityEnum.Gear,
+ EchoBaseUserEntityEnum.Strata,
+ EchoBaseUserEntityEnum.AcousticInstrument,
+ EchoBaseUserEntityEnum.Vessel,
+ EchoBaseUserEntityEnum.ReferenceDatum,
+ EchoBaseUserEntityEnum.OperationMetadata,
+ EchoBaseUserEntityEnum.GearMetadata,
+ EchoBaseUserEntityEnum.GearCharacteristicValue,
+ EchoBaseUserEntityEnum.Gear,
- EchoBaseEntityEnum.SpeciesCategory,
- EchoBaseEntityEnum.TSParameters,
- EchoBaseEntityEnum.DataMetadata,
- EchoBaseEntityEnum.CategoryRef,
- EchoBaseEntityEnum.Impacte,
- EchoBaseEntityEnum.DataProtocol));
+ EchoBaseUserEntityEnum.SpeciesCategory,
+ EchoBaseUserEntityEnum.TSParameters,
+ EchoBaseUserEntityEnum.DataMetadata,
+ EchoBaseUserEntityEnum.CategoryRef,
+ EchoBaseUserEntityEnum.Impacte,
+ EchoBaseUserEntityEnum.DataProtocol));
- private static final List<EchoBaseEntityEnum> DATA_TYPES = ImmutableList.copyOf(Arrays.asList(
- EchoBaseEntityEnum.SampleData,
- EchoBaseEntityEnum.Sample,
+ private static final List<EchoBaseUserEntityEnum> DATA_TYPES = ImmutableList.copyOf(Arrays.asList(
+ EchoBaseUserEntityEnum.SampleData,
+ EchoBaseUserEntityEnum.Sample,
- EchoBaseEntityEnum.OperationMetadataValue,
- EchoBaseEntityEnum.GearMetadataValue,
- EchoBaseEntityEnum.Operation,
+ EchoBaseUserEntityEnum.OperationMetadataValue,
+ EchoBaseUserEntityEnum.GearMetadataValue,
+ EchoBaseUserEntityEnum.Operation,
- EchoBaseEntityEnum.Data,
+ EchoBaseUserEntityEnum.Data,
// Result has a link on cell, need then to import cell before result
// see http://forge.codelutin.com/issues/3776
- EchoBaseEntityEnum.Cell,
+ EchoBaseUserEntityEnum.Cell,
- EchoBaseEntityEnum.Echotype,
- EchoBaseEntityEnum.Category,
- EchoBaseEntityEnum.Result,
+ EchoBaseUserEntityEnum.Echotype,
+ EchoBaseUserEntityEnum.Category,
+ EchoBaseUserEntityEnum.Result,
// EchoBaseEntityEnum.Cell,
- EchoBaseEntityEnum.DataProcessing,
- EchoBaseEntityEnum.DataAcquisition,
- EchoBaseEntityEnum.Transect,
- EchoBaseEntityEnum.Transit,
+ EchoBaseUserEntityEnum.DataProcessing,
+ EchoBaseUserEntityEnum.DataAcquisition,
+ EchoBaseUserEntityEnum.Transect,
+ EchoBaseUserEntityEnum.Transit,
- EchoBaseEntityEnum.LengthAgeKey,
- EchoBaseEntityEnum.LengthWeightKey,
+ EchoBaseUserEntityEnum.LengthAgeKey,
+ EchoBaseUserEntityEnum.LengthWeightKey,
- EchoBaseEntityEnum.Voyage));
+ EchoBaseUserEntityEnum.Voyage));
- private final List<TableMeta<EchoBaseEntityEnum>> referenceTables;
+ private final List<TableMeta<EchoBaseUserEntityEnum>> referenceTables;
- private final List<AssociationMeta<EchoBaseEntityEnum>> referenceAssociations;
+ private final List<AssociationMeta<EchoBaseUserEntityEnum>> referenceAssociations;
- private final List<TableMeta<EchoBaseEntityEnum>> dataTables;
+ private final List<TableMeta<EchoBaseUserEntityEnum>> dataTables;
- private final List<AssociationMeta<EchoBaseEntityEnum>> dataAssociations;
+ private final List<AssociationMeta<EchoBaseUserEntityEnum>> dataAssociations;
EchoBaseDbMeta(EchoBasePersistenceHelper persistenceHelper) {
super(persistenceHelper,
- EchoBaseEntityEnum.values(),
- EchoBaseEntityEnum.EntityModificationLog,
- EchoBaseEntityEnum.ImportLog);
+ EchoBaseUserEntityEnum.values(),
+ EchoBaseUserEntityEnum.EntityModificationLog,
+ EchoBaseUserEntityEnum.ImportLog);
{
// reference tables
- List<TableMeta<EchoBaseEntityEnum>> result = Lists.newArrayList();
+ List<TableMeta<EchoBaseUserEntityEnum>> result = Lists.newArrayList();
addTables(result, REFERENCE_TYPES);
referenceTables = ImmutableList.copyOf(result);
}
{
// reference associations
- List<AssociationMeta<EchoBaseEntityEnum>> result = Lists.newArrayList();
+ List<AssociationMeta<EchoBaseUserEntityEnum>> result = Lists.newArrayList();
addAssociations(result, REFERENCE_TYPES);
referenceAssociations = ImmutableList.copyOf(result);
}
{
// data tables
- List<TableMeta<EchoBaseEntityEnum>> result = Lists.newArrayList();
+ List<TableMeta<EchoBaseUserEntityEnum>> result = Lists.newArrayList();
addTables(result, DATA_TYPES);
dataTables = ImmutableList.copyOf(result);
}
{
// data associations
- List<AssociationMeta<EchoBaseEntityEnum>> result = Lists.newArrayList();
+ List<AssociationMeta<EchoBaseUserEntityEnum>> result = Lists.newArrayList();
addAssociations(result, DATA_TYPES);
dataAssociations = ImmutableList.copyOf(result);
}
@@ -166,17 +166,17 @@
return getAllTables().size() + getAllAssociations().size();
}
- public List<TableMeta<EchoBaseEntityEnum>> getAllTables() {
+ public List<TableMeta<EchoBaseUserEntityEnum>> getAllTables() {
- List<TableMeta<EchoBaseEntityEnum>> result = Lists.newArrayList();
+ List<TableMeta<EchoBaseUserEntityEnum>> result = Lists.newArrayList();
result.addAll(referenceTables);
result.addAll(dataTables);
return ImmutableList.copyOf(result);
}
- public List<AssociationMeta<EchoBaseEntityEnum>> getAllAssociations() {
- List<AssociationMeta<EchoBaseEntityEnum>> result = Lists.newArrayList();
+ public List<AssociationMeta<EchoBaseUserEntityEnum>> getAllAssociations() {
+ List<AssociationMeta<EchoBaseUserEntityEnum>> result = Lists.newArrayList();
result.addAll(referenceAssociations);
result.addAll(dataAssociations);
return ImmutableList.copyOf(result);
@@ -186,19 +186,19 @@
return getReferenceTables().size() + getReferenceAssociations().size();
}
- public List<TableMeta<EchoBaseEntityEnum>> getReferenceTables() {
+ public List<TableMeta<EchoBaseUserEntityEnum>> getReferenceTables() {
return referenceTables;
}
- public List<AssociationMeta<EchoBaseEntityEnum>> getReferenceAssociations() {
+ public List<AssociationMeta<EchoBaseUserEntityEnum>> getReferenceAssociations() {
return referenceAssociations;
}
- public List<TableMeta<EchoBaseEntityEnum>> getDataTables() {
+ public List<TableMeta<EchoBaseUserEntityEnum>> getDataTables() {
return dataTables;
}
- public List<AssociationMeta<EchoBaseEntityEnum>> getDataAssociations() {
+ public List<AssociationMeta<EchoBaseUserEntityEnum>> getDataAssociations() {
return dataAssociations;
}
@@ -206,7 +206,7 @@
* @return the entity types of data in correct order for replication
* purpose.
*/
- public List<EchoBaseEntityEnum> getDataTypes() {
+ public List<EchoBaseUserEntityEnum> getDataTypes() {
return DATA_TYPES;
}
@@ -214,7 +214,7 @@
* @return the entity types of reference in correct order for copy
* purpose (says import / export of all a database.
*/
- public List<EchoBaseEntityEnum> getReferenceTypes() {
+ public List<EchoBaseUserEntityEnum> getReferenceTypes() {
return REFERENCE_TYPES;
}
Modified: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/EchoBaseEntityHelper.java
===================================================================
--- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/EchoBaseEntityHelper.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/EchoBaseEntityHelper.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -25,17 +25,18 @@
import com.google.common.base.Preconditions;
import fr.ifremer.echobase.entities.DriverType;
+import fr.ifremer.echobase.entities.EchoBaseInternalTopiaApplicationContext;
import fr.ifremer.echobase.entities.EchoBaseUserImpl;
+import fr.ifremer.echobase.entities.EchoBaseUserTopiaApplicationContext;
import fr.ifremer.echobase.entities.data.VoyageImpl;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.hibernate.Transaction;
-import org.nuiton.topia.TopiaContext;
-import org.nuiton.topia.TopiaContextFactory;
-import org.nuiton.topia.TopiaException;
-import org.nuiton.topia.TopiaTransaction;
-import org.nuiton.topia.framework.TopiaContextImplementor;
+import org.hibernate.cfg.Environment;
+import org.nuiton.topia.persistence.internal.AbstractTopiaPersistenceContext;
+import org.nuiton.topia.persistence.TopiaApplicationContext;
+import org.nuiton.topia.persistence.TopiaException;
import java.sql.Connection;
import java.sql.DriverManager;
@@ -52,34 +53,32 @@
/** Logger. */
private static final Log log = LogFactory.getLog(EchoBaseEntityHelper.class);
- public static TopiaContext newTransactionFromRootContext(TopiaContext otherTx) throws TopiaException {
- TopiaContextImplementor rootContext = ((TopiaContextImplementor) otherTx).getRootContext();
- TopiaContext tx = rootContext.beginTransaction();
- return tx;
- }
+// public static TopiaContext newTransactionFromRootContext(TopiaContext otherTx) throws TopiaException {
+// TopiaContextImplementor rootContext = ((TopiaContextImplementor) otherTx).getRootContext();
+// TopiaContext tx = rootContext.beginTransaction();
+// return tx;
+// }
- public static void releaseRootContext(TopiaContext context) {
+ public static void releaseApplicationContext(TopiaApplicationContext context) {
- TopiaContext rootContext = ((TopiaContextImplementor) context).getRootContext();
-
if (log.isInfoEnabled()) {
log.info("release database " +
- rootContext.getConfig().get(TopiaContextFactory.CONFIG_URL));
+ context.getConfiguration().get(Environment.URL));
}
try {
- releaseContext(rootContext);
+ releaseContext(context);
} catch (TopiaException e) {
// we don't want this to throw an exception, wants to close
// all possible opened contexts
if (log.isErrorEnabled()) {
- log.error("Could not close context " + rootContext, e);
+ log.error("Could not close context " + context, e);
}
}
}
- public static void releaseContext(TopiaContext rootContext) throws TopiaException {
- if (rootContext != null && !((TopiaTransaction) rootContext).isClosed()) {
- ((TopiaTransaction) rootContext).closeContext();
+ public static void releaseContext(TopiaApplicationContext rootContext) throws TopiaException {
+ if (rootContext != null && !rootContext.isClosed()) {
+ rootContext.closeContext();
}
}
@@ -149,12 +148,12 @@
return metaConfiguration;
}
- public static void closeConnection(TopiaContext transaction) {
+ public static void closeConnection(AbstractTopiaPersistenceContext transaction) {
if (transaction == null) {
if (log.isTraceEnabled()) {
log.trace("no transaction to close");
}
- } else if (((TopiaTransaction) transaction).isClosed()) {
+ } else if (transaction.isClosed()) {
if (log.isTraceEnabled()) {
log.trace("transaction " + transaction + " is already closed");
}
@@ -164,14 +163,14 @@
}
- Transaction tx = transaction.getHibernateSession().getTransaction();
+ Transaction tx = transaction.getHibernateSupport().getHibernateSession().getTransaction();
if (!tx.wasCommitted() && !tx.wasRolledBack()) {
if (log.isDebugEnabled()) {
log.debug("rollback transaction!");
}
tx.rollback();
}
- ((TopiaTransaction) transaction).closeContext();
+ transaction.closeContext();
}
}
@@ -183,7 +182,7 @@
* otherwise
* @throws TopiaException if something was wrong while requesting database
*/
- public static boolean isInternalSchemaCreated(TopiaContext tx) throws TopiaException {
+ public static boolean isInternalSchemaCreated(EchoBaseInternalTopiaApplicationContext tx) throws TopiaException {
boolean schemaFound = tx.isTableExists(EchoBaseUserImpl.class);
@@ -198,7 +197,7 @@
* otherwise
* @throws TopiaException if something was wrong while requesting database
*/
- public static boolean isWorkingDbSchemaCreated(TopiaContext tx) throws TopiaException {
+ public static boolean isWorkingDbSchemaCreated(EchoBaseUserTopiaApplicationContext tx) throws TopiaException {
boolean schemaFound = tx.isTableExists(VoyageImpl.class);
Modified: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/EchoBasePersistenceHelper.java
===================================================================
--- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/EchoBasePersistenceHelper.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/EchoBasePersistenceHelper.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -23,10 +23,7 @@
* #L%
*/
-import fr.ifremer.echobase.entities.EchoBaseDAOHelper;
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
-import org.nuiton.topia.TopiaContext;
-import org.nuiton.topia.persistence.TopiaDAO;
+import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum;
import org.nuiton.topia.persistence.TopiaEntity;
import org.nuiton.topia.persistence.TopiaPersistenceHelper;
@@ -37,21 +34,21 @@
* @see TopiaPersistenceHelper
* @since 1.1
*/
-public class EchoBasePersistenceHelper implements TopiaPersistenceHelper<EchoBaseEntityEnum> {
+public class EchoBasePersistenceHelper implements TopiaPersistenceHelper<EchoBaseUserEntityEnum> {
@Override
- public <E extends TopiaEntity> EchoBaseEntityEnum getEntityEnum(Class<E> type) {
- return EchoBaseEntityEnum.valueOf(type);
+ public <E extends TopiaEntity> EchoBaseUserEntityEnum getEntityEnum(Class<E> type) {
+ return EchoBaseUserEntityEnum.valueOf(type);
}
- @Override
- public <E extends TopiaEntity> TopiaDAO<E> getDAO(TopiaContext tx, Class<E> type) {
- return EchoBaseDAOHelper.<E, TopiaDAO<E>>getDAO(tx, type);
- }
+// @Override
+// public <E extends TopiaEntity> TopiaDAO<E> getDAO(TopiaContext tx, Class<E> type) {
+// return EchoBaseDAOHelper.<E, TopiaDAO<E>>getDAO(tx, type);
+// }
+//
+// @Override
+// public <E extends TopiaEntity> TopiaDAO<E> getDAO(TopiaContext tx, EchoBaseEntityEnum type) {
+// return (TopiaDAO<E>) getDAO(tx, type.getContract());
+// }
- @Override
- public <E extends TopiaEntity> TopiaDAO<E> getDAO(TopiaContext tx, EchoBaseEntityEnum type) {
- return (TopiaDAO<E>) getDAO(tx, type.getContract());
- }
-
}
Copied: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/EchobaseTopiaApplicationContexts.java (from rev 924, trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/EchobaseTopiaContexts.java)
===================================================================
--- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/EchobaseTopiaApplicationContexts.java (rev 0)
+++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/EchobaseTopiaApplicationContexts.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -0,0 +1,228 @@
+package fr.ifremer.echobase.persistence;
+
+/*
+ * #%L
+ * EchoBase :: Domain
+ * $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.base.Charsets;
+import fr.ifremer.echobase.EchoBaseTechnicalException;
+import fr.ifremer.echobase.config.EchoBaseConfigurationOption;
+import fr.ifremer.echobase.entities.DriverType;
+import fr.ifremer.echobase.entities.EchoBaseInternalTopiaApplicationContext;
+import fr.ifremer.echobase.entities.EchoBaseUserTopiaApplicationContext;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.hibernate.cfg.Environment;
+import org.nuiton.topia.persistence.TopiaException;
+import org.nuiton.util.RecursiveProperties;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.net.URL;
+import java.util.Properties;
+
+/**
+ * To deal with topia context for echobase application.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 1.1
+ */
+public class EchobaseTopiaApplicationContexts {
+
+ /** Logger. */
+ private static final Log log =
+ LogFactory.getLog(EchobaseTopiaApplicationContexts.class);
+
+ public static final String USER_DB_PROPERTIES =
+ "/echobase-workingdb.properties";
+
+ public static final String INTERNAL_DB_PROPERTIES =
+ "/echobase-internaldb.properties";
+
+ protected EchobaseTopiaApplicationContexts() {
+ // should not be instanciated
+ }
+
+ /**
+ * Open a new topia root context from the given jdbc configuration.
+ *
+ * @param jdbcConfiguration jdbc configuration
+ * @return the new fresh root context
+ */
+ public static EchoBaseUserTopiaApplicationContext newWorkingDb(JdbcConfiguration jdbcConfiguration) {
+
+ EchoBaseUserTopiaApplicationContext result = newUserDb(jdbcConfiguration, true);
+ return result;
+ }
+
+ /**
+ * Open a new topia root context from the given jdbc configuration and
+ * create schema if asked and schema does not exist.
+ * <p/>
+ *
+ * @param jdbcConfiguration jdbc configuration
+ * @return the new fresh root context
+ * @since 2.4
+ */
+ public static EchoBaseUserTopiaApplicationContext newUserDb(JdbcConfiguration jdbcConfiguration, boolean createSchema) {
+
+ Properties properties = loadWorkingDbConfiguration(jdbcConfiguration);
+ if (log.isInfoEnabled()) {
+ log.info("Starts a db at : " +
+ properties.get(Environment.URL));
+ }
+ EchoBaseUserTopiaApplicationContext result = new EchoBaseUserTopiaApplicationContext(properties);
+
+ if (createSchema) {
+ try {
+ if (!EchoBaseEntityHelper.isWorkingDbSchemaCreated(result)) {
+
+ if (log.isInfoEnabled()) {
+ log.info("Will create schema for " +
+ jdbcConfiguration.getUrl());
+ }
+ result.createSchema();
+ }
+ } catch (TopiaException e) {
+ throw new EchoBaseTechnicalException("Could not create db schema", e);
+ }
+ }
+ return result;
+ }
+
+ /**
+ * Open a new topia root context for the internal db of t3 (this should be
+ * a h2 db used only for security).
+ *
+ * @param internalDbDirectory directory of the internal db
+ * @return the new fresh root context of the internal db
+ */
+ public static EchoBaseInternalTopiaApplicationContext newInternalDb(File internalDbDirectory) {
+
+ Properties properties = loadInternalDbconfiguration(internalDbDirectory);
+
+ if (log.isInfoEnabled()) {
+ log.info("Starts a db at : " +
+ properties.get(Environment.URL));
+ }
+ EchoBaseInternalTopiaApplicationContext result = new EchoBaseInternalTopiaApplicationContext(properties);
+ try {
+ if (!EchoBaseEntityHelper.isInternalSchemaCreated(result)) {
+
+ if (log.isInfoEnabled()) {
+ log.info("Will create schema for " +
+ properties.get(Environment.URL));
+ }
+ result.createSchema();
+ }
+ } catch (TopiaException e) {
+ throw new EchoBaseTechnicalException("Could not create db schema", e);
+ }
+ return result;
+ }
+
+ public static Properties loadWorkingDbConfiguration(JdbcConfiguration conf) {
+ Properties result = new RecursiveProperties();
+
+ DriverType driverType = conf.getDriverType();
+
+ result.setProperty("configuration.url", conf.getUrl());
+ result.setProperty("configuration.login", conf.getLogin());
+ result.setProperty("configuration.password", conf.getPassword());
+ result.setProperty("configuration.driver",
+ driverType.getDriverClass().getName());
+ result.setProperty("configuration.dialect",
+ driverType.getDialectClass().getName());
+
+ loadProperties(result, USER_DB_PROPERTIES);
+
+ reloadProperty(result, Environment.URL, "configuration.url");
+ reloadProperty(result, Environment.USER, "configuration.login");
+ reloadProperty(result, Environment.PASS, "configuration.password");
+ reloadProperty(result, Environment.DIALECT, "configuration.dialect");
+ reloadProperty(result, Environment.DRIVER, "configuration.driver");
+
+ return result;
+ }
+
+ protected static Properties loadInternalDbconfiguration(File internalDbDirectory) {
+ Properties result = new RecursiveProperties();
+
+ String key = EchoBaseConfigurationOption.INTERNAL_DB_DIRECTORY.getKey();
+
+ result.setProperty(key, internalDbDirectory.getAbsolutePath());
+
+ loadProperties(result, INTERNAL_DB_PROPERTIES);
+ reloadProperty(result, Environment.URL, key);
+ return result;
+ }
+
+ protected static void loadProperties(Properties result,
+ String path) {
+ URL dbConfigFile =
+ EchobaseTopiaApplicationContexts.class.getResource(path);
+
+ try {
+ InputStreamReader reader =
+ new InputStreamReader(dbConfigFile.openStream(),
+ Charsets.UTF_8);
+ try {
+ result.load(reader);
+// // add entities mapping
+// result.put(TopiaContextFactory.CONFIG_PERSISTENCE_CLASSES,
+// entities
+// );
+ } finally {
+ reader.close();
+ }
+ } catch (IOException e) {
+ throw new IllegalStateException(
+ "Could not load database configuration from " + path, e);
+ }
+ }
+
+// /**
+// * Open a new topia root context from given configuration.
+// *
+// * @param configuration topia configuration
+// * @return the new fresh root context
+// */
+// private static TopiaContext newDb(Properties configuration) {
+//
+// if (log.isInfoEnabled()) {
+// log.info("Starts a db at : " +
+// configuration.get(Environment.URL));
+// }
+// TopiaContext result = TopiaContextFactory.getContext(configuration);
+//
+// return result;
+// }
+
+ private static void reloadProperty(Properties properties,
+ String propertyName,
+ String propertyNameToRemove) {
+ Object o = properties.getProperty(propertyName);
+ properties.put(propertyName, o);
+ properties.remove(propertyNameToRemove);
+ }
+}
Deleted: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/EchobaseTopiaContexts.java
===================================================================
--- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/EchobaseTopiaContexts.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/EchobaseTopiaContexts.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -1,224 +0,0 @@
-package fr.ifremer.echobase.persistence;
-
-/*
- * #%L
- * EchoBase :: Domain
- * $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.base.Charsets;
-import fr.ifremer.echobase.EchoBaseTechnicalException;
-import fr.ifremer.echobase.config.EchoBaseConfigurationOption;
-import fr.ifremer.echobase.entities.DriverType;
-import fr.ifremer.echobase.entities.EchoBaseDAOHelper;
-import fr.ifremer.echobase.entities.EchoBaseInternalDAOHelper;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.nuiton.topia.TopiaContext;
-import org.nuiton.topia.TopiaContextFactory;
-import org.nuiton.topia.TopiaException;
-import org.nuiton.topia.TopiaPersistenceContext;
-import org.nuiton.util.RecursiveProperties;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.net.URL;
-import java.util.Properties;
-
-/**
- * To deal with topia context for echobase application.
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 1.1
- */
-public class EchobaseTopiaContexts {
-
- /** Logger. */
- private static final Log log =
- LogFactory.getLog(EchobaseTopiaContexts.class);
-
- public static final String USER_DB_PROPERTIES =
- "/echobase-workingdb.properties";
-
- public static final String INTERNAL_DB_PROPERTIES =
- "/echobase-internaldb.properties";
-
- protected EchobaseTopiaContexts() {
- // should not be instanciated
- }
-
- /**
- * Open a new topia root context from the given jdbc configuration.
- *
- * @param jdbcConfiguration jdbc configuration
- * @return the new fresh root context
- */
- public static TopiaContext newWorkingDb(JdbcConfiguration jdbcConfiguration) {
-
- TopiaContext result = newWorkingDb(jdbcConfiguration, true);
- return result;
- }
-
- /**
- * Open a new topia root context from the given jdbc configuration and
- * create schema if asked and schema does not exist.
- * <p/>
- *
- * @param jdbcConfiguration jdbc configuration
- * @return the new fresh root context
- * @since 2.4
- */
- public static TopiaContext newWorkingDb(JdbcConfiguration jdbcConfiguration, boolean createSchema) {
-
- Properties properties = loadWorkingDbConfiguration(jdbcConfiguration);
- TopiaContext result = newDb(properties);
-
- if (createSchema) {
- try {
- if (!EchoBaseEntityHelper.isWorkingDbSchemaCreated(result)) {
-
- if (log.isInfoEnabled()) {
- log.info("Will create schema for " +
- jdbcConfiguration.getUrl());
- }
- ((TopiaPersistenceContext) result).createSchema();
- }
- } catch (TopiaException e) {
- throw new EchoBaseTechnicalException("Could not create db schema", e);
- }
- }
- return result;
- }
-
- /**
- * Open a new topia root context for the internal db of t3 (this should be
- * a h2 db used only for security).
- *
- * @param internalDbDirectory directory of the internal db
- * @return the new fresh root context of the internal db
- */
- public static TopiaContext newInternalDb(File internalDbDirectory) {
-
- Properties properties = loadInternalDbconfiguration(internalDbDirectory);
- TopiaContext result = newDb(properties);
- try {
- if (!EchoBaseEntityHelper.isInternalSchemaCreated(result)) {
-
- if (log.isInfoEnabled()) {
- log.info("Will create schema for " +
- properties.get(TopiaContextFactory.CONFIG_URL));
- }
- ((TopiaPersistenceContext) result).createSchema();
- }
- } catch (TopiaException e) {
- throw new EchoBaseTechnicalException("Could not create db schema", e);
- }
- return result;
- }
-
- public static Properties loadWorkingDbConfiguration(JdbcConfiguration conf) {
- Properties result = new RecursiveProperties();
-
- DriverType driverType = conf.getDriverType();
-
- result.setProperty("configuration.url", conf.getUrl());
- result.setProperty("configuration.login", conf.getLogin());
- result.setProperty("configuration.password", conf.getPassword());
- result.setProperty("configuration.driver",
- driverType.getDriverClass().getName());
- result.setProperty("configuration.dialect",
- driverType.getDialectClass().getName());
-
- loadProperties(result, USER_DB_PROPERTIES,
- EchoBaseDAOHelper.getImplementationClassesAsString());
-
- reloadProperty(result, TopiaContextFactory.CONFIG_URL, "configuration.url");
- reloadProperty(result, TopiaContextFactory.CONFIG_USER, "configuration.login");
- reloadProperty(result, TopiaContextFactory.CONFIG_PASS, "configuration.password");
- reloadProperty(result, TopiaContextFactory.CONFIG_DIALECT, "configuration.dialect");
- reloadProperty(result, TopiaContextFactory.CONFIG_DRIVER, "configuration.driver");
-
- return result;
- }
-
- protected static Properties loadInternalDbconfiguration(File internalDbDirectory) {
- Properties result = new RecursiveProperties();
-
- String key = EchoBaseConfigurationOption.INTERNAL_DB_DIRECTORY.getKey();
-
- result.setProperty(key, internalDbDirectory.getAbsolutePath());
-
- loadProperties(result, INTERNAL_DB_PROPERTIES,
- EchoBaseInternalDAOHelper.getImplementationClassesAsString());
- reloadProperty(result, TopiaContextFactory.CONFIG_URL, key);
- return result;
- }
-
- protected static void loadProperties(Properties result,
- String path,
- String entities) {
- URL dbConfigFile =
- EchobaseTopiaContexts.class.getResource(path);
-
- try {
- InputStreamReader reader =
- new InputStreamReader(dbConfigFile.openStream(),
- Charsets.UTF_8);
- try {
- result.load(reader);
- // add entities mapping
- result.put(TopiaContextFactory.CONFIG_PERSISTENCE_CLASSES,
- entities
- );
- } finally {
- reader.close();
- }
- } catch (IOException e) {
- throw new IllegalStateException(
- "Could not load database configuration from " + path, e);
- }
- }
-
- /**
- * Open a new topia root context from given configuration.
- *
- * @param configuration topia configuration
- * @return the new fresh root context
- */
- private static TopiaContext newDb(Properties configuration) {
-
- if (log.isInfoEnabled()) {
- log.info("Starts a db at : " +
- configuration.get(TopiaContextFactory.CONFIG_URL));
- }
- TopiaContext result = TopiaContextFactory.getContext(configuration);
-
- return result;
- }
-
- private static void reloadProperty(Properties properties,
- String propertyName,
- String propertyNameToRemove) {
- Object o = properties.getProperty(propertyName);
- properties.put(propertyName, o);
- properties.remove(propertyNameToRemove);
- }
-}
Modified: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/JdbcConfiguration.java
===================================================================
--- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/JdbcConfiguration.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/JdbcConfiguration.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -22,23 +22,23 @@
*/
package fr.ifremer.echobase.persistence;
+import com.google.common.collect.ImmutableMap;
import fr.ifremer.echobase.entities.DriverType;
-import org.nuiton.topia.TopiaContext;
-import org.nuiton.topia.TopiaContextFactory;
+import org.hibernate.cfg.Environment;
+import org.nuiton.topia.persistence.TopiaApplicationContext;
import java.io.File;
import java.io.Serializable;
-import java.util.Properties;
public class JdbcConfiguration implements Serializable {
- public static JdbcConfiguration newConfig(TopiaContext context) {
- Properties config = context.getConfig();
+ public static JdbcConfiguration newConfig(TopiaApplicationContext context) {
+ ImmutableMap config = context.getConfiguration();
JdbcConfiguration result = new JdbcConfiguration();
- result.setDriverType(DriverType.valueOfDriverName(config.getProperty(TopiaContextFactory.CONFIG_DRIVER)));
- result.setUrl(config.getProperty(TopiaContextFactory.CONFIG_URL));
- result.setLogin(config.getProperty(TopiaContextFactory.CONFIG_USER));
- result.setPassword(config.getProperty(TopiaContextFactory.CONFIG_PASS));
+ result.setDriverType(DriverType.valueOfDriverName((String) config.get(Environment.DRIVER)));
+ result.setUrl((String) config.get(Environment.URL));
+ result.setLogin((String) config.get(Environment.USER));
+ result.setPassword((String) config.get(Environment.PASS));
return result;
}
Modified: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/EchoBaseMigrationCallBackResolver.java
===================================================================
--- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/EchoBaseMigrationCallBackResolver.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/EchoBaseMigrationCallBackResolver.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -47,7 +47,7 @@
private static final Log log =
LogFactory.getLog(EchoBaseMigrationCallBackResolver.class);
- public static <C extends TopiaMigrationCallbackByClassNG.MigrationCallBackForVersion> EchoBaseMigrationCallBackResolver<C> newResolver(Class<C> resolverType) {
+ public static <C extends TopiaMigrationCallbackByClassNG.MigrationCallBackForVersion<?>> EchoBaseMigrationCallBackResolver<C> newResolver(Class<C> resolverType) {
return new EchoBaseMigrationCallBackResolver<C>(resolverType);
}
Modified: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/internalDb/MigrationCallBackForVersion.java
===================================================================
--- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/internalDb/MigrationCallBackForVersion.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/internalDb/MigrationCallBackForVersion.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -23,6 +23,7 @@
* #L%
*/
+import fr.ifremer.echobase.entities.EchoBaseInternalTopiaPersistenceContext;
import org.nuiton.topia.migration.TopiaMigrationCallbackByClassNG;
/**
@@ -31,11 +32,6 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 1.1
*/
-public abstract class MigrationCallBackForVersion extends TopiaMigrationCallbackByClassNG.MigrationCallBackForVersion {
+public abstract class MigrationCallBackForVersion extends TopiaMigrationCallbackByClassNG.MigrationCallBackForVersion<EchoBaseInternalTopiaPersistenceContext> {
-// protected Dialect getDialect(TopiaContext tx) throws TopiaNotFoundException {
-// Dialect dialect =
-// Dialect.getDialect(tx.getHibernateConfiguration().getProperties());
-// return dialect;
-// }
}
Modified: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/internalDb/MigrationCallBackForVersion2_2.java
===================================================================
--- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/internalDb/MigrationCallBackForVersion2_2.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/internalDb/MigrationCallBackForVersion2_2.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -23,12 +23,13 @@
* #L%
*/
+import fr.ifremer.echobase.entities.EchoBaseInternalTopiaPersistenceContext;
import fr.ifremer.echobase.entities.ExportQueries;
import fr.ifremer.echobase.entities.ExportQuery;
import fr.ifremer.echobase.entities.ExportQueryImpl;
-import org.nuiton.topia.TopiaContext;
-import org.nuiton.topia.TopiaException;
-import org.nuiton.topia.framework.TopiaSQLQuery;
+import org.nuiton.topia.persistence.TopiaException;
+import org.nuiton.topia.persistence.support.TopiaSqlQuery;
+import org.nuiton.topia.persistence.support.TopiaSqlSupport;
import org.nuiton.util.Version;
import java.sql.Connection;
@@ -53,13 +54,15 @@
"UPDATE exportquery SET name = '%s', topiaversion = topiaversion + 1 WHERE topiaid = '%s'";
@Override
- protected void prepareMigrationScript(TopiaContext tx,
+ protected void prepareMigrationScript(EchoBaseInternalTopiaPersistenceContext tx,
List<String> queries,
boolean showSql,
boolean showProgression) throws TopiaException {
+ TopiaSqlSupport sqlSupport = tx.getSqlSupport();
+
// normalize queries names (http://forge.codelutin.com/issues/2875)
- normalizeExportQueryNames(tx, queries);
+ normalizeExportQueryNames(sqlSupport, queries);
// remove login from workingdbconfiguration (http://forge.codelutin.com/issues/2245)
removeLoginField(queries);
@@ -69,17 +72,17 @@
queries.add("ALTER TABLE WorkingDbConfiguration DROP COLUMN login");
}
- protected void normalizeExportQueryNames(TopiaContext tx, List<String> queries) {
+ protected void normalizeExportQueryNames(TopiaSqlSupport tx, List<String> queries) {
- TopiaSQLQuery<ExportQuery> query = new TopiaSQLQuery<ExportQuery>() {
+ TopiaSqlQuery<ExportQuery> query = new TopiaSqlQuery<ExportQuery>() {
@Override
- protected PreparedStatement prepareQuery(Connection connection) throws SQLException {
+ public PreparedStatement prepareQuery(Connection connection) throws SQLException {
PreparedStatement result = connection.prepareStatement("select topiaid, name from exportquery;");
return result;
}
@Override
- protected ExportQuery prepareResult(ResultSet set) throws SQLException {
+ public ExportQuery prepareResult(ResultSet set) throws SQLException {
ExportQuery result = new ExportQueryImpl();
result.setTopiaId(set.getString(1));
result.setName(set.getString(2));
@@ -87,7 +90,7 @@
}
};
- List<ExportQuery> exportQueries = query.findMultipleResult(tx);
+ List<ExportQuery> exportQueries = tx.findMultipleResult(query);
for (ExportQuery exportQuery : exportQueries) {
String queryName = exportQuery.getName();
Modified: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/internalDb/MigrationCallback.java
===================================================================
--- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/internalDb/MigrationCallback.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/internalDb/MigrationCallback.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -23,11 +23,11 @@
* #L%
*/
-import fr.ifremer.echobase.entities.EchoBaseInternalDAOHelper;
+import fr.ifremer.echobase.entities.EchoBaseInternalTopiaPersistenceContext;
import fr.ifremer.echobase.persistence.migration.EchoBaseMigrationCallBackResolver;
+import org.nuiton.topia.persistence.support.TopiaSqlSupport;
import org.nuiton.topia.migration.TopiaMigrationCallbackByClassNG;
import org.nuiton.util.Version;
-import org.nuiton.util.VersionUtil;
import java.util.List;
@@ -37,7 +37,7 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 1.1
*/
-public class MigrationCallback extends TopiaMigrationCallbackByClassNG {
+public class MigrationCallback extends TopiaMigrationCallbackByClassNG<EchoBaseInternalTopiaPersistenceContext> {
public MigrationCallback() {
super(EchoBaseMigrationCallBackResolver.newResolver(
@@ -45,12 +45,12 @@
}
@Override
- public Version getApplicationVersion() {
- return VersionUtil.valueOf(EchoBaseInternalDAOHelper.getModelVersion());
+ public boolean askUser(Version version, List<Version> versions) {
+ return true;
}
@Override
- public boolean askUser(Version version, List<Version> versions) {
- return true;
+ protected TopiaSqlSupport getSqlSupport(EchoBaseInternalTopiaPersistenceContext persistenceContext) {
+ return persistenceContext.getSqlSupport();
}
}
Modified: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion.java
===================================================================
--- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -23,6 +23,7 @@
* #L%
*/
+import fr.ifremer.echobase.entities.EchoBaseUserTopiaPersistenceContext;
import org.nuiton.topia.migration.TopiaMigrationCallbackByClassNG;
/**
@@ -31,11 +32,6 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 1.1
*/
-public abstract class MigrationCallBackForVersion extends TopiaMigrationCallbackByClassNG.MigrationCallBackForVersion {
+public abstract class MigrationCallBackForVersion extends TopiaMigrationCallbackByClassNG.MigrationCallBackForVersion<EchoBaseUserTopiaPersistenceContext> {
-// protected Dialect getDialect(TopiaContext tx) throws TopiaNotFoundException {
-// Dialect dialect =
-// Dialect.getDialect(tx.getHibernateConfiguration().getProperties());
-// return dialect;
-// }
}
Modified: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_2.java
===================================================================
--- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_2.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_2.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -23,12 +23,10 @@
* #L%
*/
-import fr.ifremer.echobase.entities.TopiaEchoBasePersistenceContext;
+import fr.ifremer.echobase.entities.EchoBaseUserTopiaPersistenceContext;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.nuiton.topia.TopiaContext;
-import org.nuiton.topia.TopiaException;
-import org.nuiton.topia.TopiaSqlSupport;
+import org.nuiton.topia.persistence.TopiaException;
import org.nuiton.util.Version;
import java.util.List;
@@ -51,7 +49,7 @@
}
@Override
- protected void prepareMigrationScript(TopiaContext tx,
+ protected void prepareMigrationScript(EchoBaseUserTopiaPersistenceContext tx,
List<String> queries,
boolean showSql,
boolean showProgression) throws TopiaException {
@@ -74,17 +72,14 @@
queries.add("ALTER TABLE Result ALTER COLUMN category DROP NOT NULL;");
}
- protected void updatePostgis(TopiaContext tx) {
- TopiaEchoBasePersistenceContext persistenceContext =
- new TopiaEchoBasePersistenceContext(tx);
- boolean spatialAware =
- persistenceContext.isSpatialAware();
+ protected void updatePostgis(EchoBaseUserTopiaPersistenceContext tx) {
+ boolean spatialAware = tx.isSpatialAware();
try {
if (spatialAware) {
try {
// compute all spatial data
- ((TopiaSqlSupport) tx).executeSQL("SELECT echobase_compute_all_spatial_data();");
+ tx.getSqlSupport().executeSql("SELECT echobase_compute_all_spatial_data();");
} catch (Exception e) {
if (log.isErrorEnabled()) {
log.error("Could not update spatial datas", e);
@@ -92,7 +87,7 @@
}
}
} finally {
- persistenceContext.rollbackTransaction();
+ tx.rollback();
}
}
}
\ No newline at end of file
Modified: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_5_1.java
===================================================================
--- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_5_1.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_5_1.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -23,11 +23,9 @@
* #L%
*/
-import fr.ifremer.echobase.entities.EchoBasePersistenceContext;
-import fr.ifremer.echobase.entities.TopiaEchoBasePersistenceContext;
+import fr.ifremer.echobase.entities.EchoBaseUserTopiaPersistenceContext;
import fr.ifremer.echobase.io.EchoBaseIOUtil;
-import org.nuiton.topia.TopiaContext;
-import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.persistence.TopiaException;
import org.nuiton.util.Version;
import java.util.List;
@@ -50,22 +48,13 @@
}
@Override
- protected void prepareMigrationScript(TopiaContext tx,
+ protected void prepareMigrationScript(EchoBaseUserTopiaPersistenceContext tx,
List<String> queries,
boolean showSql,
boolean showProgression) throws TopiaException {
- boolean spatialAware;
+ boolean spatialAware = tx.isSpatialAware();
- TopiaEchoBasePersistenceContext persistenceContext =
- new TopiaEchoBasePersistenceContext(tx);
- try {
-
- spatialAware = persistenceContext.isSpatialAware();
- } finally {
- persistenceContext.rollbackTransaction();
- }
-
if (spatialAware) {
// repass postgis scripts (http://forge.codelutin.com/issues/4018)
Modified: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallback.java
===================================================================
--- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallback.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallback.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -23,21 +23,12 @@
* #L%
*/
-import fr.ifremer.echobase.entities.EchoBaseDAOHelper;
+import fr.ifremer.echobase.entities.EchoBaseUserTopiaPersistenceContext;
import fr.ifremer.echobase.persistence.migration.EchoBaseMigrationCallBackResolver;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.hibernate.jdbc.Work;
-import org.nuiton.topia.TopiaContext;
-import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.persistence.support.TopiaSqlSupport;
import org.nuiton.topia.migration.TopiaMigrationCallbackByClassNG;
-import org.nuiton.util.StringUtil;
import org.nuiton.util.Version;
-import org.nuiton.util.VersionUtil;
-import java.sql.Connection;
-import java.sql.PreparedStatement;
-import java.sql.SQLException;
import java.util.List;
/**
@@ -46,81 +37,20 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 1.3
*/
-public class MigrationCallback extends TopiaMigrationCallbackByClassNG {
+public class MigrationCallback extends TopiaMigrationCallbackByClassNG<EchoBaseUserTopiaPersistenceContext> {
- /** Logger. */
- private static final Log log = LogFactory.getLog(MigrationCallback.class);
-
public MigrationCallback() {
super(EchoBaseMigrationCallBackResolver.newResolver(
fr.ifremer.echobase.persistence.migration.workingDb.MigrationCallBackForVersion.class));
}
@Override
- public Version getApplicationVersion() {
- return VersionUtil.valueOf(EchoBaseDAOHelper.getModelVersion());
- }
-
- @Override
public boolean askUser(Version version, List<Version> versions) {
return true;
}
@Override
- public void executeSQL(TopiaContext tx, final boolean showSql, final boolean showProgression, final String... sqls) throws TopiaException {
- if (log.isInfoEnabled()) {
-
- log.info(String.format("Will execute %1$s requests...", sqls.length));
- }
- if (showSql) {
- StringBuilder buffer = new StringBuilder();
- for (String s : sqls) {
- buffer.append(s).append("\n");
- }
- log.info("SQL TO EXECUTE :\n" +
- "--------------------------------------------------------------------------------\n" +
- "--------------------------------------------------------------------------------\n" +
- buffer.toString() +
- "--------------------------------------------------------------------------------\n" +
- "--------------------------------------------------------------------------------\n"
- );
- }
- tx.getHibernateSession().doWork(new Work() {
-
- @Override
- public void execute(Connection connection) throws SQLException {
- int index = 0;
- int max = sqls.length;
- for (String sql : sqls) {
- index++;
- long t0 = System.nanoTime();
- if (log.isInfoEnabled()) {
- String message = "";
-
- if (showProgression) {
- message = String.format("Executing request [%1$-4s/%2$-4s]", index, max);
- }
- if (showSql) {
- message += "\n" + sql;
- }
- if (showProgression || showSql) {
-
- log.info(message);
- }
- }
- PreparedStatement sta = connection.prepareStatement(sql);
- try {
- sta.execute();
- } finally {
- sta.close();
- }
- if (log.isDebugEnabled()) {
- String message;
- message = String.format("Request [%1$-4s/%2$-4s] executed in %3$s.", index, max, StringUtil.convertTime(System.nanoTime() - t0));
- log.debug(message);
- }
- }
- }
- });
+ protected TopiaSqlSupport getSqlSupport(EchoBaseUserTopiaPersistenceContext persistenceContext) {
+ return persistenceContext.getSqlSupport();
}
}
Modified: trunk/echobase-domain/src/main/resources/echobase-internaldb.properties
===================================================================
--- trunk/echobase-domain/src/main/resources/echobase-internaldb.properties 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-domain/src/main/resources/echobase-internaldb.properties 2013-12-22 00:29:17 UTC (rev 925)
@@ -23,7 +23,7 @@
# Database basic configuration
hibernate.dialect=org.hibernate.dialect.H2Dialect
-hibernate.connection.provider_class=org.nuiton.topia.framework.TopiaConnectionProvider
+hibernate.connection.provider_class=org.nuiton.topia.persistence.internal.TopiaConnectionProvider
hibernate.connection.username=sa
hibernate.connection.password=sa
hibernate.connection.driver_class=org.h2.Driver
@@ -37,7 +37,7 @@
hibernate.format_sql=false
hibernate.use_sql_comments=false
-topia.persistence.topiaIdFactoryClassName=org.nuiton.topia.persistence.LegacyTopiaIdFactory
+topia.persistence.topiaIdFactoryClassName=org.nuiton.topia.persistence.internal.LegacyTopiaIdFactory
# Database migration configuration
topia.service.migration=org.nuiton.topia.migration.TopiaMigrationEngine
Modified: trunk/echobase-domain/src/main/resources/echobase-workingdb.properties
===================================================================
--- trunk/echobase-domain/src/main/resources/echobase-workingdb.properties 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-domain/src/main/resources/echobase-workingdb.properties 2013-12-22 00:29:17 UTC (rev 925)
@@ -27,7 +27,7 @@
hibernate.connection.url=${configuration.url}
hibernate.connection.driver_class=${configuration.driver}
hibernate.dialect=${configuration.dialect}
-hibernate.connection.provider_class=org.nuiton.topia.framework.TopiaConnectionProvider
+hibernate.connection.provider_class=org.nuiton.topia.persistence.internal.TopiaConnectionProvider
# Never create/update schema (will do it by logic)
hibernate.hbm2ddl.auto=none
@@ -37,7 +37,7 @@
hibernate.format_sql=false
hibernate.use_sql_comments=false
-topia.persistence.topiaIdFactoryClassName=org.nuiton.topia.persistence.LegacyTopiaIdFactory
+topia.persistence.topiaIdFactoryClassName=org.nuiton.topia.persistence.internal.LegacyTopiaIdFactory
# Database migration configuration
topia.service.migration=org.nuiton.topia.migration.TopiaMigrationEngine
Modified: trunk/echobase-domain/src/main/xmi/echobase-internal.properties
===================================================================
--- trunk/echobase-domain/src/main/xmi/echobase-internal.properties 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-domain/src/main/xmi/echobase-internal.properties 2013-12-22 00:29:17 UTC (rev 925)
@@ -23,7 +23,6 @@
model.tagValue.notGenerateToString=true
model.tagValue.generateOperatorForDAOHelper=true
-model.tagValue.generateStandaloneEnumForDAOHelper=true
model.tagValue.constantPrefix=PROPERTY_
model.tagValue.version=2.2
model.tagValue.noPCS=true
Modified: trunk/echobase-domain/src/main/xmi/echobase.properties
===================================================================
--- trunk/echobase-domain/src/main/xmi/echobase.properties 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-domain/src/main/xmi/echobase.properties 2013-12-22 00:29:17 UTC (rev 925)
@@ -23,12 +23,12 @@
model.tagValue.notGenerateToString=true
model.tagValue.generateOperatorForDAOHelper=true
-model.tagValue.generateStandaloneEnumForDAOHelper=true
model.tagValue.constantPrefix=PROPERTY_
model.tagValue.version=2.5.1
model.tagValue.noPCS=true
model.tagValue.doNotGenerateBooleanGetMethods=true
model.tagValue.indexForeignKeys=true
+model.tagValue.daoSuperClass=fr.ifremer.echobase.entities.AbstractEchoBaseDao
###############################################################################
### Ordered attributes ########################################################
Modified: trunk/echobase-domain/src/main/xmi/echobase.zargo
===================================================================
(Binary files differ)
Modified: trunk/echobase-domain/src/test/java/fr/ifremer/echobase/persistence/EchoBaseDbMetaTest.java
===================================================================
--- trunk/echobase-domain/src/test/java/fr/ifremer/echobase/persistence/EchoBaseDbMetaTest.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-domain/src/test/java/fr/ifremer/echobase/persistence/EchoBaseDbMetaTest.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -23,7 +23,7 @@
package fr.ifremer.echobase.persistence;
import com.google.common.collect.Lists;
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
+import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum;
import fr.ifremer.echobase.entities.data.Voyage;
import fr.ifremer.echobase.entities.references.Mission;
import org.junit.Assert;
@@ -54,15 +54,15 @@
@Test
public void getReferenceTypes() {
- List<EchoBaseEntityEnum> types =
+ List<EchoBaseUserEntityEnum> types =
dbMetas.getReferenceTypes();
- List<EchoBaseEntityEnum> expectedTypes =
+ List<EchoBaseUserEntityEnum> expectedTypes =
Lists.newArrayList(getContractsOf(Mission.class.getPackage()));
Assert.assertNotNull(types);
- for (EchoBaseEntityEnum type : expectedTypes) {
+ for (EchoBaseUserEntityEnum type : expectedTypes) {
Assert.assertTrue("Missing type : " + type, types.contains(type));
}
Assert.assertEquals(expectedTypes.size(), types.size());
@@ -71,15 +71,15 @@
@Test
public void getDataTypes() {
- List<EchoBaseEntityEnum> types =
+ List<EchoBaseUserEntityEnum> types =
dbMetas.getDataTypes();
- List<EchoBaseEntityEnum> expectedTypes =
+ List<EchoBaseUserEntityEnum> expectedTypes =
Lists.newArrayList(getContractsOf(Voyage.class.getPackage()));
Assert.assertNotNull(types);
- for (EchoBaseEntityEnum type : expectedTypes) {
+ for (EchoBaseUserEntityEnum type : expectedTypes) {
Assert.assertTrue("Missing type : " + type, types.contains(type));
}
Assert.assertEquals(expectedTypes.size(), types.size());
@@ -91,10 +91,10 @@
* @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) {
+ public static EchoBaseUserEntityEnum[] getContractsOf(Package entitiesPackage) {
+ EchoBaseUserEntityEnum[] echoBaseEntityEnums = EchoBaseUserEntityEnum.values();
+ List<EchoBaseUserEntityEnum> refClasses = new ArrayList<EchoBaseUserEntityEnum>();
+ for (EchoBaseUserEntityEnum echoBaseEntityEnum : echoBaseEntityEnums) {
// Get all entities in package fr.ifremer.echobase.entities.references
Class<? extends TopiaEntity> contract = echoBaseEntityEnum.getContract();
@@ -102,6 +102,6 @@
refClasses.add(echoBaseEntityEnum);
}
}
- return refClasses.toArray(new EchoBaseEntityEnum[refClasses.size()]);
+ return refClasses.toArray(new EchoBaseUserEntityEnum[refClasses.size()]);
}
}
Modified: trunk/echobase-services/pom.xml
===================================================================
--- trunk/echobase-services/pom.xml 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/pom.xml 2013-12-22 00:29:17 UTC (rev 925)
@@ -98,6 +98,11 @@
<version>${project.version}</version>
</dependency>
+ <dependency>
+ <groupId>javax</groupId>
+ <artifactId>javaee-api</artifactId>
+ </dependency>
+
<!-- nuiton dependencies -->
<dependency>
@@ -155,6 +160,11 @@
</dependency>
<dependency>
+ <groupId>org.nuiton.topia</groupId>
+ <artifactId>topia-service-csv</artifactId>
+ </dependency>
+
+ <dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
</dependency>
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 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DefaultEchoBaseServiceContext.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -24,12 +24,16 @@
import fr.ifremer.echobase.EchoBaseTechnicalException;
import fr.ifremer.echobase.config.EchoBaseConfiguration;
-import fr.ifremer.echobase.entities.TopiaEchoBaseInternalPersistenceContext;
-import fr.ifremer.echobase.entities.TopiaEchoBasePersistenceContext;
+import fr.ifremer.echobase.entities.EchoBaseInternalPersistenceContext;
+import fr.ifremer.echobase.entities.EchoBaseUserPersistenceContext;
+import fr.ifremer.echobase.entities.EchoBaseUserTopiaApplicationContext;
import fr.ifremer.echobase.persistence.EchoBaseDbMeta;
import org.apache.commons.lang3.time.DateUtils;
-import org.nuiton.topia.TopiaContextFactory;
+import org.nuiton.topia.persistence.TopiaDao;
+import org.nuiton.topia.persistence.TopiaEntity;
+import javax.inject.Named;
+import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.util.Date;
import java.util.Locale;
@@ -44,14 +48,17 @@
protected final Locale locale;
- protected TopiaEchoBasePersistenceContext echoBasePersistenceContext;
+ protected EchoBaseUserTopiaApplicationContext echoBaseApplicationContext;
- protected TopiaEchoBaseInternalPersistenceContext echoBaseInternalPersistenceContext;
+ protected EchoBaseUserPersistenceContext echoBaseUserPersistenceContext;
+ protected EchoBaseInternalPersistenceContext echoBaseInternalPersistenceContext;
+
protected EchoBaseConfiguration configuration;
protected EchoBaseDbMeta dbMeta;
+ protected EchobaseAieOC injector;
public static EchoBaseServiceContext newContext(
Locale locale,
EchoBaseConfiguration configuration,
@@ -67,26 +74,37 @@
this.locale = locale;
this.configuration = configuration;
this.dbMeta = dbMeta;
+ this.injector= new ServiceEchobaseAieOC();
}
@Override
- public TopiaEchoBasePersistenceContext getEchoBasePersistenceContext() {
- return echoBasePersistenceContext;
+ public EchoBaseUserTopiaApplicationContext getEchoBaseUserApplicationContext() {
+ return echoBaseApplicationContext;
}
@Override
- public void setEchoBasePersistenceContext(TopiaEchoBasePersistenceContext echoBasePersistenceContext) {
- this.echoBasePersistenceContext = echoBasePersistenceContext;
+ public void setEchoBaseUserApplicationContext(EchoBaseUserTopiaApplicationContext echoBaseApplicationContext) {
+ this.echoBaseApplicationContext = echoBaseApplicationContext;
}
@Override
- public TopiaEchoBaseInternalPersistenceContext getEchoBaseInternalPersistenceContext() {
+ public EchoBaseUserPersistenceContext getEchoBaseUserPersistenceContext() {
+ return echoBaseUserPersistenceContext;
+ }
+
+ @Override
+ public void setEchoBaseUserPersistenceContext(EchoBaseUserPersistenceContext userTopiaPersistenceContext) {
+ this.echoBaseUserPersistenceContext = userTopiaPersistenceContext;
+ }
+
+ @Override
+ public EchoBaseInternalPersistenceContext getEchoBaseInternalPersistenceContext() {
return echoBaseInternalPersistenceContext;
}
@Override
- public void setEchoBaseInternalPersistenceContext(TopiaEchoBaseInternalPersistenceContext echoBaseInternalPersistenceContext) {
- this.echoBaseInternalPersistenceContext = echoBaseInternalPersistenceContext;
+ public void setEchoBaseInternalPersistenceContext(EchoBaseInternalPersistenceContext internalTopiaPersistenceContext) {
+ this.echoBaseInternalPersistenceContext = internalTopiaPersistenceContext;
}
@Override
@@ -127,14 +145,22 @@
throw new EchoBaseTechnicalException(e);
}
- service.setServiceContext(this);
+ // inject
+ try {
+ injector.inject(this, service);
+ } catch (IllegalAccessException e) {
+ throw new EchoBaseTechnicalException(e);
+ } catch (ClassNotFoundException e) {
+ throw new EchoBaseTechnicalException(e);
+ }
+// service.setServiceContext(this);
return service;
}
@Override
- public String getWorkgingDbUrl() {
- String result = getEchoBasePersistenceContext().getConfig().getProperty(TopiaContextFactory.CONFIG_URL);
+ public String getUserDbUrl() {
+ String result = getEchoBaseUserPersistenceContext().getUrl();
return result;
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EchoBaseService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EchoBaseService.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EchoBaseService.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -33,6 +33,6 @@
*/
public interface EchoBaseService {
- void setServiceContext(EchoBaseServiceContext serviceContext);
+// void setServiceContext(EchoBaseServiceContext serviceContext);
}
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 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EchoBaseServiceContext.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -24,9 +24,9 @@
package fr.ifremer.echobase.services;
import fr.ifremer.echobase.config.EchoBaseConfiguration;
-import fr.ifremer.echobase.entities.TopiaEchoBaseInternalPersistenceContext;
-import fr.ifremer.echobase.entities.TopiaEchoBasePersistenceContext;
-import fr.ifremer.echobase.entities.spatial.SpatialDataCache;
+import fr.ifremer.echobase.entities.EchoBaseInternalPersistenceContext;
+import fr.ifremer.echobase.entities.EchoBaseUserPersistenceContext;
+import fr.ifremer.echobase.entities.EchoBaseUserTopiaApplicationContext;
import fr.ifremer.echobase.persistence.EchoBaseDbMeta;
import java.util.Date;
@@ -42,14 +42,18 @@
*/
public interface EchoBaseServiceContext {
- TopiaEchoBasePersistenceContext getEchoBasePersistenceContext();
+ EchoBaseUserTopiaApplicationContext getEchoBaseUserApplicationContext();
- void setEchoBasePersistenceContext(TopiaEchoBasePersistenceContext internalPersistenceContext);
+ void setEchoBaseUserApplicationContext(EchoBaseUserTopiaApplicationContext applicationContext);
- TopiaEchoBaseInternalPersistenceContext getEchoBaseInternalPersistenceContext();
+ EchoBaseUserPersistenceContext getEchoBaseUserPersistenceContext();
- void setEchoBaseInternalPersistenceContext(TopiaEchoBaseInternalPersistenceContext internalPersistenceContext);
+ void setEchoBaseUserPersistenceContext(EchoBaseUserPersistenceContext userTopiaPersistenceContext);
+ EchoBaseInternalPersistenceContext getEchoBaseInternalPersistenceContext();
+
+ void setEchoBaseInternalPersistenceContext(EchoBaseInternalPersistenceContext internalTopiaPersistenceContext);
+
Locale getLocale();
EchoBaseConfiguration getConfiguration();
@@ -58,7 +62,7 @@
Date newDate();
- String getWorkgingDbUrl();
+ String getUserDbUrl();
<S extends EchoBaseService> S newService(Class<S> serviceClass);
}
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 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EchoBaseServiceSupport.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -23,19 +23,9 @@
package fr.ifremer.echobase.services;
import fr.ifremer.echobase.config.EchoBaseConfiguration;
-import fr.ifremer.echobase.entities.TopiaEchoBaseInternalPersistenceContext;
import fr.ifremer.echobase.persistence.EchoBaseDbMeta;
-import fr.ifremer.echobase.services.service.DbEditorService;
-import fr.ifremer.echobase.services.service.DecoratorService;
-import fr.ifremer.echobase.services.service.InternalDbPersistenceService;
-import fr.ifremer.echobase.services.service.UserService;
-import fr.ifremer.echobase.services.service.exportdb.ExportDbService;
-import fr.ifremer.echobase.services.service.exportdb.ExportService;
-import fr.ifremer.echobase.services.service.exportquery.ExportQueryService;
-import fr.ifremer.echobase.services.service.importdb.ImportDbService;
-import fr.ifremer.echobase.services.service.removedata.RemoveDataService;
-import fr.ifremer.echobase.services.service.spatial.SpatialService;
+import javax.inject.Inject;
import java.util.Date;
import java.util.Locale;
@@ -45,31 +35,19 @@
*/
public class EchoBaseServiceSupport implements EchoBaseService {
+ @Inject
protected EchoBaseServiceContext serviceContext;
- @Override
- public void setServiceContext(EchoBaseServiceContext serviceContext) {
- this.serviceContext = serviceContext;
- }
-
protected <E extends EchoBaseService> E newService(Class<E> serviceClass) {
return serviceContext.newService(serviceClass);
}
-// public TopiaEchoBasePersistenceContext getEchoBasePersistenceContext() {
-// return serviceContext.getEchoBasePersistenceContext();
-// }
-
- public TopiaEchoBaseInternalPersistenceContext getEchoBaseInternalPersistenceContext() {
- return serviceContext.getEchoBaseInternalPersistenceContext();
- }
-
public final EchoBaseConfiguration getConfiguration() {
return serviceContext.getConfiguration();
}
- protected final String getWorkgingDbUrl() {
- return serviceContext.getWorkgingDbUrl();
+ protected final String getUserDbUrl() {
+ return serviceContext.getUserDbUrl();
}
protected final Locale getLocale() {
@@ -88,48 +66,4 @@
return getConfiguration().getCsvSeparator();
}
- public DbEditorService getDbEditorService() {
- return newService(DbEditorService.class);
- }
-
- public DecoratorService getDecoratorService() {
- return newService(DecoratorService.class);
- }
-
- public InternalDbPersistenceService getInternalDbPersistenceService() {
- return newService(InternalDbPersistenceService.class);
- }
-
-// public WorkingDbPersistenceService getWorkingDbPersistenceService() {
-// return newService(WorkingDbPersistenceService.class);
-// }
-
- public UserService getUserService() {
- return newService(UserService.class);
- }
-
- public SpatialService getSpatialService() {
- return newService(SpatialService.class);
- }
-
- public ExportService getExportService() {
- return newService(ExportService.class);
- }
-
- public ExportDbService getExportDbService() {
- return newService(ExportDbService.class);
- }
-
- public ImportDbService getImportDbService() {
- return newService(ImportDbService.class);
- }
-
- public RemoveDataService getRemoveDataService() {
- return newService(RemoveDataService.class);
- }
-
- public ExportQueryService getExportQueryService() {
- return newService(ExportQueryService.class);
- }
-
}
Added: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EchobaseAieOC.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EchobaseAieOC.java (rev 0)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EchobaseAieOC.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -0,0 +1,55 @@
+package fr.ifremer.echobase.services;
+
+import com.google.common.base.Predicate;
+import com.google.common.collect.Iterables;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.nuiton.util.ReflectUtil;
+
+import javax.inject.Inject;
+import java.lang.reflect.Field;
+
+/**
+ * To inject some stuff.
+ * <p/>
+ * Created on 12/21/13.
+ *
+ * @author Tony Chemit <chemit(a)codelutin.com>
+ * @since 2.6
+ */
+public abstract class EchobaseAieOC {
+
+ /** Logger. */
+ private static final Log log = LogFactory.getLog(EchobaseAieOC.class);
+
+ protected abstract Object toInject(EchoBaseServiceContext serviceContext, Field field) throws ClassNotFoundException;
+
+ public void inject(EchoBaseServiceContext serviceContext, Object o) throws IllegalAccessException, ClassNotFoundException {
+
+ Iterable<Field> declaredFields = Iterables.filter(
+ ReflectUtil.getAllDeclaredFields(o.getClass()),
+ new Predicate<Field>() {
+ @Override
+ public boolean apply(Field input) {
+ return input.isAnnotationPresent(Inject.class);
+ }
+ });
+
+ for (Field field : declaredFields) {
+
+ Object toInject = toInject(serviceContext, field);
+
+ if (toInject != null) {
+
+ if (log.isDebugEnabled()) {
+ log.debug(toInject + " in action " + o + " in " +
+ field.getName());
+ }
+ if (!field.isAccessible()) {
+ field.setAccessible(true);
+ }
+ field.set(o, toInject);
+ }
+ }
+ }
+}
Property changes on: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EchobaseAieOC.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ProgressModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ProgressModel.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ProgressModel.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -22,7 +22,7 @@
*/
package fr.ifremer.echobase.services;
-import org.nuiton.topia.persistence.csv.CsvProgressModel;
+import org.nuiton.topia.service.csv.CsvProgressModel;
import java.io.Serializable;
Added: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ServiceEchobaseAieOC.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ServiceEchobaseAieOC.java (rev 0)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ServiceEchobaseAieOC.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -0,0 +1,54 @@
+package fr.ifremer.echobase.services;
+
+import fr.ifremer.echobase.entities.EchoBaseInternalPersistenceContext;
+import fr.ifremer.echobase.entities.EchoBaseUserPersistenceContext;
+
+import java.lang.reflect.Field;
+
+/**
+ * Created on 12/21/13.
+ *
+ * @author Tony Chemit <chemit(a)codelutin.com>
+ * @since 2.6
+ */
+public class ServiceEchobaseAieOC extends EchobaseAieOC {
+
+ @Override
+ protected Object toInject(EchoBaseServiceContext serviceContext,
+ Field field) throws ClassNotFoundException {
+
+ Class<?> propertyType = field.getType();
+ Object toInject = null;
+ if (EchoBaseUserPersistenceContext.class.isAssignableFrom(propertyType)) {
+ toInject = serviceContext.getEchoBaseUserPersistenceContext();
+
+ }
+ if (EchoBaseInternalPersistenceContext.class.isAssignableFrom(propertyType)) {
+ toInject = serviceContext.getEchoBaseInternalPersistenceContext();
+
+ } else if (EchoBaseServiceContext.class.isAssignableFrom(propertyType)) {
+ toInject = serviceContext;
+
+ } else if (EchoBaseService.class.isAssignableFrom(propertyType)) {
+
+ Class<? extends EchoBaseService> serviceClass =
+ (Class<? extends EchoBaseService>) propertyType;
+ toInject = serviceContext.newService(serviceClass);
+
+ }
+// else if (TopiaDao.class.isAssignableFrom(propertyType)) {
+//
+// Class<? extends TopiaDao> daoClass =
+// (Class<? extends TopiaDao>) propertyType;
+//
+// // need then also a @Named annotation with type of entity
+//
+// Named named = field.getAnnotation(Named.class);
+// String entityClassFqn = named.value();
+// Class<TopiaEntity> entityClass = (Class<TopiaEntity>) Class.forName(entityClassFqn);
+// toInject = serviceContext.getEchoBaseUserPersistenceContext().getDao(entityClass, daoClass);
+// }
+
+ return toInject;
+ }
+}
Property changes on: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ServiceEchobaseAieOC.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/DbEditorService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/DbEditorService.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/DbEditorService.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -29,10 +29,10 @@
import com.google.common.collect.Maps;
import fr.ifremer.echobase.EchoBaseTechnicalException;
import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
+import fr.ifremer.echobase.entities.AbstractEchoBaseDao;
import fr.ifremer.echobase.entities.EchoBaseUser;
-import fr.ifremer.echobase.entities.TopiaEchoBasePersistenceContext;
-import fr.ifremer.echobase.services.EchoBaseServiceContext;
+import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum;
+import fr.ifremer.echobase.entities.EchoBaseUserPersistenceContext;
import fr.ifremer.echobase.services.EchoBaseServiceSupport;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
@@ -44,10 +44,9 @@
import org.nuiton.csv.ImportableColumn;
import org.nuiton.decorator.Decorator;
import org.nuiton.decorator.JXPathDecorator;
-import org.nuiton.topia.TopiaException;
-import org.nuiton.topia.persistence.TopiaDAO;
+import org.nuiton.topia.persistence.TopiaDao;
import org.nuiton.topia.persistence.TopiaEntity;
-import org.nuiton.topia.persistence.csv.EntityCsvModel;
+import org.nuiton.topia.persistence.TopiaException;
import org.nuiton.topia.persistence.metadata.ColumnMeta;
import org.nuiton.topia.persistence.metadata.DbMeta;
import org.nuiton.topia.persistence.metadata.TableMeta;
@@ -55,11 +54,15 @@
import org.nuiton.topia.persistence.pager.FilterRuleGroupOperator;
import org.nuiton.topia.persistence.pager.FilterRuleOperator;
import org.nuiton.topia.persistence.pager.TopiaPagerBean;
+import org.nuiton.topia.persistence.util.TopiaUtil;
+import org.nuiton.topia.service.csv.EntityCsvModel;
import org.nuiton.util.PagerBeanUtil;
import org.nuiton.util.beans.BeanMonitor;
import org.nuiton.util.beans.PropertyDiff;
+import javax.inject.Inject;
import java.util.Collection;
+import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.Locale;
@@ -78,21 +81,27 @@
/** Logger. */
private static final Log log = LogFactory.getLog(DbEditorService.class);
- private WorkingDbPersistenceService persistenceService;
+ @Inject
+ private UserDbPersistenceService persistenceService;
- private TopiaEchoBasePersistenceContext persistenceContext;
+ @Inject
+ private DecoratorService decoratorService;
- @Override
- public void setServiceContext(EchoBaseServiceContext serviceContext) {
- super.setServiceContext(serviceContext);
- persistenceService = serviceContext.newService(WorkingDbPersistenceService.class);
- persistenceContext = serviceContext.getEchoBasePersistenceContext();
- }
+ @Inject
+ private EchoBaseUserPersistenceContext persistenceContext;
+
+// @Override
+// public void setServiceContext(EchoBaseServiceContext serviceContext) {
+// super.setServiceContext(serviceContext);
+// persistenceService = serviceContext.newService(UserDbPersistenceService.class);
+// persistenceContext = serviceContext.getEchoBaseUserPersistenceContext();
+// }
+
public <E extends TopiaEntity> List<E> getForeignData(Class<E> entityType) {
Preconditions.checkNotNull(entityType);
try {
- TopiaDAO<E> dao = persistenceContext.getDAO(entityType);
+ TopiaDao<E> dao = persistenceContext.getDao(entityType);
List<E> result = dao.findAll();
return result;
@@ -101,15 +110,15 @@
}
}
- public TableMeta<EchoBaseEntityEnum> getTableMeta(EchoBaseEntityEnum tableName) {
- DbMeta<EchoBaseEntityEnum> dbMeta = getDbMeta();
- TableMeta<EchoBaseEntityEnum> result = dbMeta.getTable(tableName);
+ public TableMeta<EchoBaseUserEntityEnum> getTableMeta(EchoBaseUserEntityEnum tableName) {
+ DbMeta<EchoBaseUserEntityEnum> dbMeta = getDbMeta();
+ TableMeta<EchoBaseUserEntityEnum> result = dbMeta.getTable(tableName);
return result;
}
- public Map<?, ?>[] getData(EchoBaseEntityEnum type, TopiaPagerBean pager) {
+ public Map<?, ?>[] getData(EchoBaseUserEntityEnum type, TopiaPagerBean pager) {
- TableMeta<EchoBaseEntityEnum> meta = getTableMeta(type);
+ TableMeta<EchoBaseUserEntityEnum> meta = getTableMeta(type);
List<TopiaEntity> entities = getEntities(meta, pager);
@@ -126,16 +135,16 @@
return rows;
}
- public <E extends TopiaEntity> List<E> getEntities(TableMeta<EchoBaseEntityEnum> tableMeta,
+ public <E extends TopiaEntity> List<E> getEntities(TableMeta<EchoBaseUserEntityEnum> tableMeta,
TopiaPagerBean pager) {
- EchoBaseEntityEnum entityEnum = tableMeta.getSource();
+ EchoBaseUserEntityEnum entityEnum = tableMeta.getSource();
try {
- TopiaDAO<E> dao = (TopiaDAO<E>) persistenceContext.getDAO(entityEnum.getContract());
+ AbstractEchoBaseDao<E> dao = (AbstractEchoBaseDao<E>) persistenceContext.getDao(entityEnum.getContract());
List<Object> paramsList = Lists.newArrayList();
- String hql = dao.createSimpleQuery("e");
+ String hql = dao.newFromClause("e");
if (pager != null && pager.canFilter()) {
String filterHql = getFilterHql(tableMeta, pager, paramsList);
@@ -149,7 +158,8 @@
}
- long count = dao.countByQuery("SELECT COUNT(*) " + hql, params);
+ Map<String, Object> hqlParameters = TopiaUtil.convertPropertiesArrayToMap(params);
+ Long count = dao.findAny("SELECT COUNT(*) " + hql, hqlParameters);
if (pager != null) {
@@ -157,37 +167,36 @@
PagerBeanUtil.computeRecordIndexesAndPagesNumber(pager);
}
- List<E> result = dao.findAllByQueryAndPager(hql, pager, params);
+ List<E> result = dao.find(hql, hqlParameters, pager);
return result;
} catch (TopiaException eee) {
throw new EchoBaseTechnicalException("Could not obtain data", eee);
}
}
- public <E extends TopiaEntity> Iterable<E> iterateOnEntities(TableMeta<EchoBaseEntityEnum> tableMeta,
+ public <E extends TopiaEntity> Iterable<E> iterateOnEntities(TableMeta<EchoBaseUserEntityEnum> tableMeta,
String extraWhereQuery) {
try {
- TopiaDAO<E> dao = (TopiaDAO<E>) persistenceContext.getDAO(tableMeta.getSource().getContract());
+ AbstractEchoBaseDao<E> dao = (AbstractEchoBaseDao<E>) persistenceContext.getDao(tableMeta.getSource().getContract());
- String hql = "FROM " +
- dao.getTopiaEntityEnum().getImplementationFQN() + " e";
+ String hql = dao.newFromClause("e");
if (extraWhereQuery != null) {
hql += " WHERE " + extraWhereQuery;
}
hql += " ORDER BY e.id";
- Iterable<E> result = dao.findAllLazyByQuery(5000, hql);
+ Iterable<E> result = dao.forHql(hql, Collections.<String, Object>emptyMap()).findAllLazy(5000);
return result;
} catch (TopiaException eee) {
throw new EchoBaseTechnicalException("Could not obtain data", eee);
}
}
- public Map<?, ?> getData(TableMeta<EchoBaseEntityEnum> tableMeta, String topiaId) {
+ public Map<?, ?> getData(TableMeta<EchoBaseUserEntityEnum> tableMeta, String topiaId) {
- EchoBaseEntityEnum entityEnum = tableMeta.getSource();
+ EchoBaseUserEntityEnum entityEnum = tableMeta.getSource();
try {
- TopiaDAO<?> dao = persistenceContext.getDAO(entityEnum.getContract());
+ AbstractEchoBaseDao<?> dao = (AbstractEchoBaseDao<?>) persistenceContext.getDao(entityEnum.getContract());
TopiaEntity entity = dao.findByTopiaId(topiaId);
ExportModel<TopiaEntity> model = buildForLoad(tableMeta, TopiaEntity.PROPERTY_TOPIA_ID, true);
return loadRow(entity, model);
@@ -196,7 +205,7 @@
}
}
- public void saveEntity(TableMeta<EchoBaseEntityEnum> meta,
+ public void saveEntity(TableMeta<EchoBaseUserEntityEnum> meta,
Map<String, String> properties,
EchoBaseUser user) {
@@ -231,7 +240,7 @@
persistenceService.commit();
}
- public boolean saveEntity(TableMeta<EchoBaseEntityEnum> tableMeta,
+ public boolean saveEntity(TableMeta<EchoBaseUserEntityEnum> tableMeta,
String messagePrefix,
TopiaEntity entity,
EchoBaseUser user,
@@ -242,7 +251,7 @@
String id = entity.getTopiaId();
try {
- TopiaDAO<?> dao = persistenceContext.getDAO(tableMeta.getSource().getContract());
+ TopiaDao<?> dao = persistenceContext.getDao(tableMeta.getSource().getContract());
TopiaEntity entityToSave;
@@ -307,10 +316,10 @@
}
protected <O> Decorator<O> getDecorator(Class<O> type) {
- return getDecoratorService().getDecorator(getLocale(), type, null);
+ return decoratorService.getDecorator(getLocale(), type, null);
}
- protected String getFilterHql(TableMeta<EchoBaseEntityEnum> tableMeta,
+ protected String getFilterHql(TableMeta<EchoBaseUserEntityEnum> tableMeta,
TopiaPagerBean pager,
List<Object> params) {
Preconditions.checkNotNull(pager);
@@ -426,7 +435,7 @@
return filterHql;
}
- protected void createEntityModificationLog(TableMeta<EchoBaseEntityEnum> tableMeta,
+ protected void createEntityModificationLog(TableMeta<EchoBaseUserEntityEnum> tableMeta,
String messagePrefix,
TopiaEntity entity,
EchoBaseUser user,
@@ -471,11 +480,11 @@
// replace by the decorate value
if (sourceValue != null) {
- sourceValue = getDecoratorService().decorate(
+ sourceValue = decoratorService.decorate(
l, sourceValue, null);
}
if (targetValue != null) {
- targetValue = getDecoratorService().decorate(
+ targetValue = decoratorService.decorate(
l, targetValue, null);
}
}
@@ -530,9 +539,9 @@
return row;
}
- protected <E extends TopiaEntity> ImportExportModel<E> buildForSave(TableMeta<EchoBaseEntityEnum> meta) {
+ protected <E extends TopiaEntity> ImportExportModel<E> buildForSave(TableMeta<EchoBaseUserEntityEnum> meta) {
- EntityCsvModel<EchoBaseEntityEnum, E> model = EntityCsvModel.newModel(
+ EntityCsvModel<EchoBaseUserEntityEnum, E> model = EntityCsvModel.newModel(
getConfiguration().getCsvSeparator(),
meta,
TopiaEntity.PROPERTY_TOPIA_ID
@@ -560,11 +569,11 @@
return model;
}
- protected <E extends TopiaEntity> ExportModel<E> buildForLoad(TableMeta<EchoBaseEntityEnum> meta,
+ protected <E extends TopiaEntity> ExportModel<E> buildForLoad(TableMeta<EchoBaseUserEntityEnum> meta,
String idName,
boolean addDecorated) {
- EntityCsvModel<EchoBaseEntityEnum, E> model = EntityCsvModel.newModel(
+ EntityCsvModel<EchoBaseUserEntityEnum, E> model = EntityCsvModel.newModel(
getConfiguration().getCsvSeparator(),
meta,
idName
@@ -620,7 +629,7 @@
// List<E> result;
// EchoBaseEntityEnum entityEnum = tableMeta.getSource();
// try {
-// TopiaDAO<E> dao = (TopiaDAO<E>) getDAO(entityEnum.getContract());
+// TopiaDao<E> dao = (TopiaDao<E>) getDAO(entityEnum.getContract());
//
// // first query to count datas
// TopiaQuery countQuery = dao.createQuery("e");
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/DecoratorService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/DecoratorService.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/DecoratorService.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -88,11 +88,11 @@
import fr.ifremer.echobase.entities.references.VesselType;
import fr.ifremer.echobase.services.EchoBaseServiceSupport;
import org.apache.commons.collections.CollectionUtils;
-import org.nuiton.topia.persistence.TopiaEntity;
import org.nuiton.decorator.Decorator;
import org.nuiton.decorator.DecoratorMulti18nProvider;
import org.nuiton.decorator.DecoratorUtil;
import org.nuiton.decorator.JXPathDecorator;
+import org.nuiton.topia.persistence.TopiaEntity;
import java.util.Collection;
import java.util.List;
Deleted: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/InternalDbPersistenceService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/InternalDbPersistenceService.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/InternalDbPersistenceService.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -1,182 +0,0 @@
-package fr.ifremer.echobase.services.service;
-
-/*
- * #%L
- * EchoBase :: Services
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2011 - 2013 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 fr.ifremer.echobase.entities.AbstractTopiaEchoBaseInternalPersistenceContext;
-import fr.ifremer.echobase.entities.EchoBaseInternalEntityEnum;
-import fr.ifremer.echobase.entities.EchoBaseUserDAO;
-import fr.ifremer.echobase.entities.ExportQueryDAO;
-import fr.ifremer.echobase.entities.WorkingDbConfigurationDAO;
-import fr.ifremer.echobase.services.EchoBaseServiceSupport;
-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.TopiaIdFactory;
-
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-
-/**
- * TODO
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 2.2
- */
-public class InternalDbPersistenceService extends EchoBaseServiceSupport {
-
-
- public void commitTransaction() {
- getEchoBaseInternalPersistenceContext().commitTransaction();
- }
-
- public WorkingDbConfigurationDAO getWorkingDbConfigurationDAO() throws TopiaException {
- return getEchoBaseInternalPersistenceContext().getWorkingDbConfigurationDAO();
- }
-
- public <E extends TopiaEntity> TopiaDAO<E> getDAO(Class<E> entityClass) {
- return getEchoBaseInternalPersistenceContext().getDAO(entityClass);
- }
-
- public <E extends TopiaEntity, D extends TopiaDAO<E>> D getDAO(Class<E> entityClass, Class<D> daoClass) {
- return getEchoBaseInternalPersistenceContext().getDAO(entityClass, daoClass);
- }
-
- public boolean isTableExists(Class<?> clazz) {
- return getEchoBaseInternalPersistenceContext().isTableExists(clazz);
- }
-
- public <T extends TopiaEntity> void replicateEntity(TopiaContext destinationContext, T entity) throws IllegalArgumentException {
- getEchoBaseInternalPersistenceContext().replicateEntity(destinationContext, entity);
- }
-
- public static String getModelName() {
- return AbstractTopiaEchoBaseInternalPersistenceContext.getModelName();
- }
-
- public Properties getConfig() {
- return getEchoBaseInternalPersistenceContext().getConfig();
- }
-
- public static <T extends TopiaEntity> Class<T> getContractClass(Class<T> klass) {
- return AbstractTopiaEchoBaseInternalPersistenceContext.getContractClass(klass);
- }
-
-
- public List<Class<?>> getPersistenceClasses() {
- return getEchoBaseInternalPersistenceContext().getPersistenceClasses();
- }
-
- public void rollbackTransaction() {
- getEchoBaseInternalPersistenceContext().rollbackTransaction();
- }
-
- public static String getModelVersion() {
- return AbstractTopiaEchoBaseInternalPersistenceContext.getModelVersion();
- }
-
- public void createSchema() {
- getEchoBaseInternalPersistenceContext().createSchema();
- }
-
- public EchoBaseUserDAO getEchoBaseUserDAO() throws TopiaException {
- return getEchoBaseInternalPersistenceContext().getEchoBaseUserDAO();
- }
-
- public boolean isClosed() {
- return getEchoBaseInternalPersistenceContext().isClosed();
- }
-
- public TopiaIdFactory getTopiaIdFactory() {
- return getEchoBaseInternalPersistenceContext().getTopiaIdFactory();
- }
-
- public void setUseFlushMode(boolean useFlushMode) {
- getEchoBaseInternalPersistenceContext().setUseFlushMode(useFlushMode);
- }
-
- public <E extends TopiaEntity> E findByTopiaId(String topiaId) {
- return getEchoBaseInternalPersistenceContext().findByTopiaId(topiaId);
- }
-
- public static EchoBaseInternalEntityEnum[] getContracts() {
- return AbstractTopiaEchoBaseInternalPersistenceContext.getContracts();
- }
-
- public void closeContext() {
- getEchoBaseInternalPersistenceContext().closeContext();
- }
-
- public String getSchemaName() {
- return getEchoBaseInternalPersistenceContext().getSchemaName();
- }
-
- public ExportQueryDAO getExportQueryDAO() throws TopiaException {
- return getEchoBaseInternalPersistenceContext().getExportQueryDAO();
- }
-
- public void dropSchema() {
- getEchoBaseInternalPersistenceContext().dropSchema();
- }
-
- public void updateSchema() {
- getEchoBaseInternalPersistenceContext().updateSchema();
- }
-
- public void update(TopiaEntity entity) {
- getEchoBaseInternalPersistenceContext().update(entity);
- }
-
- public void replicate(TopiaContext destinationContext, Object... entityAndCondition) throws IllegalArgumentException {
- getEchoBaseInternalPersistenceContext().replicate(destinationContext, entityAndCondition);
- }
-
- public <T extends TopiaEntity> void replicateEntities(TopiaContext destinationContext, List<T> entities) throws IllegalArgumentException {
- getEchoBaseInternalPersistenceContext().replicateEntities(destinationContext, entities);
- }
-
- public void showCreateSchema() {
- getEchoBaseInternalPersistenceContext().showCreateSchema();
- }
-
- public static String getImplementationClassesAsString() {
- return AbstractTopiaEchoBaseInternalPersistenceContext.getImplementationClassesAsString();
- }
-
- public boolean isSchemaEmpty() {
- return getEchoBaseInternalPersistenceContext().isSchemaEmpty();
- }
-
-// public <E extends TopiaEntity> E getEntityById(Class<E> entityType, String id) {
-// return getEchoBaseInternalPersistenceContext().getEntityById(entityType, id);
-// }
-
- public <E extends TopiaEntity> Map<String, String> loadSortAndDecorate(Class<E> beanType) {
-
- List<E> beans = getEchoBaseInternalPersistenceContext().getDAO(beanType).findAll();
- return getDecoratorService().sortAndDecorate(getLocale(), beans, null);
- }
-
-}
Copied: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/UserDbPersistenceService.java (from rev 924, trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/WorkingDbPersistenceService.java)
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/UserDbPersistenceService.java (rev 0)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/UserDbPersistenceService.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -0,0 +1,777 @@
+package fr.ifremer.echobase.services.service;
+
+/*
+ * #%L
+ * EchoBase :: Services
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2011 - 2013 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.base.Function;
+import com.google.common.base.Optional;
+import com.google.common.base.Predicate;
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Maps;
+import fr.ifremer.echobase.EchoBaseTechnicalException;
+import fr.ifremer.echobase.entities.EchoBaseUserPersistenceContext;
+import fr.ifremer.echobase.entities.EntityModificationLog;
+import fr.ifremer.echobase.entities.ImportLog;
+import fr.ifremer.echobase.entities.ImportType;
+import fr.ifremer.echobase.entities.data.Category;
+import fr.ifremer.echobase.entities.data.Cell;
+import fr.ifremer.echobase.entities.data.Data;
+import fr.ifremer.echobase.entities.data.DataAcquisition;
+import fr.ifremer.echobase.entities.data.DataProcessing;
+import fr.ifremer.echobase.entities.data.Echotype;
+import fr.ifremer.echobase.entities.data.GearMetadataValue;
+import fr.ifremer.echobase.entities.data.LengthAgeKey;
+import fr.ifremer.echobase.entities.data.LengthWeightKey;
+import fr.ifremer.echobase.entities.data.Operation;
+import fr.ifremer.echobase.entities.data.OperationMetadataValue;
+import fr.ifremer.echobase.entities.data.Result;
+import fr.ifremer.echobase.entities.data.Sample;
+import fr.ifremer.echobase.entities.data.SampleData;
+import fr.ifremer.echobase.entities.data.Transect;
+import fr.ifremer.echobase.entities.data.Transit;
+import fr.ifremer.echobase.entities.data.Voyage;
+import fr.ifremer.echobase.entities.references.AcousticInstrument;
+import fr.ifremer.echobase.entities.references.AgeCategory;
+import fr.ifremer.echobase.entities.references.AreaOfOperation;
+import fr.ifremer.echobase.entities.references.CellType;
+import fr.ifremer.echobase.entities.references.DataMetadata;
+import fr.ifremer.echobase.entities.references.Mission;
+import fr.ifremer.echobase.entities.references.SampleDataType;
+import fr.ifremer.echobase.entities.references.SampleType;
+import fr.ifremer.echobase.entities.references.SexCategory;
+import fr.ifremer.echobase.entities.references.SizeCategory;
+import fr.ifremer.echobase.entities.references.Species;
+import fr.ifremer.echobase.entities.references.SpeciesCategory;
+import fr.ifremer.echobase.entities.references.Vessel;
+import fr.ifremer.echobase.entities.spatial.CellPoint;
+import fr.ifremer.echobase.services.EchoBaseServiceSupport;
+import org.nuiton.csv.ValueParser;
+import org.nuiton.topia.persistence.TopiaDao;
+import org.nuiton.topia.persistence.TopiaEntity;
+import org.nuiton.topia.persistence.TopiaException;
+import org.nuiton.topia.persistence.TopiaIdFactory;
+import org.nuiton.topia.persistence.TopiaNotFoundException;
+import org.nuiton.topia.persistence.support.TopiaSqlQuery;
+
+import javax.inject.Inject;
+import java.util.Collection;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * TODO
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 2.2
+ */
+public class UserDbPersistenceService extends EchoBaseServiceSupport {
+
+ @Inject
+ private EchoBaseUserPersistenceContext persistenceContext;
+
+ @Inject
+ private DecoratorService decoratorService;
+
+ //------------------------------------------------------------------------//
+ //--- AgeCategory --------------------------------------------------------//
+ //------------------------------------------------------------------------//
+
+ public AgeCategory createAgeCategory(String ageCategoryName,
+ String ageCategoryMeaning) {
+
+ AgeCategory ageCategory = persistenceContext.getAgeCategoryDao().create(
+ AgeCategory.PROPERTY_NAME, ageCategoryName,
+ AgeCategory.PROPERTY_MEANING, ageCategoryMeaning
+ );
+ return ageCategory;
+ }
+
+ //------------------------------------------------------------------------//
+ //--- AreaOfOperation ----------------------------------------------------//
+ //------------------------------------------------------------------------//
+
+ public AreaOfOperation getAreaOfOperation(String id) {
+ AreaOfOperation areaOfOperation = persistenceContext.getAreaOfOperationDao().
+ findByTopiaId(id);
+ return areaOfOperation;
+ }
+
+ //------------------------------------------------------------------------//
+ //--- Category -----------------------------------------------------------//
+ //------------------------------------------------------------------------//
+
+ public Category getCategoryByEchotypeAndSpeciesCategory(Echotype echotype,
+ SpeciesCategory speciesCategory) {
+ Category category = persistenceContext.getCategoryDao().forProperties(
+ Category.PROPERTY_ECHOTYPE, echotype,
+ Category.PROPERTY_SPECIES_CATEGORY, speciesCategory
+ ).findAnyOrNull();
+ return category;
+ }
+
+ public List<Category> getCategoryUsingEchotype(Voyage voyage) throws TopiaException {
+
+ List<Category> result = persistenceContext.getCategoryDao().
+ getCategoryUsingEchotype(voyage);
+ return result;
+ }
+
+ public List<Category> getCategorysByEchotype(Echotype echotype) {
+ List<Category> result = persistenceContext.getCategoryDao().forEchotypeEquals(echotype).findAll();
+ return result;
+ }
+
+ public Iterable<Category> getCategories(Predicate<Category> acceptPredicate) {
+ Iterable<Category> result = Iterables.filter(
+ persistenceContext.getCategoryDao(),
+ acceptPredicate);
+ return result;
+ }
+
+ public long countCategoryUsingEchotype(Voyage voyage) throws TopiaException {
+
+ long result = persistenceContext.getCategoryDao().
+ countCategoryUsingEchotype(voyage);
+ return result;
+ }
+
+ public Category createCategory(Echotype echotype,
+ SpeciesCategory speciesCategory) {
+ Category category = persistenceContext.getCategoryDao().create(
+ Category.PROPERTY_ECHOTYPE, echotype,
+ Category.PROPERTY_SPECIES_CATEGORY, speciesCategory
+ );
+ return category;
+ }
+
+ public void deleteCategory(Category category) {
+ persistenceContext.getCategoryDao().delete(category);
+ }
+
+ public void deleteCategories(Collection<Category> categories) {
+ persistenceContext.getCategoryDao().deleteAll(categories);
+ }
+
+ //------------------------------------------------------------------------//
+ //--- Cell ---------------------------------------------------------------//
+ //------------------------------------------------------------------------//
+
+ public Cell getCell(String id) {
+ return persistenceContext.getCellDao().findByTopiaId(id);
+ }
+
+ public Cell getCellContainsResult(Result result) {
+ return persistenceContext.getCellDao().findContainsResult(result);
+ }
+
+ public long countVoyageOrphanCells(final Voyage voyage) {
+ return persistenceContext.getCellDao().countVoyageOrphanCells(voyage);
+ }
+
+ public long countVoyageCellResults(final Voyage voyage) {
+ return persistenceContext.getCellDao().countVoyageCellResults(voyage);
+ }
+
+ public List<String> getVoyageCellIds() throws TopiaException {
+ return persistenceContext.getCellDao().getVoyageCellIds();
+ }
+
+ public List<String> getVoyageCellIds(Voyage voyage) throws TopiaException {
+ return persistenceContext.getCellDao().getVoyageCellIds(voyage);
+ }
+
+ public List<CellPoint> getVoyageCellPoints(Voyage voyage, CellType cellType) {
+ return persistenceContext.getCellDao().getVoyageCellPoints(voyage, cellType);
+ }
+
+ public ValueParser<Cell> newCellValueParser(Voyage voyage) {
+ return persistenceContext.getCellDao().newCellValueParser(voyage);
+ }
+
+ public Cell createCell(CellType cellType,
+ String cellName) {
+ Cell cell = persistenceContext.getCellDao().create(
+ Cell.PROPERTY_CELL_TYPE, cellType,
+ Cell.PROPERTY_NAME, cellName);
+ return cell;
+ }
+
+ public Cell createCell(Cell cell) {
+ Cell cellCreated = persistenceContext.getCellDao().create(cell);
+ return cellCreated;
+ }
+
+ public void deleteCell(Cell cell) {
+ persistenceContext.getCellDao().delete(cell);
+ }
+
+ //------------------------------------------------------------------------//
+ //--- CellType -----------------------------------------------------------//
+ //------------------------------------------------------------------------//
+
+ public CellType getCellType(String id) {
+ CellType cellType = persistenceContext.getCellTypeDao().findByTopiaId(id);
+ return cellType;
+ }
+
+ public CellType getCellTypeById(String id) {
+ CellType cellType = persistenceContext.getCellTypeDao().forIdEquals(id).findUnique();
+ return cellType;
+ }
+
+ //------------------------------------------------------------------------//
+ //--- Data ---------------------------------------------------------------//
+ //------------------------------------------------------------------------//
+
+ public Data createData(DataMetadata dataMetaData, String dataValue) {
+ Data data = persistenceContext.getDataDao().create(
+ Data.PROPERTY_DATA_METADATA, dataMetaData,
+ Data.PROPERTY_DATA_VALUE, dataValue
+ );
+ return data;
+ }
+
+ //------------------------------------------------------------------------//
+ //--- DataAcquisition ----------------------------------------------------//
+ //------------------------------------------------------------------------//
+
+ public DataAcquisition getDataAcquisition(String id) {
+ return persistenceContext.getDataAcquisitionDao().findByTopiaId(id);
+ }
+
+ public DataAcquisition createDataAcquisition(AcousticInstrument instrument) {
+ DataAcquisition dataAcquisition =
+ persistenceContext.getDataAcquisitionDao().create(
+ DataAcquisition.PROPERTY_ACOUSTIC_INSTRUMENT, instrument
+ );
+ return dataAcquisition;
+ }
+
+ public void deleteDataAcquisition(DataAcquisition dataAcquisition) {
+ persistenceContext.getDataAcquisitionDao().delete(dataAcquisition);
+ }
+
+ //------------------------------------------------------------------------//
+ //--- DataMetadata -------------------------------------------------------//
+ //------------------------------------------------------------------------//
+
+ public DataMetadata getDataMetadata(String id) {
+ DataMetadata dataMetadata = persistenceContext.getDataMetadataDao().
+ findByTopiaId(id);
+ return dataMetadata;
+ }
+
+ public DataMetadata getDataMetadataByName(String name) {
+ DataMetadata dataMetadata = persistenceContext.getDataMetadataDao().
+ forNameEquals(name).findUnique();
+ return dataMetadata;
+ }
+
+ //------------------------------------------------------------------------//
+ //--- DataProcessing -----------------------------------------------------//
+ //------------------------------------------------------------------------//
+
+ public DataProcessing createDataProcessing(String id,
+ String processingTemplate) {
+ DataProcessing dataAcquisition = persistenceContext.getDataProcessingDao().create(
+ DataProcessing.PROPERTY_ID, id,
+ DataProcessing.PROPERTY_PROCESSING_TEMPLATE, processingTemplate
+ );
+ return dataAcquisition;
+ }
+
+ public DataProcessing getDataProcessing(String id) {
+ DataProcessing dataAcquisition = persistenceContext.getDataProcessingDao().findByTopiaId(id);
+ return dataAcquisition;
+ }
+
+ public DataProcessing getDataProcessingContainsCell(Cell cell) {
+ DataProcessing dataAcquisition = persistenceContext.getDataProcessingDao().findContainsCell(cell);
+ return dataAcquisition;
+ }
+
+ //------------------------------------------------------------------------//
+ //--- Echotype -----------------------------------------------------------//
+ //------------------------------------------------------------------------//
+
+ public Optional<Echotype> getOptionalEchotype(String id) {
+ return Optional.fromNullable(persistenceContext.getEchotypeDao().forTopiaIdEquals(id).findAnyOrNull());
+ }
+
+ public Echotype getEchotype(String id) {
+ return persistenceContext.getEchotypeDao().findByTopiaId(id);
+ }
+
+ public Echotype createEchotype(Echotype echotype) {
+ Echotype echotypeCreated = persistenceContext.getEchotypeDao().create(echotype);
+ return echotypeCreated;
+ }
+
+ public void deleteEchotype(Echotype echotype) {
+ persistenceContext.getEchotypeDao().delete(echotype);
+ }
+
+ //------------------------------------------------------------------------//
+ //--- EntityModificationLog ----------------------------------------------//
+ //------------------------------------------------------------------------//
+
+ public EntityModificationLog createEntityModificationLog(String entityType,
+ String entityId,
+ String userEmail,
+ Date date,
+ String comment) {
+ EntityModificationLog result = persistenceContext.getEntityModificationLogDao().create(
+ EntityModificationLog.PROPERTY_ENTITY_TYPE, entityType,
+ EntityModificationLog.PROPERTY_ENTITY_ID, entityId,
+ EntityModificationLog.PROPERTY_MODIFICATION_USER, userEmail,
+ EntityModificationLog.PROPERTY_MODIFICATION_DATE, date,
+ EntityModificationLog.PROPERTY_MODIFICATION_TEXT, comment
+ );
+ return result;
+ }
+
+ //------------------------------------------------------------------------//
+ //--- GearMetadataValue --------------------------------------------------//
+ //------------------------------------------------------------------------//
+
+ public GearMetadataValue createGearMetadataValue(GearMetadataValue gearMetadataValue) {
+ GearMetadataValue gearMetadataValueCreated = persistenceContext.getGearMetadataValueDao().create(gearMetadataValue);
+ return gearMetadataValueCreated;
+ }
+
+ //------------------------------------------------------------------------//
+ //--- ImportLog ----------------------------------------------------------//
+ //------------------------------------------------------------------------//
+
+ public List<ImportLog> getImportLogs() {
+ return persistenceContext.getImportLogDao().findAll();
+ }
+
+ public ImportLog getImportLog(String id) {
+ return persistenceContext.getImportLogDao().findByTopiaId(id);
+ }
+
+ public ImportLog createImportLog(String voyageId,
+ ImportType importType,
+ String userEMail,
+ Date date,
+ String comment,
+ List<String> importIds) {
+ ImportLog importLog = persistenceContext.getImportLogDao().create(
+ ImportLog.PROPERTY_VOYAGE_ID, voyageId,
+ ImportLog.PROPERTY_IMPORT_TYPE, importType,
+ ImportLog.PROPERTY_IMPORT_USER, userEMail,
+ ImportLog.PROPERTY_IMPORT_DATE, date,
+ ImportLog.PROPERTY_IMPORT_TEXT, comment,
+ ImportLog.PROPERTY_IMPORT_ID, importIds
+ );
+ return importLog;
+ }
+
+ public void deleteImportLog(ImportLog importLog) {
+ persistenceContext.getImportLogDao().delete(importLog);
+ }
+
+ //------------------------------------------------------------------------//
+ //--- LengthAgeKey -------------------------------------------------------//
+ //------------------------------------------------------------------------//
+
+ public LengthAgeKey getLengthAgeKey(String id) {
+ return persistenceContext.getLengthAgeKeyDao().findByTopiaId(id);
+ }
+
+ public LengthAgeKey createLengthAgeKey(LengthAgeKey lengthAgeKey) {
+ LengthAgeKey lengthAgeKeyCreated = persistenceContext.getLengthAgeKeyDao().create(lengthAgeKey);
+ return lengthAgeKeyCreated;
+ }
+
+ public void deleteLengthAgeKey(LengthAgeKey lengthAgeKey) {
+ persistenceContext.getLengthAgeKeyDao().delete(lengthAgeKey);
+ }
+
+ //------------------------------------------------------------------------//
+ //--- LengthWeightKey ----------------------------------------------------//
+ //------------------------------------------------------------------------//
+
+ public LengthWeightKey getLengthWeightKey(String id) {
+ return persistenceContext.getLengthWeightKeyDao().findByTopiaId(id);
+ }
+
+ public LengthWeightKey createLengthWeightKey(LengthWeightKey lengthWeightKey) {
+ LengthWeightKey lengthWeightKeyCreated = persistenceContext.getLengthWeightKeyDao().create(lengthWeightKey);
+ return lengthWeightKeyCreated;
+ }
+
+ public void deleteLengthWeightKey(LengthWeightKey lengthAgeKey) {
+ persistenceContext.getLengthWeightKeyDao().delete(lengthAgeKey);
+ }
+
+ //------------------------------------------------------------------------//
+ //--- Mission ------------------------------------------------------------//
+ //------------------------------------------------------------------------//
+
+ public Mission getMission(String id) {
+ Mission mission = persistenceContext.getMissionDao().findByTopiaId(id);
+ return mission;
+ }
+
+ public boolean isMissionExistByName(String missionname) {
+ boolean result = persistenceContext.getMissionDao().forNameEquals(missionname).exists();
+ return result;
+ }
+
+ public Mission createMission(Mission mission) {
+ Mission missionCreated = persistenceContext.getMissionDao().create(mission);
+ return missionCreated;
+ }
+
+ //------------------------------------------------------------------------//
+ //--- Operation ----------------------------------------------------------//
+ //------------------------------------------------------------------------//
+
+ public Operation getOperation(String id) {
+ return persistenceContext.getOperationDao().findByTopiaId(id);
+ }
+
+ public Operation getOperationContainsSample(Sample sample) {
+ Operation dataAcquisition = persistenceContext.getOperationDao().findContainsSample(sample);
+ return dataAcquisition;
+ }
+
+ public Operation createOperation(Operation operation) {
+ Operation operationCreated = persistenceContext.getOperationDao().create(operation);
+ return operationCreated;
+ }
+
+ public void deleteOperation(Operation operation) {
+ persistenceContext.getOperationDao().delete(operation);
+ }
+
+ //------------------------------------------------------------------------//
+ //--- OperationMetadataValue ---------------------------------------------//
+ //------------------------------------------------------------------------//
+
+ public OperationMetadataValue createOperationMetadataValue(OperationMetadataValue operationMetadataValue) {
+ OperationMetadataValue operationMetadataValueCreated = persistenceContext.getOperationMetadataValueDao().create(operationMetadataValue);
+ return operationMetadataValueCreated;
+ }
+
+ //------------------------------------------------------------------------//
+ //--- Result -------------------------------------------------------------//
+ //------------------------------------------------------------------------//
+
+ public List<Result> getAllWithCategoryCellAndDataMetadata(Set<String> cellIds,
+ DataMetadata requiredDataMetadata,
+ List<String> categoryIds) {
+ return persistenceContext.getResultDao().findAllWithCategoryCellAndDataMetadata(cellIds, requiredDataMetadata, categoryIds);
+ }
+
+ public List<Result> getAllWithNoCategoryCellAndDataMetadata(Set<String> cellIds,
+ DataMetadata requiredDataMetadata) {
+ return persistenceContext.getResultDao().findAllWithNoCategoryCellAndDataMetadata(cellIds, requiredDataMetadata);
+ }
+
+ public Result getResult(String id) {
+ return persistenceContext.getResultDao().findByTopiaId(id);
+ }
+
+ public Result createResult(Result result) {
+ Result resultCreated = persistenceContext.getResultDao().create(result);
+ return resultCreated;
+ }
+
+ public void deleteResult(Result result) {
+ persistenceContext.getResultDao().delete(result);
+ }
+
+ public void deleteResults(Collection<Result> results) {
+ persistenceContext.getResultDao().deleteAll(results);
+ }
+
+ //------------------------------------------------------------------------//
+ //--- Sample -------------------------------------------------------------//
+ //------------------------------------------------------------------------//
+
+ public Sample getSample(String id) {
+ Sample sample = persistenceContext.getSampleDao().findByTopiaId(id);
+ return sample;
+ }
+
+ public Sample newSample() {
+ Sample sample = persistenceContext.getSampleDao().newInstance();
+ return sample;
+ }
+
+ public Sample createSample(Sample sample) {
+ Sample sampleCreated = persistenceContext.getSampleDao().create(sample);
+ return sampleCreated;
+ }
+
+ public void deleteSample(Sample sample) {
+ persistenceContext.getSampleDao().delete(sample);
+ }
+
+ //------------------------------------------------------------------------//
+ //--- SampleType ---------------------------------------------------------//
+ //------------------------------------------------------------------------//
+
+ public SampleType getSampleTypeByName(String name) {
+ SampleType sampleDataType = persistenceContext.getSampleTypeDao().forNameEquals(name).findUnique();
+ return sampleDataType;
+ }
+
+ //------------------------------------------------------------------------//
+ //--- SampleData ---------------------------------------------------------//
+ //------------------------------------------------------------------------//
+
+ public SampleData createSampleData(SampleDataType sampleDataType,
+ String label,
+ float value) {
+ SampleData sampleCreated = persistenceContext.getSampleDataDao().create(
+ SampleData.PROPERTY_SAMPLE_DATA_TYPE, sampleDataType,
+ SampleData.PROPERTY_DATA_LABEL, label,
+ SampleData.PROPERTY_DATA_VALUE, value
+ );
+ return sampleCreated;
+ }
+
+ public SampleData createSampleData(SampleData sample) {
+ SampleData sampleCreated = persistenceContext.getSampleDataDao().create(
+ sample);
+ return sampleCreated;
+ }
+
+ //------------------------------------------------------------------------//
+ //--- SampleDataType -----------------------------------------------------//
+ //------------------------------------------------------------------------//
+
+ public SampleDataType getSampleDataTypeByName(String name) {
+ SampleDataType sampleDataType = persistenceContext.getSampleDataTypeDao().forNameEquals(name).findUnique();
+ return sampleDataType;
+ }
+
+ //------------------------------------------------------------------------//
+ //--- SizeCategory -------------------------------------------------------//
+ //------------------------------------------------------------------------//
+
+ public SizeCategory createSizeCategory(String sizeCategoryName,
+ String sizeCategoryMeaning) {
+
+ SizeCategory sizeCategory = persistenceContext.getSizeCategoryDao().create(
+ SizeCategory.PROPERTY_NAME, sizeCategoryName,
+ SizeCategory.PROPERTY_MEANING, sizeCategoryMeaning
+ );
+ return sizeCategory;
+ }
+
+ //------------------------------------------------------------------------//
+ //--- SpeciesCategory ----------------------------------------------------//
+ //------------------------------------------------------------------------//
+
+ public Optional<Species> getOptionalSpecies(String id) {
+ Species species = persistenceContext.getSpeciesDao().findByTopiaId(
+ id);
+ return Optional.fromNullable(species);
+ }
+
+ //------------------------------------------------------------------------//
+ //--- SpeciesCategory ----------------------------------------------------//
+ //------------------------------------------------------------------------//
+
+ public SpeciesCategory getSpeciesCategory(Species species,
+ SizeCategory sizeCategory,
+ AgeCategory ageCategory,
+ SexCategory sexCategory) {
+ SpeciesCategory category = persistenceContext.getSpeciesCategoryDao().forProperties(
+ SpeciesCategory.PROPERTY_SPECIES, species,
+ SpeciesCategory.PROPERTY_SIZE_CATEGORY, sizeCategory,
+ SpeciesCategory.PROPERTY_AGE_CATEGORY, ageCategory,
+ SpeciesCategory.PROPERTY_SEX_CATEGORY, sexCategory
+ ).findAnyOrNull();
+ return category;
+ }
+
+ public SpeciesCategory createSpeciesCategory(Species species,
+ SizeCategory sizeCategory,
+ AgeCategory ageCategory,
+ SexCategory sexCategory) {
+ SpeciesCategory category = persistenceContext.getSpeciesCategoryDao().create(
+ SpeciesCategory.PROPERTY_SPECIES, species,
+ SpeciesCategory.PROPERTY_SIZE_CATEGORY, sizeCategory,
+ SpeciesCategory.PROPERTY_AGE_CATEGORY, ageCategory,
+ SpeciesCategory.PROPERTY_SEX_CATEGORY, sexCategory
+ );
+ return category;
+ }
+
+ //------------------------------------------------------------------------//
+ //--- Transect -----------------------------------------------------------//
+ //------------------------------------------------------------------------//
+
+ public Transect getTransect(String id) {
+ return persistenceContext.getTransectDao().findByTopiaId(id);
+ }
+
+ public Transect getTransectContainsOperation(Operation operation) {
+ return persistenceContext.getTransectDao().findContainsOperation(operation);
+ }
+
+ public Transect getTransectContainsDataAcquisition(DataAcquisition dataAcquisition) {
+ return persistenceContext.getTransectDao().findContainsDataAcquisition(dataAcquisition);
+ }
+
+ public Transect createTransect(Transect transect) {
+ Transect transectCreated = persistenceContext.getTransectDao().create(transect);
+ return transectCreated;
+ }
+
+ public void deleteTransect(Transect transect) {
+ persistenceContext.getTransectDao().delete(transect);
+ }
+
+ //------------------------------------------------------------------------//
+ //--- Transit ------------------------------------------------------------//
+ //------------------------------------------------------------------------//
+
+ public Transit getTransit(String id) {
+ return persistenceContext.getTransitDao().findByTopiaId(id);
+ }
+
+ public Transit getTransitContainsTransect(Transect transect) {
+ return persistenceContext.getTransitDao().findContainsTransect(transect);
+ }
+
+ public Transit createTransit(Transit transit) {
+ Transit transitCreated = persistenceContext.getTransitDao().create(transit);
+ return transitCreated;
+ }
+
+ public void deleteTransit(Transit transit) {
+ persistenceContext.getTransitDao().delete(transit);
+ }
+
+ //------------------------------------------------------------------------//
+ //--- Vessel -------------------------------------------------------------//
+ //------------------------------------------------------------------------//
+
+ public Vessel getVessel(String id) {
+ Vessel mission = persistenceContext.getVesselDao().findByTopiaId(id);
+ return mission;
+ }
+
+ //------------------------------------------------------------------------//
+ //--- Voyage -------------------------------------------------------------//
+ //------------------------------------------------------------------------//
+
+ public Voyage getVoyage(String id) {
+ return persistenceContext.getVoyageDao().findByTopiaId(id);
+ }
+
+ public long countVoyage() {
+ return persistenceContext.getVoyageDao().count();
+ }
+
+ public Voyage createVoyage(Voyage voyage) {
+ Voyage voyageCreated = persistenceContext.getVoyageDao().create(voyage);
+ return voyageCreated;
+ }
+
+ public void deleteVoyage(Voyage voyage) {
+ persistenceContext.getVoyageDao().delete(voyage);
+ }
+
+ //------------------------------------------------------------------------//
+ //--- Transversal --------------------------------------------------------//
+ //------------------------------------------------------------------------//
+
+ public <E extends TopiaEntity> Map<String, String> loadSortAndDecorate(Class<E> beanType) {
+
+ List<E> beans = persistenceContext.getDao(beanType).findAll();
+ return decoratorService.sortAndDecorate(getLocale(), beans, null);
+ }
+
+ public <E extends TopiaEntity, K> Map<K, E> getEntitiesMap(
+ Class<E> entityType,
+ Function<E, K> function) {
+ List<E> allVoyages = persistenceContext.getDao(entityType).findAll();
+ Map<K, E> voyageMap = Maps.uniqueIndex(
+ allVoyages, function);
+ return voyageMap;
+ }
+
+ public void executeSQL(String sqlScript) {
+ persistenceContext.getSqlSupport().executeSql(sqlScript);
+ }
+
+ public void clear() {
+ persistenceContext.getHibernateSupport().getHibernateSession().clear();
+ }
+
+ public void flush() {
+ persistenceContext.getHibernateSupport().getHibernateSession().flush();
+ }
+
+ public void commit() {
+ persistenceContext.commit();
+ }
+
+ public <R> R findSingleResult(TopiaSqlQuery<R> sqlQuery) {
+ return persistenceContext.getSqlSupport().findSingleResult(sqlQuery);
+ }
+
+ public <R> List<R> findMultipleResult(TopiaSqlQuery<R> sqlQuery) {
+ return persistenceContext.getSqlSupport().findMultipleResult(sqlQuery);
+ }
+
+ public boolean isPostgresql() {
+ return persistenceContext.isPostgresql();
+ }
+
+ public boolean isSpatialAware() {
+ return persistenceContext.isSpatialAware();
+ }
+
+ public boolean isIdExists(String id) {
+ try {
+ boolean result = getDAOFromId(id).forTopiaIdEquals(id).exists();
+ return result;
+ } catch (TopiaException e) {
+ throw new EchoBaseTechnicalException(
+ "Could not find out if id " + id + " exists.", e);
+ }
+ }
+
+ protected <E extends TopiaEntity> TopiaDao<E> getDAOFromId(String id) {
+ try {
+ TopiaIdFactory topiaIdFactory = persistenceContext.getTopiaIdFactory();
+ Class<E> className = topiaIdFactory.getClassName(id);
+ return persistenceContext.getDao(className);
+ } catch (TopiaNotFoundException e) {
+
+ throw new EchoBaseTechnicalException(
+ "Could not find class from id: " + id, e);
+ }
+ }
+}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/UserService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/UserService.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/UserService.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -25,14 +25,16 @@
import com.google.common.base.Preconditions;
import fr.ifremer.echobase.EchoBaseTechnicalException;
+import fr.ifremer.echobase.entities.EchoBaseInternalPersistenceContext;
import fr.ifremer.echobase.entities.EchoBaseUser;
-import fr.ifremer.echobase.entities.EchoBaseUserDAO;
+import fr.ifremer.echobase.entities.EchoBaseUserTopiaDao;
import fr.ifremer.echobase.services.EchoBaseServiceSupport;
import org.apache.commons.lang3.StringUtils;
-import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.persistence.TopiaException;
import org.nuiton.topia.persistence.pager.TopiaPagerBean;
import org.nuiton.util.StringUtil;
+import javax.inject.Inject;
import java.util.List;
/**
@@ -49,13 +51,16 @@
public static final String DEFAULT_USER_PASSWORD = "user";
+ @Inject
+ EchoBaseInternalPersistenceContext echoBaseInternalPersistenceContext;
+
public List<EchoBaseUser> getUsers() {
return getUsers(null);
}
public List<EchoBaseUser> getUsers(TopiaPagerBean pager) {
try {
- EchoBaseUserDAO dao = getDAO();
+ EchoBaseUserTopiaDao dao = getDao();
List<EchoBaseUser> users = dao.findAll(pager);
return users;
} catch (TopiaException eee) {
@@ -66,7 +71,7 @@
public EchoBaseUser getUserByEmail(String email) {
Preconditions.checkNotNull(email);
try {
- EchoBaseUserDAO dao = getDAO();
+ EchoBaseUserTopiaDao dao = getDao();
EchoBaseUser user = dao.findByEmail(email);
return user;
} catch (TopiaException eee) {
@@ -77,7 +82,7 @@
public EchoBaseUser getUserById(String userId) {
Preconditions.checkNotNull(userId);
try {
- EchoBaseUser user = getDAO().findByTopiaId(userId);
+ EchoBaseUser user = getDao().findByTopiaId(userId);
EchoBaseUser result = newUser();
result.setEmail(user.getEmail());
result.setPassword(user.getPassword());
@@ -96,12 +101,12 @@
String id = user.getTopiaId();
String password = user.getPassword();
if (StringUtils.isEmpty(id)) {
- userToCreateOrUpdate = getDAO().create(
+ userToCreateOrUpdate = getDao().create(
EchoBaseUser.PROPERTY_EMAIL, user.getEmail(),
EchoBaseUser.PROPERTY_PASSWORD, encodePassword(password)
);
} else {
- userToCreateOrUpdate = getDAO().findByTopiaId(id);
+ userToCreateOrUpdate = getDao().findByTopiaId(id);
userToCreateOrUpdate.setEmail(user.getEmail());
if (StringUtils.isNotEmpty(password)) {
@@ -109,7 +114,7 @@
}
}
userToCreateOrUpdate.setAdmin(user.isAdmin());
- getEchoBaseInternalPersistenceContext().commitTransaction();
+ echoBaseInternalPersistenceContext.commit();
} catch (TopiaException eee) {
throw new EchoBaseTechnicalException(eee);
}
@@ -117,9 +122,9 @@
public void delete(EchoBaseUser user) {
try {
- EchoBaseUser userToDelete = getDAO().findByTopiaId(user.getTopiaId());
- getDAO().delete(userToDelete);
- getEchoBaseInternalPersistenceContext().commitTransaction();
+ EchoBaseUser userToDelete = getDao().findByTopiaId(user.getTopiaId());
+ getDao().delete(userToDelete);
+ echoBaseInternalPersistenceContext.commit();
} catch (TopiaException eee) {
throw new EchoBaseTechnicalException(eee);
}
@@ -154,13 +159,13 @@
public EchoBaseUser newUser() {
try {
- return getDAO().newInstance();
+ return getDao().newInstance();
} catch (TopiaException e) {
throw new EchoBaseTechnicalException(e);
}
}
- protected EchoBaseUserDAO getDAO() {
- return getEchoBaseInternalPersistenceContext().getEchoBaseUserDAO();
+ protected EchoBaseUserTopiaDao getDao() {
+ return echoBaseInternalPersistenceContext.getEchoBaseUserDao();
}
}
Deleted: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/WorkingDbPersistenceService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/WorkingDbPersistenceService.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/WorkingDbPersistenceService.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -1,782 +0,0 @@
-package fr.ifremer.echobase.services.service;
-
-/*
- * #%L
- * EchoBase :: Services
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2011 - 2013 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.base.Function;
-import com.google.common.base.Optional;
-import com.google.common.base.Predicate;
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Maps;
-import fr.ifremer.echobase.EchoBaseTechnicalException;
-import fr.ifremer.echobase.entities.DriverType;
-import fr.ifremer.echobase.entities.EntityModificationLog;
-import fr.ifremer.echobase.entities.ImportLog;
-import fr.ifremer.echobase.entities.ImportType;
-import fr.ifremer.echobase.entities.TopiaEchoBasePersistenceContext;
-import fr.ifremer.echobase.entities.data.Category;
-import fr.ifremer.echobase.entities.data.Cell;
-import fr.ifremer.echobase.entities.data.Data;
-import fr.ifremer.echobase.entities.data.DataAcquisition;
-import fr.ifremer.echobase.entities.data.DataProcessing;
-import fr.ifremer.echobase.entities.data.Echotype;
-import fr.ifremer.echobase.entities.data.GearMetadataValue;
-import fr.ifremer.echobase.entities.data.LengthAgeKey;
-import fr.ifremer.echobase.entities.data.LengthWeightKey;
-import fr.ifremer.echobase.entities.data.Operation;
-import fr.ifremer.echobase.entities.data.OperationMetadataValue;
-import fr.ifremer.echobase.entities.data.Result;
-import fr.ifremer.echobase.entities.data.Sample;
-import fr.ifremer.echobase.entities.data.SampleData;
-import fr.ifremer.echobase.entities.data.Transect;
-import fr.ifremer.echobase.entities.data.Transit;
-import fr.ifremer.echobase.entities.data.Voyage;
-import fr.ifremer.echobase.entities.references.AcousticInstrument;
-import fr.ifremer.echobase.entities.references.AgeCategory;
-import fr.ifremer.echobase.entities.references.AreaOfOperation;
-import fr.ifremer.echobase.entities.references.CellType;
-import fr.ifremer.echobase.entities.references.DataMetadata;
-import fr.ifremer.echobase.entities.references.Mission;
-import fr.ifremer.echobase.entities.references.SampleDataType;
-import fr.ifremer.echobase.entities.references.SampleType;
-import fr.ifremer.echobase.entities.references.SexCategory;
-import fr.ifremer.echobase.entities.references.SizeCategory;
-import fr.ifremer.echobase.entities.references.Species;
-import fr.ifremer.echobase.entities.references.SpeciesCategory;
-import fr.ifremer.echobase.entities.references.Vessel;
-import fr.ifremer.echobase.entities.spatial.CellPoint;
-import fr.ifremer.echobase.services.EchoBaseServiceContext;
-import fr.ifremer.echobase.services.EchoBaseServiceSupport;
-import org.nuiton.csv.ValueParser;
-import org.nuiton.topia.TopiaContextFactory;
-import org.nuiton.topia.TopiaException;
-import org.nuiton.topia.TopiaNotFoundException;
-import org.nuiton.topia.framework.TopiaSQLQuery;
-import org.nuiton.topia.persistence.TopiaDAO;
-import org.nuiton.topia.persistence.TopiaEntity;
-import org.nuiton.topia.persistence.TopiaIdFactory;
-
-import java.util.Collection;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * TODO
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 2.2
- */
-public class WorkingDbPersistenceService extends EchoBaseServiceSupport {
-
- private TopiaEchoBasePersistenceContext persistenceContext;
-
- @Override
- public void setServiceContext(EchoBaseServiceContext serviceContext) {
- super.setServiceContext(serviceContext);
- persistenceContext = serviceContext.getEchoBasePersistenceContext();
- }
-
- //------------------------------------------------------------------------//
- //--- AgeCategory --------------------------------------------------------//
- //------------------------------------------------------------------------//
-
- public AgeCategory createAgeCategory(String ageCategoryName,
- String ageCategoryMeaning) {
-
- AgeCategory ageCategory = persistenceContext.getAgeCategoryDAO().create(
- AgeCategory.PROPERTY_NAME, ageCategoryName,
- AgeCategory.PROPERTY_MEANING, ageCategoryMeaning
- );
- return ageCategory;
- }
-
- //------------------------------------------------------------------------//
- //--- AreaOfOperation ----------------------------------------------------//
- //------------------------------------------------------------------------//
-
- public AreaOfOperation getAreaOfOperation(String id) {
- AreaOfOperation areaOfOperation = persistenceContext.getAreaOfOperationDAO().
- findByTopiaId(id);
- return areaOfOperation;
- }
-
- //------------------------------------------------------------------------//
- //--- Category -----------------------------------------------------------//
- //------------------------------------------------------------------------//
-
- public Category getCategoryByEchotypeAndSpeciesCategory(Echotype echotype,
- SpeciesCategory speciesCategory) {
- Category category = persistenceContext.getCategoryDAO().findByProperties(
- Category.PROPERTY_ECHOTYPE, echotype,
- Category.PROPERTY_SPECIES_CATEGORY, speciesCategory
- );
- return category;
- }
-
- public List<Category> getCategoryUsingEchotype(Voyage voyage) throws TopiaException {
-
- List<Category> result = persistenceContext.getCategoryDAO().
- getCategoryUsingEchotype(voyage);
- return result;
- }
-
- public List<Category> getCategorysByEchotype(Echotype echotype) {
- List<Category> result = persistenceContext.getCategoryDAO().
- findAllByEchotype(echotype);
- return result;
- }
-
- public Iterable<Category> getCategories(Predicate<Category> acceptPredicate) {
- Iterable<Category> result = Iterables.filter(
- persistenceContext.getCategoryDAO(),
- acceptPredicate);
- return result;
- }
-
- public long countCategoryUsingEchotype(Voyage voyage) throws TopiaException {
-
- long result = persistenceContext.getCategoryDAO().
- countCategoryUsingEchotype(voyage);
- return result;
- }
-
- public Category createCategory(Echotype echotype,
- SpeciesCategory speciesCategory) {
- Category category = persistenceContext.getCategoryDAO().create(
- Category.PROPERTY_ECHOTYPE, echotype,
- Category.PROPERTY_SPECIES_CATEGORY, speciesCategory
- );
- return category;
- }
-
- public void deleteCategory(Category category) {
- persistenceContext.getCategoryDAO().delete(category);
- }
-
- public void deleteCategories(Collection<Category> categories) {
- persistenceContext.getCategoryDAO().deleteAll(categories);
- }
-
- //------------------------------------------------------------------------//
- //--- Cell ---------------------------------------------------------------//
- //------------------------------------------------------------------------//
-
- public Cell getCell(String id) {
- return persistenceContext.getCellDAO().findByTopiaId(id);
- }
-
- public Cell getCellContainsResult(Result result) {
- return persistenceContext.getCellDAO().findContainsResult(result);
- }
-
- public long countVoyageOrphanCells(final Voyage voyage) {
- return persistenceContext.getCellDAO().countVoyageOrphanCells(voyage);
- }
-
- public long countVoyageCellResults(final Voyage voyage) {
- return persistenceContext.getCellDAO().countVoyageCellResults(voyage);
- }
-
- public List<String> getVoyageCellIds() throws TopiaException {
- return persistenceContext.getCellDAO().getVoyageCellIds();
- }
-
- public List<String> getVoyageCellIds(Voyage voyage) throws TopiaException {
- return persistenceContext.getCellDAO().getVoyageCellIds(voyage);
- }
-
- public List<CellPoint> getVoyageCellPoints(Voyage voyage, CellType cellType) {
- return persistenceContext.getCellDAO().getVoyageCellPoints(voyage, cellType);
- }
-
- public ValueParser<Cell> newCellValueParser(Voyage voyage) {
- return persistenceContext.getCellDAO().newCellValueParser(voyage);
- }
-
- public Cell createCell(CellType cellType,
- String cellName) {
- Cell cell = persistenceContext.getCellDAO().create(
- Cell.PROPERTY_CELL_TYPE, cellType,
- Cell.PROPERTY_NAME, cellName);
- return cell;
- }
-
- public Cell createCell(Cell cell) {
- Cell cellCreated = persistenceContext.getCellDAO().create(cell);
- return cellCreated;
- }
-
- public void deleteCell(Cell cell) {
- persistenceContext.getCellDAO().delete(cell);
- }
-
- //------------------------------------------------------------------------//
- //--- CellType -----------------------------------------------------------//
- //------------------------------------------------------------------------//
-
- public CellType getCellType(String id) {
- CellType cellType = persistenceContext.getCellTypeDAO().findByTopiaId(id);
- return cellType;
- }
-
- public CellType getCellTypeById(String id) {
- CellType cellType = persistenceContext.getCellTypeDAO().findById(id);
- return cellType;
- }
-
- //------------------------------------------------------------------------//
- //--- Data ---------------------------------------------------------------//
- //------------------------------------------------------------------------//
-
- public Data createData(DataMetadata dataMetaData, String dataValue) {
- Data data = persistenceContext.getDataDAO().create(
- Data.PROPERTY_DATA_METADATA, dataMetaData,
- Data.PROPERTY_DATA_VALUE, dataValue
- );
- return data;
- }
-
- //------------------------------------------------------------------------//
- //--- DataAcquisition ----------------------------------------------------//
- //------------------------------------------------------------------------//
-
- public DataAcquisition getDataAcquisition(String id) {
- return persistenceContext.getDataAcquisitionDAO().findByTopiaId(id);
- }
-
- public DataAcquisition createDataAcquisition(AcousticInstrument instrument) {
- DataAcquisition dataAcquisition =
- persistenceContext.getDataAcquisitionDAO().create(
- DataAcquisition.PROPERTY_ACOUSTIC_INSTRUMENT, instrument
- );
- return dataAcquisition;
- }
-
- public void deleteDataAcquisition(DataAcquisition dataAcquisition) {
- persistenceContext.getDataAcquisitionDAO().delete(dataAcquisition);
- }
-
- //------------------------------------------------------------------------//
- //--- DataMetadata -------------------------------------------------------//
- //------------------------------------------------------------------------//
-
- public DataMetadata getDataMetadata(String id) {
- DataMetadata dataMetadata = persistenceContext.getDataMetadataDAO().
- findByTopiaId(id);
- return dataMetadata;
- }
-
- public DataMetadata getDataMetadataByName(String name) {
- DataMetadata dataMetadata = persistenceContext.getDataMetadataDAO().
- findByName(name);
- return dataMetadata;
- }
-
- //------------------------------------------------------------------------//
- //--- DataProcessing -----------------------------------------------------//
- //------------------------------------------------------------------------//
-
- public DataProcessing createDataProcessing(String id,
- String processingTemplate) {
- DataProcessing dataAcquisition = persistenceContext.getDataProcessingDAO().create(
- DataProcessing.PROPERTY_ID, id,
- DataProcessing.PROPERTY_PROCESSING_TEMPLATE, processingTemplate
- );
- return dataAcquisition;
- }
-
- public DataProcessing getDataProcessing(String id) {
- DataProcessing dataAcquisition = persistenceContext.getDataProcessingDAO().findByTopiaId(id);
- return dataAcquisition;
- }
-
- public DataProcessing getDataProcessingContainsCell(Cell cell) {
- DataProcessing dataAcquisition = persistenceContext.getDataProcessingDAO().findContainsCell(cell);
- return dataAcquisition;
- }
-
- //------------------------------------------------------------------------//
- //--- Echotype -----------------------------------------------------------//
- //------------------------------------------------------------------------//
-
- public Optional<Echotype> getOptionalEchotype(String id) {
- return Optional.fromNullable(persistenceContext.getEchotypeDAO().findByTopiaId(id));
- }
-
- public Echotype getEchotype(String id) {
- return persistenceContext.getEchotypeDAO().findByTopiaId(id);
- }
-
- public Echotype createEchotype(Echotype echotype) {
- Echotype echotypeCreated = persistenceContext.getEchotypeDAO().create(echotype);
- return echotypeCreated;
- }
-
- public void deleteEchotype(Echotype echotype) {
- persistenceContext.getEchotypeDAO().delete(echotype);
- }
-
- //------------------------------------------------------------------------//
- //--- EntityModificationLog ----------------------------------------------//
- //------------------------------------------------------------------------//
-
- public EntityModificationLog createEntityModificationLog(String entityType,
- String entityId,
- String userEmail,
- Date date,
- String comment) {
- EntityModificationLog result = persistenceContext.getEntityModificationLogDAO().create(
- EntityModificationLog.PROPERTY_ENTITY_TYPE, entityType,
- EntityModificationLog.PROPERTY_ENTITY_ID, entityId,
- EntityModificationLog.PROPERTY_MODIFICATION_USER, userEmail,
- EntityModificationLog.PROPERTY_MODIFICATION_DATE, date,
- EntityModificationLog.PROPERTY_MODIFICATION_TEXT, comment
- );
- return result;
- }
-
- //------------------------------------------------------------------------//
- //--- GearMetadataValue --------------------------------------------------//
- //------------------------------------------------------------------------//
-
- public GearMetadataValue createGearMetadataValue(GearMetadataValue gearMetadataValue) {
- GearMetadataValue gearMetadataValueCreated = persistenceContext.getGearMetadataValueDAO().create(gearMetadataValue);
- return gearMetadataValueCreated;
- }
-
- //------------------------------------------------------------------------//
- //--- ImportLog ----------------------------------------------------------//
- //------------------------------------------------------------------------//
-
- public List<ImportLog> getImportLogs() {
- return persistenceContext.getImportLogDAO().findAll();
- }
-
- public ImportLog getImportLog(String id) {
- return persistenceContext.getImportLogDAO().findByTopiaId(id);
- }
-
- public ImportLog createImportLog(String voyageId,
- ImportType importType,
- String userEMail,
- Date date,
- String comment,
- List<String> importIds) {
- ImportLog importLog = persistenceContext.getImportLogDAO().create(
- ImportLog.PROPERTY_VOYAGE_ID, voyageId,
- ImportLog.PROPERTY_IMPORT_TYPE, importType,
- ImportLog.PROPERTY_IMPORT_USER, userEMail,
- ImportLog.PROPERTY_IMPORT_DATE, date,
- ImportLog.PROPERTY_IMPORT_TEXT, comment,
- ImportLog.PROPERTY_IMPORT_ID, importIds
- );
- return importLog;
- }
-
- public void deleteImportLog(ImportLog importLog) {
- persistenceContext.getImportLogDAO().delete(importLog);
- }
-
- //------------------------------------------------------------------------//
- //--- LengthAgeKey -------------------------------------------------------//
- //------------------------------------------------------------------------//
-
- public LengthAgeKey getLengthAgeKey(String id) {
- return persistenceContext.getLengthAgeKeyDAO().findByTopiaId(id);
- }
-
- public LengthAgeKey createLengthAgeKey(LengthAgeKey lengthAgeKey) {
- LengthAgeKey lengthAgeKeyCreated = persistenceContext.getLengthAgeKeyDAO().create(lengthAgeKey);
- return lengthAgeKeyCreated;
- }
-
- public void deleteLengthAgeKey(LengthAgeKey lengthAgeKey) {
- persistenceContext.getLengthAgeKeyDAO().delete(lengthAgeKey);
- }
-
- //------------------------------------------------------------------------//
- //--- LengthWeightKey ----------------------------------------------------//
- //------------------------------------------------------------------------//
-
- public LengthWeightKey getLengthWeightKey(String id) {
- return persistenceContext.getLengthWeightKeyDAO().findByTopiaId(id);
- }
-
- public LengthWeightKey createLengthWeightKey(LengthWeightKey lengthWeightKey) {
- LengthWeightKey lengthWeightKeyCreated = persistenceContext.getLengthWeightKeyDAO().create(lengthWeightKey);
- return lengthWeightKeyCreated;
- }
-
- public void deleteLengthWeightKey(LengthWeightKey lengthAgeKey) {
- persistenceContext.getLengthWeightKeyDAO().delete(lengthAgeKey);
- }
-
- //------------------------------------------------------------------------//
- //--- Mission ------------------------------------------------------------//
- //------------------------------------------------------------------------//
-
- public Mission getMission(String id) {
- Mission mission = persistenceContext.getMissionDAO().findByTopiaId(id);
- return mission;
- }
-
- public boolean isMissionExistByName(String missionname) {
- boolean result = persistenceContext.getMissionDAO().existByProperties(Mission.PROPERTY_NAME, missionname);
- return result;
- }
-
- public Mission createMission(Mission mission) {
- Mission missionCreated = persistenceContext.getMissionDAO().create(mission);
- return missionCreated;
- }
-
- //------------------------------------------------------------------------//
- //--- Operation ----------------------------------------------------------//
- //------------------------------------------------------------------------//
-
- public Operation getOperation(String id) {
- return persistenceContext.getOperationDAO().findByTopiaId(id);
- }
-
- public Operation getOperationContainsSample(Sample sample) {
- Operation dataAcquisition = persistenceContext.getOperationDAO().findContainsSample(sample);
- return dataAcquisition;
- }
-
- public Operation createOperation(Operation operation) {
- Operation operationCreated = persistenceContext.getOperationDAO().create(operation);
- return operationCreated;
- }
-
- public void deleteOperation(Operation operation) {
- persistenceContext.getOperationDAO().delete(operation);
- }
-
- //------------------------------------------------------------------------//
- //--- OperationMetadataValue ---------------------------------------------//
- //------------------------------------------------------------------------//
-
- public OperationMetadataValue createOperationMetadataValue(OperationMetadataValue operationMetadataValue) {
- OperationMetadataValue operationMetadataValueCreated = persistenceContext.getOperationMetadataValueDAO().create(operationMetadataValue);
- return operationMetadataValueCreated;
- }
-
- //------------------------------------------------------------------------//
- //--- Result -------------------------------------------------------------//
- //------------------------------------------------------------------------//
-
- public List<Result> getAllWithCategoryCellAndDataMetadata(Set<String> cellIds,
- DataMetadata requiredDataMetadata,
- List<String> categoryIds) {
- return persistenceContext.getResultDAO().findAllWithCategoryCellAndDataMetadata(cellIds, requiredDataMetadata, categoryIds);
- }
-
- public List<Result> getAllWithNoCategoryCellAndDataMetadata(Set<String> cellIds,
- DataMetadata requiredDataMetadata) {
- return persistenceContext.getResultDAO().findAllWithNoCategoryCellAndDataMetadata(cellIds, requiredDataMetadata);
- }
-
- public Result getResult(String id) {
- return persistenceContext.getResultDAO().findByTopiaId(id);
- }
-
- public Result createResult(Result result) {
- Result resultCreated = persistenceContext.getResultDAO().create(result);
- return resultCreated;
- }
-
- public void deleteResult(Result result) {
- persistenceContext.getResultDAO().delete(result);
- }
-
- public void deleteResults(Collection<Result> results) {
- persistenceContext.getResultDAO().deleteAll(results);
- }
-
- //------------------------------------------------------------------------//
- //--- Sample -------------------------------------------------------------//
- //------------------------------------------------------------------------//
-
- public Sample getSample(String id) {
- Sample sample = persistenceContext.getSampleDAO().findByTopiaId(id);
- return sample;
- }
-
- public Sample newSample() {
- Sample sample = persistenceContext.getSampleDAO().newInstance();
- return sample;
- }
-
- public Sample createSample(Sample sample) {
- Sample sampleCreated = persistenceContext.getSampleDAO().create(sample);
- return sampleCreated;
- }
-
- public void deleteSample(Sample sample) {
- persistenceContext.getSampleDAO().delete(sample);
- }
-
- //------------------------------------------------------------------------//
- //--- SampleType ---------------------------------------------------------//
- //------------------------------------------------------------------------//
-
- public SampleType getSampleTypeByName(String name) {
- SampleType sampleDataType = persistenceContext.getSampleTypeDAO().findByName(name);
- return sampleDataType;
- }
-
- //------------------------------------------------------------------------//
- //--- SampleData ---------------------------------------------------------//
- //------------------------------------------------------------------------//
-
- public SampleData createSampleData(SampleDataType sampleDataType,
- String label,
- float value) {
- SampleData sampleCreated = persistenceContext.getSampleDataDAO().create(
- SampleData.PROPERTY_SAMPLE_DATA_TYPE, sampleDataType,
- SampleData.PROPERTY_DATA_LABEL, label,
- SampleData.PROPERTY_DATA_VALUE, value
- );
- return sampleCreated;
- }
-
- public SampleData createSampleData(SampleData sample) {
- SampleData sampleCreated = persistenceContext.getSampleDataDAO().create(
- sample);
- return sampleCreated;
- }
-
- //------------------------------------------------------------------------//
- //--- SampleDataType -----------------------------------------------------//
- //------------------------------------------------------------------------//
-
- public SampleDataType getSampleDataTypeByName(String name) {
- SampleDataType sampleDataType = persistenceContext.getSampleDataTypeDAO().findByName(name);
- return sampleDataType;
- }
-
- //------------------------------------------------------------------------//
- //--- SizeCategory -------------------------------------------------------//
- //------------------------------------------------------------------------//
-
- public SizeCategory createSizeCategory(String sizeCategoryName,
- String sizeCategoryMeaning) {
-
- SizeCategory sizeCategory = persistenceContext.getSizeCategoryDAO().create(
- SizeCategory.PROPERTY_NAME, sizeCategoryName,
- SizeCategory.PROPERTY_MEANING, sizeCategoryMeaning
- );
- return sizeCategory;
- }
-
- //------------------------------------------------------------------------//
- //--- SpeciesCategory ----------------------------------------------------//
- //------------------------------------------------------------------------//
-
- public Optional<Species> getOptionalSpecies(String id) {
- Species species = persistenceContext.getSpeciesDAO().findByTopiaId(
- id);
- return Optional.fromNullable(species);
- }
-
- //------------------------------------------------------------------------//
- //--- SpeciesCategory ----------------------------------------------------//
- //------------------------------------------------------------------------//
-
- public SpeciesCategory getSpeciesCategory(Species species,
- SizeCategory sizeCategory,
- AgeCategory ageCategory,
- SexCategory sexCategory) {
- SpeciesCategory category = persistenceContext.getSpeciesCategoryDAO().findByProperties(
- SpeciesCategory.PROPERTY_SPECIES, species,
- SpeciesCategory.PROPERTY_SIZE_CATEGORY, sizeCategory,
- SpeciesCategory.PROPERTY_AGE_CATEGORY, ageCategory,
- SpeciesCategory.PROPERTY_SEX_CATEGORY, sexCategory
- );
- return category;
- }
-
- public SpeciesCategory createSpeciesCategory(Species species,
- SizeCategory sizeCategory,
- AgeCategory ageCategory,
- SexCategory sexCategory) {
- SpeciesCategory category = persistenceContext.getSpeciesCategoryDAO().create(
- SpeciesCategory.PROPERTY_SPECIES, species,
- SpeciesCategory.PROPERTY_SIZE_CATEGORY, sizeCategory,
- SpeciesCategory.PROPERTY_AGE_CATEGORY, ageCategory,
- SpeciesCategory.PROPERTY_SEX_CATEGORY, sexCategory
- );
- return category;
- }
-
- //------------------------------------------------------------------------//
- //--- Transect -----------------------------------------------------------//
- //------------------------------------------------------------------------//
-
- public Transect getTransect(String id) {
- return persistenceContext.getTransectDAO().findByTopiaId(id);
- }
-
- public Transect getTransectContainsOperation(Operation operation) {
- return persistenceContext.getTransectDAO().findContainsOperation(operation);
- }
-
- public Transect getTransectContainsDataAcquisition(DataAcquisition dataAcquisition) {
- return persistenceContext.getTransectDAO().findContainsDataAcquisition(dataAcquisition);
- }
-
- public Transect createTransect(Transect transect) {
- Transect transectCreated = persistenceContext.getTransectDAO().create(transect);
- return transectCreated;
- }
-
- public void deleteTransect(Transect transect) {
- persistenceContext.getTransectDAO().delete(transect);
- }
-
- //------------------------------------------------------------------------//
- //--- Transit ------------------------------------------------------------//
- //------------------------------------------------------------------------//
-
- public Transit getTransit(String id) {
- return persistenceContext.getTransitDAO().findByTopiaId(id);
- }
-
- public Transit getTransitContainsTransect(Transect transect) {
- return persistenceContext.getTransitDAO().findContainsTransect(transect);
- }
-
- public Transit createTransit(Transit transit) {
- Transit transitCreated = persistenceContext.getTransitDAO().create(transit);
- return transitCreated;
- }
-
- public void deleteTransit(Transit transit) {
- persistenceContext.getTransitDAO().delete(transit);
- }
-
- //------------------------------------------------------------------------//
- //--- Vessel -------------------------------------------------------------//
- //------------------------------------------------------------------------//
-
- public Vessel getVessel(String id) {
- Vessel mission = persistenceContext.getVesselDAO().findByTopiaId(id);
- return mission;
- }
-
- //------------------------------------------------------------------------//
- //--- Voyage -------------------------------------------------------------//
- //------------------------------------------------------------------------//
-
- public Voyage getVoyage(String id) {
- return persistenceContext.getVoyageDAO().findByTopiaId(id);
- }
-
- public long countVoyage() {
- return persistenceContext.getVoyageDAO().count();
- }
-
- public Voyage createVoyage(Voyage voyage) {
- Voyage voyageCreated = persistenceContext.getVoyageDAO().create(voyage);
- return voyageCreated;
- }
-
- public void deleteVoyage(Voyage voyage) {
- persistenceContext.getVoyageDAO().delete(voyage);
- }
-
- //------------------------------------------------------------------------//
- //--- Transversal --------------------------------------------------------//
- //------------------------------------------------------------------------//
-
- public <E extends TopiaEntity> Map<String, String> loadSortAndDecorate(Class<E> beanType) {
-
- List<E> beans = persistenceContext.getDAO(beanType).findAll();
- return getDecoratorService().sortAndDecorate(getLocale(), beans, null);
- }
-
- public <E extends TopiaEntity, K> Map<K, E> getEntitiesMap(
- Class<E> entityType,
- Function<E, K> function) {
- List<E> allVoyages = persistenceContext.getDAO(entityType).findAll();
- Map<K, E> voyageMap = Maps.uniqueIndex(
- allVoyages, function);
- return voyageMap;
- }
-
- public void executeSQL(String sqlScript) {
- persistenceContext.executeSQL(sqlScript);
- }
-
- public void clear() {
- persistenceContext.clear();
- }
-
- public void flush() {
- persistenceContext.flush();
- }
-
- public void commit() {
- persistenceContext.commitTransaction();
- }
-
- public <R> R findSingleResult(TopiaSQLQuery<R> sqlQuery) {
- return sqlQuery.findSingleResult(persistenceContext.getContext());
- }
-
- public <R> List<R> findMultipleResult(TopiaSQLQuery<R> sqlQuery) {
- return sqlQuery.findMultipleResult(persistenceContext.getContext());
- }
-
- public boolean isPostgresql() {
- return persistenceContext.isPostgresql();
- }
-
- public boolean isSpatialAware() {
- return persistenceContext.isSpatialAware();
- }
-
- public boolean isIdExists(String id) {
- try {
- boolean result = getDAOFromId(id).existByTopiaId(id);
- return result;
- } catch (TopiaException e) {
- throw new EchoBaseTechnicalException(
- "Could not find out if id " + id + " exists.", e);
- }
- }
-
- protected <E extends TopiaEntity> TopiaDAO<E> getDAOFromId(String id) {
- try {
- TopiaIdFactory topiaIdFactory = persistenceContext.getTopiaIdFactory();
- Class<E> className = topiaIdFactory.getClassName(id);
- return persistenceContext.getDAO(className);
- } catch (TopiaNotFoundException e) {
-
- throw new EchoBaseTechnicalException(
- "Could not find class from id: " + id, e);
- }
- }
-}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/embeddedapplication/EmbeddedApplicationService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/embeddedapplication/EmbeddedApplicationService.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/embeddedapplication/EmbeddedApplicationService.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -26,14 +26,16 @@
import com.google.common.base.Charsets;
import com.google.common.base.Preconditions;
import fr.ifremer.echobase.EchoBaseTechnicalException;
+import fr.ifremer.echobase.entities.EchoBaseInternalPersistenceContext;
+import fr.ifremer.echobase.entities.EchoBaseInternalTopiaApplicationContext;
import fr.ifremer.echobase.entities.EchoBaseUser;
+import fr.ifremer.echobase.entities.EchoBaseUserPersistenceContext;
+import fr.ifremer.echobase.entities.EchoBaseUserTopiaApplicationContext;
import fr.ifremer.echobase.entities.ExportQuery;
-import fr.ifremer.echobase.entities.TopiaEchoBaseInternalPersistenceContext;
-import fr.ifremer.echobase.entities.TopiaEchoBasePersistenceContext;
import fr.ifremer.echobase.entities.WorkingDbConfiguration;
import fr.ifremer.echobase.io.EchoBaseIOUtil;
import fr.ifremer.echobase.persistence.EchoBaseEntityHelper;
-import fr.ifremer.echobase.persistence.EchobaseTopiaContexts;
+import fr.ifremer.echobase.persistence.EchobaseTopiaApplicationContexts;
import fr.ifremer.echobase.persistence.JdbcConfiguration;
import fr.ifremer.echobase.services.DefaultEchoBaseServiceContext;
import fr.ifremer.echobase.services.EchoBaseServiceContext;
@@ -41,6 +43,7 @@
import fr.ifremer.echobase.services.service.UserService;
import fr.ifremer.echobase.services.service.exportdb.ExportDbConfiguration;
import fr.ifremer.echobase.services.service.exportdb.ExportDbMode;
+import fr.ifremer.echobase.services.service.exportdb.ExportDbService;
import fr.ifremer.echobase.services.service.exportquery.ExportQueryInvalidNameException;
import fr.ifremer.echobase.services.service.exportquery.ExportQueryNameAlreadyExistException;
import fr.ifremer.echobase.services.service.exportquery.ExportQueryService;
@@ -53,10 +56,10 @@
import org.apache.commons.io.IOUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.nuiton.topia.TopiaContext;
-import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.persistence.TopiaException;
import org.nuiton.util.FileUtil;
+import javax.inject.Inject;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
@@ -80,6 +83,12 @@
public static final String EMBEDDED_PATH = "/embedded/";
+ @Inject
+ EchoBaseInternalPersistenceContext echoBaseInternalPersistenceContext;
+
+ @Inject
+ private ExportDbService exportDbService;
+
public File createEmbeddedApplication(EmbeddedApplicationConfiguration model) {
int nbSteps = computeNbSteps(model);
@@ -113,8 +122,6 @@
getLocale(),
getConfiguration(),
getDbMeta());
-// ,
-// getSpatialDataCache());
EchoBaseUser admin;
try {
@@ -150,18 +157,12 @@
File internalDir = new File(dir, "internaldb");
- TopiaContext newInternalRootContext =
- EchobaseTopiaContexts.newInternalDb(internalDir);
-
- TopiaContext internalTransaction = newInternalRootContext.beginTransaction();
- TopiaEchoBaseInternalPersistenceContext newPersistenceContext = new TopiaEchoBaseInternalPersistenceContext(
- internalTransaction
- );
+ EchoBaseInternalTopiaApplicationContext newInternalRootContext =
+ EchobaseTopiaApplicationContexts.newInternalDb(internalDir);
+ EchoBaseInternalPersistenceContext newPersistenceContext = newInternalRootContext.newPersistenceContext();
newServiceContext.setEchoBaseInternalPersistenceContext(
newPersistenceContext);
- TopiaEchoBaseInternalPersistenceContext internalPersistenceContext =
- getEchoBaseInternalPersistenceContext();
try {
// get user service from h2 db
UserService userService = newServiceContext.newService(UserService.class);
@@ -176,18 +177,18 @@
model.incrementsProgress();
// get all export queries from application
- List<ExportQuery> queries = internalPersistenceContext.getExportQueryDAO().findAll();
+ List<ExportQuery> queries = echoBaseInternalPersistenceContext.getExportQueryDao().findAll();
// replicate queries
- internalPersistenceContext.replicateEntities(
- internalTransaction, queries);
+ echoBaseInternalPersistenceContext.replicateEntities(
+ newPersistenceContext, queries);
// create export sql service from h2 db
ExportQueryService exportQueryService =
newServiceContext.newService(ExportQueryService.class);
// get all queries from h2 db
- queries = newPersistenceContext.getExportQueryDAO().findAll();
+ queries = newPersistenceContext.getExportQueryDao().findAll();
// attach them to default created admin user in the db
for (ExportQuery query : queries) {
@@ -199,18 +200,18 @@
// get all working db configuration from application
List<WorkingDbConfiguration> confs =
- internalPersistenceContext.getWorkingDbConfigurationDAO().findAll();
+ echoBaseInternalPersistenceContext.getWorkingDbConfigurationDao().findAll();
// replicate configs
- internalPersistenceContext.replicateEntities(
- internalTransaction, confs);
+ echoBaseInternalPersistenceContext.replicateEntities(
+ newPersistenceContext, confs);
model.incrementsProgress();
return admin;
} finally {
newServiceContext.setEchoBaseInternalPersistenceContext(null);
- EchoBaseEntityHelper.releaseRootContext(newInternalRootContext);
+ EchoBaseEntityHelper.releaseApplicationContext(newInternalRootContext);
}
}
@@ -221,12 +222,13 @@
EchoBaseUser admin) throws IOException, ImportException, TopiaException {
JdbcConfiguration dbConf = JdbcConfiguration.newEmbeddedConfig(dir);
- TopiaContext rootContext = EchobaseTopiaContexts.newWorkingDb(
- dbConf);
+ EchoBaseUserTopiaApplicationContext applicationContext =
+ EchobaseTopiaApplicationContexts.newWorkingDb(dbConf);
try {
// inject a new transaction in service context
- newServiceContext.setEchoBasePersistenceContext(new TopiaEchoBasePersistenceContext(rootContext.beginTransaction()));
+ newServiceContext.setEchoBaseUserPersistenceContext(
+ applicationContext.newPersistenceContext());
model.incrementsProgress();
@@ -246,10 +248,10 @@
} finally {
// remove current transaction
- newServiceContext.setEchoBasePersistenceContext(null);
+ newServiceContext.setEchoBaseUserPersistenceContext(null);
// release any connexion to the working db
- EchoBaseEntityHelper.releaseRootContext(rootContext);
+ EchoBaseEntityHelper.releaseApplicationContext(applicationContext);
}
}
@@ -304,26 +306,22 @@
exportconfiguration.setComputeSteps(false);
exportconfiguration.setExportDbMode(ExportDbMode.REFERENTIAL_AND_DATA);
- TopiaEchoBasePersistenceContext persistenceContext = serviceContext.getEchoBasePersistenceContext();
+ EchoBaseUserPersistenceContext persistenceContext = serviceContext.getEchoBaseUserPersistenceContext();
+ EchoBaseUserTopiaApplicationContext applicationContext = serviceContext.getEchoBaseUserApplicationContext();
- TopiaContext newTx = persistenceContext.getContext().beginTransaction();
+ EchoBaseUserPersistenceContext newPersistenceContext = applicationContext.newPersistenceContext();
- TopiaEchoBasePersistenceContext newPersistenceContext = new TopiaEchoBasePersistenceContext(newTx);
-
-// TopiaContext transaction = serviceContext.getTransaction();
-
-
try {
- serviceContext.setEchoBasePersistenceContext(newPersistenceContext);
- getExportDbService().doExport(exportconfiguration);
+ serviceContext.setEchoBaseUserPersistenceContext(newPersistenceContext);
+ exportDbService.doExport(exportconfiguration);
} catch (IOException eee) {
- newPersistenceContext.rollbackTransaction();
+ newPersistenceContext.rollback();
throw eee;
} catch (RuntimeException eee) {
- newPersistenceContext.rollbackTransaction();
+ newPersistenceContext.rollback();
throw eee;
} finally {
- serviceContext.setEchoBasePersistenceContext(persistenceContext);
+ serviceContext.setEchoBaseUserPersistenceContext(persistenceContext);
newPersistenceContext.closeContext();
}
File exportZipFile = exportconfiguration.getExportFile();
@@ -375,7 +373,7 @@
File outputFile = new File(targetDirectory, resourceName);
if (log.isDebugEnabled()) {
log.debug("Copy binary file from " + resourceName + " to " +
- outputFile);
+ outputFile);
}
OutputStream outputStream = new FileOutputStream(outputFile);
try {
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/exportdb/ExportDbService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/exportdb/ExportDbService.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/exportdb/ExportDbService.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -25,27 +25,27 @@
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
+import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum;
import fr.ifremer.echobase.entities.data.Cell;
import fr.ifremer.echobase.entities.data.Result;
import fr.ifremer.echobase.entities.data.Voyage;
import fr.ifremer.echobase.io.EchoBaseIOUtil;
import fr.ifremer.echobase.persistence.EchoBaseDbMeta;
-import fr.ifremer.echobase.services.EchoBaseServiceContext;
import fr.ifremer.echobase.services.EchoBaseServiceSupport;
-import fr.ifremer.echobase.services.service.WorkingDbPersistenceService;
+import fr.ifremer.echobase.services.service.UserDbPersistenceService;
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.TopiaException;
import org.nuiton.topia.persistence.TopiaPersistenceHelper;
-import org.nuiton.topia.persistence.csv.out.ExportEntityVisitor;
-import org.nuiton.topia.persistence.csv.out.TopiaCsvExports;
import org.nuiton.topia.persistence.metadata.AssociationMeta;
import org.nuiton.topia.persistence.metadata.TableMeta;
+import org.nuiton.topia.service.csv.out.ExportEntityVisitor;
+import org.nuiton.topia.service.csv.out.TopiaCsvExports;
import org.nuiton.util.FileUtil;
import org.nuiton.util.TimeLog;
+import javax.inject.Inject;
import java.io.File;
import java.io.IOException;
import java.util.Collection;
@@ -66,13 +66,11 @@
public static final TimeLog timeLog = new TimeLog(ExportDbService.class);
- private WorkingDbPersistenceService persistenceService;
+ @Inject
+ private UserDbPersistenceService persistenceService;
- @Override
- public void setServiceContext(EchoBaseServiceContext serviceContext) {
- super.setServiceContext(serviceContext);
- persistenceService = serviceContext.newService(WorkingDbPersistenceService.class);
- }
+ @Inject
+ private ExportService exportService;
public void doExport(ExportDbConfiguration model) throws IOException {
@@ -93,8 +91,6 @@
ExportDbMode exportDbMode = model.getExportDbMode();
- ExportService exportService = getExportService();
-
boolean exportVoyagesByVisitor = exportDbMode.isExportData();
if (exportVoyagesByVisitor) {
@@ -108,8 +104,8 @@
}
}
- List<TableMeta<EchoBaseEntityEnum>> tablesToExport = Lists.newArrayList();
- List<AssociationMeta<EchoBaseEntityEnum>> associationsToExport = Lists.newArrayList();
+ List<TableMeta<EchoBaseUserEntityEnum>> tablesToExport = Lists.newArrayList();
+ List<AssociationMeta<EchoBaseUserEntityEnum>> associationsToExport = Lists.newArrayList();
EchoBaseDbMeta dbMeta = getDbMeta();
@@ -155,9 +151,9 @@
private void exportTables(ExportDbConfiguration model,
File dir,
- List<TableMeta<EchoBaseEntityEnum>> tablesToExport,
+ List<TableMeta<EchoBaseUserEntityEnum>> tablesToExport,
ExportService exportService) {
- for (TableMeta<EchoBaseEntityEnum> meta : tablesToExport) {
+ for (TableMeta<EchoBaseUserEntityEnum> meta : tablesToExport) {
model.incrementsProgress();
@@ -168,9 +164,9 @@
private void exportAssociations(ExportDbConfiguration model,
File dir,
- List<AssociationMeta<EchoBaseEntityEnum>> associationsToExport,
+ List<AssociationMeta<EchoBaseUserEntityEnum>> associationsToExport,
ExportService exportService) {
- for (AssociationMeta<EchoBaseEntityEnum> associationMeta : associationsToExport) {
+ for (AssociationMeta<EchoBaseUserEntityEnum> associationMeta : associationsToExport) {
model.incrementsProgress();
@@ -185,7 +181,7 @@
EchoBaseDbMeta dbMeta = getDbMeta();
- Map<EchoBaseEntityEnum, TopiaCsvExports.EntityExportContext<EchoBaseEntityEnum>> contexts =
+ Map<EchoBaseUserEntityEnum, TopiaCsvExports.EntityExportContext<EchoBaseUserEntityEnum>> contexts =
TopiaCsvExports.createReplicateEntityVisitorContexts(
exportService.getModelFactory(false),
dbMeta.getDataTables(),
@@ -217,12 +213,12 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 0.3
*/
- static class ReplicateEntityVisitor extends ExportEntityVisitor<EchoBaseEntityEnum> {
+ static class ReplicateEntityVisitor extends ExportEntityVisitor<EchoBaseUserEntityEnum> {
protected final Set<String> categoryIds;
- public ReplicateEntityVisitor(TopiaPersistenceHelper<EchoBaseEntityEnum> typeProvider,
- Map<EchoBaseEntityEnum, TopiaCsvExports.EntityExportContext<EchoBaseEntityEnum>> entityExporters) {
+ public ReplicateEntityVisitor(TopiaPersistenceHelper<EchoBaseUserEntityEnum> typeProvider,
+ Map<EchoBaseUserEntityEnum, TopiaCsvExports.EntityExportContext<EchoBaseUserEntityEnum>> entityExporters) {
super(typeProvider, entityExporters);
categoryIds = Sets.newHashSet();
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/exportdb/ExportService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/exportdb/ExportService.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/exportdb/ExportService.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -23,26 +23,26 @@
*/
package fr.ifremer.echobase.services.service.exportdb;
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
-import fr.ifremer.echobase.services.EchoBaseServiceContext;
+import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum;
import fr.ifremer.echobase.services.EchoBaseServiceSupport;
import fr.ifremer.echobase.services.service.DbEditorService;
import fr.ifremer.echobase.services.service.DecoratorService;
-import fr.ifremer.echobase.services.service.WorkingDbPersistenceService;
+import fr.ifremer.echobase.services.service.UserDbPersistenceService;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.csv.ExportModel;
import org.nuiton.decorator.Decorator;
import org.nuiton.topia.persistence.TopiaEntity;
-import org.nuiton.topia.persistence.csv.EntityCsvModel;
-import org.nuiton.topia.persistence.csv.out.EntityAssociationExportModel;
-import org.nuiton.topia.persistence.csv.out.ExportModelFactory;
-import org.nuiton.topia.persistence.csv.out.PrepareDataForExport;
-import org.nuiton.topia.persistence.csv.out.TopiaCsvExports;
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.service.csv.EntityCsvModel;
+import org.nuiton.topia.service.csv.out.EntityAssociationExportModel;
+import org.nuiton.topia.service.csv.out.ExportModelFactory;
+import org.nuiton.topia.service.csv.out.PrepareDataForExport;
+import org.nuiton.topia.service.csv.out.TopiaCsvExports;
+import javax.inject.Inject;
import java.io.File;
/**
@@ -56,17 +56,23 @@
/** Logger. */
private static final Log log = LogFactory.getLog(ExportService.class);
- private WorkingDbPersistenceService persistenceService;
+ @Inject
+ private UserDbPersistenceService persistenceService;
- @Override
- public void setServiceContext(EchoBaseServiceContext serviceContext) {
- super.setServiceContext(serviceContext);
- persistenceService = serviceContext.newService(WorkingDbPersistenceService.class);
+ @Inject
+ private DbEditorService dbEditorService;
- }
+ @Inject
+ private DecoratorService decoratorService;
- public String exportData(TableMeta<EchoBaseEntityEnum> meta, boolean asSeen) {
+// @Override
+// public void setServiceContext(EchoBaseServiceContext serviceContext) {
+// super.setServiceContext(serviceContext);
+// persistenceService = serviceContext.newService(UserDbPersistenceService.class);
+// }
+ public String exportData(TableMeta<EchoBaseUserEntityEnum> meta, boolean asSeen) {
+
if (log.isInfoEnabled()) {
log.info("Export " + meta);
}
@@ -76,7 +82,7 @@
return result;
}
- public void exportData(TableMeta<EchoBaseEntityEnum> meta, File file) {
+ public void exportData(TableMeta<EchoBaseUserEntityEnum> meta, File file) {
if (log.isInfoEnabled()) {
log.info("Export " + meta + " to " + file);
@@ -91,7 +97,7 @@
}
- public void exportData(AssociationMeta<EchoBaseEntityEnum> meta, File file) {
+ public void exportData(AssociationMeta<EchoBaseUserEntityEnum> meta, File file) {
if (log.isInfoEnabled()) {
log.info("Export " + meta + " to " + file);
@@ -104,8 +110,8 @@
persistenceService.clear();
}
- public ExportModelFactory<EchoBaseEntityEnum> getModelFactory(boolean asSeen) {
- ExportModelFactory<EchoBaseEntityEnum> result;
+ public ExportModelFactory<EchoBaseUserEntityEnum> getModelFactory(boolean asSeen) {
+ ExportModelFactory<EchoBaseUserEntityEnum> result;
if (asSeen) {
result = asSeenExportFactory;
} else {
@@ -114,13 +120,13 @@
return result;
}
- private ExportModelFactory<EchoBaseEntityEnum> defaultExportFactory = new ExportModelFactory<EchoBaseEntityEnum>() {
+ private ExportModelFactory<EchoBaseUserEntityEnum> defaultExportFactory = new ExportModelFactory<EchoBaseUserEntityEnum>() {
@Override
- public <E extends TopiaEntity> ExportModel<E> buildForExport(TableMeta<EchoBaseEntityEnum> meta) {
+ public <E extends TopiaEntity> ExportModel<E> buildForExport(TableMeta<EchoBaseUserEntityEnum> meta) {
// normal export add topiaId column
- EntityCsvModel<EchoBaseEntityEnum, E> model = EntityCsvModel.newModel(
+ EntityCsvModel<EchoBaseUserEntityEnum, E> model = EntityCsvModel.newModel(
getConfiguration().getCsvSeparator(),
meta,
TopiaEntity.PROPERTY_TOPIA_ID
@@ -145,7 +151,7 @@
}
@Override
- public <E extends TopiaEntity> ExportModel<E> buildForExport(AssociationMeta<EchoBaseEntityEnum> associationMeta) {
+ public <E extends TopiaEntity> ExportModel<E> buildForExport(AssociationMeta<EchoBaseUserEntityEnum> associationMeta) {
ExportModel<E> model = EntityAssociationExportModel.newExportModel(
getConfiguration().getCsvSeparator(),
associationMeta
@@ -154,21 +160,18 @@
}
};
- private ExportModelFactory<EchoBaseEntityEnum> asSeenExportFactory = new ExportModelFactory<EchoBaseEntityEnum>() {
+ private ExportModelFactory<EchoBaseUserEntityEnum> asSeenExportFactory = new ExportModelFactory<EchoBaseUserEntityEnum>() {
@Override
- public <E extends TopiaEntity> ExportModel<E> buildForExport(TableMeta<EchoBaseEntityEnum> meta) {
+ public <E extends TopiaEntity> ExportModel<E> buildForExport(TableMeta<EchoBaseUserEntityEnum> meta) {
// no need to have topiaId as first column
- EntityCsvModel<EchoBaseEntityEnum, E> model = EntityCsvModel.newModel(
+ EntityCsvModel<EchoBaseUserEntityEnum, E> model = EntityCsvModel.newModel(
getConfiguration().getCsvSeparator(),
meta
);
-
- DecoratorService service = getDecoratorService();
-
for (ColumnMeta columnMeta : meta) {
String propertyName = columnMeta.getName();
Class<?> type = columnMeta.getType();
@@ -178,7 +181,7 @@
// export decorated foreign key value
Decorator<TopiaEntity> decorator =
- service.getDecorator(getLocale(), entityType, null);
+ decoratorService.getDecorator(getLocale(), entityType, null);
model.addDecoratedForeignKeyForExport(propertyName, propertyName, decorator);
} else {
@@ -189,7 +192,7 @@
}
@Override
- public <E extends TopiaEntity> ExportModel<E> buildForExport(AssociationMeta<EchoBaseEntityEnum> associationMeta) {
+ public <E extends TopiaEntity> ExportModel<E> buildForExport(AssociationMeta<EchoBaseUserEntityEnum> associationMeta) {
ExportModel<E> model = EntityAssociationExportModel.newExportModel(
getConfiguration().getCsvSeparator(),
associationMeta
@@ -198,22 +201,20 @@
}
};
- private PrepareDataForExport<EchoBaseEntityEnum> defaultPrepareDataForExport = new PrepareDataForExport<EchoBaseEntityEnum>() {
+ private PrepareDataForExport<EchoBaseUserEntityEnum> defaultPrepareDataForExport = new PrepareDataForExport<EchoBaseUserEntityEnum>() {
@Override
- public <E extends TopiaEntity> Iterable<E> prepareData(TableMeta<EchoBaseEntityEnum> tableMeta) {
- DbEditorService service = getDbEditorService();
+ public <E extends TopiaEntity> Iterable<E> prepareData(TableMeta<EchoBaseUserEntityEnum> tableMeta) {
- Iterable<E> data = service.iterateOnEntities(tableMeta, null);
+ Iterable<E> data = dbEditorService.iterateOnEntities(tableMeta, null);
return data;
}
@Override
- public <E extends TopiaEntity> Iterable<E> prepareData(AssociationMeta<EchoBaseEntityEnum> associationMeta) {
- DbEditorService service = getDbEditorService();
+ public <E extends TopiaEntity> Iterable<E> prepareData(AssociationMeta<EchoBaseUserEntityEnum> associationMeta) {
- TableMeta<EchoBaseEntityEnum> tableMeta = service.getTableMeta(associationMeta.getSource());
- Iterable<E> data = service.iterateOnEntities(tableMeta, "size(e." + associationMeta.getName() + ") > 0");
+ TableMeta<EchoBaseUserEntityEnum> tableMeta = dbEditorService.getTableMeta(associationMeta.getSource());
+ Iterable<E> data = dbEditorService.iterateOnEntities(tableMeta, "size(e." + associationMeta.getName() + ") > 0");
return data;
}
};
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/exportquery/ExportQueryService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/exportquery/ExportQueryService.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/exportquery/ExportQueryService.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -25,19 +25,22 @@
import com.google.common.base.Charsets;
import fr.ifremer.echobase.EchoBaseTechnicalException;
+import fr.ifremer.echobase.entities.EchoBaseInternalPersistenceContext;
import fr.ifremer.echobase.entities.EchoBaseUser;
import fr.ifremer.echobase.entities.ExportQueries;
import fr.ifremer.echobase.entities.ExportQuery;
-import fr.ifremer.echobase.entities.ExportQueryDAO;
-import fr.ifremer.echobase.services.EchoBaseServiceContext;
+import fr.ifremer.echobase.entities.ExportQueryTopiaDao;
import fr.ifremer.echobase.services.EchoBaseServiceSupport;
-import fr.ifremer.echobase.services.service.WorkingDbPersistenceService;
+import fr.ifremer.echobase.services.service.DecoratorService;
+import fr.ifremer.echobase.services.service.UserDbPersistenceService;
import org.apache.commons.lang3.StringUtils;
import org.nuiton.csv.Export;
-import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.persistence.TopiaEntity;
+import org.nuiton.topia.persistence.TopiaException;
import org.nuiton.topia.persistence.pager.TopiaPagerBean;
import org.nuiton.util.RecursiveProperties;
+import javax.inject.Inject;
import java.util.List;
import java.util.Map;
@@ -49,17 +52,18 @@
*/
public class ExportQueryService extends EchoBaseServiceSupport {
- private WorkingDbPersistenceService persistenceService;
+ @Inject
+ EchoBaseInternalPersistenceContext echoBaseInternalPersistenceContext;
- @Override
- public void setServiceContext(EchoBaseServiceContext serviceContext) {
- super.setServiceContext(serviceContext);
- persistenceService = serviceContext.newService(WorkingDbPersistenceService.class);
- }
+ @Inject
+ private UserDbPersistenceService persistenceService;
+ @Inject
+ private DecoratorService decoratorService;
+
public ExportQuery getExportQuery(String topiaId) throws ExportQueryNotFoundException {
- ExportQuery exportQuery = getDAO().findByTopiaId(topiaId);
+ ExportQuery exportQuery = getDao().findByTopiaId(topiaId);
if (exportQuery == null) {
throw new ExportQueryNotFoundException();
@@ -89,9 +93,9 @@
boolean result;
if (mustCreate) {
- result = !getDAO().isQueryExists(queryName);
+ result = !getDao().isQueryExists(queryName);
} else {
- result = !getDAO().isQueryExists(id, queryName);
+ result = !getDao().isQueryExists(id, queryName);
}
return result;
}
@@ -100,8 +104,6 @@
EchoBaseUser user) throws ExportQueryNameAlreadyExistException, ExportQueryInvalidNameException {
try {
- ExportQueryDAO dao = getDAO();
-
// No id, creating new one entity
String id = exportQuery.getTopiaId();
@@ -126,9 +128,9 @@
exportQuery.setLastModifiedUser(user.getEmail());
if (mustCreate) {
- entityToSave = dao.create(exportQuery);
+ entityToSave = getDao().create(exportQuery);
} else {
- entityToSave = dao.findByTopiaId(id);
+ entityToSave = getDao().findByTopiaId(id);
entityToSave.setName(queryName);
entityToSave.setDescription(exportQuery.getDescription());
entityToSave.setSqlQuery(exportQuery.getSqlQuery());
@@ -136,8 +138,7 @@
entityToSave.setLastModifiedUser(exportQuery.getLastModifiedUser());
}
-// dao.update(entityToSave);
- getEchoBaseInternalPersistenceContext().commitTransaction();
+ echoBaseInternalPersistenceContext.commit();
return entityToSave;
} catch (TopiaException eee) {
throw new EchoBaseTechnicalException(eee);
@@ -146,12 +147,10 @@
public void delete(String topiaId) {
try {
- ExportQueryDAO dao = getDAO();
+ ExportQuery entityToDelete = getDao().findByTopiaId(topiaId);
+ getDao().delete(entityToDelete);
- ExportQuery entityToDelete = dao.findByTopiaId(topiaId);
- dao.delete(entityToDelete);
-
- getEchoBaseInternalPersistenceContext().commitTransaction();
+ echoBaseInternalPersistenceContext.commit();
} catch (TopiaException eee) {
throw new EchoBaseTechnicalException(eee);
}
@@ -165,9 +164,15 @@
return result;
}
+ public <E extends TopiaEntity> Map<String, String> loadSortAndDecorate(Class<E> beanType) {
+
+ List<E> beans = echoBaseInternalPersistenceContext.getDao(beanType).findAll();
+ return decoratorService.sortAndDecorate(getLocale(), beans, null);
+ }
+
protected String getSafeSql(String sql) {
RecursiveProperties sqls = new RecursiveProperties();
- List<ExportQuery> queries = getEchoBaseInternalPersistenceContext().getExportQueryDAO().findAll();
+ List<ExportQuery> queries = echoBaseInternalPersistenceContext.getExportQueryDao().findAll();
for (ExportQuery query : queries) {
sqls.put(query.getName(), query.getSqlQuery());
}
@@ -253,7 +258,7 @@
public ExportQuery newExportQuery() {
try {
- return getDAO().newInstance();
+ return getDao().newInstance();
} catch (TopiaException e) {
throw new EchoBaseTechnicalException(e);
}
@@ -265,7 +270,7 @@
return result;
}
- protected ExportQueryDAO getDAO() {
- return getEchoBaseInternalPersistenceContext().getExportQueryDAO();
+ protected ExportQueryTopiaDao getDao() {
+ return echoBaseInternalPersistenceContext.getExportQueryDao();
}
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/exportquery/GenericSQLQuery.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/exportquery/GenericSQLQuery.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/exportquery/GenericSQLQuery.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -25,9 +25,9 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.nuiton.topia.TopiaContext;
-import org.nuiton.topia.TopiaException;
-import org.nuiton.topia.framework.TopiaSQLQuery;
+import org.nuiton.topia.persistence.TopiaException;
+import org.nuiton.topia.persistence.support.TopiaSqlQuery;
+import org.nuiton.topia.persistence.support.TopiaSqlSupport;
import org.nuiton.util.PagerBean;
import org.nuiton.util.PagerBeanUtil;
@@ -44,7 +44,7 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 1.0
*/
-public class GenericSQLQuery extends TopiaSQLQuery<Map<String, Object>> {
+public class GenericSQLQuery extends TopiaSqlQuery<Map<String, Object>> {
/** Logger. */
private static final Log log = LogFactory.getLog(GenericSQLQuery.class);
@@ -72,23 +72,23 @@
return model;
}
- public List<Map<String, Object>> getResult(TopiaContext tx) throws TopiaException {
+ public List<Map<String, Object>> getResult(TopiaSqlSupport tx) throws TopiaException {
List<Map<String, Object>> rows =
- findMultipleResult(tx);
+ tx.findMultipleResult(this);
return rows;
}
- public void testQuery(TopiaContext tx) throws TopiaException {
- findSingleResult(tx);
+ public void testQuery(TopiaSqlSupport tx) throws TopiaException {
+ tx.findSingleResult(this);
}
- public String[] getColumnNames(TopiaContext tx) throws TopiaException {
- findSingleResult(tx);
+ public String[] getColumnNames(TopiaSqlSupport tx) throws TopiaException {
+ tx.findSingleResult(this);
return columnNames;
}
@Override
- protected PreparedStatement prepareQuery(Connection connection) throws SQLException {
+ public PreparedStatement prepareQuery(Connection connection) throws SQLException {
return connection.prepareStatement(
sql,
ResultSet.TYPE_SCROLL_INSENSITIVE,
@@ -97,7 +97,7 @@
}
@Override
- protected void afterExecuteQuery(ResultSet set) throws SQLException {
+ public void afterExecuteQuery(ResultSet set) throws SQLException {
super.afterExecuteQuery(set);
// obtain columnNames
@@ -140,7 +140,7 @@
}
@Override
- protected Map<String, Object> prepareResult(ResultSet set) throws SQLException {
+ public Map<String, Object> prepareResult(ResultSet set) throws SQLException {
if (pager != null) {
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/AbstractImportConfiguration.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/AbstractImportConfiguration.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/AbstractImportConfiguration.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -24,7 +24,7 @@
package fr.ifremer.echobase.services.service.importdata;
import com.google.common.collect.Lists;
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
+import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum;
import fr.ifremer.echobase.entities.ImportType;
import fr.ifremer.echobase.io.EchoBaseIOUtil;
import fr.ifremer.echobase.io.InputFile;
@@ -121,7 +121,7 @@
}
public void addResult(EchoBaseCsvFileImportResult fileResult) {
- Set<EchoBaseEntityEnum> entityTypes = fileResult.getEntityTypes();
+ Set<EchoBaseUserEntityEnum> entityTypes = fileResult.getEntityTypes();
if (!entityTypes.isEmpty()) {
importResults.add(fileResult);
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/AbstractImportDataService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/AbstractImportDataService.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/AbstractImportDataService.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -28,8 +28,8 @@
import com.google.common.collect.Maps;
import fr.ifremer.echobase.EchoBaseTechnicalException;
import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.EchoBaseUser;
+import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum;
import fr.ifremer.echobase.entities.ImportLog;
import fr.ifremer.echobase.entities.data.Category;
import fr.ifremer.echobase.entities.data.Cell;
@@ -44,15 +44,17 @@
import fr.ifremer.echobase.entities.references.Species;
import fr.ifremer.echobase.entities.references.SpeciesCategory;
import fr.ifremer.echobase.io.InputFile;
-import fr.ifremer.echobase.services.EchoBaseServiceContext;
import fr.ifremer.echobase.services.EchoBaseServiceSupport;
-import fr.ifremer.echobase.services.service.WorkingDbPersistenceService;
+import fr.ifremer.echobase.services.service.DecoratorService;
+import fr.ifremer.echobase.services.service.UserDbPersistenceService;
+import fr.ifremer.echobase.services.service.spatial.SpatialService;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.csv.ImportRuntimeException;
import org.nuiton.util.TimeLog;
+import javax.inject.Inject;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
@@ -86,13 +88,11 @@
public static final TimeLog TIME_LOG =
new TimeLog(AbstractImportDataService.class);
- protected WorkingDbPersistenceService persistenceService;
+ @Inject
+ protected UserDbPersistenceService persistenceService;
- @Override
- public void setServiceContext(EchoBaseServiceContext serviceContext) {
- super.setServiceContext(serviceContext);
- persistenceService = serviceContext.newService(WorkingDbPersistenceService.class);
- }
+ @Inject
+ private SpatialService spatialService;
public final String doImport(M configuration,
EchoBaseUser user) throws ImportException {
@@ -119,7 +119,7 @@
persistenceService.commit();
// update sql spatial data
- getSpatialService().updatePostgisTable();
+ spatialService.updatePostgisTable();
s0 = TIME_LOG.log(s0, "postgis update");
@@ -155,7 +155,7 @@
StringBuilder description = new StringBuilder();
description.append("Depuis Fichier ").append(importResult.getImportFileName());
- for (EchoBaseEntityEnum entityType : importResult.getEntityTypes()) {
+ for (EchoBaseUserEntityEnum entityType : importResult.getEntityTypes()) {
int numberCreated = importResult.getNumberCreated(entityType);
int numberUpdated = importResult.getNumberUpdated(entityType);
description.append("\n\tEntité ").append(entityType);
@@ -291,7 +291,7 @@
ageCategory,
sexCategory
);
- importResult.incrementsNumberCreated(EchoBaseEntityEnum.SpeciesCategory);
+ importResult.incrementsNumberCreated(EchoBaseUserEntityEnum.SpeciesCategory);
}
speciesCategories.put(key, category);
@@ -349,7 +349,7 @@
echotype,
speciesCategory
);
- importResult.incrementsNumberCreated(EchoBaseEntityEnum.Category);
+ importResult.incrementsNumberCreated(EchoBaseUserEntityEnum.Category);
}
categories.put(key, category);
@@ -401,7 +401,7 @@
cell.addData(data);
cell.setDataQuality(dataQuality);
- importResult.incrementsNumberCreated(EchoBaseEntityEnum.Data);
+ importResult.incrementsNumberCreated(EchoBaseUserEntityEnum.Data);
}
protected void addResults(EchoBaseCsvUtil.ResultAble row,
@@ -424,10 +424,10 @@
if (collecIds) {
// collect ids
- importResult.addId(EchoBaseEntityEnum.Result, resultCreated);
+ importResult.addId(EchoBaseUserEntityEnum.Result, resultCreated);
} else {
- importResult.incrementsNumberCreated(EchoBaseEntityEnum.Result);
+ importResult.incrementsNumberCreated(EchoBaseUserEntityEnum.Result);
}
}
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/AcousticImportService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/AcousticImportService.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/AcousticImportService.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -23,14 +23,13 @@
*/
package fr.ifremer.echobase.services.service.importdata;
-import com.google.common.base.Preconditions;
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
import fr.ifremer.echobase.EchoBaseFunctions;
import fr.ifremer.echobase.EchoBasePredicates;
import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.EchoBaseUser;
+import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum;
import fr.ifremer.echobase.entities.data.Cell;
import fr.ifremer.echobase.entities.data.DataAcquisition;
import fr.ifremer.echobase.entities.data.DataProcessing;
@@ -90,11 +89,9 @@
CellType esduCellType = persistenceService.getCellTypeById(
CellTypeImpl.ESDU);
- Preconditions.checkNotNull(esduCellType);
CellType elementaryCellType = persistenceService.getCellTypeById(
CellTypeImpl.ELEMENTARY);
- Preconditions.checkNotNull(elementaryCellType);
EchoBaseCsvFileImportResult importResult =
importMoviesFile(configuration,
@@ -272,7 +269,7 @@
row);
// collect id of the import
- importResult.addId(EchoBaseEntityEnum.DataAcquisition,
+ importResult.addId(EchoBaseUserEntityEnum.DataAcquisition,
dataAcquisition);
createdDataAcquisitions.add(
dataAcquisition.getTopiaId());
@@ -284,7 +281,7 @@
log.debug("[row " + rowNumber +
"] New dataAquisition to use (number: " +
importResult.getNumberCreated(
- EchoBaseEntityEnum.DataAcquisition) + ")");
+ EchoBaseUserEntityEnum.DataAcquisition) + ")");
}
// create data processing
@@ -302,7 +299,7 @@
}
importResult.incrementsNumberCreated(
- EchoBaseEntityEnum.DataProcessing);
+ EchoBaseUserEntityEnum.DataProcessing);
// add it to data acquisition
dataAcquisition.addDataProcessing(dataProcessing);
@@ -353,10 +350,10 @@
if (collectCellIds) {
// collect ids (dataProcessing already exists)
- importResult.addId(EchoBaseEntityEnum.Cell, esduCell);
+ importResult.addId(EchoBaseUserEntityEnum.Cell, esduCell);
} else {
- importResult.incrementsNumberCreated(EchoBaseEntityEnum.Cell);
+ importResult.incrementsNumberCreated(EchoBaseUserEntityEnum.Cell);
}
// add it to data processing
@@ -392,7 +389,7 @@
// keep (to attach them to esdu cell)
elementaryCells.add(elementaryCell);
- importResult.incrementsNumberCreated(EchoBaseEntityEnum.Cell);
+ importResult.incrementsNumberCreated(EchoBaseUserEntityEnum.Cell);
// create datas of the elementary cell
createElementaryCellData(suffix,
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/CatchesImportService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/CatchesImportService.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/CatchesImportService.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -28,8 +28,8 @@
import com.google.common.collect.Maps;
import fr.ifremer.echobase.EchoBaseFunctions;
import fr.ifremer.echobase.EchoBasePredicates;
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.EchoBaseUser;
+import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum;
import fr.ifremer.echobase.entities.data.Operation;
import fr.ifremer.echobase.entities.data.Sample;
import fr.ifremer.echobase.entities.data.SampleData;
@@ -167,18 +167,12 @@
);
SampleType sampleTypeTotal = persistenceService.getSampleTypeByName(SampleTypeImpl.TOTAL_SAMPLE_TYPE);
- Preconditions.checkNotNull(sampleTypeTotal);
SampleType sampleTypeUnsorted = persistenceService.getSampleTypeByName(SampleTypeImpl.UNSORTED_SAMPLE_TYPE);
- Preconditions.checkNotNull(sampleTypeUnsorted);
SampleType sampleTypeSorted = persistenceService.getSampleTypeByName(SampleTypeImpl.SORTED_SAMPLE_TYPE);
- Preconditions.checkNotNull(sampleTypeSorted);
SampleDataType sampleDataTypeMeanLength = persistenceService.getSampleDataTypeByName(SampleDataTypeImpl.MEAN_LENGTHCM);
- Preconditions.checkNotNull(sampleDataTypeMeanLength);
SampleDataType sampleDataTypeMeanWeight = persistenceService.getSampleDataTypeByName(SampleDataTypeImpl.MEAN_WEIGHTG);
- Preconditions.checkNotNull(sampleDataTypeMeanWeight);
SampleDataType sampleDataTypeNoPerKg = persistenceService.getSampleDataTypeByName(SampleDataTypeImpl.NO_PER_KG);
- Preconditions.checkNotNull(sampleDataTypeNoPerKg);
Reader reader = getInputFileReader(inputFile);
Locale locale = getLocale();
@@ -316,16 +310,11 @@
sexCategoryMap);
SampleType sampleTypeSubsample = persistenceService.getSampleTypeByName(SampleTypeImpl.SUB_SAMPLE_TYPE);
- Preconditions.checkNotNull(sampleTypeSubsample);
SampleDataType sampleDataTypeNumberAtLength = persistenceService.getSampleDataTypeByName(SampleDataTypeImpl.NUMBER_AT_LENGTH);
- Preconditions.checkNotNull(sampleDataTypeNumberAtLength);
SampleDataType sampleDataTypeNumberAtLength05cm = persistenceService.getSampleDataTypeByName(SampleDataTypeImpl.LTCM0_5);
- Preconditions.checkNotNull(sampleDataTypeNumberAtLength05cm);
SampleDataType sampleDataTypeNumberAtLength1cm = persistenceService.getSampleDataTypeByName(SampleDataTypeImpl.L_TCM_1);
- Preconditions.checkNotNull(sampleDataTypeNumberAtLength1cm);
SampleDataType sampleDataTypeWeightAtLength = persistenceService.getSampleDataTypeByName(SampleDataTypeImpl.WEIGHT_AT_LENGTHKG);
- Preconditions.checkNotNull(sampleDataTypeWeightAtLength);
Reader reader = getInputFileReader(inputFile);
try {
@@ -446,7 +435,6 @@
SampleType sampleTypeIndividual = persistenceService.getSampleTypeByName(SampleTypeImpl.INDIVIDUAL_SAMPLE_TYPE);
- Preconditions.checkNotNull(sampleTypeIndividual);
Map<String, Sample> samples = Maps.newTreeMap();
@@ -505,7 +493,7 @@
SampleData sampleDataCreated = persistenceService.createSampleData(sampleData);
sample.addSampleData(sampleDataCreated);
- importResult.incrementsNumberCreated(EchoBaseEntityEnum.SampleData);
+ importResult.incrementsNumberCreated(EchoBaseUserEntityEnum.SampleData);
}
return importResult;
@@ -525,7 +513,7 @@
operation.addSample(result);
// collect ids
- importResult.addId(EchoBaseEntityEnum.Sample, sample);
+ importResult.addId(EchoBaseUserEntityEnum.Sample, sample);
return result;
}
@@ -540,7 +528,7 @@
value);
sample.addSampleData(sampleData);
- importResult.incrementsNumberCreated(EchoBaseEntityEnum.SampleData);
+ importResult.incrementsNumberCreated(EchoBaseUserEntityEnum.SampleData);
return sampleData;
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/CommonAllImportService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/CommonAllImportService.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/CommonAllImportService.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -27,6 +27,7 @@
import fr.ifremer.echobase.entities.EchoBaseUser;
import fr.ifremer.echobase.entities.references.Vessel;
+import javax.inject.Inject;
import java.util.Map;
/**
@@ -37,6 +38,15 @@
*/
public class CommonAllImportService extends AbstractImportDataService<CommonImportConfiguration> {
+ @Inject
+ CommonVoyageImportService commonVoyageImportService;
+
+ @Inject
+ CommonTransitImportService commonTransitImportService;
+
+ @Inject
+ CommonTransectImportService commonTransectImportService;
+
@Override
protected void startImport(CommonImportConfiguration configuration,
EchoBaseUser user) throws ImportException {
@@ -47,13 +57,13 @@
EchoBaseCsvFileImportResult importResult;
- importResult = newService(CommonVoyageImportService.class).importFile(configuration);
+ importResult = commonVoyageImportService.importFile(configuration);
configuration.addResult(importResult);
- importResult = newService(CommonTransitImportService.class).importFile(configuration, false);
+ importResult = commonTransitImportService.importFile(configuration, false);
configuration.addResult(importResult);
- importResult = newService(CommonTransectImportService.class).importFile(vesselMap, configuration, false);
+ importResult = commonTransectImportService.importFile(vesselMap, configuration, false);
configuration.addResult(importResult);
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/CommonImportService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/CommonImportService.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/CommonImportService.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -28,8 +28,10 @@
import fr.ifremer.echobase.entities.EchoBaseUser;
import fr.ifremer.echobase.entities.ImportType;
import fr.ifremer.echobase.entities.references.Mission;
-import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.persistence.TopiaException;
+import javax.inject.Inject;
+
/**
* Service to launch a "common data" import.
*
@@ -38,6 +40,18 @@
*/
public class CommonImportService extends AbstractImportDataService<CommonImportConfiguration> {
+ @Inject
+ CommonAllImportService commonAllImportService;
+
+ @Inject
+ CommonVoyageImportService commonVoyageImportService;
+
+ @Inject
+ CommonTransitImportService commonTransitImportService;
+
+ @Inject
+ CommonTransectImportService commonTransectImportService;
+
@Override
public void startImport(CommonImportConfiguration configuration,
EchoBaseUser user) throws ImportException {
@@ -49,19 +63,19 @@
switch (importMode) {
case COMMON_ALL:
- service = newService(CommonAllImportService.class);
+ service = commonAllImportService;
break;
case COMMON_VOYAGE:
- service = newService(CommonVoyageImportService.class);
+ service = commonVoyageImportService;
break;
case COMMON_TRANSIT:
- service = newService(CommonTransitImportService.class);
+ service = commonTransitImportService;
break;
case COMMON_TRANSECT:
- service = newService(CommonTransectImportService.class);
+ service = commonTransectImportService;
break;
default:
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/CommonTransectImportService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/CommonTransectImportService.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/CommonTransectImportService.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -25,8 +25,8 @@
import com.google.common.collect.Maps;
import fr.ifremer.echobase.EchoBaseFunctions;
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.EchoBaseUser;
+import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum;
import fr.ifremer.echobase.entities.data.Transect;
import fr.ifremer.echobase.entities.data.Transit;
import fr.ifremer.echobase.entities.data.Voyage;
@@ -141,11 +141,11 @@
if (collectIds) {
// collect id of the import
- importResult.addId(EchoBaseEntityEnum.Transect,
+ importResult.addId(EchoBaseUserEntityEnum.Transect,
createdTransect);
} else {
- importResult.incrementsNumberCreated(EchoBaseEntityEnum.Transect);
+ importResult.incrementsNumberCreated(EchoBaseUserEntityEnum.Transect);
}
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/CommonTransitImportService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/CommonTransitImportService.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/CommonTransitImportService.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -25,8 +25,8 @@
import com.google.common.collect.Maps;
import fr.ifremer.echobase.EchoBaseFunctions;
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.EchoBaseUser;
+import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum;
import fr.ifremer.echobase.entities.data.Transit;
import fr.ifremer.echobase.entities.data.Voyage;
import fr.ifremer.echobase.io.InputFile;
@@ -108,11 +108,11 @@
if (collectIds) {
// collect id of the import
- importResult.addId(EchoBaseEntityEnum.Transit,
+ importResult.addId(EchoBaseUserEntityEnum.Transit,
createdTransit);
} else {
- importResult.incrementsNumberCreated(EchoBaseEntityEnum.Transit);
+ importResult.incrementsNumberCreated(EchoBaseUserEntityEnum.Transit);
}
}
return importResult;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/CommonVoyageImportService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/CommonVoyageImportService.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/CommonVoyageImportService.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -23,8 +23,8 @@
* #L%
*/
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.EchoBaseUser;
+import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum;
import fr.ifremer.echobase.entities.data.Voyage;
import fr.ifremer.echobase.entities.references.AreaOfOperation;
import fr.ifremer.echobase.entities.references.Mission;
@@ -114,7 +114,7 @@
}
// collect id of the import
- result.addId(EchoBaseEntityEnum.Voyage, voyage);
+ result.addId(EchoBaseUserEntityEnum.Voyage, voyage);
}
if (newVoyage == null) {
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/EchoBaseCsvFileImportResult.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/EchoBaseCsvFileImportResult.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/EchoBaseCsvFileImportResult.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -24,10 +24,10 @@
*/
import com.google.common.collect.Lists;
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
+import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum;
import fr.ifremer.echobase.entities.ImportLog;
import org.nuiton.topia.persistence.TopiaEntity;
-import org.nuiton.topia.persistence.csv.in.CsvFileImportResult;
+import org.nuiton.topia.service.csv.in.CsvFileImportResult;
import java.util.List;
@@ -38,18 +38,18 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 1.2
*/
-public class EchoBaseCsvFileImportResult extends CsvFileImportResult<EchoBaseEntityEnum> {
+public class EchoBaseCsvFileImportResult extends CsvFileImportResult<EchoBaseUserEntityEnum> {
private static final long serialVersionUID = 1L;
protected final List<String> ids;
public EchoBaseCsvFileImportResult(String importFileName) {
- super(importFileName, EchoBaseEntityEnum.values());
+ super(importFileName, EchoBaseUserEntityEnum.values());
ids = Lists.newArrayList();
}
- public <E extends TopiaEntity> void addId(EchoBaseEntityEnum entityEnum, E... entities) {
+ public <E extends TopiaEntity> void addId(EchoBaseUserEntityEnum entityEnum, E... entities) {
for (E entity : entities) {
this.ids.add(entity.getTopiaId());
incrementsNumberCreated(entityEnum);
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/OperationImportService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/OperationImportService.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/OperationImportService.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -25,8 +25,8 @@
import com.google.common.collect.Maps;
import fr.ifremer.echobase.EchoBaseFunctions;
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.EchoBaseUser;
+import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum;
import fr.ifremer.echobase.entities.data.GearMetadataValue;
import fr.ifremer.echobase.entities.data.Operation;
import fr.ifremer.echobase.entities.data.OperationMetadataValue;
@@ -160,7 +160,7 @@
Operation createdOperation = persistenceService.createOperation(operation);
// collect ids
- importResult.addId(EchoBaseEntityEnum.Operation,
+ importResult.addId(EchoBaseUserEntityEnum.Operation,
createdOperation);
transect.addOperation(createdOperation);
@@ -190,7 +190,7 @@
Map<String, OperationMetadata> operationMetadatasByName =
persistenceService.getEntitiesMap(OperationMetadata.class,
- EchoBaseFunctions.OPERATION_METADATA_NAME);
+ EchoBaseFunctions.OPERATION_METADATA_NAME);
OperationMetadataValueImportModel csvModel =
new OperationMetadataValueImportModel(getCsvSeparator(),
@@ -216,7 +216,7 @@
operationMetadataValueToCreate);
operation.addOperationMetadataValue(operationMetadataValue);
- importResult.incrementsNumberCreated(EchoBaseEntityEnum.OperationMetadataValue);
+ importResult.incrementsNumberCreated(EchoBaseUserEntityEnum.OperationMetadataValue);
}
return importResult;
} catch (ImportRuntimeException e) {
@@ -243,7 +243,7 @@
Map<String, GearMetadata> gearMetadatasByType =
persistenceService.getEntitiesMap(GearMetadata.class,
- EchoBaseFunctions.GEAR_METADATA_NAME);
+ EchoBaseFunctions.GEAR_METADATA_NAME);
GearMetadataValueImportModel csvModel =
new GearMetadataValueImportModel(getCsvSeparator(),
@@ -270,7 +270,7 @@
gearMetadataValuetoCreate);
operation.addGearMetadataValue(gearMetadataValue);
- importResult.incrementsNumberCreated(EchoBaseEntityEnum.GearMetadataValue);
+ importResult.incrementsNumberCreated(EchoBaseUserEntityEnum.GearMetadataValue);
}
return importResult;
} catch (ImportRuntimeException e) {
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/ResultsEsduCellImportService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/ResultsEsduCellImportService.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/ResultsEsduCellImportService.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -25,8 +25,8 @@
import com.google.common.collect.Maps;
import fr.ifremer.echobase.EchoBaseFunctions;
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.EchoBaseUser;
+import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum;
import fr.ifremer.echobase.entities.data.Category;
import fr.ifremer.echobase.entities.data.Cell;
import fr.ifremer.echobase.entities.data.DataProcessing;
@@ -379,7 +379,7 @@
row.getSizeCategoryMeaning()
);
importResult.incrementsNumberCreated(
- EchoBaseEntityEnum.SizeCategory);
+ EchoBaseUserEntityEnum.SizeCategory);
if (log.isInfoEnabled()) {
log.info("Creates a new SizeCategory " + sizeCategoryName);
}
@@ -469,7 +469,7 @@
row.getAgeCategoryMeaning()
);
importResult.incrementsNumberCreated(
- EchoBaseEntityEnum.AgeCategory);
+ EchoBaseUserEntityEnum.AgeCategory);
if (log.isInfoEnabled()) {
log.info("Creates a new AgeCategory " + ageCategoryName);
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/ResultsImportService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/ResultsImportService.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/ResultsImportService.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -35,6 +35,7 @@
import fr.ifremer.echobase.services.service.DecoratorService;
import org.nuiton.decorator.Decorator;
+import javax.inject.Inject;
import java.util.Map;
/**
@@ -45,6 +46,9 @@
*/
public class ResultsImportService extends AbstractImportDataService<ResultsImportConfiguration> {
+ @Inject
+ private DecoratorService decoratorService;
+
@Override
public void startImport(ResultsImportConfiguration configuration,
EchoBaseUser user) throws ImportException {
@@ -89,13 +93,11 @@
Map<String, String> result = Maps.newLinkedHashMap();
- DecoratorService service = getDecoratorService();
+ Decorator<Transit> transitDecorator = decoratorService.getDecorator(getLocale(), Transit.class, null);
+ Decorator<Transect> transectDecorator = decoratorService.getDecorator(getLocale(), Transect.class, null);
+ Decorator<DataAcquisition> dataAcquisitionDecorator = decoratorService.getDecorator(getLocale(), DataAcquisition.class, null);
+ Decorator<DataProcessing> dataProcessingDecorator = decoratorService.getDecorator(getLocale(), DataProcessing.class, null);
- Decorator<Transit> transitDecorator = service.getDecorator(getLocale(), Transit.class, null);
- Decorator<Transect> transectDecorator = service.getDecorator(getLocale(), Transect.class, null);
- Decorator<DataAcquisition> dataAcquisitionDecorator = service.getDecorator(getLocale(), DataAcquisition.class, null);
- Decorator<DataProcessing> dataProcessingDecorator = service.getDecorator(getLocale(), DataProcessing.class, null);
-
if (!voyage.isTransitEmpty()) {
for (Transit transit : voyage.getTransit()) {
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/ResultsMapFishCellImportService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/ResultsMapFishCellImportService.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/ResultsMapFishCellImportService.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -23,11 +23,10 @@
*/
package fr.ifremer.echobase.services.service.importdata;
-import com.google.common.base.Preconditions;
import com.google.common.collect.Maps;
import fr.ifremer.echobase.EchoBaseFunctions;
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.EchoBaseUser;
+import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum;
import fr.ifremer.echobase.entities.data.Category;
import fr.ifremer.echobase.entities.data.Cell;
import fr.ifremer.echobase.entities.data.Voyage;
@@ -93,25 +92,18 @@
String resultLabel = configuration.getResultLabel();
CellType cellType = persistenceService.getCellTypeById(CellTypeImpl.MAP);
- Preconditions.checkNotNull(cellType);
DataMetadata dataLongitudeMeta = persistenceService.getDataMetadataByName(DataMetadataImpl.GRID_CELL_LONGITUDE);
- Preconditions.checkNotNull(dataLongitudeMeta);
DataMetadata dataLatitudeMeta = persistenceService.getDataMetadataByName(DataMetadataImpl.GRID_CELL_LATITUDE);
- Preconditions.checkNotNull(dataLatitudeMeta);
DataMetadata dataDepthMeta = persistenceService.getDataMetadataByName(DataMetadataImpl.GRID_CELL_DEPTH);
- Preconditions.checkNotNull(dataDepthMeta);
DataMetadata dataLongitudeLagMeta = persistenceService.getDataMetadataByName(DataMetadataImpl.GRID_LONGITUDE_LAG);
- Preconditions.checkNotNull(dataLongitudeLagMeta);
DataMetadata dataLatitudeLagMeta = persistenceService.getDataMetadataByName(DataMetadataImpl.GRID_LATITUDE_LAG);
- Preconditions.checkNotNull(dataLatitudeLagMeta);
DataMetadata dataDepthLagMeta = persistenceService.getDataMetadataByName(DataMetadataImpl.GRID_DEPTH_LAG);
- Preconditions.checkNotNull(dataDepthLagMeta);
// authorize only the selected voyage to be imported
Map<String, Voyage> voyageMap = Maps.uniqueIndex(Arrays.asList(
@@ -171,7 +163,7 @@
voyage.addPostCell(cell);
// collect ids
- importResult.addId(EchoBaseEntityEnum.Cell, cell);
+ importResult.addId(EchoBaseUserEntityEnum.Cell, cell);
DataQuality dataQuality = row.getDataQuality();
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/ResultsMapOtherCellImportService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/ResultsMapOtherCellImportService.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/ResultsMapOtherCellImportService.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -23,11 +23,10 @@
* #L%
*/
-import com.google.common.base.Preconditions;
import com.google.common.collect.Maps;
import fr.ifremer.echobase.EchoBaseFunctions;
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.EchoBaseUser;
+import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum;
import fr.ifremer.echobase.entities.data.Cell;
import fr.ifremer.echobase.entities.data.Voyage;
import fr.ifremer.echobase.entities.references.CellType;
@@ -88,25 +87,18 @@
String resultLabel = configuration.getResultLabel();
CellType cellType = persistenceService.getCellTypeById(CellTypeImpl.MAP);
- Preconditions.checkNotNull(cellType);
DataMetadata dataLongitudeMeta = persistenceService.getDataMetadataByName(DataMetadataImpl.GRID_CELL_LONGITUDE);
- Preconditions.checkNotNull(dataLongitudeMeta);
DataMetadata dataLatitudeMeta = persistenceService.getDataMetadataByName(DataMetadataImpl.GRID_CELL_LATITUDE);
- Preconditions.checkNotNull(dataLatitudeMeta);
DataMetadata dataDepthMeta = persistenceService.getDataMetadataByName(DataMetadataImpl.GRID_CELL_DEPTH);
- Preconditions.checkNotNull(dataDepthMeta);
DataMetadata dataLongitudeLagMeta = persistenceService.getDataMetadataByName(DataMetadataImpl.GRID_LONGITUDE_LAG);
- Preconditions.checkNotNull(dataLongitudeLagMeta);
DataMetadata dataLatitudeLagMeta = persistenceService.getDataMetadataByName(DataMetadataImpl.GRID_LATITUDE_LAG);
- Preconditions.checkNotNull(dataLatitudeLagMeta);
DataMetadata dataDepthLagMeta = persistenceService.getDataMetadataByName(DataMetadataImpl.GRID_DEPTH_LAG);
- Preconditions.checkNotNull(dataDepthLagMeta);
// authorize only the selected voyage to be imported
Map<String, Voyage> voyageMap = Maps.uniqueIndex(Arrays.asList(
@@ -152,7 +144,7 @@
voyage.addPostCell(cell);
// collect ids
- importResult.addId(EchoBaseEntityEnum.Cell, cell);
+ importResult.addId(EchoBaseUserEntityEnum.Cell, cell);
DataQuality dataQuality = row.getDataQuality();
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/ResultsRegionCellImportService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/ResultsRegionCellImportService.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/ResultsRegionCellImportService.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -23,11 +23,10 @@
*/
package fr.ifremer.echobase.services.service.importdata;
-import com.google.common.base.Preconditions;
import com.google.common.collect.Maps;
import fr.ifremer.echobase.EchoBaseFunctions;
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.EchoBaseUser;
+import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum;
import fr.ifremer.echobase.entities.data.Category;
import fr.ifremer.echobase.entities.data.Cell;
import fr.ifremer.echobase.entities.data.Echotype;
@@ -100,16 +99,12 @@
InputFile inputFile = configuration.getRegionsFile();
CellType cellSurfaceType = persistenceService.getCellTypeById(CellTypeImpl.REGION_SURF);
- Preconditions.checkNotNull(cellSurfaceType);
CellType cellBottomType = persistenceService.getCellTypeById(CellTypeImpl.REGION_CLAS);
- Preconditions.checkNotNull(cellBottomType);
DataMetadata dataCoordinateMeta = persistenceService.getDataMetadataByName(DataMetadataImpl.REGION_ENV_COORDINATES);
- Preconditions.checkNotNull(dataCoordinateMeta);
DataMetadata dataSurfaceMeta = persistenceService.getDataMetadataByName(DataMetadataImpl.SURFACE);
- Preconditions.checkNotNull(dataSurfaceMeta);
// authorize only the selected voyage to be imported
Map<String, Voyage> voyageMap = Maps.uniqueIndex(Arrays.asList(
@@ -152,7 +147,7 @@
voyage.addPostCell(cell);
// collect ids
- importResult.addId(EchoBaseEntityEnum.Cell, cell);
+ importResult.addId(EchoBaseUserEntityEnum.Cell, cell);
// add surface data
createCellData(cell,
@@ -218,7 +213,7 @@
Cell regionCell = row.getRegionCell();
Cell esduCell = row.getEsduCell();
regionCell.addChilds(esduCell);
- importResult.incrementsNumberUpdated(EchoBaseEntityEnum.Cell);
+ importResult.incrementsNumberUpdated(EchoBaseUserEntityEnum.Cell);
}
return importResult;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/ResultsVoyageImportService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/ResultsVoyageImportService.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/ResultsVoyageImportService.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -28,8 +28,8 @@
import com.google.common.collect.Maps;
import fr.ifremer.echobase.EchoBaseFunctions;
import fr.ifremer.echobase.EchoBasePredicates;
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.EchoBaseUser;
+import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum;
import fr.ifremer.echobase.entities.data.Echotype;
import fr.ifremer.echobase.entities.data.LengthAgeKey;
import fr.ifremer.echobase.entities.data.LengthWeightKey;
@@ -190,7 +190,7 @@
voyage.addLengthWeightKey(lengthWeightKey);
// collect ids
- importResult.addId(EchoBaseEntityEnum.LengthWeightKey,
+ importResult.addId(EchoBaseUserEntityEnum.LengthWeightKey,
lengthWeightKey);
}
@@ -243,7 +243,7 @@
voyage.addLengthAgeKey(lengthAgeKey);
// collect ids
- importResult.addId(EchoBaseEntityEnum.LengthAgeKey,
+ importResult.addId(EchoBaseUserEntityEnum.LengthAgeKey,
lengthAgeKey);
}
return importResult;
@@ -317,7 +317,7 @@
voyage.addEchotype(echotype);
// collect ids
- importResult.addId(EchoBaseEntityEnum.Echotype, echotype);
+ importResult.addId(EchoBaseUserEntityEnum.Echotype, echotype);
} else {
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/AcousticImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/AcousticImportModel.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/AcousticImportModel.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -30,7 +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 org.nuiton.topia.service.csv.in.AbstractImportModel;
import java.util.Map;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/BiometrySampleImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/BiometrySampleImportModel.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/BiometrySampleImportModel.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -29,7 +29,7 @@
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 org.nuiton.topia.service.csv.in.AbstractImportModel;
import java.util.Map;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/EchotypeImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/EchotypeImportModel.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/EchotypeImportModel.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -28,7 +28,7 @@
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 org.nuiton.topia.service.csv.in.AbstractImportModel;
import java.util.Map;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/EsduResultByEchotypeAndSpeciesCategoryImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/EsduResultByEchotypeAndSpeciesCategoryImportModel.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/EsduResultByEchotypeAndSpeciesCategoryImportModel.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -32,7 +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 org.nuiton.topia.service.csv.in.AbstractImportModel;
import java.util.List;
import java.util.Map;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/EsduResultByEchotypeImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/EsduResultByEchotypeImportModel.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/EsduResultByEchotypeImportModel.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -30,7 +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 org.nuiton.topia.service.csv.in.AbstractImportModel;
import java.util.List;
import java.util.Map;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/EsduResultBySpeciesAndAgeCategoryImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/EsduResultBySpeciesAndAgeCategoryImportModel.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/EsduResultBySpeciesAndAgeCategoryImportModel.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -30,7 +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 org.nuiton.topia.service.csv.in.AbstractImportModel;
import java.util.List;
import java.util.Map;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/EsduResultBySpeciesAndSizeCategoryImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/EsduResultBySpeciesAndSizeCategoryImportModel.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/EsduResultBySpeciesAndSizeCategoryImportModel.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -30,7 +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 org.nuiton.topia.service.csv.in.AbstractImportModel;
import java.util.List;
import java.util.Map;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/GearMetadataValueImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/GearMetadataValueImportModel.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/GearMetadataValueImportModel.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -29,7 +29,7 @@
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 org.nuiton.topia.service.csv.in.AbstractImportModel;
import java.util.Map;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/LengthAgeKeyImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/LengthAgeKeyImportModel.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/LengthAgeKeyImportModel.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -28,7 +28,7 @@
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 org.nuiton.topia.service.csv.in.AbstractImportModel;
import java.util.Map;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/LengthWeightKeyImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/LengthWeightKeyImportModel.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/LengthWeightKeyImportModel.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -29,7 +29,7 @@
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 org.nuiton.topia.service.csv.in.AbstractImportModel;
import java.util.Map;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/MapCellImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/MapCellImportModel.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/MapCellImportModel.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -31,7 +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 org.nuiton.topia.service.csv.in.AbstractImportModel;
import java.util.List;
import java.util.Map;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/OperationImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/OperationImportModel.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/OperationImportModel.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -28,7 +28,7 @@
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 org.nuiton.topia.service.csv.in.AbstractImportModel;
import java.util.Map;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/OperationMetadataValueImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/OperationMetadataValueImportModel.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/OperationMetadataValueImportModel.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -28,7 +28,7 @@
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 org.nuiton.topia.service.csv.in.AbstractImportModel;
import java.util.Map;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/RegionCellAssociationImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/RegionCellAssociationImportModel.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/RegionCellAssociationImportModel.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -26,7 +26,7 @@
import fr.ifremer.echobase.entities.data.Cell;
import fr.ifremer.echobase.entities.data.Voyage;
import org.nuiton.csv.ValueParser;
-import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
+import org.nuiton.topia.service.csv.in.AbstractImportModel;
import java.util.Map;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/RegionCellImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/RegionCellImportModel.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/RegionCellImportModel.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -27,7 +27,7 @@
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 org.nuiton.topia.service.csv.in.AbstractImportModel;
import java.util.Map;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/RegionCellResultImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/RegionCellResultImportModel.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/RegionCellResultImportModel.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -31,7 +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 org.nuiton.topia.service.csv.in.AbstractImportModel;
import java.util.List;
import java.util.Map;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/SubSampleImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/SubSampleImportModel.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/SubSampleImportModel.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -30,7 +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 org.nuiton.topia.service.csv.in.AbstractImportModel;
import java.util.Map;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/TotalSampleImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/TotalSampleImportModel.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/TotalSampleImportModel.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -28,7 +28,7 @@
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 org.nuiton.topia.service.csv.in.AbstractImportModel;
import java.util.Map;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/TransectImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/TransectImportModel.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/TransectImportModel.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -27,7 +27,7 @@
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 org.nuiton.topia.service.csv.in.AbstractImportModel;
import java.util.Map;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/TransitImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/TransitImportModel.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/TransitImportModel.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -26,7 +26,7 @@
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 org.nuiton.topia.service.csv.in.AbstractImportModel;
import java.util.Map;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageImportModel.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageImportModel.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -26,7 +26,7 @@
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;
+import org.nuiton.topia.service.csv.in.AbstractImportModel;
/**
* Model to import Voyages.
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdb/EchoBaseImportModelFactory.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdb/EchoBaseImportModelFactory.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdb/EchoBaseImportModelFactory.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -23,17 +23,17 @@
* #L%
*/
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
+import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum;
+import fr.ifremer.echobase.services.EchoBaseServiceSupport;
import fr.ifremer.echobase.services.service.DbEditorService;
-import fr.ifremer.echobase.services.EchoBaseServiceSupport;
+import org.nuiton.csv.ImportModel;
import org.nuiton.topia.persistence.TopiaEntity;
-import org.nuiton.topia.persistence.csv.EntityCsvModel;
-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.csv.ImportModel;
+import org.nuiton.topia.service.csv.EntityCsvModel;
+import org.nuiton.topia.service.csv.in.EntityAssociationImportModel;
+import org.nuiton.topia.service.csv.in.ImportModelFactory;
import java.util.Collection;
import java.util.Map;
@@ -44,11 +44,11 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 1.2
*/
-public class EchoBaseImportModelFactory implements ImportModelFactory<EchoBaseEntityEnum> {
+public class EchoBaseImportModelFactory implements ImportModelFactory<EchoBaseUserEntityEnum> {
- public static ImportModelFactory<EchoBaseEntityEnum> newFactory(EchoBaseServiceSupport service) {
+ public static ImportModelFactory<EchoBaseUserEntityEnum> newFactory(DbEditorService service) {
return new EchoBaseImportModelFactory(
- service.getDbEditorService(),
+ service,
service.getConfiguration().getCsvSeparator()
);
}
@@ -65,9 +65,9 @@
@Override
- public <E extends TopiaEntity> ImportModel<E> buildForImport(TableMeta<EchoBaseEntityEnum> meta) {
+ public <E extends TopiaEntity> ImportModel<E> buildForImport(TableMeta<EchoBaseUserEntityEnum> meta) {
- EntityCsvModel<EchoBaseEntityEnum, E> model = EntityCsvModel.newModel(
+ EntityCsvModel<EchoBaseUserEntityEnum, E> model = EntityCsvModel.newModel(
csvSeparator,
meta,
TopiaEntity.PROPERTY_TOPIA_ID
@@ -89,7 +89,7 @@
}
@Override
- public ImportModel<Map<String, Object>> buildForImport(AssociationMeta<EchoBaseEntityEnum> meta) {
+ public ImportModel<Map<String, Object>> buildForImport(AssociationMeta<EchoBaseUserEntityEnum> meta) {
ImportModel<Map<String, Object>> model =
EntityAssociationImportModel.newImportModel(
@@ -100,12 +100,12 @@
}
@Override
- public boolean isNMAssociationMeta(AssociationMeta<EchoBaseEntityEnum> meta) {
- EchoBaseEntityEnum source = meta.getSource();
- EchoBaseEntityEnum target = meta.getTarget();
+ public boolean isNMAssociationMeta(AssociationMeta<EchoBaseUserEntityEnum> meta) {
+ EchoBaseUserEntityEnum source = meta.getSource();
+ EchoBaseUserEntityEnum target = meta.getTarget();
boolean result = false;
- if (source == EchoBaseEntityEnum.Echotype && target == EchoBaseEntityEnum.Species ||
- source == EchoBaseEntityEnum.Voyage && target == EchoBaseEntityEnum.Strata) {
+ if (source == EchoBaseUserEntityEnum.Echotype && target == EchoBaseUserEntityEnum.Species ||
+ source == EchoBaseUserEntityEnum.Voyage && target == EchoBaseUserEntityEnum.Strata) {
result = true;
}
return result;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdb/ImportDbService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdb/ImportDbService.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdb/ImportDbService.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -30,8 +30,10 @@
import fr.ifremer.echobase.services.service.importdb.strategy.AbstractImportDbStrategy;
import fr.ifremer.echobase.services.service.importdb.strategy.FreeImportDbStrategy;
import fr.ifremer.echobase.services.service.importdb.strategy.ReferentialImportDbStrategy;
-import org.nuiton.topia.TopiaException;
+import fr.ifremer.echobase.services.service.spatial.SpatialService;
+import org.nuiton.topia.persistence.TopiaException;
+import javax.inject.Inject;
import java.io.IOException;
/**
@@ -42,6 +44,9 @@
*/
public class ImportDbService extends EchoBaseServiceSupport {
+ @Inject
+ private SpatialService spatialService;
+
public void doImport(ImportDbConfiguration model,
EchoBaseUser user) throws ImportException {
@@ -70,10 +75,10 @@
}
if (ImportDbMode.REFERENTIAL != importDbMode &&
- getSpatialService().isSpatialAware()) {
+ spatialService.isSpatialAware()) {
// let's update postgis table
- getSpatialService().updatePostgisTable();
+ spatialService.updatePostgisTable();
}
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdb/ImportService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdb/ImportService.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdb/ImportService.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -26,22 +26,22 @@
import com.google.common.base.Charsets;
import com.google.common.io.Files;
import fr.ifremer.echobase.EchoBaseTechnicalException;
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.EchoBaseUser;
-import fr.ifremer.echobase.services.EchoBaseServiceContext;
-import fr.ifremer.echobase.services.service.DbEditorService;
+import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum;
import fr.ifremer.echobase.services.EchoBaseServiceSupport;
-import fr.ifremer.echobase.services.service.WorkingDbPersistenceService;
+import fr.ifremer.echobase.services.service.DbEditorService;
+import fr.ifremer.echobase.services.service.UserDbPersistenceService;
import org.apache.commons.io.IOUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.csv.Import;
import org.nuiton.csv.ImportModel;
import org.nuiton.topia.persistence.TopiaEntity;
-import org.nuiton.topia.persistence.csv.in.CsvImportResult;
-import org.nuiton.topia.persistence.csv.in.ImportModelFactory;
import org.nuiton.topia.persistence.metadata.TableMeta;
+import org.nuiton.topia.service.csv.in.CsvImportResult;
+import org.nuiton.topia.service.csv.in.ImportModelFactory;
+import javax.inject.Inject;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
@@ -57,30 +57,26 @@
/** Logger. */
private static final Log log = LogFactory.getLog(ImportService.class);
- private WorkingDbPersistenceService persistenceService;
+ @Inject
+ private UserDbPersistenceService persistenceService;
- @Override
- public void setServiceContext(EchoBaseServiceContext serviceContext) {
- super.setServiceContext(serviceContext);
- persistenceService = serviceContext.newService(WorkingDbPersistenceService.class);
- }
+ @Inject
+ private DbEditorService dbEditorService;
- public CsvImportResult<EchoBaseEntityEnum> importDatas(EchoBaseEntityEnum entityType,
- String importFileName,
- File importFile,
- boolean createIfNotFound,
- EchoBaseUser user) throws IOException {
+ public CsvImportResult<EchoBaseUserEntityEnum> importDatas(EchoBaseUserEntityEnum entityType,
+ String importFileName,
+ File importFile,
+ boolean createIfNotFound,
+ EchoBaseUser user) throws IOException {
- ImportModelFactory<EchoBaseEntityEnum> importModelFactory =
- EchoBaseImportModelFactory.newFactory(this);
+ ImportModelFactory<EchoBaseUserEntityEnum> importModelFactory =
+ EchoBaseImportModelFactory.newFactory(dbEditorService);
- DbEditorService service = getDbEditorService();
-
- TableMeta<EchoBaseEntityEnum> meta = service.getTableMeta(entityType);
+ TableMeta<EchoBaseUserEntityEnum> meta = dbEditorService.getTableMeta(entityType);
ImportModel<TopiaEntity> csvModel = importModelFactory.buildForImport(meta);
String messagePrefix = "Import du fichier " + importFileName + " le " + newDate();
- CsvImportResult<EchoBaseEntityEnum> result = CsvImportResult.newResult(
+ CsvImportResult<EchoBaseUserEntityEnum> result = CsvImportResult.newResult(
entityType, importFileName, createIfNotFound);
BufferedReader bf = Files.newReader(importFile, Charsets.UTF_8);
@@ -90,11 +86,11 @@
try {
for (TopiaEntity entity : importer) {
- boolean create = service.saveEntity(meta,
- messagePrefix,
- entity,
- user,
- createIfNotFound
+ boolean create = dbEditorService.saveEntity(meta,
+ messagePrefix,
+ entity,
+ user,
+ createIfNotFound
);
if (create) {
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdb/strategy/AbstractImportDbStrategy.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdb/strategy/AbstractImportDbStrategy.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdb/strategy/AbstractImportDbStrategy.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -25,29 +25,30 @@
import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.EchoBaseUser;
-import fr.ifremer.echobase.entities.TopiaEchoBasePersistenceContext;
+import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum;
+import fr.ifremer.echobase.entities.EchoBaseUserPersistenceContext;
import fr.ifremer.echobase.entities.data.Voyage;
import fr.ifremer.echobase.io.EchoBaseIOUtil;
import fr.ifremer.echobase.persistence.EchoBaseDbMeta;
-import fr.ifremer.echobase.services.EchoBaseServiceContext;
import fr.ifremer.echobase.services.EchoBaseServiceSupport;
-import fr.ifremer.echobase.services.service.WorkingDbPersistenceService;
+import fr.ifremer.echobase.services.service.DbEditorService;
+import fr.ifremer.echobase.services.service.UserDbPersistenceService;
import fr.ifremer.echobase.services.service.importdata.ImportException;
import fr.ifremer.echobase.services.service.importdb.EchoBaseImportModelFactory;
import fr.ifremer.echobase.services.service.importdb.ImportDbConfiguration;
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.persistence.csv.in.CsvImportResult;
-import org.nuiton.topia.persistence.csv.in.ImportStrategy;
-import org.nuiton.topia.persistence.csv.in.TopiaCsvImports;
+import org.nuiton.topia.persistence.TopiaException;
import org.nuiton.topia.persistence.metadata.AssociationMeta;
import org.nuiton.topia.persistence.metadata.TableMeta;
+import org.nuiton.topia.service.csv.in.CsvImportResult;
+import org.nuiton.topia.service.csv.in.ImportStrategy;
+import org.nuiton.topia.service.csv.in.TopiaCsvImports;
import org.nuiton.util.TimeLog;
+import javax.inject.Inject;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
@@ -72,17 +73,22 @@
public static final TimeLog TIME_LOG =
new TimeLog(AbstractImportDbStrategy.class);
- protected WorkingDbPersistenceService persistenceService;
+ @Inject
+ protected UserDbPersistenceService persistenceService;
- private TopiaEchoBasePersistenceContext persistenceContext;
+ @Inject
+ private DbEditorService dbEditorService;
- @Override
- public void setServiceContext(EchoBaseServiceContext serviceContext) {
- super.setServiceContext(serviceContext);
- persistenceService = serviceContext.newService(WorkingDbPersistenceService.class);
- persistenceContext = serviceContext.getEchoBasePersistenceContext();
- }
+ @Inject
+ private EchoBaseUserPersistenceContext persistenceContext;
+// @Override
+// public void setServiceContext(EchoBaseServiceContext serviceContext) {
+// super.setServiceContext(serviceContext);
+// persistenceService = serviceContext.newService(UserDbPersistenceService.class);
+// persistenceContext = serviceContext.getEchoBaseUserPersistenceContext();
+// }
+
public final void doImport(ImportDbConfiguration model,
EchoBaseUser user) throws IOException, ImportException, TopiaException {
File file = model.getInput().getFile();
@@ -94,14 +100,14 @@
EchoBaseDbMeta dbMeta = getDbMeta();
- Map<TableMeta<EchoBaseEntityEnum>, ZipEntry> tables =
+ Map<TableMeta<EchoBaseUserEntityEnum>, ZipEntry> tables =
TopiaCsvImports.discoverEntries(
"echobase/", dbMeta.getAllTables(),
zipFile, missingEntries);
validateTableEntries(dbMeta, tables);
- Map<AssociationMeta<EchoBaseEntityEnum>, ZipEntry> associations =
+ Map<AssociationMeta<EchoBaseUserEntityEnum>, ZipEntry> associations =
TopiaCsvImports.discoverEntries(
"echobase/", dbMeta.getAllAssociations(),
zipFile, missingEntries);
@@ -127,8 +133,8 @@
}
}
- ImportStrategy<EchoBaseEntityEnum> strategy = new EchoBaseImportStrategy(
- EchoBaseImportModelFactory.newFactory(this),
+ ImportStrategy<EchoBaseUserEntityEnum> strategy = new EchoBaseImportStrategy(
+ EchoBaseImportModelFactory.newFactory(dbEditorService),
persistenceContext,
1000
);
@@ -166,10 +172,10 @@
protected abstract void validateTableEntries(EchoBaseDbMeta dbMeta,
- Map<TableMeta<EchoBaseEntityEnum>, ZipEntry> tables) throws ImportException;
+ Map<TableMeta<EchoBaseUserEntityEnum>, ZipEntry> tables) throws ImportException;
protected abstract void validateAssociationEntries(EchoBaseDbMeta dbMeta,
- Map<AssociationMeta<EchoBaseEntityEnum>, ZipEntry> associations) throws ImportException;
+ Map<AssociationMeta<EchoBaseUserEntityEnum>, ZipEntry> associations) throws ImportException;
protected abstract void createImportLogEntry(EchoBaseUser user,
File file,
@@ -178,21 +184,21 @@
protected abstract void createLogBookEntry(EchoBaseUser user,
File file) throws TopiaException;
- protected Iterable<Voyage> importTables(ImportStrategy<EchoBaseEntityEnum> strategy,
+ protected Iterable<Voyage> importTables(ImportStrategy<EchoBaseUserEntityEnum> strategy,
ImportDbConfiguration model,
ZipFile zipFile,
- Map<TableMeta<EchoBaseEntityEnum>, ZipEntry> entriestoConsume) throws IOException, TopiaException {
+ Map<TableMeta<EchoBaseUserEntityEnum>, ZipEntry> entriestoConsume) throws IOException, TopiaException {
boolean commitAfterEachFile = model.isCommitAfterEachFile();
Iterable<Voyage> result = null;
- for (Map.Entry<TableMeta<EchoBaseEntityEnum>, ZipEntry> entry :
+ for (Map.Entry<TableMeta<EchoBaseUserEntityEnum>, ZipEntry> entry :
entriestoConsume.entrySet()) {
- TableMeta<EchoBaseEntityEnum> entryDef = entry.getKey();
+ TableMeta<EchoBaseUserEntityEnum> entryDef = entry.getKey();
ZipEntry value = entry.getValue();
- CsvImportResult<EchoBaseEntityEnum> csvResult =
+ CsvImportResult<EchoBaseUserEntityEnum> csvResult =
CsvImportResult.newResult(
entryDef.getSource(),
value.getName(),
@@ -210,7 +216,7 @@
log.info("Will import " + entryDef);
}
- if (EchoBaseEntityEnum.Voyage == entryDef.getSource()) {
+ if (EchoBaseUserEntityEnum.Voyage == entryDef.getSource()) {
result = TopiaCsvImports.importTableAndReturn(reader,
strategy,
entryDef,
@@ -243,18 +249,18 @@
return result;
}
- protected void importAssociations(ImportStrategy<EchoBaseEntityEnum> strategy,
+ protected void importAssociations(ImportStrategy<EchoBaseUserEntityEnum> strategy,
ImportDbConfiguration model,
ZipFile zipFile,
- Map<AssociationMeta<EchoBaseEntityEnum>, ZipEntry> associations) throws IOException, TopiaException {
+ Map<AssociationMeta<EchoBaseUserEntityEnum>, ZipEntry> associations) throws IOException, TopiaException {
- for (Map.Entry<AssociationMeta<EchoBaseEntityEnum>, ZipEntry> entry :
+ for (Map.Entry<AssociationMeta<EchoBaseUserEntityEnum>, ZipEntry> entry :
associations.entrySet()) {
- AssociationMeta<EchoBaseEntityEnum> entryDef = entry.getKey();
+ AssociationMeta<EchoBaseUserEntityEnum> entryDef = entry.getKey();
ZipEntry value = entry.getValue();
- CsvImportResult<EchoBaseEntityEnum> csvResult =
+ CsvImportResult<EchoBaseUserEntityEnum> csvResult =
CsvImportResult.newResult(
entryDef.getSource(),
value.getName(),
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdb/strategy/EchoBaseImportStrategy.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdb/strategy/EchoBaseImportStrategy.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdb/strategy/EchoBaseImportStrategy.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -23,21 +23,21 @@
* #L%
*/
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
-import fr.ifremer.echobase.entities.EchoBasePersistenceContext;
+import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum;
+import fr.ifremer.echobase.entities.EchoBaseUserPersistenceContext;
import org.nuiton.csv.Import;
import org.nuiton.csv.ImportToMap;
-import org.nuiton.topia.TopiaException;
-import org.nuiton.topia.persistence.TopiaDAO;
+import org.nuiton.topia.persistence.TopiaDao;
import org.nuiton.topia.persistence.TopiaEntity;
import org.nuiton.topia.persistence.TopiaEntityEnum;
-import org.nuiton.topia.persistence.csv.CsvProgressModel;
-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.TopiaException;
import org.nuiton.topia.persistence.metadata.AssociationMeta;
import org.nuiton.topia.persistence.metadata.TableMeta;
+import org.nuiton.topia.service.csv.CsvProgressModel;
+import org.nuiton.topia.service.csv.in.CsvImportResult;
+import org.nuiton.topia.service.csv.in.ImportModelFactory;
+import org.nuiton.topia.service.csv.in.ImportStrategy;
+import org.nuiton.topia.service.csv.in.TopiaCsvImports;
import java.util.Map;
@@ -47,41 +47,33 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 1.1
*/
-public class EchoBaseImportStrategy implements ImportStrategy<EchoBaseEntityEnum> {
+public class EchoBaseImportStrategy implements ImportStrategy<EchoBaseUserEntityEnum> {
- private final EchoBasePersistenceContext persistenceContext;
+ private final EchoBaseUserPersistenceContext persistenceContext;
-// private final TopiaContext tx;
-
-// private final EchoBasePersistenceHelper persistenceHelper;
-
private final int nbRowBuffer;
- private final ImportModelFactory<EchoBaseEntityEnum> modelFactory;
+ private final ImportModelFactory<EchoBaseUserEntityEnum> modelFactory;
- public EchoBaseImportStrategy(ImportModelFactory<EchoBaseEntityEnum> modelFactory,
- EchoBasePersistenceContext persistenceContext,
-// TopiaContext tx,
-// EchoBasePersistenceHelper persistenceHelper,
+ public EchoBaseImportStrategy(ImportModelFactory<EchoBaseUserEntityEnum> modelFactory,
+ EchoBaseUserPersistenceContext persistenceContext,
int nbRowBuffer) {
this.persistenceContext = persistenceContext;
-// this.tx = tx;
-// this.persistenceHelper = persistenceHelper;
this.nbRowBuffer = nbRowBuffer;
this.modelFactory = modelFactory;
}
- public ImportModelFactory<EchoBaseEntityEnum> getModelFactory() {
+ public ImportModelFactory<EchoBaseUserEntityEnum> getModelFactory() {
return modelFactory;
}
@Override
- public <E extends TopiaEntity> void importTable(TableMeta<EchoBaseEntityEnum> meta,
+ public <E extends TopiaEntity> void importTable(TableMeta<EchoBaseUserEntityEnum> meta,
Import<E> importer,
- CsvImportResult<EchoBaseEntityEnum> csvResult) throws TopiaException {
- TopiaDAO<E> dao = (TopiaDAO<E>) persistenceContext.getDAO(meta.getSource().getContract());
+ CsvImportResult<EchoBaseUserEntityEnum> csvResult) throws TopiaException {
+ TopiaDao<E> dao = (TopiaDao<E>) persistenceContext.getDao(meta.getSource().getContract());
- if (meta.getSource() == EchoBaseEntityEnum.Category) {
+ if (meta.getSource() == EchoBaseUserEntityEnum.Category) {
// special case, test if exists before to add it, otherwise skip it
importAllEntitiesIfNotExisting(dao, meta, importer, csvResult, nbRowBuffer);
@@ -92,10 +84,10 @@
}
@Override
- public <E extends TopiaEntity> Iterable<E> importTableAndReturnThem(TableMeta<EchoBaseEntityEnum> meta,
+ public <E extends TopiaEntity> Iterable<E> importTableAndReturnThem(TableMeta<EchoBaseUserEntityEnum> meta,
Import<E> importer,
- CsvImportResult<EchoBaseEntityEnum> csvResult) throws TopiaException {
- TopiaDAO<E> dao = (TopiaDAO<E>) persistenceContext.getDAO(meta.getSource().getContract());
+ CsvImportResult<EchoBaseUserEntityEnum> csvResult) throws TopiaException {
+ TopiaDao<E> dao = (TopiaDao<E>) persistenceContext.getDao(meta.getSource().getContract());
Iterable<E> result = TopiaCsvImports.importAllEntitiesAndReturnThem(
dao, meta, importer, csvResult);
@@ -104,18 +96,18 @@
}
@Override
- public void importAssociation(AssociationMeta<EchoBaseEntityEnum> meta,
+ public void importAssociation(AssociationMeta<EchoBaseUserEntityEnum> meta,
ImportToMap importer,
- CsvImportResult<EchoBaseEntityEnum> csvResult) throws TopiaException {
+ CsvImportResult<EchoBaseUserEntityEnum> csvResult) throws TopiaException {
if (getModelFactory().isNMAssociationMeta(meta)) {
- TopiaCsvImports.importNMAssociation(persistenceContext.getContext(),
+ TopiaCsvImports.importNMAssociation(persistenceContext.getSqlSupport(),
meta,
importer,
csvResult,
nbRowBuffer);
} else {
- TopiaCsvImports.importAssociation(persistenceContext.getContext(),
+ TopiaCsvImports.importAssociation(persistenceContext.getSqlSupport(),
meta,
importer,
csvResult,
@@ -123,7 +115,7 @@
}
}
- public <T extends TopiaEntityEnum, E extends TopiaEntity> void importAllEntitiesIfNotExisting(TopiaDAO<E> dao,
+ public <T extends TopiaEntityEnum, E extends TopiaEntity> void importAllEntitiesIfNotExisting(TopiaDao<E> dao,
TableMeta<T> meta,
Import<E> importer,
CsvImportResult<T> csvResult,
@@ -137,7 +129,7 @@
int compt = 0;
for (E entity : importer) {
- if (!dao.existByTopiaId(entity.getTopiaId())) {
+ if (!dao.forTopiaIdEquals(entity.getTopiaId()).exists()) {
Map<String, Object> properties = meta.prepareCreate(
entity, entity.getTopiaId());
@@ -147,7 +139,7 @@
compt++;
if (compt % nbRowBuffer == 0) {
// flush it
- persistenceContext.getContext().getHibernateSession().flush();
+ persistenceContext.getHibernateSupport().getHibernateSession().flush();
}
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdb/strategy/FreeImportDbStrategy.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdb/strategy/FreeImportDbStrategy.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdb/strategy/FreeImportDbStrategy.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -24,17 +24,19 @@
*/
import com.google.common.collect.Lists;
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.EchoBaseUser;
+import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum;
import fr.ifremer.echobase.entities.ImportType;
import fr.ifremer.echobase.entities.data.Voyage;
import fr.ifremer.echobase.persistence.EchoBaseDbMeta;
+import fr.ifremer.echobase.services.service.DecoratorService;
import fr.ifremer.echobase.services.service.importdata.ImportException;
import org.nuiton.decorator.Decorator;
-import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.persistence.TopiaException;
import org.nuiton.topia.persistence.metadata.AssociationMeta;
import org.nuiton.topia.persistence.metadata.TableMeta;
+import javax.inject.Inject;
import java.io.File;
import java.util.Date;
import java.util.Map;
@@ -48,15 +50,18 @@
*/
public class FreeImportDbStrategy extends AbstractImportDbStrategy {
+ @Inject
+ private DecoratorService decoratorService;
+
@Override
protected void validateTableEntries(EchoBaseDbMeta dbMeta,
- Map<TableMeta<EchoBaseEntityEnum>, ZipEntry> tables) throws ImportException {
+ Map<TableMeta<EchoBaseUserEntityEnum>, ZipEntry> tables) throws ImportException {
// nothing to validate
}
@Override
protected void validateAssociationEntries(EchoBaseDbMeta dbMeta,
- Map<AssociationMeta<EchoBaseEntityEnum>, ZipEntry> associations) throws ImportException {
+ Map<AssociationMeta<EchoBaseUserEntityEnum>, ZipEntry> associations) throws ImportException {
// nothing to validate
}
@@ -66,7 +71,7 @@
Iterable<Voyage> importedVoyages) throws TopiaException {
Date date = newDate();
- Decorator<Voyage> decorator = getDecoratorService().getDecorator(
+ Decorator<Voyage> decorator = decoratorService.getDecorator(
getLocale(), Voyage.class, null);
for (Voyage importedVoyage : importedVoyages) {
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdb/strategy/ReferentialImportDbStrategy.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdb/strategy/ReferentialImportDbStrategy.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdb/strategy/ReferentialImportDbStrategy.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -24,12 +24,12 @@
*/
import com.google.common.collect.Lists;
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.EchoBaseUser;
+import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum;
import fr.ifremer.echobase.entities.data.Voyage;
import fr.ifremer.echobase.persistence.EchoBaseDbMeta;
import fr.ifremer.echobase.services.service.importdata.ImportException;
-import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.persistence.TopiaException;
import org.nuiton.topia.persistence.metadata.AssociationMeta;
import org.nuiton.topia.persistence.metadata.TableMeta;
@@ -48,12 +48,12 @@
@Override
protected void validateTableEntries(EchoBaseDbMeta dbMeta,
- Map<TableMeta<EchoBaseEntityEnum>, ZipEntry> tables) throws ImportException {
+ Map<TableMeta<EchoBaseUserEntityEnum>, ZipEntry> tables) throws ImportException {
// check that contains only referential entries
- List<EchoBaseEntityEnum> badTableTypes = Lists.newArrayList();
- List<TableMeta<EchoBaseEntityEnum>> dataTables = dbMeta.getDataTables();
- for (TableMeta<EchoBaseEntityEnum> tableMetas : tables.keySet()) {
+ List<EchoBaseUserEntityEnum> badTableTypes = Lists.newArrayList();
+ List<TableMeta<EchoBaseUserEntityEnum>> dataTables = dbMeta.getDataTables();
+ for (TableMeta<EchoBaseUserEntityEnum> tableMetas : tables.keySet()) {
if (dataTables.contains(tableMetas)) {
badTableTypes.add(tableMetas.getSource());
}
@@ -68,11 +68,11 @@
@Override
protected void validateAssociationEntries(EchoBaseDbMeta dbMeta,
- Map<AssociationMeta<EchoBaseEntityEnum>, ZipEntry> associations) throws ImportException {
+ Map<AssociationMeta<EchoBaseUserEntityEnum>, ZipEntry> associations) throws ImportException {
- List<EchoBaseEntityEnum> badAssociationTypes = Lists.newArrayList();
- List<AssociationMeta<EchoBaseEntityEnum>> associationTables = dbMeta.getDataAssociations();
- for (AssociationMeta<EchoBaseEntityEnum> tableMetas : associations.keySet()) {
+ List<EchoBaseUserEntityEnum> badAssociationTypes = Lists.newArrayList();
+ List<AssociationMeta<EchoBaseUserEntityEnum>> associationTables = dbMeta.getDataAssociations();
+ for (AssociationMeta<EchoBaseUserEntityEnum> tableMetas : associations.keySet()) {
if (associationTables.contains(tableMetas)) {
badAssociationTypes.add(tableMetas.getSource());
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/RemoveDataService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/RemoveDataService.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/RemoveDataService.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -31,9 +31,9 @@
import fr.ifremer.echobase.entities.ImportLog;
import fr.ifremer.echobase.entities.ImportType;
import fr.ifremer.echobase.entities.data.Voyage;
-import fr.ifremer.echobase.services.EchoBaseServiceContext;
import fr.ifremer.echobase.services.EchoBaseServiceSupport;
-import fr.ifremer.echobase.services.service.WorkingDbPersistenceService;
+import fr.ifremer.echobase.services.service.DecoratorService;
+import fr.ifremer.echobase.services.service.UserDbPersistenceService;
import fr.ifremer.echobase.services.service.removedata.strategy.AbstractRemoveDataStrategy;
import fr.ifremer.echobase.services.service.removedata.strategy.AcousticRemoveDataStrategy;
import fr.ifremer.echobase.services.service.removedata.strategy.CatchesRemoveDataStrategy;
@@ -51,9 +51,10 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.decorator.Decorator;
-import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.persistence.TopiaException;
import org.nuiton.util.TimeLog;
+import javax.inject.Inject;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
@@ -107,15 +108,12 @@
}
}
- private WorkingDbPersistenceService persistenceService;
+ @Inject
+ private UserDbPersistenceService persistenceService;
- @Override
- public void setServiceContext(EchoBaseServiceContext serviceContext) {
- super.setServiceContext(serviceContext);
+ @Inject
+ private DecoratorService decoratorService;
- persistenceService = serviceContext.newService(WorkingDbPersistenceService.class);
- }
-
public String removeImport(RemoveDataConfiguration model, EchoBaseUser user) {
// build map of strategy to apply
@@ -272,7 +270,7 @@
List<ImportLog> obsoleteImportLogs,
EchoBaseUser user) {
- Decorator<ImportLog> decorator = getDecoratorService().
+ Decorator<ImportLog> decorator = decoratorService.
getDecorator(getLocale(), ImportLog.class, null);
StringBuilder buffer = new StringBuilder();
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/AbstractRemoveDataStrategy.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/AbstractRemoveDataStrategy.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/AbstractRemoveDataStrategy.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -31,14 +31,14 @@
import fr.ifremer.echobase.entities.data.Cell;
import fr.ifremer.echobase.entities.data.Result;
import fr.ifremer.echobase.entities.data.Voyage;
-import fr.ifremer.echobase.services.EchoBaseServiceContext;
import fr.ifremer.echobase.services.EchoBaseServiceSupport;
import fr.ifremer.echobase.services.ProgressModel;
-import fr.ifremer.echobase.services.service.WorkingDbPersistenceService;
+import fr.ifremer.echobase.services.service.UserDbPersistenceService;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.persistence.TopiaException;
+import javax.inject.Inject;
import java.util.Collection;
import java.util.List;
import java.util.Set;
@@ -59,19 +59,20 @@
protected ProgressModel progressModel;
- protected WorkingDbPersistenceService persistenceService;
-
+ @Inject
+ protected UserDbPersistenceService persistenceService;
+
public String getImportLabel() {
return importLabel;
}
- @Override
- public void setServiceContext(EchoBaseServiceContext serviceContext) {
- super.setServiceContext(serviceContext);
+// @Override
+// public void setServiceContext(EchoBaseServiceContext serviceContext) {
+// super.setServiceContext(serviceContext);
+//
+// persistenceService = serviceContext.newService(UserDbPersistenceService.class);
+// }
- persistenceService = serviceContext.newService(WorkingDbPersistenceService.class);
- }
-
public void setProgressModel(ProgressModel progressModel) {
this.progressModel = progressModel;
}
@@ -239,7 +240,7 @@
// }
// };
// try {
-// Long result = getEchoBasePersistenceContext().findSingleResult(query);
+// Long result = getEchoBaseUserPersistenceContext().findSingleResult(query);
// return result;
// } catch (TopiaException e) {
// throw new EchoBaseTechnicalException(e);
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/AcousticRemoveDataStrategy.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/AcousticRemoveDataStrategy.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/AcousticRemoveDataStrategy.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -33,7 +33,7 @@
import fr.ifremer.echobase.entities.data.Voyage;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.persistence.TopiaException;
import java.util.Set;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/CatchesRemoveDataStrategy.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/CatchesRemoveDataStrategy.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/CatchesRemoveDataStrategy.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -30,7 +30,7 @@
import fr.ifremer.echobase.entities.data.Voyage;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.persistence.TopiaException;
import java.util.Collections;
import java.util.Set;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/CommonAllRemoveDataStrategy.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/CommonAllRemoveDataStrategy.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/CommonAllRemoveDataStrategy.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -29,7 +29,7 @@
import fr.ifremer.echobase.entities.data.Voyage;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.persistence.TopiaException;
import java.util.Set;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/CommonTransectRemoveDataStrategy.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/CommonTransectRemoveDataStrategy.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/CommonTransectRemoveDataStrategy.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -31,7 +31,7 @@
import fr.ifremer.echobase.entities.data.Voyage;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.persistence.TopiaException;
import java.util.Set;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/CommonTransitRemoveDataStrategy.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/CommonTransitRemoveDataStrategy.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/CommonTransitRemoveDataStrategy.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -28,10 +28,9 @@
import fr.ifremer.echobase.entities.ImportType;
import fr.ifremer.echobase.entities.data.Transit;
import fr.ifremer.echobase.entities.data.Voyage;
-import fr.ifremer.echobase.services.EchoBaseServiceContext;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.persistence.TopiaException;
import java.util.Set;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/CommonVoyageRemoveDataStrategy.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/CommonVoyageRemoveDataStrategy.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/CommonVoyageRemoveDataStrategy.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -30,7 +30,7 @@
import fr.ifremer.echobase.entities.data.Voyage;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.persistence.TopiaException;
import java.util.Set;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/LegacyVoyageRemoveDataStrategy.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/LegacyVoyageRemoveDataStrategy.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/LegacyVoyageRemoveDataStrategy.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -29,7 +29,7 @@
import fr.ifremer.echobase.entities.data.Voyage;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.persistence.TopiaException;
import java.util.Set;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/OperationRemoveDataStrategy.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/OperationRemoveDataStrategy.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/OperationRemoveDataStrategy.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -31,7 +31,7 @@
import fr.ifremer.echobase.entities.data.Voyage;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.persistence.TopiaException;
import java.util.Set;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/ResultEsduRemoveDataStrategy.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/ResultEsduRemoveDataStrategy.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/ResultEsduRemoveDataStrategy.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -30,7 +30,7 @@
import fr.ifremer.echobase.entities.data.Voyage;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.persistence.TopiaException;
import java.util.Collections;
import java.util.Set;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/ResultMapFishRemoveDataStrategy.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/ResultMapFishRemoveDataStrategy.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/ResultMapFishRemoveDataStrategy.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -29,7 +29,7 @@
import fr.ifremer.echobase.entities.data.Voyage;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.persistence.TopiaException;
import java.util.Collections;
import java.util.Set;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/ResultMapOtherRemoveDataStrategy.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/ResultMapOtherRemoveDataStrategy.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/ResultMapOtherRemoveDataStrategy.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -29,7 +29,7 @@
import fr.ifremer.echobase.entities.data.Voyage;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.persistence.TopiaException;
import java.util.Collections;
import java.util.Set;
@@ -42,7 +42,7 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 2.2
*/
-public class ResultMapOtherRemoveDataStrategy extends AbstractRemoveDataStrategy {
+public class ResultMapOtherRemoveDataStrategy extends AbstractRemoveDataStrategy {
/** Logger. */
private static final Log log =
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/ResultRegionRemoveDataStrategy.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/ResultRegionRemoveDataStrategy.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/ResultRegionRemoveDataStrategy.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -29,7 +29,7 @@
import fr.ifremer.echobase.entities.data.Voyage;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.persistence.TopiaException;
import java.util.Collections;
import java.util.Set;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/ResultVoyageRemoveDataStrategy.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/ResultVoyageRemoveDataStrategy.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/ResultVoyageRemoveDataStrategy.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -33,7 +33,7 @@
import fr.ifremer.echobase.entities.data.Voyage;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.persistence.TopiaException;
import java.util.List;
import java.util.Set;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/spatial/SpatialService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/spatial/SpatialService.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/spatial/SpatialService.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -45,15 +45,15 @@
import fr.ifremer.echobase.entities.spatial.SpatialConfiguration;
import fr.ifremer.echobase.entities.spatial.SpatialData;
import fr.ifremer.echobase.io.EchoBaseIOUtil;
-import fr.ifremer.echobase.services.EchoBaseServiceContext;
import fr.ifremer.echobase.services.EchoBaseServiceSupport;
-import fr.ifremer.echobase.services.service.WorkingDbPersistenceService;
+import fr.ifremer.echobase.services.service.UserDbPersistenceService;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.topia.persistence.TopiaEntities;
import org.nuiton.util.TimeLog;
+import javax.inject.Inject;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -75,13 +75,14 @@
public static final String POSTGIS_VIEW_SQL = "/postgis-view.sql";
- private WorkingDbPersistenceService persistenceService;
+ @Inject
+ private UserDbPersistenceService persistenceService;
- @Override
- public void setServiceContext(EchoBaseServiceContext serviceContext) {
- super.setServiceContext(serviceContext);
- persistenceService = serviceContext.newService(WorkingDbPersistenceService.class);
- }
+// @Override
+// public void setServiceContext(EchoBaseServiceContext serviceContext) {
+// super.setServiceContext(serviceContext);
+// persistenceService = serviceContext.newService(UserDbPersistenceService.class);
+// }
public void addSpatialSupport() {
@@ -175,7 +176,7 @@
// get possible category
List<String> categoryIds = Lists.newArrayList(
Iterables.transform(persistenceService.getCategories(acceptPredicate),
- TopiaEntities.GET_TOPIA_ID));
+ TopiaEntities.getTopiaIdFunction()));
boolean filterByCategory = CollectionUtils.isNotEmpty(categoryIds);
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/workingDb/WorkingDbConfigurationService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/workingDb/WorkingDbConfigurationService.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/workingDb/WorkingDbConfigurationService.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -25,16 +25,18 @@
import fr.ifremer.echobase.EchoBaseTechnicalException;
import fr.ifremer.echobase.entities.DriverType;
+import fr.ifremer.echobase.entities.EchoBaseInternalPersistenceContext;
import fr.ifremer.echobase.entities.WorkingDbConfiguration;
-import fr.ifremer.echobase.entities.WorkingDbConfigurationDAO;
+import fr.ifremer.echobase.entities.WorkingDbConfigurationTopiaDao;
import fr.ifremer.echobase.persistence.JdbcConfiguration;
import fr.ifremer.echobase.services.EchoBaseServiceSupport;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.nuiton.topia.TopiaException;
-import org.nuiton.topia.framework.AbstractTopiaContext;
+import org.nuiton.topia.persistence.TopiaException;
+import org.nuiton.topia.persistence.internal.support.HibernateTopiaSqlSupport;
+import javax.inject.Inject;
import java.io.File;
import java.sql.Connection;
import java.sql.SQLException;
@@ -54,9 +56,12 @@
public static final String CREATE_DB_SQL_QUERY = "CREATE DATABASE \"%s\" WITH OWNER = %s ENCODING 'UTF8' TEMPLATE template0;";
+ @Inject
+ EchoBaseInternalPersistenceContext echoBaseInternalPersistenceContext;
+
public List<WorkingDbConfiguration> getWorkingDbConfigurations() {
try {
- List<WorkingDbConfiguration> result = getDAO().findAll();
+ List<WorkingDbConfiguration> result = getDao().findAll();
return result;
} catch (TopiaException eee) {
throw new EchoBaseTechnicalException(eee);
@@ -89,9 +94,9 @@
throw new WorkingDbConfigurationAlreadyExistException();
}
- WorkingDbConfiguration result = getDAO().create(conf);
+ WorkingDbConfiguration result = getDao().create(conf);
- getEchoBaseInternalPersistenceContext().commitTransaction();
+ echoBaseInternalPersistenceContext.commit();
return result;
} catch (TopiaException eee) {
throw new EchoBaseTechnicalException(eee);
@@ -101,8 +106,8 @@
public void delete(String id) throws WorkingDbConfigurationNotFoundException {
try {
WorkingDbConfiguration entity = getExistingConf(id);
- getDAO().delete(entity);
- getEchoBaseInternalPersistenceContext().commitTransaction();
+ getDao().delete(entity);
+ echoBaseInternalPersistenceContext.commit();
} catch (TopiaException eee) {
throw new EchoBaseTechnicalException(eee);
}
@@ -110,7 +115,7 @@
public WorkingDbConfiguration newConfiguration() {
try {
- return getDAO().newInstance();
+ return getDao().newInstance();
} catch (TopiaException e) {
throw new EchoBaseTechnicalException(e);
}
@@ -118,8 +123,7 @@
public boolean isUrlAlreadyUsed(String url) {
try {
- return getDAO().existByProperties(
- WorkingDbConfiguration.PROPERTY_URL, url);
+ return getDao().forUrlEquals(url).exists();
} catch (TopiaException e) {
throw new EchoBaseTechnicalException(e);
}
@@ -162,8 +166,8 @@
log.info("Create new postgres database: " + dbName +
" with sql statement: " + sql);
}
- serviceContext.getEchoBasePersistenceContext().getContext().getHibernateSession().doWork(
- new AbstractTopiaContext.SQLWork(sql) {
+ serviceContext.getEchoBaseUserPersistenceContext().getHibernateSupport().getHibernateSession().doWork(
+ new HibernateTopiaSqlSupport.HibernateSqlWork(sql) {
@Override
public void execute(Connection connection) throws SQLException {
//to create a database, need no transaction block
@@ -179,14 +183,14 @@
}
protected WorkingDbConfiguration getExistingConf(String id) throws WorkingDbConfigurationNotFoundException {
- WorkingDbConfiguration entity = getDAO().findByTopiaId(id);
+ WorkingDbConfiguration entity = getDao().findByTopiaId(id);
if (entity == null) {
throw new WorkingDbConfigurationNotFoundException();
}
return entity;
}
- protected WorkingDbConfigurationDAO getDAO() {
- return getEchoBaseInternalPersistenceContext().getWorkingDbConfigurationDAO();
+ protected WorkingDbConfigurationTopiaDao getDao() {
+ return echoBaseInternalPersistenceContext.getWorkingDbConfigurationDao();
}
}
\ No newline at end of file
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/EchoBaseTestServiceSupport.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/EchoBaseTestServiceSupport.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/EchoBaseTestServiceSupport.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -24,8 +24,8 @@
package fr.ifremer.echobase.services;
import com.google.common.base.Preconditions;
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.EchoBaseUser;
+import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum;
import fr.ifremer.echobase.entities.EchoBaseUserImpl;
import fr.ifremer.echobase.entities.data.DataProcessing;
import fr.ifremer.echobase.entities.data.Transit;
@@ -46,11 +46,12 @@
import org.junit.Assert;
import org.junit.Before;
import org.junit.Rule;
-import org.nuiton.topia.TopiaException;
import org.nuiton.topia.persistence.TopiaEntity;
+import org.nuiton.topia.persistence.TopiaException;
import org.nuiton.util.FileUtil;
import org.nuiton.util.StringUtil;
+import javax.inject.Inject;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
@@ -79,9 +80,16 @@
@Rule
public FakeEchoBaseServiceContext fakeServiceContext = initContext();
+ @Inject
+ private ExportDbService exportDbService;
+
+ @Inject
+ private ImportDbService importDbService;
+
@Before
public void setUp() throws Exception {
- setServiceContext(fakeServiceContext);
+ this.serviceContext = fakeServiceContext;
+ this.fakeServiceContext.inject(this);
}
protected EchoBaseUser createFakeUser() {
@@ -177,8 +185,8 @@
int numberUpdated,
int nbCount) throws TopiaException {
Assert.assertNotNull(actual);
- Set<EchoBaseEntityEnum> entityTypes = actual.getEntityTypes();
- EchoBaseEntityEnum expectedEntityType = EchoBaseEntityEnum.valueOf(entityType);
+ Set<EchoBaseUserEntityEnum> entityTypes = actual.getEntityTypes();
+ EchoBaseUserEntityEnum expectedEntityType = EchoBaseUserEntityEnum.valueOf(entityType);
Assert.assertTrue(entityTypes.contains(expectedEntityType));
Assert.assertEquals(numberCreated, actual.getNumberCreated(expectedEntityType));
Assert.assertEquals(numberUpdated, actual.getNumberUpdated(expectedEntityType));
@@ -194,8 +202,8 @@
Assert.assertTrue(results.size() >= pos);
EchoBaseCsvFileImportResult actual = results.get(pos);
Assert.assertNotNull(actual);
- Set<EchoBaseEntityEnum> entityTypes = actual.getEntityTypes();
- EchoBaseEntityEnum expectedEntityType = EchoBaseEntityEnum.valueOf(entityType);
+ Set<EchoBaseUserEntityEnum> entityTypes = actual.getEntityTypes();
+ EchoBaseUserEntityEnum expectedEntityType = EchoBaseUserEntityEnum.valueOf(entityType);
Assert.assertTrue(entityTypes.contains(expectedEntityType));
Assert.assertEquals(numberCreated, actual.getNumberCreated(expectedEntityType));
Assert.assertEquals(numberUpdated, actual.getNumberUpdated(expectedEntityType));
@@ -213,7 +221,7 @@
protected <E extends TopiaEntity> void assertNbEntities(Class<E> entityType,
int expectedNumber) throws TopiaException {
- long count = serviceContext.getEchoBasePersistenceContext().getDAO(entityType).count();
+ long count = serviceContext.getEchoBaseUserPersistenceContext().getDao(entityType).count();
Assert.assertEquals(count, expectedNumber);
}
@@ -224,14 +232,14 @@
}
protected String getVoyageId() {
- Voyage voyage = serviceContext.getEchoBasePersistenceContext().getVoyageDAO().findAll().get(0);
+ Voyage voyage = serviceContext.getEchoBaseUserPersistenceContext().getVoyageDao().findAll().get(0);
Preconditions.checkNotNull(voyage);
return voyage.getTopiaId();
}
protected String getTransitId(String voyageId) {
Preconditions.checkNotNull(voyageId);
- Voyage voyage = serviceContext.getEchoBasePersistenceContext().getVoyageDAO().findByTopiaId(voyageId);
+ Voyage voyage = serviceContext.getEchoBaseUserPersistenceContext().getVoyageDao().findByTopiaId(voyageId);
Preconditions.checkArgument(!voyage.isTransitEmpty());
List<Transit> transits = voyage.getTransit();
Transit transit = transits.get(0);
@@ -239,15 +247,13 @@
}
protected String getDataProcessingId() {
- DataProcessing dataProcessing = serviceContext.getEchoBasePersistenceContext().getDataProcessingDAO().findAll().get(0);
+ DataProcessing dataProcessing = serviceContext.getEchoBaseUserPersistenceContext().getDataProcessingDao().findAll().get(0);
Preconditions.checkNotNull(dataProcessing);
return dataProcessing.getTopiaId();
}
protected void importdb(ImportDbMode mode, String path) throws IOException, ImportException {
- ImportDbService service = getImportDbService();
-
ImportDbConfiguration conf = new ImportDbConfiguration(getLocale());
File workingDirectory = new File(getTestDir(), "work-dir");
@@ -261,13 +267,11 @@
EchoBaseUser user = new EchoBaseUserImpl();
user.setEmail("testUser(a)fake.fr");
- service.doImport(conf, user);
+ importDbService.doImport(conf, user);
}
protected void exportDb(Voyage voyage, String exportFilename) throws IOException {
- ExportDbService service = getExportDbService();
-
ExportDbConfiguration conf = new ExportDbConfiguration();
conf.setVoyageIds(new String[]{voyage.getTopiaId()});
@@ -277,6 +281,6 @@
conf.setFileName(exportFilename);
conf.setComputeSteps(true);
conf.setExportDbMode(ExportDbMode.ALL);
- service.doExport(conf);
+ exportDbService.doExport(conf);
}
}
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 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/FakeEchoBaseServiceContext.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -27,10 +27,11 @@
import fr.ifremer.echobase.EchoBaseTechnicalException;
import fr.ifremer.echobase.config.EchoBaseConfiguration;
import fr.ifremer.echobase.config.EchoBaseConfigurationOption;
-import fr.ifremer.echobase.entities.TopiaEchoBaseInternalPersistenceContext;
-import fr.ifremer.echobase.entities.TopiaEchoBasePersistenceContext;
+import fr.ifremer.echobase.entities.EchoBaseInternalPersistenceContext;
+import fr.ifremer.echobase.entities.EchoBaseUserPersistenceContext;
+import fr.ifremer.echobase.entities.EchoBaseUserTopiaApplicationContext;
import fr.ifremer.echobase.persistence.EchoBaseDbMeta;
-import fr.ifremer.echobase.persistence.EchobaseTopiaContexts;
+import fr.ifremer.echobase.persistence.EchobaseTopiaApplicationContexts;
import fr.ifremer.echobase.persistence.JdbcConfiguration;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.time.DateUtils;
@@ -38,8 +39,7 @@
import org.apache.commons.logging.LogFactory;
import org.junit.rules.TestWatcher;
import org.junit.runner.Description;
-import org.nuiton.topia.TopiaContext;
-import org.nuiton.topia.TopiaContextFactory;
+import org.nuiton.topia.persistence.TopiaConfigurationConstants;
import org.nuiton.util.FileUtil;
import java.io.File;
@@ -69,20 +69,23 @@
protected final String initDb;
- protected TopiaContext rootContext;
-
protected Date fakeCurrentTime;
protected File testDir;
- protected TopiaEchoBasePersistenceContext echoBasePersistenceContext;
+ protected EchoBaseUserPersistenceContext echoBasePersistenceContext;
- protected TopiaEchoBaseInternalPersistenceContext echoBaseInternalPersistenceContext;
+ protected EchoBaseInternalPersistenceContext echoBaseInternalPersistenceContext;
protected EchoBaseConfiguration configuration;
+ private EchoBaseUserTopiaApplicationContext echoBaseTopiaApplicationContext;
+
+ private final EchobaseAieOC injector;
+
public FakeEchoBaseServiceContext(String initDb) {
this.initDb = initDb;
+ this.injector = new ServiceEchobaseAieOC();
}
protected File getTestSpecificDirectory(Description description) {
@@ -149,45 +152,54 @@
configuration = new EchoBaseConfiguration(defaultProps);
JdbcConfiguration dbConf = JdbcConfiguration.newEmbeddedConfig(testDir);
- rootContext = EchobaseTopiaContexts.newWorkingDb(dbConf);
+ echoBaseTopiaApplicationContext = EchobaseTopiaApplicationContexts.newWorkingDb(dbConf);
}
@Override
protected void finished(Description description) {
super.finished(description);
- if (!rootContext.isClosed()) {
- rootContext.closeContext();
+ if (!echoBaseTopiaApplicationContext.isClosed()) {
+ echoBaseTopiaApplicationContext.closeContext();
}
}
@Override
- public TopiaEchoBasePersistenceContext getEchoBasePersistenceContext() {
+ public EchoBaseUserTopiaApplicationContext getEchoBaseUserApplicationContext() {
+ return echoBaseTopiaApplicationContext;
+ }
+
+ @Override
+ public void setEchoBaseUserApplicationContext(EchoBaseUserTopiaApplicationContext applicationContext) {
+ this.echoBaseTopiaApplicationContext = applicationContext;
+ }
+
+ @Override
+ public EchoBaseUserPersistenceContext getEchoBaseUserPersistenceContext() {
if (echoBasePersistenceContext == null) {
- echoBasePersistenceContext =
- new TopiaEchoBasePersistenceContext(rootContext.beginTransaction());
+ echoBasePersistenceContext = echoBaseTopiaApplicationContext.newPersistenceContext();
}
return echoBasePersistenceContext;
}
@Override
- public void setEchoBasePersistenceContext(TopiaEchoBasePersistenceContext echoBasePersistenceContext) {
- this.echoBasePersistenceContext = echoBasePersistenceContext;
+ public void setEchoBaseUserPersistenceContext(EchoBaseUserPersistenceContext userTopiaPersistenceContext) {
+ this.echoBasePersistenceContext = userTopiaPersistenceContext;
}
@Override
- public TopiaEchoBaseInternalPersistenceContext getEchoBaseInternalPersistenceContext() {
+ public EchoBaseInternalPersistenceContext getEchoBaseInternalPersistenceContext() {
return echoBaseInternalPersistenceContext;
}
@Override
- public void setEchoBaseInternalPersistenceContext(TopiaEchoBaseInternalPersistenceContext echoBaseInternalPersistenceContext) {
- this.echoBaseInternalPersistenceContext = echoBaseInternalPersistenceContext;
+ public void setEchoBaseInternalPersistenceContext(EchoBaseInternalPersistenceContext internalTopiaPersistenceContext) {
+ this.echoBaseInternalPersistenceContext = internalTopiaPersistenceContext;
}
@Override
- public String getWorkgingDbUrl() {
- String result = rootContext.getConfig().getProperty(TopiaContextFactory.CONFIG_URL);
+ public String getUserDbUrl() {
+ String result = echoBaseTopiaApplicationContext.getConfiguration().get(TopiaConfigurationConstants.CONFIG_URL);
return result;
}
@@ -222,11 +234,22 @@
throw new EchoBaseTechnicalException(e);
}
- service.setServiceContext(this);
+ inject(service);
+
return service;
}
+ public void inject(Object service) {
+ try {
+ injector.inject(this, service);
+ } catch (IllegalAccessException e) {
+ throw new EchoBaseTechnicalException(e);
+ } catch (ClassNotFoundException e) {
+ throw new EchoBaseTechnicalException(e);
+ }
+ }
+
@Override
public Date newDate() {
Date result = new Date();
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/FixCellsIT.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/FixCellsIT.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/FixCellsIT.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -28,7 +28,7 @@
import fr.ifremer.echobase.entities.data.Cell;
import fr.ifremer.echobase.entities.data.Data;
import fr.ifremer.echobase.entities.data.Voyage;
-import fr.ifremer.echobase.services.service.WorkingDbPersistenceService;
+import fr.ifremer.echobase.services.service.UserDbPersistenceService;
import fr.ifremer.echobase.services.service.importdata.AcousticImportConfiguration;
import fr.ifremer.echobase.services.service.importdata.AcousticImportService;
import fr.ifremer.echobase.services.service.importdata.CellPositionReference;
@@ -36,8 +36,8 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.junit.Test;
-import org.nuiton.topia.TopiaException;
-import org.nuiton.topia.persistence.TopiaDAO;
+import org.nuiton.topia.persistence.TopiaException;
+import org.nuiton.topia.persistence.TopiaDao;
import java.io.IOException;
import java.text.DateFormat;
@@ -181,9 +181,9 @@
protected void fixCellDatas() throws TopiaException, ParseException {
int nb = 0;
- TopiaDAO<Cell> cellDAO = serviceContext.getEchoBasePersistenceContext().getCellDAO();
+ TopiaDao<Cell> cellDAO = serviceContext.getEchoBaseUserPersistenceContext().getCellDao();
- WorkingDbPersistenceService persistenceService = serviceContext.newService(WorkingDbPersistenceService.class);
+ UserDbPersistenceService persistenceService = serviceContext.newService(UserDbPersistenceService.class);
long nbCells = cellDAO.count();
for (Cell cell : cellDAO) {
@@ -217,9 +217,9 @@
private void exportDatabase() throws TopiaException, IOException {
- TopiaDAO<Voyage> voyageDAO = serviceContext.getEchoBasePersistenceContext().getVoyageDAO();
+ TopiaDao<Voyage> voyageDAO = serviceContext.getEchoBaseUserPersistenceContext().getVoyageDao();
- WorkingDbPersistenceService persistenceService = serviceContext.newService(WorkingDbPersistenceService.class);
+ UserDbPersistenceService persistenceService = serviceContext.newService(UserDbPersistenceService.class);
long nbVoyages = persistenceService.countVoyage();
Voyage voyage;
@@ -228,7 +228,7 @@
// crate voyage
- voyage = voyageDAO.create(Voyage.PROPERTY_MISSION, serviceContext.getEchoBasePersistenceContext().getMissionDAO().findAll().get(0),
+ voyage = voyageDAO.create(Voyage.PROPERTY_MISSION, serviceContext.getEchoBaseUserPersistenceContext().getMissionDao().findAll().get(0),
Voyage.PROPERTY_NAME, "name",
Voyage.PROPERTY_START_DATE, newDate(),
Voyage.PROPERTY_END_DATE, newDate(),
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/service/DecoratorServiceTest.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/service/DecoratorServiceTest.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/service/DecoratorServiceTest.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -23,13 +23,14 @@
*/
package fr.ifremer.echobase.services.service;
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
+import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum;
import fr.ifremer.echobase.services.EchoBaseTestServiceSupport;
import fr.ifremer.echobase.services.FakeEchoBaseServiceContext;
import org.junit.Assert;
import org.junit.Test;
import org.nuiton.decorator.Decorator;
+import javax.inject.Inject;
import java.util.List;
import java.util.Locale;
@@ -41,6 +42,9 @@
*/
public class DecoratorServiceTest extends EchoBaseTestServiceSupport {
+ @Inject
+ private DecoratorService decoratorService;
+
@Override
protected FakeEchoBaseServiceContext initContext() {
return new FakeEchoBaseServiceContext(null);
@@ -49,12 +53,11 @@
@Test
public void getDecoratorForReferences() throws Exception {
Locale locale = serviceContext.getLocale();
- DecoratorService service = getDecoratorService();
- List<EchoBaseEntityEnum> expectedTypes = serviceContext.getDbMeta().getReferenceTypes();
+ List<EchoBaseUserEntityEnum> expectedTypes = serviceContext.getDbMeta().getReferenceTypes();
- for (EchoBaseEntityEnum type : expectedTypes) {
+ for (EchoBaseUserEntityEnum type : expectedTypes) {
Decorator<?> decorator =
- service.getDecorator(locale, type.getContract(), null);
+ decoratorService.getDecorator(locale, type.getContract(), null);
Assert.assertNotNull("Missing decorator for type : " + type, decorator);
}
}
@@ -62,13 +65,12 @@
@Test
public void getDecoratorForData() throws Exception {
Locale locale = serviceContext.getLocale();
- DecoratorService service = getDecoratorService();
- List<EchoBaseEntityEnum> expectedTypes =
+ List<EchoBaseUserEntityEnum> expectedTypes =
serviceContext.getDbMeta().getDataTypes();
- for (EchoBaseEntityEnum type : expectedTypes) {
+ for (EchoBaseUserEntityEnum type : expectedTypes) {
Decorator<?> decorator =
- service.getDecorator(locale, type.getContract(), null);
+ decoratorService.getDecorator(locale, type.getContract(), null);
Assert.assertNotNull("Missing decorator for type : " + type, decorator);
}
}
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/service/exportdb/ExportDbServiceTest.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/service/exportdb/ExportDbServiceTest.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/service/exportdb/ExportDbServiceTest.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -25,7 +25,7 @@
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
+import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum;
import fr.ifremer.echobase.entities.data.Category;
import fr.ifremer.echobase.entities.data.Cell;
import fr.ifremer.echobase.entities.data.Data;
@@ -42,17 +42,18 @@
import fr.ifremer.echobase.io.EchoBaseIOUtil;
import fr.ifremer.echobase.services.EchoBaseTestServiceSupport;
import fr.ifremer.echobase.services.FakeEchoBaseServiceContext;
-import fr.ifremer.echobase.services.service.WorkingDbPersistenceService;
+import fr.ifremer.echobase.services.service.UserDbPersistenceService;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.junit.Assert;
import org.junit.Test;
-import org.nuiton.topia.persistence.TopiaDAO;
-import org.nuiton.topia.persistence.csv.in.TopiaCsvImports;
+import org.nuiton.topia.persistence.TopiaDao;
import org.nuiton.topia.persistence.metadata.TableMeta;
+import org.nuiton.topia.service.csv.in.TopiaCsvImports;
import org.nuiton.util.FileUtil;
+import javax.inject.Inject;
import java.io.File;
import java.io.IOException;
import java.util.List;
@@ -76,19 +77,22 @@
/** Logger. */
private static final Log log = LogFactory.getLog(ExportDbServiceTest.class);
+ @Inject
+ private ExportDbService exportDbService;
+
@Override
public void setUp() throws Exception {
super.setUp();
- TopiaDAO<DataProcessing> dataProcessingDAO = serviceContext.getEchoBasePersistenceContext().getDataProcessingDAO();
- TopiaDAO<DataAcquisition> dataAcquisitionDAO = serviceContext.getEchoBasePersistenceContext().getDataAcquisitionDAO();
- TopiaDAO<Cell> cellDAO = serviceContext.getEchoBasePersistenceContext().getCellDAO();
- TopiaDAO<Category> categoryDAO = serviceContext.getEchoBasePersistenceContext().getCategoryDAO();
- TopiaDAO<Result> resultDAO = serviceContext.getEchoBasePersistenceContext().getResultDAO();
- TopiaDAO<SpeciesCategory> speciesCategoryDAO = serviceContext.getEchoBasePersistenceContext().getSpeciesCategoryDAO();
- TopiaDAO<Data> dataDAO = serviceContext.getEchoBasePersistenceContext().getDataDAO();
+ TopiaDao<DataProcessing> dataProcessingDAO = serviceContext.getEchoBaseUserPersistenceContext().getDataProcessingDao();
+ TopiaDao<DataAcquisition> dataAcquisitionDAO = serviceContext.getEchoBaseUserPersistenceContext().getDataAcquisitionDao();
+ TopiaDao<Cell> cellDAO = serviceContext.getEchoBaseUserPersistenceContext().getCellDao();
+ TopiaDao<Category> categoryDAO = serviceContext.getEchoBaseUserPersistenceContext().getCategoryDao();
+ TopiaDao<Result> resultDAO = serviceContext.getEchoBaseUserPersistenceContext().getResultDao();
+ TopiaDao<SpeciesCategory> speciesCategoryDAO = serviceContext.getEchoBaseUserPersistenceContext().getSpeciesCategoryDao();
+ TopiaDao<Data> dataDAO = serviceContext.getEchoBaseUserPersistenceContext().getDataDao();
- WorkingDbPersistenceService persistenceService = serviceContext.newService(WorkingDbPersistenceService.class);
+ UserDbPersistenceService persistenceService = serviceContext.newService(UserDbPersistenceService.class);
Voyage voyage = persistenceService.getVoyage(getVoyageId());
Assert.assertNotNull(voyage);
@@ -96,7 +100,7 @@
Transect transect = voyage.getTransit().get(0).getTransect().get(0);
Assert.assertNotNull(transect);
- List<AcousticInstrument> acousticInstruments = serviceContext.getEchoBasePersistenceContext().getAcousticInstrumentDAO().findAll();
+ List<AcousticInstrument> acousticInstruments = serviceContext.getEchoBaseUserPersistenceContext().getAcousticInstrumentDao().findAll();
Assert.assertTrue(CollectionUtils.isNotEmpty(acousticInstruments));
AcousticInstrument acousticInstrument = acousticInstruments.get(0);
DataAcquisition dataAcquisition = dataAcquisitionDAO.create(
@@ -109,11 +113,11 @@
);
dataAcquisition.addDataProcessing(dataProcessing);
- List<Species> speciesList = serviceContext.getEchoBasePersistenceContext().getSpeciesDAO().findAll();
+ List<Species> speciesList = serviceContext.getEchoBaseUserPersistenceContext().getSpeciesDao().findAll();
Assert.assertTrue(CollectionUtils.isNotEmpty(speciesList));
Species species = speciesList.get(0);
- List<DataMetadata> dataMetadatas = serviceContext.getEchoBasePersistenceContext().getDataMetadataDAO().findAll();
+ List<DataMetadata> dataMetadatas = serviceContext.getEchoBaseUserPersistenceContext().getDataMetadataDao().findAll();
Assert.assertTrue(CollectionUtils.isNotEmpty(dataMetadatas));
DataMetadata dataMetadata = dataMetadatas.get(0);
@@ -125,7 +129,7 @@
Category.PROPERTY_SPECIES_CATEGORY, speciesCategory
);
- List<CellType> cellTypes = serviceContext.getEchoBasePersistenceContext().getCellTypeDAO().findAll();
+ List<CellType> cellTypes = serviceContext.getEchoBaseUserPersistenceContext().getCellTypeDao().findAll();
Assert.assertTrue(CollectionUtils.isNotEmpty(cellTypes));
CellType cellType = cellTypes.get(0);
@@ -194,14 +198,12 @@
);
postCell.addResult(postCellResult);
- serviceContext.getEchoBasePersistenceContext().commitTransaction();
+ serviceContext.getEchoBaseUserPersistenceContext().commit();
}
@Test
public void exportReferential() throws IOException {
- ExportDbService service = getExportDbService();
-
ExportDbConfiguration conf = new ExportDbConfiguration();
File workingDirectory = new File(getTestDir(), "work-dir");
@@ -210,7 +212,7 @@
conf.setFileName("echobase-referential");
conf.setComputeSteps(true);
conf.setExportDbMode(ExportDbMode.REFERENTIAL);
- service.doExport(conf);
+ exportDbService.doExport(conf);
File exportFile = conf.getExportFile();
Assert.assertNotNull(exportFile);
Assert.assertTrue(exportFile.exists());
@@ -218,7 +220,7 @@
// check all tables (referential) where exported
ZipFile zipFile = new ZipFile(exportFile);
- Map<TableMeta<EchoBaseEntityEnum>, ZipEntry> tables =
+ Map<TableMeta<EchoBaseUserEntityEnum>, ZipEntry> tables =
TopiaCsvImports.discoverEntries(
"echobase/", getDbMeta().getReferenceTables(),
zipFile, Lists.<String>newArrayList());
@@ -229,8 +231,6 @@
@Test
public void exportReferentialAndData() throws IOException {
- ExportDbService service = getExportDbService();
-
ExportDbConfiguration conf = new ExportDbConfiguration();
conf.setVoyageIds(new String[]{getVoyageId()});
@@ -241,7 +241,7 @@
conf.setFileName("echobase-referentialAndData");
conf.setComputeSteps(true);
conf.setExportDbMode(ExportDbMode.REFERENTIAL_AND_DATA);
- service.doExport(conf);
+ exportDbService.doExport(conf);
File exportFile = conf.getExportFile();
Assert.assertNotNull(exportFile);
Assert.assertTrue(exportFile.exists());
@@ -250,7 +250,7 @@
// check all tables (referential + data) where exported
ZipFile zipFile = new ZipFile(exportFile);
- Map<TableMeta<EchoBaseEntityEnum>, ZipEntry> tables =
+ Map<TableMeta<EchoBaseUserEntityEnum>, ZipEntry> tables =
TopiaCsvImports.discoverEntries(
"echobase/", getDbMeta().getAllTables(),
zipFile, Lists.<String>newArrayList());
@@ -261,8 +261,6 @@
@Test
public void exportAll() throws IOException {
- ExportDbService service = getExportDbService();
-
ExportDbConfiguration conf = new ExportDbConfiguration();
conf.setVoyageIds(new String[]{getVoyageId()});
@@ -272,7 +270,7 @@
conf.setFileName("echobase-all");
conf.setComputeSteps(true);
conf.setExportDbMode(ExportDbMode.ALL);
- service.doExport(conf);
+ exportDbService.doExport(conf);
File exportFile = conf.getExportFile();
Assert.assertNotNull(exportFile);
Assert.assertTrue(exportFile.exists());
@@ -281,7 +279,7 @@
// check all tables (referential + data) where exported
ZipFile zipFile = new ZipFile(exportFile);
- Map<TableMeta<EchoBaseEntityEnum>, ZipEntry> tables =
+ Map<TableMeta<EchoBaseUserEntityEnum>, ZipEntry> tables =
TopiaCsvImports.discoverEntries(
"echobase/", getDbMeta().getAllTables(),
zipFile, Lists.<String>newArrayList());
@@ -289,17 +287,17 @@
checkAllTablesExported(zipFile, tables);
}
- private void checkAllTablesExported(ZipFile zipFile, Map<TableMeta<EchoBaseEntityEnum>, ZipEntry> tables) throws IOException {
- for (Map.Entry<TableMeta<EchoBaseEntityEnum>, ZipEntry> entry : tables.entrySet()) {
- TableMeta<EchoBaseEntityEnum> type = entry.getKey();
- if (type.getSource() == EchoBaseEntityEnum.Gear) {
+ private void checkAllTablesExported(ZipFile zipFile, Map<TableMeta<EchoBaseUserEntityEnum>, ZipEntry> tables) throws IOException {
+ for (Map.Entry<TableMeta<EchoBaseUserEntityEnum>, ZipEntry> entry : tables.entrySet()) {
+ TableMeta<EchoBaseUserEntityEnum> type = entry.getKey();
+ if (type.getSource() == EchoBaseUserEntityEnum.Gear) {
// there is some extra lines so can not count from here...
//FIXME should use a csv import to read entries nstead
continue;
}
ZipEntry zipEntry = entry.getValue();
long nbCells = EchoBaseIOUtil.countLines(zipFile, Sets.newHashSet(zipEntry));
- Assert.assertEquals(1 + serviceContext.getEchoBasePersistenceContext().getDAO(type.getEntityType()).count(), nbCells);
+ Assert.assertEquals(1 + serviceContext.getEchoBaseUserPersistenceContext().getDao(type.getEntityType()).count(), nbCells);
}
}
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/service/exportquery/ExportQueryServiceTest.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/service/exportquery/ExportQueryServiceTest.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/service/exportquery/ExportQueryServiceTest.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -26,10 +26,11 @@
import fr.ifremer.echobase.services.EchoBaseTestServiceSupport;
import fr.ifremer.echobase.services.FakeEchoBaseServiceContext;
import org.junit.Assert;
-import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
+import javax.inject.Inject;
+
/**
* To test {@link ExportQueryService}.
*
@@ -42,12 +43,13 @@
return new FakeEchoBaseServiceContext(null);
}
- ExportQueryService service;
+ @Inject
+ ExportQueryService exportQueryService;
- @Before
- public void setup() {
- service = getExportQueryService();
- }
+// @Before
+// public void setup() {
+// exportQueryService = getExportQueryService();
+// }
@Ignore
@Test
@@ -66,7 +68,7 @@
protected void processLibreOfficeSqlQuery(String libreOfficeQuery,
String expected) {
- String actual = service.processLibreOfficeSqlQuery(libreOfficeQuery);
+ String actual = exportQueryService.processLibreOfficeSqlQuery(libreOfficeQuery);
Assert.assertEquals(expected, actual);
}
}
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/AbstractImportDataServiceIT.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/AbstractImportDataServiceIT.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/AbstractImportDataServiceIT.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -23,14 +23,13 @@
*/
package fr.ifremer.echobase.services.service.importdata;
-import com.google.common.base.Preconditions;
import com.google.common.collect.Collections2;
import com.google.common.collect.Sets;
import fr.ifremer.echobase.EchoBaseFunctions;
import fr.ifremer.echobase.csv.EchoBaseCsvUtil;
import fr.ifremer.echobase.entities.EchoBaseUser;
import fr.ifremer.echobase.entities.data.Cell;
-import fr.ifremer.echobase.entities.data.CellDAO;
+import fr.ifremer.echobase.entities.data.CellTopiaDao;
import fr.ifremer.echobase.entities.data.Data;
import fr.ifremer.echobase.entities.data.DataAcquisition;
import fr.ifremer.echobase.entities.data.DataProcessing;
@@ -46,17 +45,17 @@
import fr.ifremer.echobase.entities.data.Transit;
import fr.ifremer.echobase.entities.data.Voyage;
import fr.ifremer.echobase.entities.references.CellType;
-import fr.ifremer.echobase.entities.references.CellTypeDAO;
+import fr.ifremer.echobase.entities.references.CellTypeTopiaDao;
import fr.ifremer.echobase.io.InputFile;
import fr.ifremer.echobase.services.EchoBaseTestServiceSupport;
-import fr.ifremer.echobase.services.service.WorkingDbPersistenceService;
+import fr.ifremer.echobase.services.service.UserDbPersistenceService;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.junit.Assert;
import org.nuiton.csv.Import;
import org.nuiton.csv.ext.CsvReaders;
-import org.nuiton.topia.TopiaException;
-import org.nuiton.topia.persistence.csv.in.AbstractImportModel;
+import org.nuiton.topia.persistence.TopiaException;
+import org.nuiton.topia.service.csv.in.AbstractImportModel;
import org.nuiton.util.TimeLog;
import java.io.File;
@@ -139,7 +138,7 @@
return result;
}
-// protected <E extends TopiaEntity> E create(TopiaDAO<E> dao,
+// protected <E extends TopiaEntity> E create(TopiaDao<E> dao,
// Object... properties) {
// try {
// E result = dao.create(properties);
@@ -154,7 +153,7 @@
InputFile inputFile) throws TopiaException {
- WorkingDbPersistenceService persistenceService = serviceContext.newService(WorkingDbPersistenceService.class);
+ UserDbPersistenceService persistenceService = serviceContext.newService(UserDbPersistenceService.class);
ResultsImportService service = newService(ResultsImportService.class);
Voyage voyage = persistenceService.getVoyage(voyageId);
@@ -166,7 +165,7 @@
if (voyage.isTransitEmpty()) {
// create a fake transit
- transit = serviceContext.getEchoBasePersistenceContext().getTransitDAO().create();
+ transit = serviceContext.getEchoBaseUserPersistenceContext().getTransitDao().create();
voyage.addTransit(transit);
} else {
transit = voyage.getTransit().get(0);
@@ -175,7 +174,7 @@
if (transit.isTransectEmpty()) {
// create a fake transect
- transect = serviceContext.getEchoBasePersistenceContext().getTransectDAO().create();
+ transect = serviceContext.getEchoBaseUserPersistenceContext().getTransectDao().create();
transit.addTransect(transect);
} else {
transect = transit.getTransect().get(0);
@@ -184,9 +183,9 @@
if (transect.isDataAcquisitionEmpty()) {
// create a fake dataAcquisition
- dataAcquisition = serviceContext.getEchoBasePersistenceContext().getDataAcquisitionDAO().create(
+ dataAcquisition = serviceContext.getEchoBaseUserPersistenceContext().getDataAcquisitionDao().create(
DataAcquisition.PROPERTY_ACOUSTIC_INSTRUMENT,
- serviceContext.getEchoBasePersistenceContext().getAcousticInstrumentDAO().findAll().get(0));
+ serviceContext.getEchoBaseUserPersistenceContext().getAcousticInstrumentDao().findAll().get(0));
transect.addDataAcquisition(dataAcquisition);
} else {
dataAcquisition = transect.getDataAcquisition().iterator().next();
@@ -195,7 +194,7 @@
if (dataAcquisition.isDataProcessingEmpty()) {
// creates a fake dataProcessing
- dataProcessing = serviceContext.getEchoBasePersistenceContext().getDataProcessingDAO().create(
+ dataProcessing = serviceContext.getEchoBaseUserPersistenceContext().getDataProcessingDao().create(
DataProcessing.PROPERTY_ID, "id",
DataProcessing.PROPERTY_PROCESSING_TEMPLATE, "pt"
);
@@ -204,7 +203,7 @@
dataProcessing = dataAcquisition.getDataProcessing().iterator().next();
}
- CellDAO dao = serviceContext.getEchoBasePersistenceContext().getCellDAO();
+ CellTopiaDao dao = serviceContext.getEchoBaseUserPersistenceContext().getCellDao();
Set<String> cellsNames;
@@ -220,10 +219,10 @@
esduColumnName,
inputFile.getFile());
- CellTypeDAO cellTypeDAO = serviceContext.getEchoBasePersistenceContext().getCellTypeDAO();
+ CellTypeTopiaDao cellTypeDAO = serviceContext.getEchoBaseUserPersistenceContext().getCellTypeDao();
- CellType esduCellType = cellTypeDAO.findById("Esdu");
- Preconditions.checkNotNull(esduCellType);
+ CellType esduCellType = cellTypeDAO.forIdEquals("Esdu").findUnique();
+// Preconditions.checkNotNull(esduCellType);
Reader reader = service.getInputFileReader(inputFile);
try {
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/CommonTransectImportServiceIT.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/CommonTransectImportServiceIT.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/CommonTransectImportServiceIT.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -69,7 +69,7 @@
conf.setImportType(ImportType.COMMON_TRANSECT);
// let's delete every transects
- for (Transit transit : serviceContext.getEchoBasePersistenceContext().getTransitDAO()) {
+ for (Transit transit : serviceContext.getEchoBaseUserPersistenceContext().getTransitDao()) {
transit.clearTransect();
}
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/CommonTransitImportServiceIT.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/CommonTransitImportServiceIT.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/CommonTransitImportServiceIT.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -58,7 +58,7 @@
assertImportCommonData();
// let's delete every transits
- for (Voyage voyage : serviceContext.getEchoBasePersistenceContext().getVoyageDAO()) {
+ for (Voyage voyage : serviceContext.getEchoBaseUserPersistenceContext().getVoyageDao()) {
voyage.clearTransit();
}
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdb/ImportDbServiceTest.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdb/ImportDbServiceTest.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdb/ImportDbServiceTest.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -32,6 +32,7 @@
import org.junit.Test;
import org.nuiton.util.FileUtil;
+import javax.inject.Inject;
import java.io.File;
import java.io.IOException;
@@ -45,6 +46,9 @@
public static final String DB_VERSION = "1.2";
+ @Inject
+ private ImportDbService importDbService;
+
@Override
protected FakeEchoBaseServiceContext initContext() {
return new FakeEchoBaseServiceContext(null);
@@ -53,8 +57,6 @@
@Test
public void importDb() throws IOException, ImportException {
- ImportDbService service = getImportDbService();
-
ImportDbConfiguration conf = new ImportDbConfiguration(getLocale());
File workingDirectory = new File(getTestDir(), "work-dir");
@@ -68,7 +70,7 @@
EchoBaseUser user = new EchoBaseUserImpl();
user.setEmail("testUser(a)fake.fr");
- service.doImport(conf, user);
+ importDbService.doImport(conf, user);
Assert.assertTrue(conf.getProgress() > 94);
}
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/AbstractRemoveDataServiceTest.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/AbstractRemoveDataServiceTest.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/AbstractRemoveDataServiceTest.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -25,43 +25,43 @@
import com.google.common.collect.Lists;
import fr.ifremer.echobase.entities.EchoBaseUser;
+import fr.ifremer.echobase.entities.EchoBaseUserPersistenceContext;
import fr.ifremer.echobase.entities.ImportLog;
import fr.ifremer.echobase.entities.ImportType;
-import fr.ifremer.echobase.entities.TopiaEchoBasePersistenceContext;
import fr.ifremer.echobase.entities.data.Category;
-import fr.ifremer.echobase.entities.data.CategoryDAO;
+import fr.ifremer.echobase.entities.data.CategoryTopiaDao;
import fr.ifremer.echobase.entities.data.Cell;
-import fr.ifremer.echobase.entities.data.CellDAO;
+import fr.ifremer.echobase.entities.data.CellTopiaDao;
import fr.ifremer.echobase.entities.data.Data;
import fr.ifremer.echobase.entities.data.DataAcquisition;
-import fr.ifremer.echobase.entities.data.DataAcquisitionDAO;
-import fr.ifremer.echobase.entities.data.DataDAO;
+import fr.ifremer.echobase.entities.data.DataAcquisitionTopiaDao;
import fr.ifremer.echobase.entities.data.DataProcessing;
-import fr.ifremer.echobase.entities.data.DataProcessingDAO;
+import fr.ifremer.echobase.entities.data.DataProcessingTopiaDao;
+import fr.ifremer.echobase.entities.data.DataTopiaDao;
import fr.ifremer.echobase.entities.data.Echotype;
-import fr.ifremer.echobase.entities.data.EchotypeDAO;
+import fr.ifremer.echobase.entities.data.EchotypeTopiaDao;
import fr.ifremer.echobase.entities.data.GearMetadataValue;
-import fr.ifremer.echobase.entities.data.GearMetadataValueDAO;
+import fr.ifremer.echobase.entities.data.GearMetadataValueTopiaDao;
import fr.ifremer.echobase.entities.data.LengthAgeKey;
-import fr.ifremer.echobase.entities.data.LengthAgeKeyDAO;
+import fr.ifremer.echobase.entities.data.LengthAgeKeyTopiaDao;
import fr.ifremer.echobase.entities.data.LengthWeightKey;
-import fr.ifremer.echobase.entities.data.LengthWeightKeyDAO;
+import fr.ifremer.echobase.entities.data.LengthWeightKeyTopiaDao;
import fr.ifremer.echobase.entities.data.Operation;
-import fr.ifremer.echobase.entities.data.OperationDAO;
import fr.ifremer.echobase.entities.data.OperationMetadataValue;
-import fr.ifremer.echobase.entities.data.OperationMetadataValueDAO;
+import fr.ifremer.echobase.entities.data.OperationMetadataValueTopiaDao;
+import fr.ifremer.echobase.entities.data.OperationTopiaDao;
import fr.ifremer.echobase.entities.data.Result;
-import fr.ifremer.echobase.entities.data.ResultDAO;
+import fr.ifremer.echobase.entities.data.ResultTopiaDao;
import fr.ifremer.echobase.entities.data.Sample;
-import fr.ifremer.echobase.entities.data.SampleDAO;
import fr.ifremer.echobase.entities.data.SampleData;
-import fr.ifremer.echobase.entities.data.SampleDataDAO;
+import fr.ifremer.echobase.entities.data.SampleDataTopiaDao;
+import fr.ifremer.echobase.entities.data.SampleTopiaDao;
import fr.ifremer.echobase.entities.data.Transect;
-import fr.ifremer.echobase.entities.data.TransectDAO;
+import fr.ifremer.echobase.entities.data.TransectTopiaDao;
import fr.ifremer.echobase.entities.data.Transit;
-import fr.ifremer.echobase.entities.data.TransitDAO;
+import fr.ifremer.echobase.entities.data.TransitTopiaDao;
import fr.ifremer.echobase.entities.data.Voyage;
-import fr.ifremer.echobase.entities.data.VoyageDAO;
+import fr.ifremer.echobase.entities.data.VoyageTopiaDao;
import fr.ifremer.echobase.entities.references.AcousticInstrument;
import fr.ifremer.echobase.entities.references.CellType;
import fr.ifremer.echobase.entities.references.DataMetadata;
@@ -100,11 +100,12 @@
import org.apache.commons.logging.LogFactory;
import org.junit.Assert;
import org.junit.Before;
-import org.nuiton.topia.TopiaException;
-import org.nuiton.topia.persistence.TopiaDAO;
+import org.nuiton.topia.persistence.TopiaDao;
import org.nuiton.topia.persistence.TopiaEntity;
+import org.nuiton.topia.persistence.TopiaException;
import org.nuiton.topia.persistence.TopiaIdFactory;
+import javax.inject.Inject;
import java.util.List;
/**
@@ -203,74 +204,77 @@
protected static final String transect2_2Id = "fr.ifremer.echobase.entities.data.Transect#2#2";
- protected VoyageDAO voyageDao;
+ protected VoyageTopiaDao voyageDAO;
- protected TransectDAO transectDAO;
+ protected TransectTopiaDao transectDAO;
- protected TransitDAO transitDAO;
+ protected TransitTopiaDao transitDAO;
- protected DataAcquisitionDAO dataAcquisitionDAO;
+ protected DataAcquisitionTopiaDao dataAcquisitionDAO;
- protected DataProcessingDAO dataProcessingDAO;
+ protected DataProcessingTopiaDao dataProcessingDAO;
- protected CellDAO cellDAO;
+ protected CellTopiaDao cellDAO;
- protected DataDAO dataDAO;
+ protected DataTopiaDao dataDAO;
- protected OperationDAO operationDAO;
+ protected OperationTopiaDao operationDAO;
- protected OperationMetadataValueDAO operationMetadataValueDAO;
+ protected OperationMetadataValueTopiaDao operationMetadataValueDAO;
- protected GearMetadataValueDAO gearMetadataValueDAO;
+ protected GearMetadataValueTopiaDao gearMetadataValueDAO;
- protected SampleDAO sampleDAO;
+ protected SampleTopiaDao sampleDAO;
- protected SampleDataDAO sampleDataDAO;
+ protected SampleDataTopiaDao sampleDataDAO;
- protected CategoryDAO categoryDAO;
+ protected CategoryTopiaDao categoryDAO;
- protected EchotypeDAO echotypeDAO;
+ protected EchotypeTopiaDao echotypeDAO;
- protected LengthAgeKeyDAO lengthAgeKeyDAO;
+ protected LengthAgeKeyTopiaDao lengthAgeKeyDAO;
- protected LengthWeightKeyDAO lengthWeightKeyDAO;
+ protected LengthWeightKeyTopiaDao lengthWeightKeyDAO;
- protected ResultDAO resultDAO;
+ protected ResultTopiaDao resultDAO;
+ @Inject
+ private RemoveDataService removeDataService;
+
@Override
protected FakeEchoBaseServiceContext initContext() {
return new FakeEchoBaseServiceContext(fixtures.IMPORT_DATA_ECHOBASE_NO_DATA());
}
- TopiaEchoBasePersistenceContext persistenceContext;
+ EchoBaseUserPersistenceContext persistenceContext;
@Override
@Before
public void setUp() throws Exception {
super.setUp();
- persistenceContext = serviceContext.getEchoBasePersistenceContext();
+ persistenceContext = serviceContext.getEchoBaseUserPersistenceContext();
- voyageDao = persistenceContext.getVoyageDAO();
- transectDAO = persistenceContext.getTransectDAO();
- transitDAO = persistenceContext.getTransitDAO();
- dataAcquisitionDAO = persistenceContext.getDataAcquisitionDAO();
- dataProcessingDAO = persistenceContext.getDataProcessingDAO();
+ voyageDAO = persistenceContext.getVoyageDao();
+ transectDAO = persistenceContext.getTransectDao();
+ transitDAO = persistenceContext.getTransitDao();
+ dataAcquisitionDAO = persistenceContext.getDataAcquisitionDao();
+ dataProcessingDAO = persistenceContext.getDataProcessingDao();
- cellDAO = persistenceContext.getCellDAO();
- dataDAO = persistenceContext.getDataDAO();
- operationDAO = persistenceContext.getOperationDAO();
- operationMetadataValueDAO = persistenceContext.getOperationMetadataValueDAO();
- gearMetadataValueDAO = persistenceContext.getGearMetadataValueDAO();
- sampleDAO = persistenceContext.getSampleDAO();
- sampleDataDAO = persistenceContext.getSampleDataDAO();
+ cellDAO = persistenceContext.getCellDao();
+ dataDAO = persistenceContext.getDataDao();
+ operationDAO = persistenceContext.getOperationDao();
+ operationMetadataValueDAO = persistenceContext.getOperationMetadataValueDao();
+ gearMetadataValueDAO = persistenceContext.getGearMetadataValueDao();
+ sampleDAO = persistenceContext.getSampleDao();
+ sampleDataDAO = persistenceContext.getSampleDataDao();
- echotypeDAO = persistenceContext.getEchotypeDAO();
- lengthAgeKeyDAO = persistenceContext.getLengthAgeKeyDAO();
- lengthWeightKeyDAO = persistenceContext.getLengthWeightKeyDAO();
- categoryDAO = persistenceContext.getCategoryDAO();
- resultDAO = persistenceContext.getResultDAO();
+ echotypeDAO = persistenceContext.getEchotypeDao();
+ lengthAgeKeyDAO = persistenceContext.getLengthAgeKeyDao();
+ lengthWeightKeyDAO = persistenceContext.getLengthWeightKeyDao();
+ categoryDAO = persistenceContext.getCategoryDao();
+ resultDAO = persistenceContext.getResultDao();
//create imports for voyage 1
createCommonVoyageImportV1();
@@ -330,11 +334,9 @@
RemoveDataConfiguration conf = new RemoveDataConfiguration();
conf.setImportLogIds(new String[]{importId});
- RemoveDataService service = getRemoveDataService();
-
EchoBaseUser fakeUser = createFakeUser();
- service.removeImport(conf, fakeUser);
+ removeDataService.removeImport(conf, fakeUser);
for (String id : shoudDeleteIds) {
existingId.remove(id);
@@ -361,7 +363,7 @@
}
private <E extends TopiaEntity> E getFirstEntity(Class<E> entityType) {
- List<E> entities = persistenceContext.getDAO(entityType).findAll();
+ List<E> entities = persistenceContext.getDao(entityType).findAll();
Assert.assertTrue(CollectionUtils.isNotEmpty(entities));
return entities.get(0);
}
@@ -370,15 +372,15 @@
TopiaIdFactory topiaIdFactory = persistenceContext.getTopiaIdFactory();
Class entityType = topiaIdFactory.getClassName(id);
- TopiaDAO<E> dao = persistenceContext.getDAO(entityType);
- E entity = dao.findByTopiaId(id);
+ TopiaDao<E> dao = persistenceContext.getDao(entityType);
+ E entity = dao.forTopiaIdEquals(id).findAnyOrNull();
return entity;
}
private void createCommonVoyageImportV1() {
// create voyage
- Voyage voyage = voyageDao.create(
+ Voyage voyage = voyageDAO.create(
TopiaEntity.PROPERTY_TOPIA_ID, voyage1Id,
Voyage.PROPERTY_MISSION, getFirstEntity(Mission.class),
Voyage.PROPERTY_NAME, "voyage1",
@@ -390,7 +392,7 @@
Voyage.PROPERTY_DATUM, "voyage1Datum"
);
- persistenceContext.commitTransaction();
+ persistenceContext.commit();
importCommonVoyage1Id = createImport(
CommonAllImportService.class,
@@ -404,7 +406,7 @@
private void createCommonVoyageImportV2() {
// create voyage
- Voyage voyage = voyageDao.create(
+ Voyage voyage = voyageDAO.create(
TopiaEntity.PROPERTY_TOPIA_ID, voyage2Id,
Voyage.PROPERTY_MISSION, getFirstEntity(Mission.class),
Voyage.PROPERTY_NAME, "voyage2",
@@ -416,7 +418,7 @@
Voyage.PROPERTY_DATUM, "voyage2Datum"
);
- persistenceContext.commitTransaction();
+ persistenceContext.commit();
importCommonVoyage2Id = createImport(
CommonAllImportService.class,
@@ -444,7 +446,7 @@
);
voyage.addTransit(transit);
- persistenceContext.commitTransaction();
+ persistenceContext.commit();
importCommonTransit1Id = createImport(
CommonAllImportService.class,
@@ -472,7 +474,7 @@
);
voyage.addTransit(transit);
- persistenceContext.commitTransaction();
+ persistenceContext.commit();
importCommonTransit2Id = createImport(
CommonAllImportService.class,
@@ -508,7 +510,7 @@
);
transit.addTransect(transect2);
- persistenceContext.commitTransaction();
+ persistenceContext.commit();
importCommonTransect1Id = createImport(
CommonAllImportService.class,
@@ -543,7 +545,7 @@
);
transit.addTransect(transect2);
- persistenceContext.commitTransaction();
+ persistenceContext.commit();
importCommonTransect2Id = createImport(
CommonAllImportService.class,
@@ -873,7 +875,7 @@
importLog.addImportId(importId.getTopiaId());
}
- persistenceContext.commitTransaction();
+ persistenceContext.commit();
String importId = importLog.getTopiaId();
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/CatchesRemoveDataServiceTest.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/CatchesRemoveDataServiceTest.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/CatchesRemoveDataServiceTest.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -26,7 +26,7 @@
import fr.ifremer.echobase.services.service.removedata.RemoveDataService;
import fr.ifremer.echobase.services.service.removedata.strategy.CatchesRemoveDataStrategy;
import org.junit.Test;
-import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.persistence.TopiaException;
/**
* Test{@link RemoveDataService} with {@link CatchesRemoveDataStrategy}.
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/CommonAllRemoveDataServiceTest.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/CommonAllRemoveDataServiceTest.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/CommonAllRemoveDataServiceTest.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -26,7 +26,7 @@
import fr.ifremer.echobase.services.service.removedata.RemoveDataService;
import fr.ifremer.echobase.services.service.removedata.strategy.CommonAllRemoveDataStrategy;
import org.junit.Test;
-import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.persistence.TopiaException;
/**
* Test{@link RemoveDataService} with {@link CommonAllRemoveDataStrategy}.
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/CommonTransectRemoveDataServiceTest.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/CommonTransectRemoveDataServiceTest.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/CommonTransectRemoveDataServiceTest.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -26,7 +26,7 @@
import fr.ifremer.echobase.services.service.removedata.RemoveDataService;
import fr.ifremer.echobase.services.service.removedata.strategy.CommonTransectRemoveDataStrategy;
import org.junit.Test;
-import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.persistence.TopiaException;
/**
* Test{@link RemoveDataService} with {@link CommonTransectRemoveDataStrategy}.
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/CommonTransitRemoveDataServiceTest.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/CommonTransitRemoveDataServiceTest.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/CommonTransitRemoveDataServiceTest.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -26,7 +26,7 @@
import fr.ifremer.echobase.services.service.removedata.RemoveDataService;
import fr.ifremer.echobase.services.service.removedata.strategy.CommonTransitRemoveDataStrategy;
import org.junit.Test;
-import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.persistence.TopiaException;
/**
* Test{@link RemoveDataService} with {@link CommonTransitRemoveDataStrategy}.
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/CommonVoyageRemoveDataServiceTest.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/CommonVoyageRemoveDataServiceTest.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/CommonVoyageRemoveDataServiceTest.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -26,7 +26,7 @@
import fr.ifremer.echobase.services.service.removedata.RemoveDataService;
import fr.ifremer.echobase.services.service.removedata.strategy.CommonVoyageRemoveDataStrategy;
import org.junit.Test;
-import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.persistence.TopiaException;
/**
* Test{@link RemoveDataService} with {@link CommonVoyageRemoveDataStrategy}.
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/OperationRemoveDataServiceTest.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/OperationRemoveDataServiceTest.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/OperationRemoveDataServiceTest.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -26,7 +26,7 @@
import fr.ifremer.echobase.services.service.removedata.RemoveDataService;
import fr.ifremer.echobase.services.service.removedata.strategy.OperationRemoveDataStrategy;
import org.junit.Test;
-import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.persistence.TopiaException;
/**
* Test{@link RemoveDataService} with {@link OperationRemoveDataStrategy}.
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/ResultEsduRemoveDataServiceTest.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/ResultEsduRemoveDataServiceTest.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/ResultEsduRemoveDataServiceTest.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -26,7 +26,7 @@
import fr.ifremer.echobase.services.service.removedata.RemoveDataService;
import fr.ifremer.echobase.services.service.removedata.strategy.ResultEsduRemoveDataStrategy;
import org.junit.Test;
-import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.persistence.TopiaException;
/**
* Test{@link RemoveDataService} with {@link ResultEsduRemoveDataStrategy}.
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/ResultMapRemoveFishDataServiceTest.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/ResultMapRemoveFishDataServiceTest.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/ResultMapRemoveFishDataServiceTest.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -26,7 +26,7 @@
import fr.ifremer.echobase.services.service.removedata.RemoveDataService;
import fr.ifremer.echobase.services.service.removedata.strategy.ResultMapFishRemoveDataStrategy;
import org.junit.Test;
-import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.persistence.TopiaException;
/**
* Test {@link RemoveDataService} with {@link ResultMapFishRemoveDataStrategy}.
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/ResultMapRemoveOtherDataServiceTest.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/ResultMapRemoveOtherDataServiceTest.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/ResultMapRemoveOtherDataServiceTest.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -26,7 +26,7 @@
import fr.ifremer.echobase.services.service.removedata.RemoveDataService;
import fr.ifremer.echobase.services.service.removedata.strategy.ResultMapOtherRemoveDataStrategy;
import org.junit.Test;
-import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.persistence.TopiaException;
/**
* Test {@link RemoveDataService} with {@link ResultMapOtherRemoveDataStrategy}.
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/ResultRegionRemoveDataServiceTest.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/ResultRegionRemoveDataServiceTest.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/ResultRegionRemoveDataServiceTest.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -26,7 +26,7 @@
import fr.ifremer.echobase.services.service.removedata.RemoveDataService;
import fr.ifremer.echobase.services.service.removedata.strategy.ResultRegionRemoveDataStrategy;
import org.junit.Test;
-import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.persistence.TopiaException;
/**
* Test{@link RemoveDataService} with {@link ResultRegionRemoveDataStrategy}.
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/ResultVoyageRemoveDataServiceTest.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/ResultVoyageRemoveDataServiceTest.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/ResultVoyageRemoveDataServiceTest.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -26,7 +26,7 @@
import fr.ifremer.echobase.services.service.removedata.RemoveDataService;
import fr.ifremer.echobase.services.service.removedata.strategy.ResultVoyageRemoveDataStrategy;
import org.junit.Test;
-import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.persistence.TopiaException;
/**
* Test{@link RemoveDataService} with {@link ResultVoyageRemoveDataStrategy}.
Modified: trunk/echobase-ui/pom.xml
===================================================================
--- trunk/echobase-ui/pom.xml 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/pom.xml 2013-12-22 00:29:17 UTC (rev 925)
@@ -47,9 +47,6 @@
<resources>
<resource>
<directory>src/main/resources</directory>
- <!--includes>
- <include>**/*</include>
- </includes-->
<excludes>
<exclude>echobase.properties</exclude>
<exclude>struts.xml</exclude>
@@ -65,12 +62,6 @@
</includes>
</resource>
- <!--resource>
- <directory>src/main/env/${env}/resources</directory>
- <includes>
- <include>*.properties</include>
- </includes>
- </resource-->
</resources>
<plugins>
@@ -259,9 +250,14 @@
<artifactId>jetty-runner</artifactId>
</dependency>
- <dependency>
+ <!--dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
+ </dependency-->
+
+ <dependency>
+ <groupId>javax</groupId>
+ <artifactId>javaee-api</artifactId>
</dependency>
<!-- database dependencies -->
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 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseApplicationContext.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -30,12 +30,15 @@
import com.opensymphony.xwork2.ActionContext;
import fr.ifremer.echobase.config.EchoBaseConfiguration;
import fr.ifremer.echobase.entities.DriverType;
+import fr.ifremer.echobase.entities.EchoBaseInternalPersistenceContext;
+import fr.ifremer.echobase.entities.EchoBaseInternalTopiaApplicationContext;
+import fr.ifremer.echobase.entities.EchoBaseInternalTopiaPersistenceContext;
import fr.ifremer.echobase.entities.EchoBaseUser;
-import fr.ifremer.echobase.entities.TopiaEchoBaseInternalPersistenceContext;
-import fr.ifremer.echobase.entities.TopiaEchoBasePersistenceContext;
+import fr.ifremer.echobase.entities.EchoBaseUserPersistenceContext;
+import fr.ifremer.echobase.entities.EchoBaseUserTopiaApplicationContext;
import fr.ifremer.echobase.persistence.EchoBaseDbMeta;
import fr.ifremer.echobase.persistence.EchoBaseEntityHelper;
-import fr.ifremer.echobase.persistence.EchobaseTopiaContexts;
+import fr.ifremer.echobase.persistence.EchobaseTopiaApplicationContexts;
import fr.ifremer.echobase.services.DefaultEchoBaseServiceContext;
import fr.ifremer.echobase.services.EchoBaseServiceContext;
import fr.ifremer.echobase.services.service.UserService;
@@ -52,8 +55,7 @@
import org.apache.log4j.PropertyConfigurator;
import org.nuiton.i18n.I18n;
import org.nuiton.i18n.init.DefaultI18nInitializer;
-import org.nuiton.topia.TopiaContext;
-import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.persistence.TopiaException;
import org.nuiton.util.RecursiveProperties;
import org.nuiton.util.SortedProperties;
import org.nuiton.util.converter.ConverterUtil;
@@ -119,7 +121,7 @@
protected EchoBaseDbMeta dbMeta;
/** Root context for the internal database. */
- protected TopiaContext internalRootContext;
+ protected EchoBaseInternalTopiaApplicationContext internalTopiaApplicationContext;
/**
* Flag setted to true when internal db was just created (should then
@@ -129,18 +131,6 @@
*/
protected boolean defaultUsersCreated;
-// /**
-// * A simple cache of spatial data.
-// *
-// * @since 2.2
-// */
-// protected final SpatialDataCache spatialDataCache;
-
- public EchoBaseApplicationContext() {
-
-// spatialDataCache = new SpatialDataCache();
- }
-
public Set<EchoBaseSession> getEchoBaseSessions() {
return sessions;
}
@@ -188,7 +178,7 @@
ConvertUtils.register(new FloatConverter(), Float.class);
// initialize configuration
- EchoBaseConfiguration configuration = new EchoBaseConfiguration();
+ configuration = new EchoBaseConfiguration();
try {
initLog(configuration);
@@ -202,13 +192,11 @@
}
// initialize internal root context
- TopiaContext internalRootContext =
- EchobaseTopiaContexts.newInternalDb(
+ internalTopiaApplicationContext =
+ EchobaseTopiaApplicationContexts.newInternalDb(
configuration.getInternalDbDirectory());
- setConfiguration(configuration);
- setDbMeta(EchoBaseDbMeta.newDbMeta());
- setInternalRootContext(internalRootContext);
+ dbMeta = EchoBaseDbMeta.newDbMeta();
// create a service context
EchoBaseServiceContext serviceContext =
@@ -222,7 +210,7 @@
// extract files to library directory if required
try {
- extractFiles(serviceContext);
+ extractFiles();
} catch (IOException e) {
throw new TopiaException("Could not extract files (drivers + embedded war)", e);
}
@@ -236,8 +224,8 @@
return dbMeta;
}
- public TopiaContext getInternalRootContext() {
- return internalRootContext;
+ public EchoBaseInternalTopiaApplicationContext getInternalTopiaApplicationContext() {
+ return internalTopiaApplicationContext;
}
public boolean isDefaultUsersCreated() {
@@ -245,8 +233,9 @@
}
public EchoBaseServiceContext newServiceContext(Locale locale,
- TopiaContext topiaInternalContext,
- TopiaContext topiaContext) {
+ EchoBaseInternalPersistenceContext topiaInternalContext,
+ EchoBaseUserPersistenceContext topiaUserContext,
+ EchoBaseUserTopiaApplicationContext topiaApplicationContext) {
EchoBaseServiceContext newServiceContext =
DefaultEchoBaseServiceContext.newContext(
@@ -254,26 +243,19 @@
configuration,
dbMeta);
- TopiaEchoBaseInternalPersistenceContext internalPersistenceContext =
- new TopiaEchoBaseInternalPersistenceContext(topiaInternalContext);
+ newServiceContext.setEchoBaseInternalPersistenceContext(topiaInternalContext);
+ newServiceContext.setEchoBaseUserApplicationContext(topiaApplicationContext);
+ newServiceContext.setEchoBaseUserPersistenceContext(topiaUserContext);
- newServiceContext.setEchoBaseInternalPersistenceContext(
- internalPersistenceContext);
-
- TopiaEchoBasePersistenceContext persistenceContext =
- new TopiaEchoBasePersistenceContext(topiaContext);
-
- newServiceContext.setEchoBasePersistenceContext(persistenceContext);
-
return newServiceContext;
}
public void close() {
try {
- if (internalRootContext != null) {
+ if (internalTopiaApplicationContext != null) {
// release internal db
- EchoBaseEntityHelper.releaseRootContext(internalRootContext);
+ EchoBaseEntityHelper.releaseApplicationContext(internalTopiaApplicationContext);
}
} finally {
@@ -294,23 +276,6 @@
}
}
- public void setDbMeta(EchoBaseDbMeta dbMeta) {
- this.dbMeta = dbMeta;
- }
-
- public void setInternalRootContext(TopiaContext internalRootContext) {
- this.internalRootContext = internalRootContext;
- }
-
- public void setDefaultUsersCreated(boolean defaultUsersCreated) {
- this.defaultUsersCreated = defaultUsersCreated;
- }
-
- public void setConfiguration(EchoBaseConfiguration configuration) {
- this.configuration = configuration;
- }
-
-
/**
* Init the internal database, says :
* <ul>
@@ -322,25 +287,20 @@
*/
protected void initInternalDatabase(EchoBaseServiceContext serviceContext) throws TopiaException {
- EchoBaseConfiguration configuration = this.getConfiguration();
Preconditions.checkNotNull(configuration);
-
- EchoBaseDbMeta dbMeta = getDbMeta();
Preconditions.checkNotNull(dbMeta);
+ Preconditions.checkNotNull(internalTopiaApplicationContext);
- TopiaContext rootContext = this.getInternalRootContext();
- Preconditions.checkNotNull(rootContext);
-
if (configuration.isUpdateSchema()) {
if (log.isInfoEnabled()) {
log.info("Will update schema...");
}
- rootContext.updateSchema();
+ internalTopiaApplicationContext.updateSchema();
}
- TopiaContext tx = rootContext.beginTransaction();
+ EchoBaseInternalTopiaPersistenceContext tx = internalTopiaApplicationContext.newPersistenceContext();
try {
- serviceContext.setEchoBaseInternalPersistenceContext(new TopiaEchoBaseInternalPersistenceContext(tx));
+ serviceContext.setEchoBaseInternalPersistenceContext(tx);
UserService service = serviceContext.newService(UserService.class);
@@ -424,10 +384,8 @@
}
}
- protected void extractFiles(EchoBaseServiceContext serviceContext) throws IOException {
+ protected void extractFiles() throws IOException {
- EchoBaseConfiguration configuration = serviceContext.getConfiguration();
-
// copy drivers
File libDirectory = configuration.getLibDirectory();
for (DriverType driverType : DriverType.values()) {
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseInternalDbTransactionFilter.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseInternalDbTransactionFilter.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseInternalDbTransactionFilter.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -24,11 +24,13 @@
package fr.ifremer.echobase.ui;
import com.opensymphony.xwork2.ActionContext;
+import fr.ifremer.echobase.entities.EchoBaseInternalPersistenceContext;
+import fr.ifremer.echobase.entities.EchoBaseInternalTopiaApplicationContext;
+import fr.ifremer.echobase.entities.EchoBaseInternalTopiaPersistenceContext;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.struts2.StrutsStatics;
-import org.nuiton.topia.TopiaContext;
-import org.nuiton.web.filter.TopiaTransactionFilter;
+import org.nuiton.web.filter.TypedTopiaTransactionFilter;
import javax.servlet.FilterConfig;
import javax.servlet.ServletContext;
@@ -42,18 +44,22 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 0.1
*/
-public class EchoBaseInternalDbTransactionFilter extends TopiaTransactionFilter {
+public class EchoBaseInternalDbTransactionFilter extends TypedTopiaTransactionFilter<EchoBaseInternalPersistenceContext> {
/** Logger. */
private static final Log log =
LogFactory.getLog(EchoBaseInternalDbTransactionFilter.class);
- public static TopiaContext getTransaction(ActionContext context) {
+ public static EchoBaseInternalPersistenceContext getPersistenceContext(ActionContext context) {
HttpServletRequest request = (HttpServletRequest)
context.get(StrutsStatics.HTTP_REQUEST);
- return TopiaTransactionFilter.getTransaction(request);
+ return EchoBaseInternalDbTransactionFilter.getPersistenceContext(request);
}
+ public EchoBaseInternalDbTransactionFilter() {
+ super(EchoBaseInternalPersistenceContext.class);
+ }
+
protected ServletContext servletContext;
@Override
@@ -64,13 +70,13 @@
}
@Override
- protected TopiaContext beginTransaction(ServletRequest request) {
+ protected EchoBaseInternalPersistenceContext beginTransaction(ServletRequest request) {
EchoBaseApplicationContext applicationContext =
EchoBaseApplicationContext.getApplicationContext(servletContext);
- TopiaContext rootContext = applicationContext.getInternalRootContext();
- TopiaContext transaction = rootContext.beginTransaction();
+ EchoBaseInternalTopiaApplicationContext rootContext = applicationContext.getInternalTopiaApplicationContext();
+ EchoBaseInternalTopiaPersistenceContext transaction = rootContext.newPersistenceContext();
if (log.isDebugEnabled()) {
log.debug("Starts a new echo transaction " + transaction);
}
@@ -108,7 +114,7 @@
// }
//
// try {
-// Transaction tx = transaction.getHibernateSession().getTransaction();
+// Transaction tx = transaction.getHibernateSession().getPersistenceContext();
// if (!tx.wasCommitted() && !tx.wasRolledBack()) {
// if (log.isDebugEnabled()) {
// log.debug("rollback transaction!");
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseSession.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseSession.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseSession.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -27,15 +27,15 @@
import com.google.common.collect.Sets;
import com.opensymphony.xwork2.ActionContext;
import fr.ifremer.echobase.entities.EchoBaseUser;
+import fr.ifremer.echobase.entities.EchoBaseUserTopiaApplicationContext;
import fr.ifremer.echobase.persistence.EchoBaseEntityHelper;
-import fr.ifremer.echobase.persistence.EchobaseTopiaContexts;
+import fr.ifremer.echobase.persistence.EchobaseTopiaApplicationContexts;
import fr.ifremer.echobase.persistence.JdbcConfiguration;
import fr.ifremer.echobase.services.AbstractEchobaseActionConfiguration;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.nuiton.topia.TopiaContext;
-import org.nuiton.topia.TopiaNotFoundException;
+import org.nuiton.topia.persistence.TopiaNotFoundException;
import javax.servlet.http.HttpSession;
import java.io.Closeable;
@@ -51,7 +51,7 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 0.1
*/
-public class EchoBaseSession implements Closeable {
+public class EchoBaseSession implements Closeable, Serializable {
/** Logger. */
private static final Log log = LogFactory.getLog(EchoBaseSession.class);
@@ -63,20 +63,19 @@
private static final String PROPERTY_USER = "echobaseUser";
/** Key to set root context of working db selected by user (if any). */
- private static final String PROPERTY_WORKING_DB_CONFIGURATION = "workingDbConfiguration";
+ private static final String PROPERTY_USER_DB_CONFIGURATION = "userDbConfiguration";
/** Key to set root context of working db selected by user (if any). */
- private static final String PROPERTY_WORKING_DB_ROOT_CONTEXT = "workingDbRootContext";
+ private static final String PROPERTY_USER_DB_APPLICATION_CONTEXT = "userDbApplicationContext";
- /** Key to set spatial data list. */
- private static final String PROPERTY_SPATIAL_DATA = "spatialData";
-
public static final String SESSION_TOKEN_MESSAGES = "messages";
public static final String SESSION_TOKEN_ERRORS = "errors";
public static final String SESSION_TOKEN_WARNINGS = "warnings";
+ private static final long serialVersionUID = 1;
+
/** To store all properties in this session. */
protected Map<String, Object> store;
@@ -143,15 +142,15 @@
}
public JdbcConfiguration getWorkingDbConfiguration() {
- return get(PROPERTY_WORKING_DB_CONFIGURATION, JdbcConfiguration.class);
+ return get(PROPERTY_USER_DB_CONFIGURATION, JdbcConfiguration.class);
}
- public TopiaContext getWorkingDbRootContext() {
- return get(PROPERTY_WORKING_DB_ROOT_CONTEXT, TopiaContext.class);
+ public EchoBaseUserTopiaApplicationContext getUserDbApplicationContext() {
+ return get(PROPERTY_USER_DB_APPLICATION_CONTEXT, EchoBaseUserTopiaApplicationContext.class);
}
public boolean isWorkingDbSelected() {
- return contains(PROPERTY_WORKING_DB_CONFIGURATION);
+ return contains(PROPERTY_USER_DB_CONFIGURATION);
}
/**
@@ -165,21 +164,22 @@
* @param jdbcConfiguration the connection configuration to use
* @throws TopiaNotFoundException if could not create root context
*/
- public void initWorkingDb(JdbcConfiguration jdbcConfiguration, boolean createSchema) throws TopiaNotFoundException {
+ public void initUserDb(JdbcConfiguration jdbcConfiguration,
+ boolean createSchema) throws TopiaNotFoundException {
// close any previous db
- releaseWorkingDb();
+ releaseUserDb();
// creates a new topia root context from configuration
- TopiaContext rootContext =
- EchobaseTopiaContexts.newWorkingDb(
+ EchoBaseUserTopiaApplicationContext applicationContext =
+ EchobaseTopiaApplicationContexts.newUserDb(
jdbcConfiguration, createSchema);
// keep configuration is session
- set(PROPERTY_WORKING_DB_CONFIGURATION, jdbcConfiguration);
+ set(PROPERTY_USER_DB_CONFIGURATION, jdbcConfiguration);
// store it in session
- set(PROPERTY_WORKING_DB_ROOT_CONTEXT, rootContext);
+ set(PROPERTY_USER_DB_APPLICATION_CONTEXT, applicationContext);
if (log.isInfoEnabled()) {
log.info("User database initialized at " +
jdbcConfiguration.getUrl());
@@ -198,16 +198,16 @@
remove(configurationType.getName());
}
- public void releaseWorkingDb() {
+ public void releaseUserDb() {
if (isWorkingDbSelected()) {
try {
- TopiaContext rootContext = getWorkingDbRootContext();
- EchoBaseEntityHelper.releaseRootContext(rootContext);
+ EchoBaseUserTopiaApplicationContext applicationContext = getUserDbApplicationContext();
+ EchoBaseEntityHelper.releaseApplicationContext(applicationContext);
} finally {
- remove(PROPERTY_WORKING_DB_CONFIGURATION);
- remove(PROPERTY_WORKING_DB_ROOT_CONTEXT);
+ remove(PROPERTY_USER_DB_CONFIGURATION);
+ remove(PROPERTY_USER_DB_APPLICATION_CONTEXT);
}
}
}
@@ -239,7 +239,7 @@
}
public <T extends Serializable> void putDynamicSetData(String token, Set<T> data) {
- getDynamicData().put(token, data);
+ getDynamicData().put(token, (Serializable) data);
if (log.isDebugEnabled()) {
log.debug("Dynamic attributes size : " + getDynamicData().size());
}
@@ -366,7 +366,7 @@
log.info("Close user session for [" + getUser().getEmail() + "]");
}
try {
- releaseWorkingDb();
+ releaseUserDb();
} finally {
Set<String> keys = Sets.newHashSet(store.keySet());
Copied: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseUserDbTransactionFilter.java (from rev 924, trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseWorkingDbTransactionFilter.java)
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseUserDbTransactionFilter.java (rev 0)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseUserDbTransactionFilter.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -0,0 +1,89 @@
+package fr.ifremer.echobase.ui;
+
+/*
+ * #%L
+ * EchoBase :: UI
+ * $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.base.Preconditions;
+import com.opensymphony.xwork2.ActionContext;
+import fr.ifremer.echobase.entities.EchoBaseUserPersistenceContext;
+import fr.ifremer.echobase.entities.EchoBaseUserTopiaApplicationContext;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.struts2.StrutsStatics;
+import org.nuiton.web.filter.TypedTopiaTransactionFilter;
+
+import javax.servlet.FilterConfig;
+import javax.servlet.ServletException;
+import javax.servlet.ServletRequest;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpSession;
+
+/**
+ * To inject a transaction coming from the user connected working db.
+ * <p/>
+ * If user has no working db selected, then do nothing.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 1.1
+ */
+public class EchoBaseUserDbTransactionFilter extends TypedTopiaTransactionFilter<EchoBaseUserPersistenceContext> {
+
+ /** Logger. */
+ private static final Log log =
+ LogFactory.getLog(EchoBaseUserDbTransactionFilter.class);
+
+ public static final String USER_TRANSACTION = "userTransaction";
+
+ public EchoBaseUserDbTransactionFilter() {
+ super(EchoBaseUserPersistenceContext.class);
+ }
+
+ public static EchoBaseUserPersistenceContext getPersistenceContext(ActionContext context) {
+ HttpServletRequest request = (HttpServletRequest)
+ context.get(StrutsStatics.HTTP_REQUEST);
+ return (EchoBaseUserPersistenceContext) request.getAttribute(USER_TRANSACTION);
+ }
+
+ @Override
+ public void init(FilterConfig filterConfig) throws ServletException {
+ super.init(filterConfig);
+ setRequestAttributeName(USER_TRANSACTION);
+ }
+
+ @Override
+ public EchoBaseUserPersistenceContext beginTransaction(ServletRequest request) {
+
+ HttpSession session = ((HttpServletRequest) request).getSession();
+ Preconditions.checkNotNull(session);
+ EchoBaseSession userSession = EchoBaseSession.getEchoBaseSession(session);
+ Preconditions.checkNotNull(userSession);
+ EchoBaseUserTopiaApplicationContext rootContext = userSession.getUserDbApplicationContext();
+ Preconditions.checkNotNull(rootContext);
+ EchoBaseUserPersistenceContext transaction = rootContext.newPersistenceContext();
+ if (log.isDebugEnabled()) {
+ log.debug("Starts a new working db transaction " + transaction);
+ }
+ return transaction;
+ }
+
+}
\ No newline at end of file
Deleted: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseWorkingDbTransactionFilter.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseWorkingDbTransactionFilter.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseWorkingDbTransactionFilter.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -1,84 +0,0 @@
-package fr.ifremer.echobase.ui;
-
-/*
- * #%L
- * EchoBase :: UI
- * $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.base.Preconditions;
-import com.opensymphony.xwork2.ActionContext;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.struts2.StrutsStatics;
-import org.nuiton.topia.TopiaContext;
-import org.nuiton.web.filter.TopiaTransactionFilter;
-
-import javax.servlet.FilterConfig;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpSession;
-
-/**
- * To inject a transaction coming from the user connected working db.
- * <p/>
- * If user has no working db selected, then do nothing.
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 1.1
- */
-public class EchoBaseWorkingDbTransactionFilter extends TopiaTransactionFilter {
-
- /** Logger. */
- private static final Log log =
- LogFactory.getLog(EchoBaseWorkingDbTransactionFilter.class);
-
- public static final String USER_TRANSACTION = "userTransaction";
-
- public static TopiaContext getTransaction(ActionContext context) {
- HttpServletRequest request = (HttpServletRequest)
- context.get(StrutsStatics.HTTP_REQUEST);
- return (TopiaContext) request.getAttribute(USER_TRANSACTION);
- }
-
- @Override
- public void init(FilterConfig filterConfig) throws ServletException {
- super.init(filterConfig);
- setRequestAttributeName(USER_TRANSACTION);
- }
-
- @Override
- public TopiaContext beginTransaction(ServletRequest request) {
-
- HttpSession session = ((HttpServletRequest) request).getSession();
- Preconditions.checkNotNull(session);
- EchoBaseSession userSession = EchoBaseSession.getEchoBaseSession(session);
- Preconditions.checkNotNull(userSession);
- TopiaContext rootContext = userSession.getWorkingDbRootContext();
- Preconditions.checkNotNull(rootContext);
- TopiaContext transaction = rootContext.beginTransaction();
- if (log.isDebugEnabled()) {
- log.debug("Starts a new working db transaction " + transaction);
- }
- return transaction;
- }
-
-}
\ No newline at end of file
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/AbstractConfigureAction.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/AbstractConfigureAction.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/AbstractConfigureAction.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -26,10 +26,11 @@
import com.opensymphony.xwork2.interceptor.annotations.InputConfig;
import fr.ifremer.echobase.services.AbstractEchobaseActionConfiguration;
import fr.ifremer.echobase.services.service.DecoratorService;
-import fr.ifremer.echobase.services.service.WorkingDbPersistenceService;
+import fr.ifremer.echobase.services.service.UserDbPersistenceService;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import javax.inject.Inject;
import java.io.IOException;
/**
@@ -105,15 +106,9 @@
//-- Injected objects //
//------------------------------------------------------------------------//
- protected transient WorkingDbPersistenceService workingDbPersistenceService;
+ @Inject
+ protected transient UserDbPersistenceService userDbPersistenceService;
- public void setWorkingDbPersistenceService(WorkingDbPersistenceService workingDbPersistenceService) {
- this.workingDbPersistenceService = workingDbPersistenceService;
- }
-
+ @Inject
protected transient DecoratorService decoratorService;
-
- public void setDecoratorService(DecoratorService decoratorService) {
- this.decoratorService = decoratorService;
- }
}
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/AbstractWaitAndExecAction.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/AbstractWaitAndExecAction.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/AbstractWaitAndExecAction.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -25,12 +25,12 @@
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.Preparable;
-import fr.ifremer.echobase.entities.TopiaEchoBasePersistenceContext;
+import fr.ifremer.echobase.entities.EchoBaseUserPersistenceContext;
import fr.ifremer.echobase.persistence.EchoBaseEntityHelper;
import fr.ifremer.echobase.services.AbstractEchobaseActionConfiguration;
import fr.ifremer.echobase.services.EchoBaseService;
import org.apache.commons.lang3.exception.ExceptionUtils;
-import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.persistence.internal.AbstractTopiaPersistenceContext;
import java.io.IOException;
@@ -151,11 +151,11 @@
// we must use a standalone transaction since it will pass through
// in more than one request
- TopiaContext tx = EchoBaseEntityHelper.newTransactionFromRootContext(
- getServiceContext().getEchoBasePersistenceContext().getContext());
+ EchoBaseUserPersistenceContext tx =
+ getServiceContext().getEchoBaseUserApplicationContext().newPersistenceContext();
try {
- getServiceContext().setEchoBasePersistenceContext(new TopiaEchoBasePersistenceContext(tx));
+ getServiceContext().setEchoBaseUserPersistenceContext(tx);
S service = getServiceContext().newService(serviceType);
@@ -167,7 +167,7 @@
model.endAction();
- EchoBaseEntityHelper.closeConnection(tx);
+ EchoBaseEntityHelper.closeConnection((AbstractTopiaPersistenceContext) tx);
}
return SUCCESS;
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/EchoBaseActionSupport.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/EchoBaseActionSupport.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/EchoBaseActionSupport.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -31,6 +31,7 @@
import org.apache.commons.lang3.StringUtils;
import org.nuiton.web.struts2.BaseAction;
+import javax.inject.Inject;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
@@ -104,9 +105,11 @@
//------------------------------------------------------------------------//
/** EchoBase Application context. */
+ @Inject
private transient EchoBaseApplicationContext applicationContext;
/** EchoBase User session. */
+ @Inject
private transient EchoBaseSession echoBaseSession;
/**
@@ -114,19 +117,20 @@
*
* @since 1.0
*/
+ @Inject
private transient EchoBaseServiceContext serviceContext;
- public void setApplicationContext(EchoBaseApplicationContext applicationContext) {
- this.applicationContext = applicationContext;
- }
+// public void setApplicationContext(EchoBaseApplicationContext applicationContext) {
+// this.applicationContext = applicationContext;
+// }
- public void setEchoBaseSession(EchoBaseSession echoBaseSession) {
- this.echoBaseSession = echoBaseSession;
- }
+// public void setEchoBaseSession(EchoBaseSession echoBaseSession) {
+// this.echoBaseSession = echoBaseSession;
+// }
- public void setServiceContext(EchoBaseServiceContext serviceContext) {
- this.serviceContext = serviceContext;
- }
+// public void setServiceContext(EchoBaseServiceContext serviceContext) {
+// this.serviceContext = serviceContext;
+// }
public EchoBaseApplicationContext getEchoBaseApplicationContext() {
Preconditions.checkNotNull("No applicationContext is your action " + this);
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/AbstractLoadPage.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/AbstractLoadPage.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/AbstractLoadPage.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -24,13 +24,14 @@
package fr.ifremer.echobase.ui.actions.dbeditor;
import com.google.common.collect.Maps;
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
+import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum;
import fr.ifremer.echobase.services.service.DbEditorService;
import fr.ifremer.echobase.ui.actions.EchoBaseActionSupport;
import org.nuiton.topia.persistence.metadata.ColumnMeta;
import org.nuiton.topia.persistence.metadata.DbMeta;
import org.nuiton.topia.persistence.metadata.TableMeta;
+import javax.inject.Inject;
import java.util.List;
import java.util.Map;
@@ -46,13 +47,13 @@
private static final long serialVersionUID = 1L;
/** Type of entity to load. */
- protected EchoBaseEntityEnum entityType;
+ protected EchoBaseUserEntityEnum entityType;
- public void setEntityType(EchoBaseEntityEnum entityType) {
+ public void setEntityType(EchoBaseUserEntityEnum entityType) {
this.entityType = entityType;
}
- public EchoBaseEntityEnum getEntityType() {
+ public EchoBaseUserEntityEnum getEntityType() {
return entityType;
}
@@ -64,7 +65,7 @@
}
/** Metas of the table. */
- protected TableMeta<EchoBaseEntityEnum> tableMeta;
+ protected TableMeta<EchoBaseUserEntityEnum> tableMeta;
public List<ColumnMeta> getColumnMetas() {
return tableMeta.getColumns();
@@ -72,8 +73,8 @@
public void load() throws Exception {
entityTypes = Maps.newTreeMap();
- DbMeta<EchoBaseEntityEnum> dbMeta = getEchoBaseApplicationContext().getDbMeta();
- for (TableMeta<EchoBaseEntityEnum> meta : dbMeta) {
+ DbMeta<EchoBaseUserEntityEnum> dbMeta = getEchoBaseApplicationContext().getDbMeta();
+ for (TableMeta<EchoBaseUserEntityEnum> meta : dbMeta) {
// keep only editable metas
if (dbMeta.isEditable(meta)) {
@@ -96,10 +97,6 @@
//-- Injected objects //
//------------------------------------------------------------------------//
+ @Inject
protected transient DbEditorService dbEditorService;
-
- public void setDbEditorService(DbEditorService dbEditorService) {
- this.dbEditorService = dbEditorService;
- }
-
}
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/ExportTable.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/ExportTable.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/ExportTable.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -23,7 +23,7 @@
*/
package fr.ifremer.echobase.ui.actions.dbeditor;
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
+import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum;
import fr.ifremer.echobase.services.service.DbEditorService;
import fr.ifremer.echobase.services.service.exportdb.ExportService;
import fr.ifremer.echobase.ui.actions.EchoBaseActionSupport;
@@ -31,6 +31,7 @@
import org.apache.commons.logging.LogFactory;
import org.nuiton.topia.persistence.metadata.TableMeta;
+import javax.inject.Inject;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
@@ -48,9 +49,9 @@
private static final Log log = LogFactory.getLog(ImportTable.class);
/** Type of entity to export. */
- protected EchoBaseEntityEnum entityType;
+ protected EchoBaseUserEntityEnum entityType;
- public void setEntityType(EchoBaseEntityEnum entityType) {
+ public void setEntityType(EchoBaseUserEntityEnum entityType) {
this.entityType = entityType;
}
@@ -96,7 +97,7 @@
@Override
public String execute() throws Exception {
- TableMeta<EchoBaseEntityEnum> table = dbEditorService.getTableMeta(entityType);
+ TableMeta<EchoBaseUserEntityEnum> table = dbEditorService.getTableMeta(entityType);
String content = exportService.exportData(table, exportAsSeen);
if (log.isDebugEnabled()) {
@@ -113,15 +114,9 @@
//-- Injected objects //
//------------------------------------------------------------------------//
+ @Inject
protected transient DbEditorService dbEditorService;
- public void setDbEditorService(DbEditorService dbEditorService) {
- this.dbEditorService = dbEditorService;
- }
-
+ @Inject
protected transient ExportService exportService;
-
- public void setExportService(ExportService exportService) {
- this.exportService = exportService;
- }
}
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/GetEntities.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/GetEntities.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/GetEntities.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -28,13 +28,13 @@
import com.google.common.collect.Multimap;
import com.google.common.collect.Multimaps;
import fr.ifremer.echobase.EchoBaseFunctions;
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
+import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum;
import fr.ifremer.echobase.entities.ImportLog;
import fr.ifremer.echobase.entities.ImportType;
import fr.ifremer.echobase.entities.data.Voyage;
import fr.ifremer.echobase.services.service.DbEditorService;
import fr.ifremer.echobase.services.service.DecoratorService;
-import fr.ifremer.echobase.services.service.WorkingDbPersistenceService;
+import fr.ifremer.echobase.services.service.UserDbPersistenceService;
import fr.ifremer.echobase.ui.actions.AbstractJSONPaginedAction;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log;
@@ -44,6 +44,7 @@
import org.nuiton.topia.persistence.pager.FilterRuleGroupOperator;
import org.nuiton.topia.persistence.pager.FilterRuleOperator;
+import javax.inject.Inject;
import java.util.Arrays;
import java.util.Collection;
import java.util.Map;
@@ -68,9 +69,9 @@
}
/** Type of entity to load. */
- protected EchoBaseEntityEnum entityType;
+ protected EchoBaseUserEntityEnum entityType;
- public void setEntityType(EchoBaseEntityEnum entityType) {
+ public void setEntityType(EchoBaseUserEntityEnum entityType) {
this.entityType = entityType;
}
@@ -106,13 +107,13 @@
public String entityModificationLogs() throws Exception {
- entityType = EchoBaseEntityEnum.EntityModificationLog;
+ entityType = EchoBaseUserEntityEnum.EntityModificationLog;
execute();
return SUCCESS;
}
public String entityImportLogs() throws Exception {
- entityType = EchoBaseEntityEnum.ImportLog;
+ entityType = EchoBaseUserEntityEnum.ImportLog;
if (StringUtils.isNotBlank(voyageId)) {
@@ -132,14 +133,14 @@
String importTypeToString = importTypes.get(importType);
row.put(ImportLog.PROPERTY_IMPORT_TYPE, importTypeToString);
- Voyage voyage = workingDbPersistenceService.getVoyage((String) row.get(ImportLog.PROPERTY_VOYAGE_ID));
+ Voyage voyage = userDbPersistenceService.getVoyage((String) row.get(ImportLog.PROPERTY_VOYAGE_ID));
decoratorService.decorateForeignKey(row, ImportLog.PROPERTY_VOYAGE_ID, voyage, null);
}
return SUCCESS;
}
public String dashboardImportLogs() throws Exception {
- entityType = EchoBaseEntityEnum.Voyage;
+ entityType = EchoBaseUserEntityEnum.Voyage;
execute();
@@ -147,7 +148,7 @@
getLocale(), ImportLog.class, DecoratorService.DATE_ONLY);
Multimap<String, ImportLog> importLogsByVoyage = Multimaps.index(
- workingDbPersistenceService.getImportLogs(),
+ userDbPersistenceService.getImportLogs(),
EchoBaseFunctions.IMPORT_LOG_VOYAGE_ID);
for (Map row : datas) {
@@ -156,7 +157,7 @@
Collection<ImportLog> importLogs = importLogsByVoyage.get(id);
- Voyage voyage = workingDbPersistenceService.getVoyage(id);
+ Voyage voyage = userDbPersistenceService.getVoyage(id);
decoratorService.decorateForeignKey(row, "id", voyage, null);
@@ -188,21 +189,10 @@
//-- Injected objects //
//------------------------------------------------------------------------//
- protected transient WorkingDbPersistenceService workingDbPersistenceService;
-
- public void setWorkingDbPersistenceService(WorkingDbPersistenceService workingDbPersistenceService) {
- this.workingDbPersistenceService = workingDbPersistenceService;
- }
-
+ @Inject
+ protected transient UserDbPersistenceService userDbPersistenceService;
+ @Inject
protected transient DbEditorService dbEditorService;
-
- public void setDbEditorService(DbEditorService dbEditorService) {
- this.dbEditorService = dbEditorService;
- }
-
+ @Inject
protected transient DecoratorService decoratorService;
-
- public void setDecoratorService(DecoratorService decoratorService) {
- this.decoratorService = decoratorService;
- }
}
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/GetEntity.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/GetEntity.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/GetEntity.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -24,12 +24,13 @@
package fr.ifremer.echobase.ui.actions.dbeditor;
import com.google.common.collect.Maps;
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
+import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum;
import fr.ifremer.echobase.services.service.DbEditorService;
import fr.ifremer.echobase.ui.actions.EchoBaseActionSupport;
import org.nuiton.topia.persistence.metadata.ColumnMeta;
import org.nuiton.topia.persistence.metadata.TableMeta;
+import javax.inject.Inject;
import java.util.List;
import java.util.Map;
@@ -44,9 +45,9 @@
private static final long serialVersionUID = 1L;
/** Type of entity to load. */
- protected EchoBaseEntityEnum entityType;
+ protected EchoBaseUserEntityEnum entityType;
- public void setEntityType(EchoBaseEntityEnum entityType) {
+ public void setEntityType(EchoBaseUserEntityEnum entityType) {
this.entityType = entityType;
}
@@ -74,7 +75,7 @@
@Override
public String execute() throws Exception {
- TableMeta<EchoBaseEntityEnum> table =
+ TableMeta<EchoBaseUserEntityEnum> table =
dbEditorService.getTableMeta(entityType);
datas = dbEditorService.getData(table, id);
@@ -96,10 +97,6 @@
//------------------------------------------------------------------------//
//-- Injected objects //
//------------------------------------------------------------------------//
-
+ @Inject
protected transient DbEditorService dbEditorService;
-
- public void setDbEditorService(DbEditorService dbEditorService) {
- this.dbEditorService = dbEditorService;
- }
}
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/GetForeignEntities.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/GetForeignEntities.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/GetForeignEntities.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -23,10 +23,11 @@
*/
package fr.ifremer.echobase.ui.actions.dbeditor;
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
-import fr.ifremer.echobase.services.service.WorkingDbPersistenceService;
+import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum;
+import fr.ifremer.echobase.services.service.UserDbPersistenceService;
import fr.ifremer.echobase.ui.actions.EchoBaseActionSupport;
+import javax.inject.Inject;
import java.util.Map;
/**
@@ -40,9 +41,9 @@
private static final long serialVersionUID = 1L;
/** Type of entity to load. */
- protected EchoBaseEntityEnum entityType;
+ protected EchoBaseUserEntityEnum entityType;
- public void setEntityType(EchoBaseEntityEnum entityType) {
+ public void setEntityType(EchoBaseUserEntityEnum entityType) {
this.entityType = entityType;
}
@@ -56,7 +57,7 @@
@Override
public String execute() throws Exception {
- entities = workingDbPersistenceService.loadSortAndDecorate(entityType.getContract());
+ entities = userDbPersistenceService.loadSortAndDecorate(entityType.getContract());
return SUCCESS;
}
@@ -65,9 +66,6 @@
//-- Injected objects //
//------------------------------------------------------------------------//
- protected transient WorkingDbPersistenceService workingDbPersistenceService;
-
- public void setWorkingDbPersistenceService(WorkingDbPersistenceService workingDbPersistenceService) {
- this.workingDbPersistenceService = workingDbPersistenceService;
- }
+ @Inject
+ protected transient UserDbPersistenceService userDbPersistenceService;
}
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 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/ImportTable.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -24,13 +24,14 @@
package fr.ifremer.echobase.ui.actions.dbeditor;
import com.opensymphony.xwork2.interceptor.annotations.InputConfig;
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
+import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum;
import fr.ifremer.echobase.services.service.importdb.ImportService;
-import org.apache.commons.lang3.exception.ExceptionUtils;
import org.apache.commons.logging.Log;
+import org.apache.commons.lang3.exception.ExceptionUtils;
import org.apache.commons.logging.LogFactory;
-import org.nuiton.topia.persistence.csv.in.CsvImportResult;
+import org.nuiton.topia.service.csv.in.CsvImportResult;
+import javax.inject.Inject;
import java.io.File;
/**
@@ -62,11 +63,11 @@
protected String importFileFileName;
/** CSV import result */
- private CsvImportResult<EchoBaseEntityEnum> result;
+ private CsvImportResult<EchoBaseUserEntityEnum> result;
private Exception error;
- public CsvImportResult<EchoBaseEntityEnum> getResult() {
+ public CsvImportResult<EchoBaseUserEntityEnum> getResult() {
return result;
}
@@ -156,10 +157,6 @@
//-- Injected objects //
//------------------------------------------------------------------------//
+ @Inject
protected transient ImportService importService;
-
- public void setImportService(ImportService importService) {
- this.importService = importService;
- }
-
}
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/SaveEntity.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/SaveEntity.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/SaveEntity.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -24,13 +24,14 @@
package fr.ifremer.echobase.ui.actions.dbeditor;
import com.google.common.collect.Maps;
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
+import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum;
import fr.ifremer.echobase.services.service.DbEditorService;
import fr.ifremer.echobase.ui.actions.EchoBaseActionSupport;
import org.apache.struts2.interceptor.ParameterAware;
import org.nuiton.topia.persistence.TopiaEntity;
import org.nuiton.topia.persistence.metadata.TableMeta;
+import javax.inject.Inject;
import java.util.List;
import java.util.Map;
@@ -45,13 +46,13 @@
private static final long serialVersionUID = 1L;
/** Type of entity to save. */
- protected EchoBaseEntityEnum entityType;
+ protected EchoBaseUserEntityEnum entityType;
- public void setEntityType(EchoBaseEntityEnum entityType) {
+ public void setEntityType(EchoBaseUserEntityEnum entityType) {
this.entityType = entityType;
}
- public EchoBaseEntityEnum getEntityType() {
+ public EchoBaseUserEntityEnum getEntityType() {
return entityType;
}
@@ -65,7 +66,7 @@
@Override
public String execute() throws Exception {
- TableMeta<EchoBaseEntityEnum> tableMeta =
+ TableMeta<EchoBaseUserEntityEnum> tableMeta =
dbEditorService.getTableMeta(entityType);
Map<String, String> properties = Maps.newHashMap();
List<String> columnNames = tableMeta.getColumnNames();
@@ -105,10 +106,7 @@
this.parameters = parameters;
}
+ @Inject
protected transient DbEditorService dbEditorService;
-
- public void setDbEditorService(DbEditorService dbEditorService) {
- this.dbEditorService = dbEditorService;
- }
}
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/embeddedApplication/Configure.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/embeddedApplication/Configure.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/embeddedApplication/Configure.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -85,7 +85,7 @@
}
model.setWarLocation(warLocation);
- voyages = workingDbPersistenceService.loadSortAndDecorate(Voyage.class);
+ voyages = userDbPersistenceService.loadSortAndDecorate(Voyage.class);
if (MapUtils.isEmpty(voyages)) {
addFlashMessage(_("echobase.info.no.voyagee.found"));
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportDb/Configure.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportDb/Configure.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportDb/Configure.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -92,7 +92,7 @@
model.setExportDbMode(ExportDbMode.ALL);
}
- voyages = workingDbPersistenceService.loadSortAndDecorate(Voyage.class);
+ voyages = userDbPersistenceService.loadSortAndDecorate(Voyage.class);
}
@Override
@@ -109,7 +109,7 @@
}
if (model.getExportDbMode() == ExportDbMode.ALL) {
- voyages = workingDbPersistenceService.loadSortAndDecorate(Voyage.class);
+ voyages = userDbPersistenceService.loadSortAndDecorate(Voyage.class);
Set<String> ids = voyages.keySet();
model.setVoyageIds(ids.toArray(new String[ids.size()]));
}
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportQuery/AbstractEditExportQuery.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportQuery/AbstractEditExportQuery.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportQuery/AbstractEditExportQuery.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -25,13 +25,13 @@
import fr.ifremer.echobase.entities.EchoBaseUser;
import fr.ifremer.echobase.entities.ExportQuery;
-import fr.ifremer.echobase.services.service.InternalDbPersistenceService;
import fr.ifremer.echobase.services.service.exportquery.ExportQueryService;
import fr.ifremer.echobase.ui.actions.EchoBaseActionSupport;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import javax.inject.Inject;
import java.util.Map;
/**
@@ -87,7 +87,7 @@
public String input() throws Exception {
// come back here when validation failed
- queries = internalDbPersistenceService.loadSortAndDecorate(ExportQuery.class);
+ queries = exportQueryService.loadSortAndDecorate(ExportQuery.class);
EchoBaseUser echoBaseUser = getEchoBaseSession().getUser();
@@ -141,16 +141,6 @@
//-- Injected objects //
//------------------------------------------------------------------------//
+ @Inject
protected transient ExportQueryService exportQueryService;
-
- public void setExportQueryService(ExportQueryService exportQueryService) {
- this.exportQueryService = exportQueryService;
- }
-
- protected transient InternalDbPersistenceService internalDbPersistenceService;
-
- public void setInternalDbPersistenceService(InternalDbPersistenceService internalDbPersistenceService) {
- this.internalDbPersistenceService = internalDbPersistenceService;
- }
-
}
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportQuery/ConfirmDeleteExportQuery.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportQuery/ConfirmDeleteExportQuery.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportQuery/ConfirmDeleteExportQuery.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -29,6 +29,8 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import javax.inject.Inject;
+
/**
* To confirm delete an export query.
* <p/>
@@ -73,10 +75,6 @@
//-- Injected objects //
//------------------------------------------------------------------------//
+ @Inject
protected transient ExportQueryService exportQueryService;
-
- public void setExportQueryService(ExportQueryService exportQueryService) {
- this.exportQueryService = exportQueryService;
- }
-
}
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportQuery/CreateNewExportQuery.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportQuery/CreateNewExportQuery.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportQuery/CreateNewExportQuery.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -24,13 +24,13 @@
package fr.ifremer.echobase.ui.actions.exportQuery;
import fr.ifremer.echobase.entities.ExportQuery;
-import fr.ifremer.echobase.services.service.InternalDbPersistenceService;
import fr.ifremer.echobase.services.service.exportquery.ExportQueryNotFoundException;
import fr.ifremer.echobase.services.service.exportquery.ExportQueryService;
import fr.ifremer.echobase.ui.actions.EchoBaseActionSupport;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import javax.inject.Inject;
import java.util.Map;
/**
@@ -82,7 +82,7 @@
log.info("Will create a new query");
}
- queries = internalDbPersistenceService.loadSortAndDecorate(ExportQuery.class);
+ queries = exportQueryService.loadSortAndDecorate(ExportQuery.class);
// new query in progress
addFlashMessage(_("echobase.info.new.sqlQuery.inprogress"));
@@ -94,15 +94,6 @@
//-- Injected objects //
//------------------------------------------------------------------------//
+ @Inject
protected transient ExportQueryService exportQueryService;
-
- public void setExportQueryService(ExportQueryService exportQueryService) {
- this.exportQueryService = exportQueryService;
- }
-
- protected transient InternalDbPersistenceService internalDbPersistenceService;
-
- public void setInternalDbPersistenceService(InternalDbPersistenceService internalDbPersistenceService) {
- this.internalDbPersistenceService = internalDbPersistenceService;
- }
}
\ No newline at end of file
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportQuery/DeleteExportQuery.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportQuery/DeleteExportQuery.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportQuery/DeleteExportQuery.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -29,6 +29,8 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import javax.inject.Inject;
+
/**
* To delete an export query.
* <p/>
@@ -71,10 +73,6 @@
//-- Injected objects //
//------------------------------------------------------------------------//
+ @Inject
protected transient ExportQueryService exportQueryService;
-
- public void setExportQueryService(ExportQueryService exportQueryService) {
- this.exportQueryService = exportQueryService;
- }
-
}
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportQuery/DownloadExportQueryResult.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportQuery/DownloadExportQueryResult.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportQuery/DownloadExportQueryResult.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -27,6 +27,7 @@
import fr.ifremer.echobase.services.service.exportquery.ExportQueryService;
import fr.ifremer.echobase.ui.actions.EchoBaseActionSupport;
+import javax.inject.Inject;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
@@ -99,9 +100,6 @@
//-- Injected objects //
//------------------------------------------------------------------------//
+ @Inject
protected transient ExportQueryService exportQueryService;
-
- public void setExportQueryService(ExportQueryService exportQueryService) {
- this.exportQueryService = exportQueryService;
- }
}
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportQuery/EditExportQuery.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportQuery/EditExportQuery.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportQuery/EditExportQuery.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -25,7 +25,6 @@
import fr.ifremer.echobase.entities.EchoBaseUser;
import fr.ifremer.echobase.entities.ExportQuery;
-import fr.ifremer.echobase.services.service.InternalDbPersistenceService;
import fr.ifremer.echobase.services.service.exportquery.ExportQueryNotFoundException;
import fr.ifremer.echobase.services.service.exportquery.ExportQueryService;
import fr.ifremer.echobase.ui.actions.EchoBaseActionSupport;
@@ -33,6 +32,7 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import javax.inject.Inject;
import java.util.Map;
/**
@@ -82,7 +82,7 @@
@Override
public String execute() throws ExportQueryNotFoundException {
- queries = internalDbPersistenceService.loadSortAndDecorate(ExportQuery.class);
+ queries = exportQueryService.loadSortAndDecorate(ExportQuery.class);
String selectedQueryId = getQuery().getTopiaId();
@@ -131,15 +131,6 @@
//-- Injected objects //
//------------------------------------------------------------------------//
+ @Inject
protected transient ExportQueryService exportQueryService;
-
- public void setExportQueryService(ExportQueryService exportQueryService) {
- this.exportQueryService = exportQueryService;
- }
-
- protected transient InternalDbPersistenceService internalDbPersistenceService;
-
- public void setInternalDbPersistenceService(InternalDbPersistenceService internalDbPersistenceService) {
- this.internalDbPersistenceService = internalDbPersistenceService;
- }
}
\ No newline at end of file
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportQuery/ExportQueryResult.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportQuery/ExportQueryResult.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportQuery/ExportQueryResult.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -30,6 +30,8 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import javax.inject.Inject;
+
/**
* Load export sql result fragment page.
*
@@ -100,9 +102,6 @@
//-- Injected objects //
//------------------------------------------------------------------------//
+ @Inject
protected transient ExportQueryService exportQueryService;
-
- public void setExportQueryService(ExportQueryService exportQueryService) {
- this.exportQueryService = exportQueryService;
- }
}
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportQuery/GetExportQueryResult.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportQuery/GetExportQueryResult.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportQuery/GetExportQueryResult.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -27,6 +27,7 @@
import fr.ifremer.echobase.services.service.exportquery.ExportQueryService;
import fr.ifremer.echobase.ui.actions.AbstractJSONPaginedAction;
+import javax.inject.Inject;
import java.util.Map;
/**
@@ -69,9 +70,6 @@
//-- Injected objects //
//------------------------------------------------------------------------//
+ @Inject
protected transient ExportQueryService exportQueryService;
-
- public void setExportQueryService(ExportQueryService exportQueryService) {
- this.exportQueryService = exportQueryService;
- }
}
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportQuery/NewLibreOfficeQuery.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportQuery/NewLibreOfficeQuery.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportQuery/NewLibreOfficeQuery.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -28,6 +28,8 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import javax.inject.Inject;
+
/**
* To deal with a new libre office request.
*
@@ -80,10 +82,6 @@
//-- Injected objects //
//------------------------------------------------------------------------//
+ @Inject
protected transient ExportQueryService exportQueryService;
-
- public void setExportQueryService(ExportQueryService exportQueryService) {
- this.exportQueryService = exportQueryService;
- }
-
}
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportQuery/ShowExportQuery.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportQuery/ShowExportQuery.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportQuery/ShowExportQuery.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -25,12 +25,13 @@
import fr.ifremer.echobase.entities.ExportQuery;
import fr.ifremer.echobase.entities.ExportQueryImpl;
-import fr.ifremer.echobase.services.service.InternalDbPersistenceService;
import fr.ifremer.echobase.services.service.exportquery.ExportQueryNotFoundException;
+import fr.ifremer.echobase.services.service.exportquery.ExportQueryService;
import fr.ifremer.echobase.ui.actions.EchoBaseActionSupport;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import javax.inject.Inject;
import java.util.Map;
/**
@@ -82,7 +83,7 @@
log.info("Will show all queries");
}
- queries = internalDbPersistenceService.loadSortAndDecorate(ExportQuery.class);
+ queries = exportQueryService.loadSortAndDecorate(ExportQuery.class);
if (queries.isEmpty()) {
@@ -96,15 +97,6 @@
//-- Injected objects //
//------------------------------------------------------------------------//
-// protected transient ExportQueryService exportQueryService;
-//
-// public void setExportQueryService(ExportQueryService exportQueryService) {
-// this.exportQueryService = exportQueryService;
-// }
-
- protected transient InternalDbPersistenceService internalDbPersistenceService;
-
- public void setInternalDbPersistenceService(InternalDbPersistenceService internalDbPersistenceService) {
- this.internalDbPersistenceService = internalDbPersistenceService;
- }
+ @Inject
+ protected transient ExportQueryService exportQueryService;
}
\ No newline at end of file
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/AbstractConfigureImport.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/AbstractConfigureImport.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/AbstractConfigureImport.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -71,6 +71,4 @@
}
}
}
-
-
}
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureAcousticImport.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureAcousticImport.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureAcousticImport.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -56,7 +56,7 @@
@Override
protected void prepareInputAction(AcousticImportConfiguration model) {
- voyages = workingDbPersistenceService.loadSortAndDecorate(Voyage.class);
+ voyages = userDbPersistenceService.loadSortAndDecorate(Voyage.class);
cellPositionReferences = decoratorService.decorateEnums(CellPositionReference.values());
if (model.getCellPositionReference() == null) {
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureCatchesImport.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureCatchesImport.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureCatchesImport.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -53,7 +53,7 @@
@Override
protected void prepareInputAction(CatchesImportConfiguration model) {
- voyages = workingDbPersistenceService.loadSortAndDecorate(Voyage.class);
+ voyages = userDbPersistenceService.loadSortAndDecorate(Voyage.class);
}
public Map<String, String> getVoyages() {
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureCommonImport.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureCommonImport.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureCommonImport.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -66,9 +66,9 @@
@Override
protected void prepareInputAction(CommonImportConfiguration model) {
- missions = workingDbPersistenceService.loadSortAndDecorate(Mission.class);
- voyages = workingDbPersistenceService.loadSortAndDecorate(Voyage.class);
- areaOfOperations = workingDbPersistenceService.loadSortAndDecorate(AreaOfOperation.class);
+ missions = userDbPersistenceService.loadSortAndDecorate(Mission.class);
+ voyages = userDbPersistenceService.loadSortAndDecorate(Voyage.class);
+ areaOfOperations = userDbPersistenceService.loadSortAndDecorate(AreaOfOperation.class);
importTypes = decoratorService.decorateEnums(ImportType.getCommonImportType());
if (model.getImportType() == null) {
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureOperationImport.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureOperationImport.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureOperationImport.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -53,7 +53,7 @@
@Override
protected void prepareInputAction(OperationImportConfiguration model) {
- voyages = workingDbPersistenceService.loadSortAndDecorate(Voyage.class);
+ voyages = userDbPersistenceService.loadSortAndDecorate(Voyage.class);
}
public Map<String, String> getVoyages() {
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureResultsImport.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureResultsImport.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureResultsImport.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -64,8 +64,8 @@
@Override
protected void prepareInputAction(ResultsImportConfiguration model) {
- voyages = workingDbPersistenceService.loadSortAndDecorate(Voyage.class);
- vessels = workingDbPersistenceService.loadSortAndDecorate(Vessel.class);
+ voyages = userDbPersistenceService.loadSortAndDecorate(Voyage.class);
+ vessels = userDbPersistenceService.loadSortAndDecorate(Vessel.class);
importTypes = decoratorService.decorateEnums(ImportType.getResultImportType());
if (model.getImportType() == null) {
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/CreateMission.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/CreateMission.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/CreateMission.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -32,6 +32,8 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import javax.inject.Inject;
+
/**
* To create a new mission
*
@@ -82,9 +84,6 @@
//-- Injected objects //
//------------------------------------------------------------------------//
+ @Inject
protected transient CommonImportService commonImportService;
-
- public void setCommonImportService(CommonImportService commonImportService) {
- this.commonImportService = commonImportService;
- }
}
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/GetDataProcessingsForVoyage.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/GetDataProcessingsForVoyage.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/GetDataProcessingsForVoyage.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -26,11 +26,12 @@
import com.google.common.base.Preconditions;
import com.google.common.collect.Maps;
import fr.ifremer.echobase.entities.data.Voyage;
-import fr.ifremer.echobase.services.service.WorkingDbPersistenceService;
+import fr.ifremer.echobase.services.service.UserDbPersistenceService;
import fr.ifremer.echobase.services.service.importdata.ResultsImportService;
import fr.ifremer.echobase.ui.actions.EchoBaseActionSupport;
import org.apache.commons.lang3.StringUtils;
+import javax.inject.Inject;
import java.util.Map;
/**
@@ -64,7 +65,7 @@
} else {
- Voyage voyage = workingDbPersistenceService.getVoyage(voyageId);
+ Voyage voyage = userDbPersistenceService.getVoyage(voyageId);
Preconditions.checkNotNull(
voyage,
@@ -80,15 +81,8 @@
//-- Injected objects //
//------------------------------------------------------------------------//
- protected transient WorkingDbPersistenceService workingDbPersistenceService;
-
- public void setWorkingDbPersistenceService(WorkingDbPersistenceService workingDbPersistenceService) {
- this.workingDbPersistenceService = workingDbPersistenceService;
- }
-
+ @Inject
+ protected transient UserDbPersistenceService userDbPersistenceService;
+ @Inject
protected transient ResultsImportService resultsImportService;
-
- public void setResultsImportService(ResultsImportService resultsImportService) {
- this.resultsImportService = resultsImportService;
- }
}
\ No newline at end of file
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/GetVesselsForVoyage.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/GetVesselsForVoyage.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/GetVesselsForVoyage.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -28,11 +28,12 @@
import fr.ifremer.echobase.entities.data.Voyage;
import fr.ifremer.echobase.entities.references.Vessel;
import fr.ifremer.echobase.services.service.DecoratorService;
-import fr.ifremer.echobase.services.service.WorkingDbPersistenceService;
+import fr.ifremer.echobase.services.service.UserDbPersistenceService;
import fr.ifremer.echobase.ui.actions.EchoBaseActionSupport;
import org.apache.commons.lang3.StringUtils;
import org.nuiton.decorator.Decorator;
+import javax.inject.Inject;
import java.util.Map;
import java.util.Set;
@@ -66,7 +67,7 @@
if (StringUtils.isNotEmpty(voyageId)) {
- Voyage voyage = workingDbPersistenceService.getVoyage(voyageId);
+ Voyage voyage = userDbPersistenceService.getVoyage(voyageId);
Preconditions.checkNotNull(voyage,
"Could not find voyage with id " + voyageId);
@@ -94,15 +95,9 @@
//-- Injected objects //
//------------------------------------------------------------------------//
- protected transient WorkingDbPersistenceService workingDbPersistenceService;
+ @Inject
+ protected transient UserDbPersistenceService userDbPersistenceService;
- public void setWorkingDbPersistenceService(WorkingDbPersistenceService workingDbPersistenceService) {
- this.workingDbPersistenceService = workingDbPersistenceService;
- }
-
+ @Inject
protected transient DecoratorService decoratorService;
-
- public void setDecoratorService(DecoratorService decoratorService) {
- this.decoratorService = decoratorService;
- }
}
\ No newline at end of file
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/SelectImportType.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/SelectImportType.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/SelectImportType.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -26,6 +26,7 @@
import fr.ifremer.echobase.services.service.DecoratorService;
import fr.ifremer.echobase.ui.actions.EchoBaseActionSupport;
+import javax.inject.Inject;
import java.util.Map;
/**
@@ -74,9 +75,6 @@
//-- Injected objects //
//------------------------------------------------------------------------//
+ @Inject
protected transient DecoratorService decoratorService;
-
- public void setDecoratorService(DecoratorService decoratorService) {
- this.decoratorService = decoratorService;
- }
}
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/removeData/ConfirmDelete.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/removeData/ConfirmDelete.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/removeData/ConfirmDelete.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -86,9 +86,9 @@
if (log.isInfoEnabled()) {
log.info("Load import log " + id);
}
- ImportLog importLog = workingDbPersistenceService.getImportLog(id);
+ ImportLog importLog = userDbPersistenceService.getImportLog(id);
- Voyage voyageEntity = workingDbPersistenceService.getVoyage(importLog.getVoyageId());
+ Voyage voyageEntity = userDbPersistenceService.getVoyage(importLog.getVoyageId());
String voyage = decorator.toString(voyageEntity);
String importType = importTypes.get(importLog.getImportType().name());
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/removeData/ImportLogs.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/removeData/ImportLogs.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/removeData/ImportLogs.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -24,9 +24,10 @@
*/
import fr.ifremer.echobase.entities.data.Voyage;
-import fr.ifremer.echobase.services.service.WorkingDbPersistenceService;
+import fr.ifremer.echobase.services.service.UserDbPersistenceService;
import fr.ifremer.echobase.ui.actions.EchoBaseActionSupport;
+import javax.inject.Inject;
import java.util.Map;
/**
@@ -58,7 +59,7 @@
@Override
public String execute() throws Exception {
- voyages = workingDbPersistenceService.loadSortAndDecorate(Voyage.class);
+ voyages = userDbPersistenceService.loadSortAndDecorate(Voyage.class);
return SUCCESS;
}
@@ -67,9 +68,6 @@
//-- Injected objects //
//------------------------------------------------------------------------//
- protected transient WorkingDbPersistenceService workingDbPersistenceService;
-
- public void setWorkingDbPersistenceService(WorkingDbPersistenceService workingDbPersistenceService) {
- this.workingDbPersistenceService = workingDbPersistenceService;
- }
+ @Inject
+ protected transient UserDbPersistenceService userDbPersistenceService;
}
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/spatial/AbstractGetVoyage.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/spatial/AbstractGetVoyage.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/spatial/AbstractGetVoyage.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -26,11 +26,12 @@
import com.google.common.base.Preconditions;
import com.google.common.collect.Maps;
import fr.ifremer.echobase.entities.data.Voyage;
-import fr.ifremer.echobase.services.service.WorkingDbPersistenceService;
+import fr.ifremer.echobase.services.service.UserDbPersistenceService;
import fr.ifremer.echobase.services.service.spatial.SpatialService;
import fr.ifremer.echobase.ui.actions.EchoBaseActionSupport;
import org.apache.commons.lang3.StringUtils;
+import javax.inject.Inject;
import java.util.Map;
/**
@@ -66,7 +67,7 @@
} else {
- Voyage voyage = workingDbPersistenceService.getVoyage(voyageId);
+ Voyage voyage = userDbPersistenceService.getVoyage(voyageId);
Preconditions.checkNotNull(
voyage,
@@ -82,15 +83,8 @@
//-- Injected objects //
//------------------------------------------------------------------------//
- protected transient WorkingDbPersistenceService workingDbPersistenceService;
-
- public void setWorkingDbPersistenceService(WorkingDbPersistenceService workingDbPersistenceService) {
- this.workingDbPersistenceService = workingDbPersistenceService;
- }
-
+ @Inject
+ protected transient UserDbPersistenceService userDbPersistenceService;
+ @Inject
protected transient SpatialService spatialService;
-
- public void setSpatialService(SpatialService spatialService) {
- this.spatialService = spatialService;
- }
}
\ No newline at end of file
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/spatial/GetSpatialData.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/spatial/GetSpatialData.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/spatial/GetSpatialData.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -27,6 +27,7 @@
import fr.ifremer.echobase.services.service.spatial.SpatialService;
import fr.ifremer.echobase.ui.actions.EchoBaseActionSupport;
+import javax.inject.Inject;
import java.util.Set;
/**
@@ -74,9 +75,6 @@
//-- Injected objects //
//------------------------------------------------------------------------//
+ @Inject
protected transient SpatialService spatialService;
-
- public void setSpatialService(SpatialService spatialService) {
- this.spatialService = spatialService;
- }
}
\ No newline at end of file
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/spatial/GetVoyageDataMetadata.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/spatial/GetVoyageDataMetadata.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/spatial/GetVoyageDataMetadata.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -47,7 +47,7 @@
@Override
protected Map<String, String> buildData(SpatialService service,
Voyage voyage) {
- Map<String, String> result = workingDbPersistenceService.loadSortAndDecorate(DataMetadata.class);
+ Map<String, String> result = userDbPersistenceService.loadSortAndDecorate(DataMetadata.class);
return result;
}
}
\ No newline at end of file
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/spatial/GetVoyageEchotype.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/spatial/GetVoyageEchotype.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/spatial/GetVoyageEchotype.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -48,7 +48,7 @@
protected Map<String, String> buildData(SpatialService service,
Voyage voyage) {
- Map<String, String> result = workingDbPersistenceService.loadSortAndDecorate(Echotype.class);
+ Map<String, String> result = userDbPersistenceService.loadSortAndDecorate(Echotype.class);
return result;
}
}
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/spatial/GetVoyageSpecies.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/spatial/GetVoyageSpecies.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/spatial/GetVoyageSpecies.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -48,7 +48,7 @@
protected Map<String, String> buildData(SpatialService service,
Voyage voyage) {
- Map<String, String> result = workingDbPersistenceService.loadSortAndDecorate(Species.class);
+ Map<String, String> result = userDbPersistenceService.loadSortAndDecorate(Species.class);
return result;
}
}
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/spatial/ShowSpatialData.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/spatial/ShowSpatialData.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/spatial/ShowSpatialData.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -27,10 +27,11 @@
import com.opensymphony.xwork2.interceptor.annotations.InputConfig;
import fr.ifremer.echobase.entities.data.Voyage;
import fr.ifremer.echobase.entities.references.CellType;
-import fr.ifremer.echobase.services.service.WorkingDbPersistenceService;
+import fr.ifremer.echobase.services.service.UserDbPersistenceService;
import fr.ifremer.echobase.services.service.spatial.SpatialService;
import fr.ifremer.echobase.ui.actions.EchoBaseActionSupport;
+import javax.inject.Inject;
import java.util.Map;
/**
@@ -71,10 +72,10 @@
@Override
public void prepare() throws Exception {
- voyages = workingDbPersistenceService.loadSortAndDecorate(Voyage.class);
- cellTypes = workingDbPersistenceService.loadSortAndDecorate(CellType.class);
+ voyages = userDbPersistenceService.loadSortAndDecorate(Voyage.class);
+ cellTypes = userDbPersistenceService.loadSortAndDecorate(CellType.class);
- model.setJdbcUrl(getServiceContext().getWorkgingDbUrl());
+ model.setJdbcUrl(getServiceContext().getUserDbUrl());
model.setWithSpatial(spatialService.isSpatialAware());
// can add postgis if working db is postgresql and has still no echobase
@@ -101,15 +102,8 @@
//-- Injected objects //
//------------------------------------------------------------------------//
- protected transient WorkingDbPersistenceService workingDbPersistenceService;
-
- public void setWorkingDbPersistenceService(WorkingDbPersistenceService workingDbPersistenceService) {
- this.workingDbPersistenceService = workingDbPersistenceService;
- }
-
+ @Inject
+ protected transient UserDbPersistenceService userDbPersistenceService;
+ @Inject
protected transient SpatialService spatialService;
-
- public void setSpatialService(SpatialService spatialService) {
- this.spatialService = spatialService;
- }
}
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/user/Create.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/user/Create.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/user/Create.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -30,6 +30,8 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import javax.inject.Inject;
+
/**
* To create a user.
*
@@ -112,9 +114,6 @@
//-- Injected objects //
//------------------------------------------------------------------------//
+ @Inject
protected transient UserService userService;
-
- public void setUserService(UserService userService) {
- this.userService = userService;
- }
}
\ No newline at end of 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 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/user/Delete.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -32,6 +32,7 @@
import org.apache.commons.logging.LogFactory;
import org.apache.struts2.interceptor.ParameterAware;
+import javax.inject.Inject;
import java.util.Map;
/**
@@ -99,9 +100,6 @@
this.parameters = parameters;
}
+ @Inject
protected transient UserService userService;
-
- public void setUserService(UserService userService) {
- this.userService = userService;
- }
}
\ No newline at end of file
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/user/GetUsers.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/user/GetUsers.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/user/GetUsers.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -29,6 +29,7 @@
import org.nuiton.util.beans.Binder;
import org.nuiton.util.beans.BinderFactory;
+import javax.inject.Inject;
import java.util.List;
import java.util.Map;
@@ -71,9 +72,6 @@
//-- Injected objects //
//------------------------------------------------------------------------//
+ @Inject
protected transient UserService userService;
-
- public void setUserService(UserService userService) {
- this.userService = userService;
- }
}
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/user/Login.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/user/Login.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/user/Login.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -33,6 +33,7 @@
import org.apache.commons.logging.LogFactory;
import org.apache.struts2.interceptor.SessionAware;
+import javax.inject.Inject;
import java.util.Locale;
import java.util.Map;
@@ -119,9 +120,6 @@
this.session = session;
}
+ @Inject
protected transient UserService userService;
-
- public void setUserService(UserService userService) {
- this.userService = userService;
- }
}
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 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/user/Update.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -32,6 +32,7 @@
import org.apache.commons.logging.LogFactory;
import org.apache.struts2.interceptor.ParameterAware;
+import javax.inject.Inject;
import java.util.Map;
/**
@@ -98,9 +99,6 @@
this.parameters = parameters;
}
+ @Inject
protected transient UserService userService;
-
- public void setUserService(UserService userService) {
- this.userService = userService;
- }
}
\ No newline at end of file
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/AbstractWorkingDbAction.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/AbstractWorkingDbAction.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/AbstractWorkingDbAction.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -27,7 +27,7 @@
import fr.ifremer.echobase.entities.DriverType;
import fr.ifremer.echobase.entities.WorkingDbConfiguration;
import fr.ifremer.echobase.services.service.DecoratorService;
-import fr.ifremer.echobase.services.service.InternalDbPersistenceService;
+import fr.ifremer.echobase.services.service.exportquery.ExportQueryService;
import fr.ifremer.echobase.services.service.workingDb.WorkingDbConfigurationService;
import fr.ifremer.echobase.ui.actions.EchoBaseActionSupport;
import org.apache.commons.lang3.StringUtils;
@@ -35,6 +35,7 @@
import org.apache.commons.logging.LogFactory;
import org.apache.struts2.interceptor.ParameterAware;
+import javax.inject.Inject;
import java.util.Map;
/**
@@ -88,7 +89,7 @@
driverTypes = decoratorService.decorateEnums(DriverType.values());
- confs = internalDbPersistenceService.loadSortAndDecorate(WorkingDbConfiguration.class);
+ confs = exportQueryService.loadSortAndDecorate(WorkingDbConfiguration.class);
if (confs.isEmpty()) {
@@ -120,22 +121,10 @@
this.parameters = parameters;
}
- protected transient InternalDbPersistenceService internalDbPersistenceService;
-
- public void setInternalDbPersistenceService(InternalDbPersistenceService internalDbPersistenceService) {
- this.internalDbPersistenceService = internalDbPersistenceService;
- }
-
+ @Inject
protected transient WorkingDbConfigurationService workingDbConfigurationService;
-
- public void setWorkingDbConfigurationService(WorkingDbConfigurationService workingDbConfigurationService) {
- this.workingDbConfigurationService = workingDbConfigurationService;
- }
-
+ @Inject
protected transient DecoratorService decoratorService;
-
- public void setDecoratorService(DecoratorService decoratorService) {
- this.decoratorService = decoratorService;
- }
-
+ @Inject
+ protected transient ExportQueryService exportQueryService;
}
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/AddSpatial.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/AddSpatial.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/AddSpatial.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -25,6 +25,8 @@
import fr.ifremer.echobase.services.service.spatial.SpatialService;
+import javax.inject.Inject;
+
/**
* To add echobase spatial sutff to curerent working db.
* <p/>
@@ -50,9 +52,6 @@
//-- Injected objects //
//------------------------------------------------------------------------//
+ @Inject
protected transient SpatialService spatialService;
-
- public void setSpatialService(SpatialService spatialService) {
- this.spatialService = spatialService;
- }
}
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/Connect.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/Connect.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/Connect.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -71,7 +71,7 @@
try {
EchoBaseEntityHelper.checkJDBCConnection(jdbcConf);
- getEchoBaseSession().initWorkingDb(jdbcConf, true);
+ getEchoBaseSession().initUserDb(jdbcConf, true);
addFlashMessage(_("echobase.info.workingDbconfiguration.connected",
conf.getUrl()));
result = SUCCESS;
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/CreatePostgresDb.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/CreatePostgresDb.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/CreatePostgresDb.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -75,13 +75,13 @@
try {
// connect to meta database
- getEchoBaseSession().initWorkingDb(metaJdbcConf, false);
+ getEchoBaseSession().initUserDb(metaJdbcConf, false);
// create database
workingDbConfigurationService.createDb(jdbcConf);
// connect to new database
- getEchoBaseSession().initWorkingDb(jdbcConf, true);
+ getEchoBaseSession().initUserDb(jdbcConf, true);
addFlashMessage(_("echobase.info.workingDb.created", conf.getUrl()));
@@ -89,7 +89,7 @@
try {
//close working db if something is wrong.
- getEchoBaseSession().releaseWorkingDb();
+ getEchoBaseSession().releaseUserDb();
} finally {
metaJdbcConf = null;
jdbcConf = null;
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/Disconnect.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/Disconnect.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/Disconnect.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -40,7 +40,7 @@
public String execute() throws Exception {
JdbcConfiguration sessionConf =
getEchoBaseSession().getWorkingDbConfiguration();
- getEchoBaseSession().releaseWorkingDb();
+ getEchoBaseSession().releaseUserDb();
addFlashMessage(_("echobase.info.workingDbconfiguration.disconnected",
sessionConf.getUrl()));
return SUCCESS;
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/GetImportLogDetail.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/GetImportLogDetail.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/GetImportLogDetail.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -23,16 +23,17 @@
* #L%
*/
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
+import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum;
import fr.ifremer.echobase.entities.ImportLog;
import fr.ifremer.echobase.entities.ImportType;
import fr.ifremer.echobase.entities.data.Voyage;
import fr.ifremer.echobase.services.service.DbEditorService;
import fr.ifremer.echobase.services.service.DecoratorService;
-import fr.ifremer.echobase.services.service.WorkingDbPersistenceService;
+import fr.ifremer.echobase.services.service.UserDbPersistenceService;
import fr.ifremer.echobase.ui.actions.EchoBaseActionSupport;
import org.nuiton.topia.persistence.metadata.TableMeta;
+import javax.inject.Inject;
import java.util.Map;
/**
@@ -60,8 +61,8 @@
@Override
public String execute() throws Exception {
- TableMeta<EchoBaseEntityEnum> tableMeta =
- dbEditorService.getTableMeta(EchoBaseEntityEnum.ImportLog);
+ TableMeta<EchoBaseUserEntityEnum> tableMeta =
+ dbEditorService.getTableMeta(EchoBaseUserEntityEnum.ImportLog);
data = dbEditorService.getData(tableMeta, importLogId);
// decorate import type
@@ -70,7 +71,7 @@
data.put(ImportLog.PROPERTY_IMPORT_TYPE, importTypes.get(importType));
// decorate foreign keys
- Voyage voyage = workingDbPersistenceService.getVoyage((String) data.get(ImportLog.PROPERTY_VOYAGE_ID));
+ Voyage voyage = userDbPersistenceService.getVoyage((String) data.get(ImportLog.PROPERTY_VOYAGE_ID));
decoratorService.decorateForeignKey(data, ImportLog.PROPERTY_VOYAGE_ID, voyage, null);
return SUCCESS;
@@ -80,21 +81,10 @@
//-- Injected objects //
//------------------------------------------------------------------------//
- protected transient WorkingDbPersistenceService workingDbPersistenceService;
-
- public void setWorkingDbPersistenceService(WorkingDbPersistenceService workingDbPersistenceService) {
- this.workingDbPersistenceService = workingDbPersistenceService;
- }
-
+ @Inject
+ protected transient UserDbPersistenceService userDbPersistenceService;
+ @Inject
protected transient DbEditorService dbEditorService;
-
- public void setDbEditorService(DbEditorService dbEditorService) {
- this.dbEditorService = dbEditorService;
- }
-
+ @Inject
protected transient DecoratorService decoratorService;
-
- public void setDecoratorService(DecoratorService decoratorService) {
- this.decoratorService = decoratorService;
- }
}
\ No newline at end of file
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/GetVoyage.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/GetVoyage.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/GetVoyage.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -23,17 +23,18 @@
* #L%
*/
-import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
+import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum;
import fr.ifremer.echobase.entities.ImportLog;
import fr.ifremer.echobase.entities.data.Voyage;
import fr.ifremer.echobase.entities.references.AreaOfOperation;
import fr.ifremer.echobase.entities.references.Mission;
import fr.ifremer.echobase.services.service.DbEditorService;
import fr.ifremer.echobase.services.service.DecoratorService;
-import fr.ifremer.echobase.services.service.WorkingDbPersistenceService;
+import fr.ifremer.echobase.services.service.UserDbPersistenceService;
import fr.ifremer.echobase.ui.actions.EchoBaseActionSupport;
import org.nuiton.topia.persistence.metadata.TableMeta;
+import javax.inject.Inject;
import java.util.Map;
/**
@@ -61,15 +62,15 @@
@Override
public String execute() throws Exception {
- TableMeta<EchoBaseEntityEnum> tableMeta =
- dbEditorService.getTableMeta(EchoBaseEntityEnum.Voyage);
+ TableMeta<EchoBaseUserEntityEnum> tableMeta =
+ dbEditorService.getTableMeta(EchoBaseUserEntityEnum.Voyage);
data = dbEditorService.getData(tableMeta, voyageId);
// decorate foreign keys
- Mission mission = workingDbPersistenceService.getMission((String) data.get(Voyage.PROPERTY_MISSION));
+ Mission mission = userDbPersistenceService.getMission((String) data.get(Voyage.PROPERTY_MISSION));
decoratorService.decorateForeignKey(data, Voyage.PROPERTY_MISSION, mission, null);
- AreaOfOperation areaOfOperation = workingDbPersistenceService.getAreaOfOperation((String) data.get(Voyage.PROPERTY_AREA_OF_OPERATION));
+ AreaOfOperation areaOfOperation = userDbPersistenceService.getAreaOfOperation((String) data.get(Voyage.PROPERTY_AREA_OF_OPERATION));
decoratorService.decorateForeignKey(data, Voyage.PROPERTY_AREA_OF_OPERATION, areaOfOperation, null);
return SUCCESS;
@@ -79,22 +80,10 @@
//-- Injected objects //
//------------------------------------------------------------------------//
- protected transient WorkingDbPersistenceService workingDbPersistenceService;
-
- public void setWorkingDbPersistenceService(WorkingDbPersistenceService workingDbPersistenceService) {
- this.workingDbPersistenceService = workingDbPersistenceService;
- }
-
+ @Inject
+ protected transient UserDbPersistenceService userDbPersistenceService;
+ @Inject
protected transient DecoratorService decoratorService;
-
- public void setDecoratorService(DecoratorService decoratorService) {
- this.decoratorService = decoratorService;
- }
-
+ @Inject
protected transient DbEditorService dbEditorService;
-
- public void setDbEditorService(DbEditorService dbEditorService) {
- this.dbEditorService = dbEditorService;
- }
-
}
\ No newline at end of file
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/Information.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/Information.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/Information.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -24,10 +24,12 @@
*/
import fr.ifremer.echobase.config.EchoBaseConfiguration;
+import fr.ifremer.echobase.entities.EchoBaseUserPersistenceContext;
import fr.ifremer.echobase.persistence.JdbcConfiguration;
-import fr.ifremer.echobase.services.service.spatial.SpatialService;
import fr.ifremer.echobase.ui.actions.EchoBaseActionSupport;
+import javax.inject.Inject;
+
/**
* Display a page to show connection details.
*
@@ -79,11 +81,11 @@
pilotVersion =
dbConfiguration.getDriverType().getPilotVersion(configuration);
- spatialAware = spatialService.isSpatialAware();
+ spatialAware = db.isSpatialAware();
// can add postgis if working db is postgresql and has still no echobase
// spatial db
- canAddSpatial = !spatialAware && spatialService.isPostgresql();
+ canAddSpatial = !spatialAware && db.isPostgresql();
return SUCCESS;
}
@@ -91,9 +93,6 @@
//-- Injected objects //
//------------------------------------------------------------------------//
- protected transient SpatialService spatialService;
-
- public void setSpatialService(SpatialService spatialService) {
- this.spatialService = spatialService;
- }
+ @Inject
+ protected transient EchoBaseUserPersistenceContext db;
}
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/interceptors/EchoBaseInjectInterceptor.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/interceptors/EchoBaseInjectInterceptor.java 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/interceptors/EchoBaseInjectInterceptor.java 2013-12-22 00:29:17 UTC (rev 925)
@@ -26,21 +26,22 @@
import com.google.common.base.Preconditions;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.Interceptor;
+import fr.ifremer.echobase.entities.EchoBaseInternalPersistenceContext;
+import fr.ifremer.echobase.entities.EchoBaseUserPersistenceContext;
+import fr.ifremer.echobase.entities.EchoBaseUserTopiaApplicationContext;
import fr.ifremer.echobase.services.EchoBaseService;
import fr.ifremer.echobase.services.EchoBaseServiceContext;
+import fr.ifremer.echobase.services.EchobaseAieOC;
import fr.ifremer.echobase.ui.EchoBaseApplicationContext;
import fr.ifremer.echobase.ui.EchoBaseInternalDbTransactionFilter;
import fr.ifremer.echobase.ui.EchoBaseSession;
-import fr.ifremer.echobase.ui.EchoBaseWorkingDbTransactionFilter;
+import fr.ifremer.echobase.ui.EchoBaseUserDbTransactionFilter;
import fr.ifremer.echobase.ui.actions.EchoBaseActionSupport;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.nuiton.topia.TopiaContext;
-import org.nuiton.util.beans.BeanUtil;
-import java.beans.PropertyDescriptor;
+import java.lang.reflect.Field;
import java.util.Locale;
-import java.util.Set;
public class EchoBaseInjectInterceptor implements Interceptor {
@@ -55,7 +56,6 @@
if (log.isInfoEnabled()) {
log.info("init " + this);
}
-
}
@Override
@@ -66,55 +66,14 @@
if (action instanceof EchoBaseActionSupport) {
EchoBaseActionSupport echoBaseActionSupport = (EchoBaseActionSupport) action;
- EchoBaseSession userSession = getEchoBaseSession(invocation);
-
EchoBaseServiceContext serviceContext = newServiceContext(
invocation,
echoBaseActionSupport.getLocale());
- Set<PropertyDescriptor> descriptors =
- BeanUtil.getDescriptors(
- action.getClass(),
- BeanUtil.IS_WRITE_DESCRIPTOR);
-
- for (PropertyDescriptor propertyDescriptor : descriptors) {
-
- Class<?> propertyType = propertyDescriptor.getPropertyType();
-
- Object toInject = null;
-
- if (EchoBaseServiceContext.class.isAssignableFrom(propertyType)) {
- toInject = serviceContext;
- } else if (EchoBaseService.class.isAssignableFrom(propertyType)) {
-
- Class<? extends EchoBaseService> serviceClass =
- (Class<? extends EchoBaseService>) propertyType;
-
- toInject = serviceContext.newService(serviceClass);
-
- } else if (EchoBaseSession.class.isAssignableFrom(propertyType)) {
-
- toInject = userSession;
-
- } else if (EchoBaseApplicationContext.class.isAssignableFrom(propertyType)) {
-
- toInject = getEchoBaseApplicationContext(invocation);
-
- }
-
- if (toInject != null) {
-
- if (log.isTraceEnabled()) {
- log.trace("injecting " + toInject + " in action " + action);
- }
-
- propertyDescriptor.getWriteMethod().invoke(action, toInject);
-
- }
- }
+ ActionEchobaseAieOC injector = new ActionEchobaseAieOC(invocation);
+ injector.inject(serviceContext, action);
}
return invocation.invoke();
-
}
protected EchoBaseSession getEchoBaseSession(ActionInvocation invocation) {
@@ -144,21 +103,25 @@
Locale locale) {
- TopiaContext topiaInternalContext =
- EchoBaseInternalDbTransactionFilter.getTransaction(
+ EchoBaseInternalPersistenceContext topiaInternalContext =
+ EchoBaseInternalDbTransactionFilter.getPersistenceContext(
invocation.getInvocationContext());
- TopiaContext topiaContext =
- EchoBaseWorkingDbTransactionFilter.getTransaction(
+ EchoBaseUserPersistenceContext topiaContext =
+ EchoBaseUserDbTransactionFilter.getPersistenceContext(
invocation.getInvocationContext());
EchoBaseApplicationContext applicationContext =
getEchoBaseApplicationContext(invocation);
+ EchoBaseSession echoBaseSession = getEchoBaseSession(invocation);
+ EchoBaseUserTopiaApplicationContext workingDbRootContext =
+ echoBaseSession.getUserDbApplicationContext();
EchoBaseServiceContext serviceContext =
applicationContext.newServiceContext(locale,
topiaInternalContext,
- topiaContext);
+ topiaContext,
+ workingDbRootContext);
return serviceContext;
@@ -173,4 +136,44 @@
}
+ protected class ActionEchobaseAieOC extends EchobaseAieOC {
+
+ private final ActionInvocation invocation;
+
+ public ActionEchobaseAieOC(ActionInvocation invocation) {
+ this.invocation= invocation;
+ }
+
+ @Override
+ protected Object toInject(EchoBaseServiceContext serviceContext,
+ Field field) {
+
+ Class<?> propertyType = field.getType();
+
+ Object toInject = null;
+ if (EchoBaseUserPersistenceContext.class.isAssignableFrom(propertyType)) {
+ toInject = serviceContext.getEchoBaseUserPersistenceContext();
+
+ } else if (EchoBaseServiceContext.class.isAssignableFrom(propertyType)) {
+ toInject = serviceContext;
+
+ } else if (EchoBaseService.class.isAssignableFrom(propertyType)) {
+
+ Class<? extends EchoBaseService> serviceClass =
+ (Class<? extends EchoBaseService>) propertyType;
+ toInject = serviceContext.newService(serviceClass);
+
+ } else if (EchoBaseSession.class.isAssignableFrom(propertyType)) {
+
+ EchoBaseSession userSession = getEchoBaseSession(invocation);
+ toInject = userSession;
+
+ } else if (EchoBaseApplicationContext.class.isAssignableFrom(propertyType)) {
+
+ toInject = getEchoBaseApplicationContext(invocation);
+ }
+
+ return toInject;
+ }
+ }
}
Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/web.xml
===================================================================
--- trunk/echobase-ui/src/main/webapp/WEB-INF/web.xml 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/echobase-ui/src/main/webapp/WEB-INF/web.xml 2013-12-22 00:29:17 UTC (rev 925)
@@ -39,7 +39,7 @@
<filter>
<filter-name>workingDbTransaction</filter-name>
<filter-class>
- fr.ifremer.echobase.ui.EchoBaseWorkingDbTransactionFilter
+ fr.ifremer.echobase.ui.EchoBaseUserDbTransactionFilter
</filter-class>
</filter>
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2013-12-17 08:30:52 UTC (rev 924)
+++ trunk/pom.xml 2013-12-22 00:29:17 UTC (rev 925)
@@ -138,9 +138,9 @@
<!-- libraries version -->
- <topiaVersion>3.0-alpha-3.1</topiaVersion>
+ <topiaVersion>3.0-SNAPSHOT</topiaVersion>
<nuitonI18nVersion>2.5.2</nuitonI18nVersion>
- <nuitonWebVersion>1.14</nuitonWebVersion>
+ <nuitonWebVersion>1.15-SNAPSHOT</nuitonWebVersion>
<nuitonUtilsVersion>2.7.1</nuitonUtilsVersion>
<struts2Version>2.3.15.3</struts2Version>
<jqueryPluginVersion>3.6.1</jqueryPluginVersion>
@@ -256,15 +256,14 @@
<dependency>
<groupId>org.nuiton.topia</groupId>
- <artifactId>topia-persistence</artifactId>
+ <artifactId>topia-service-migration</artifactId>
<version>${topiaVersion}</version>
- <scope>test</scope>
- <classifier>tests</classifier>
+ <scope>compile</scope>
</dependency>
<dependency>
<groupId>org.nuiton.topia</groupId>
- <artifactId>topia-service-migration</artifactId>
+ <artifactId>topia-service-csv</artifactId>
<version>${topiaVersion}</version>
<scope>compile</scope>
</dependency>
@@ -342,11 +341,18 @@
<!-- librairies web -->
<dependency>
+ <groupId>javax</groupId>
+ <artifactId>javaee-api</artifactId>
+ <version>7.0</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <!--dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
- </dependency>
+ </dependency-->
<dependency>
<groupId>org.mortbay.jetty</groupId>
@@ -402,7 +408,7 @@
<plugin>
<groupId>org.nuiton.eugene</groupId>
<artifactId>eugene-maven-plugin</artifactId>
- <version>2.7.1</version>
+ <version>2.7.3</version>
</plugin>
<plugin>
1
0
The EchoBase team is pleased to announce the echobase-2.5.1 release!
The French Institute for the Exploitation of the Sea (Ifremer) has designed
an open software suite for storing fisheries acoustic data and computing
acoustic indicators for survey-based ecosystem monitoring.
It comprises a postgreSQL database designed to store acoustic, navigation
and fishing data from ecosystemic surveys (EchoBase) and a suite of R
codes (EchoR) for computing fish population indicators based on Echobase
data.
Documentation of the project can be found here:
http://maven-site.forge.codelutin.com/echobase
Changes
-------
Changes in this version include:
Fixed Bugs:
o Impossible de modifier certaines pages sur site (en SNAPSHOT) Issue: 4025. Thanks to Tony Chemit. Resolved by tchemit.
o Migration de base en erreur Issue: 4018. Thanks to Tony Chemit. Resolved by tchemit.
o Problème de mise à jour des données spatiales d'opération Issue: 4019. Thanks to Tony Chemit. Resolved by tchemit.
Downloads
---------
For a manual installation, you can download files here:
http://forge.codelutin.com/projects/echobase/files
* echobase-embedded-2.5.1.zip - http://forge.codelutin.com/attachments/download/1304
* echobase-full-2.5.1.war - http://forge.codelutin.com/attachments/download/1305
Maven artifacts
---------------
Artifacts are deployed in nuiton maven repository
http://maven.nuiton.org/other-releases/
Have fun!
-EchoBase team
1
0
r924 - in trunk: . echobase-domain echobase-services echobase-ui
by tchemit@users.forge.codelutin.com 17 Dec '13
by tchemit@users.forge.codelutin.com 17 Dec '13
17 Dec '13
Author: tchemit
Date: 2013-12-17 09:30:52 +0100 (Tue, 17 Dec 2013)
New Revision: 924
Url: http://forge.codelutin.com/projects/echobase/repository/revisions/924
Log:
[maven-release-plugin] prepare for next development iteration
Modified:
trunk/echobase-domain/pom.xml
trunk/echobase-services/pom.xml
trunk/echobase-ui/pom.xml
trunk/pom.xml
Modified: trunk/echobase-domain/pom.xml
===================================================================
--- trunk/echobase-domain/pom.xml 2013-12-17 08:30:43 UTC (rev 923)
+++ trunk/echobase-domain/pom.xml 2013-12-17 08:30:52 UTC (rev 924)
@@ -9,7 +9,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>echobase</artifactId>
- <version>2.5.1</version>
+ <version>2.5.2-SNAPSHOT</version>
</parent>
<groupId>fr.ifremer.echobase</groupId>
Modified: trunk/echobase-services/pom.xml
===================================================================
--- trunk/echobase-services/pom.xml 2013-12-17 08:30:43 UTC (rev 923)
+++ trunk/echobase-services/pom.xml 2013-12-17 08:30:52 UTC (rev 924)
@@ -6,7 +6,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>echobase</artifactId>
- <version>2.5.1</version>
+ <version>2.5.2-SNAPSHOT</version>
</parent>
<groupId>fr.ifremer.echobase</groupId>
Modified: trunk/echobase-ui/pom.xml
===================================================================
--- trunk/echobase-ui/pom.xml 2013-12-17 08:30:43 UTC (rev 923)
+++ trunk/echobase-ui/pom.xml 2013-12-17 08:30:52 UTC (rev 924)
@@ -7,7 +7,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>echobase</artifactId>
- <version>2.5.1</version>
+ <version>2.5.2-SNAPSHOT</version>
</parent>
<groupId>fr.ifremer.echobase</groupId>
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2013-12-17 08:30:43 UTC (rev 923)
+++ trunk/pom.xml 2013-12-17 08:30:52 UTC (rev 924)
@@ -11,7 +11,7 @@
<groupId>fr.ifremer</groupId>
<artifactId>echobase</artifactId>
- <version>2.5.1</version>
+ <version>2.5.2-SNAPSHOT</version>
<modules>
<module>echobase-domain</module>
@@ -84,12 +84,12 @@
</developers>
<scm>
- <url>https://forge.codelutin.com/repositories/browse/echobase/tags/echobase-2.5.1</url>
+ <url>https://forge.codelutin.com/repositories/browse/echobase/trunk</url>
<connection>
- scm:svn:https://forge.codelutin.com/svn/echobase/tags/echobase-2.5.1
+ scm:svn:https://forge.codelutin.com/svn/echobase/trunk
</connection>
<developerConnection>
- scm:svn:https://forge.codelutin.com/svn/echobase/tags/echobase-2.5.1
+ scm:svn:https://forge.codelutin.com/svn/echobase/trunk
</developerConnection>
</scm>
1
0
Author: tchemit
Date: 2013-12-17 09:30:43 +0100 (Tue, 17 Dec 2013)
New Revision: 923
Url: http://forge.codelutin.com/projects/echobase/repository/revisions/923
Log:
[maven-release-plugin] copy for tag echobase-2.5.1
Added:
tags/echobase-2.5.1/
1
0
r922 - in trunk: . echobase-domain echobase-services echobase-ui
by tchemit@users.forge.codelutin.com 17 Dec '13
by tchemit@users.forge.codelutin.com 17 Dec '13
17 Dec '13
Author: tchemit
Date: 2013-12-17 09:30:33 +0100 (Tue, 17 Dec 2013)
New Revision: 922
Url: http://forge.codelutin.com/projects/echobase/repository/revisions/922
Log:
[maven-release-plugin] prepare release echobase-2.5.1
Modified:
trunk/echobase-domain/pom.xml
trunk/echobase-services/pom.xml
trunk/echobase-ui/pom.xml
trunk/pom.xml
Modified: trunk/echobase-domain/pom.xml
===================================================================
--- trunk/echobase-domain/pom.xml 2013-12-17 07:50:53 UTC (rev 921)
+++ trunk/echobase-domain/pom.xml 2013-12-17 08:30:33 UTC (rev 922)
@@ -9,7 +9,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>echobase</artifactId>
- <version>2.5.1-SNAPSHOT</version>
+ <version>2.5.1</version>
</parent>
<groupId>fr.ifremer.echobase</groupId>
Modified: trunk/echobase-services/pom.xml
===================================================================
--- trunk/echobase-services/pom.xml 2013-12-17 07:50:53 UTC (rev 921)
+++ trunk/echobase-services/pom.xml 2013-12-17 08:30:33 UTC (rev 922)
@@ -6,7 +6,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>echobase</artifactId>
- <version>2.5.1-SNAPSHOT</version>
+ <version>2.5.1</version>
</parent>
<groupId>fr.ifremer.echobase</groupId>
Modified: trunk/echobase-ui/pom.xml
===================================================================
--- trunk/echobase-ui/pom.xml 2013-12-17 07:50:53 UTC (rev 921)
+++ trunk/echobase-ui/pom.xml 2013-12-17 08:30:33 UTC (rev 922)
@@ -7,7 +7,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>echobase</artifactId>
- <version>2.5.1-SNAPSHOT</version>
+ <version>2.5.1</version>
</parent>
<groupId>fr.ifremer.echobase</groupId>
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2013-12-17 07:50:53 UTC (rev 921)
+++ trunk/pom.xml 2013-12-17 08:30:33 UTC (rev 922)
@@ -11,7 +11,7 @@
<groupId>fr.ifremer</groupId>
<artifactId>echobase</artifactId>
- <version>2.5.1-SNAPSHOT</version>
+ <version>2.5.1</version>
<modules>
<module>echobase-domain</module>
@@ -84,12 +84,12 @@
</developers>
<scm>
- <url>https://forge.codelutin.com/repositories/browse/echobase/trunk</url>
+ <url>https://forge.codelutin.com/repositories/browse/echobase/tags/echobase-2.5.1</url>
<connection>
- scm:svn:https://forge.codelutin.com/svn/echobase/trunk
+ scm:svn:https://forge.codelutin.com/svn/echobase/tags/echobase-2.5.1
</connection>
<developerConnection>
- scm:svn:https://forge.codelutin.com/svn/echobase/trunk
+ scm:svn:https://forge.codelutin.com/svn/echobase/tags/echobase-2.5.1
</developerConnection>
</scm>
1
0
r921 - trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb
by tchemit@users.forge.codelutin.com 17 Dec '13
by tchemit@users.forge.codelutin.com 17 Dec '13
17 Dec '13
Author: tchemit
Date: 2013-12-17 08:50:53 +0100 (Tue, 17 Dec 2013)
New Revision: 921
Url: http://forge.codelutin.com/projects/echobase/repository/revisions/921
Log:
remvoe old migration
Removed:
trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_5.java
Deleted: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_5.java
===================================================================
--- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_5.java 2013-12-17 02:03:00 UTC (rev 920)
+++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_5.java 2013-12-17 07:50:53 UTC (rev 921)
@@ -1,371 +0,0 @@
-package fr.ifremer.echobase.persistence.migration.workingDb;
-
-/*
- * #%L
- * EchoBase :: Domain
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2011 - 2013 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 fr.ifremer.echobase.entities.TopiaEchoBasePersistenceContext;
-import org.nuiton.topia.TopiaContext;
-import org.nuiton.topia.TopiaException;
-import org.nuiton.util.Version;
-
-import java.util.List;
-
-/**
- * Migrate workgin db to version {@code 2.5}.
- *
- * @author Tony Chemit <chemit(a)codelutin.com>
- * @since 2.5
- */
-public class MigrationCallBackForVersion2_5 extends MigrationCallBackForVersion {
-
- @Override
- public Version getVersion() {
- return new Version("2.5");
- }
-
- @Override
- protected void prepareMigrationScript(TopiaContext tx,
- List<String> queries,
- boolean showSql,
- boolean showProgression) throws TopiaException {
-
- boolean spatialAware;
-
- TopiaEchoBasePersistenceContext persistenceContext =
- new TopiaEchoBasePersistenceContext(tx);
- try {
-
- spatialAware = persistenceContext.isSpatialAware();
- } finally {
- persistenceContext.rollbackTransaction();
- }
-
- if (spatialAware) {
-
- // add spatial view (http://forge.codelutin.com/issues/3672)
- addPostgisView(queries);
-
- // fix http://forge.codelutin.com/issues/3856
- fixechobase_fill_cell_spatial_tableFunction(queries);
-
- // fix http://forge.codelutin.com/issues/3973
- fixOperationNameNotFilled(queries);
- }
- }
-
- private void fixOperationNameNotFilled(List<String> queries) {
-
- // fix http://forge.codelutin.com/issues/3973
- queries.add("update echobase_operation_spatial set operationname = (select op.id from operation op where op.topiaid = operationid);");
- }
-
- private void fixechobase_fill_cell_spatial_tableFunction(List<String> queries) {
-
- queries.add("CREATE OR REPLACE FUNCTION echobase_fill_cell_spatial_row(cell_id VARCHAR)\n" +
- " RETURNS VOID AS $$\n" +
- " DECLARE cell_type VARCHAR;\n" +
- "BEGIN\n" +
- "\n" +
- " cell_type = echobase_get_cell_type(cell_id);\n" +
- "\n" +
- " RAISE DEBUG 'Treat spatial cell % [type %] ...', cell_id, cell_type;\n" +
- " CASE cell_type\n" +
- " WHEN 'ESDU'\n" +
- " THEN\n" +
- " EXECUTE echobase_fill_esdu_cell_spatial_table(cell_id);\n" +
- " WHEN 'ELEMENTARY'\n" +
- " THEN\n" +
- " EXECUTE echobase_fill_elementary_cell_spatial_table(cell_id);\n" +
- " WHEN 'REGION'\n" +
- " THEN\n" +
- " EXECUTE echobase_fill_region_cell_spatial_table(cell_id);\n" +
- " WHEN 'MAP'\n" +
- " THEN\n" +
- " EXECUTE echobase_fill_map_cell_spatial_table(cell_id);\n" +
- " ELSE\n" +
- " RAISE LOG 'Can not deal with celltype % (cell %)', cell_type, cell_id;\n" +
- " END CASE;\n" +
- "END\n" +
- "$$\n" +
- "LANGUAGE plpgsql;");
-
- queries.add("CREATE OR REPLACE FUNCTION echobase_fill_cell_spatial_table()\n" +
- " RETURNS VOID AS $$\n" +
- "DECLARE\n" +
- " cellRow RECORD;\n" +
- "BEGIN\n" +
- " FOR cellRow IN SELECT\n" +
- " *\n" +
- " FROM echobase_cell_spatial_temp LOOP\n" +
- "\n" +
- " PERFORM echobase_fill_cell_spatial_row(cellRow.cellid);\n" +
- "\n" +
- " END LOOP;\n" +
- "\n" +
- " DELETE FROM echobase_cell_spatial_temp;\n" +
- "\n" +
- "END\n" +
- "$$\n" +
- "LANGUAGE plpgsql;");
- }
-
- private void addPostgisView(List<String> queries) {
-
- // add cell data view
- queries.add("DROP VIEW IF EXISTS echobase_cell_spatial_data CASCADE;");
- queries.add("CREATE OR REPLACE VIEW echobase_cell_spatial_data AS\n" +
- "SELECT\n" +
- " s.*,\n" +
- " m.topiaId as metaDataId,\n" +
- " m.name as metaDataName,\n" +
- " d.datavalue as dataValue,\n" +
- " d.topiaid as dataId\n" +
- "FROM\n" +
- " echobase_cell_spatial s,\n" +
- " data d,\n" +
- " datametadata m\n" +
- "WHERE\n" +
- " s.cellid = d.cell AND\n" +
- " d.datametadata = m.topiaid;");
-
- // add cell result view
- queries.add("DROP VIEW IF EXISTS echobase_cell_spatial_result CASCADE;");
- queries.add("CREATE OR REPLACE VIEW echobase_cell_spatial_result AS\n" +
- "SELECT\n" +
- " s.*,\n" +
- " m.topiaId as metaDataId,\n" +
- " m.name as metaDataName,\n" +
- " r.resultvalue as resultValue,\n" +
- " r.topiaid as resultId\n" +
- "FROM\n" +
- " echobase_cell_spatial s,\n" +
- " result r,\n" +
- " datametadata m\n" +
- "WHERE\n" +
- " s.cellid = r.cell AND\n" +
- " r.datametadata = m.topiaid;");
-
- // add operation data view
- queries.add("DROP VIEW IF EXISTS TotalSampleEngrEnc CASCADE;");
- queries.add("CREATE OR REPLACE VIEW TotalSampleEngrEnc AS\n" +
- "\n" +
- "SELECT \n" +
- " echobase_operation_spatial.voyageid, \n" +
- " operation.id AS operation_id, \n" +
- " echobase_operation_spatial.coordinate, \n" +
- " sampletype.name AS sampletype_name, \n" +
- " sample.sampleweight, \n" +
- " sizecategory.name AS sizecategory_name, \n" +
- " species.baracoudacode, \n" +
- " sample.topiaid\n" +
- "FROM\n" +
- " public.echobase_operation_spatial, \n" +
- " public.operation, \n" +
- " public.sample, \n" +
- " public.speciescategory, \n" +
- " public.sizecategory, \n" +
- " public.species, \n" +
- " public.sampletype\n" +
- "WHERE \n" +
- " echobase_operation_spatial.operationid = operation.topiaid AND\n" +
- " operation.topiaid = sample.operation AND\n" +
- " sample.speciescategory = speciescategory.topiaid AND\n" +
- " sample.sampletype = sampletype.topiaid AND\n" +
- " speciescategory.sizecategory = sizecategory.topiaid AND\n" +
- " speciescategory.species = species.topiaid AND\n" +
- " sampletype.name = 'Total' AND\n" +
- " species.baracoudacode='ENGR-ENC';\n");
-
- queries.add("DROP VIEW IF EXISTS TotalSampleSardPil CASCADE;");
- queries.add("CREATE OR REPLACE VIEW TotalSampleSardPil AS\n" +
- "\n" +
- "SELECT \n" +
- " echobase_operation_spatial.voyageid, \n" +
- " operation.id AS operation_id, \n" +
- " echobase_operation_spatial.coordinate, \n" +
- " sampletype.name AS sampletype_name, \n" +
- " sample.sampleweight, \n" +
- " sizecategory.name AS sizecategory_name, \n" +
- " species.baracoudacode, \n" +
- " sample.topiaid\n" +
- "FROM \n" +
- " public.echobase_operation_spatial, \n" +
- " public.operation, \n" +
- " public.sample, \n" +
- " public.speciescategory, \n" +
- " public.sizecategory, \n" +
- " public.species, \n" +
- " public.sampletype\n" +
- "WHERE \n" +
- " echobase_operation_spatial.operationid = operation.topiaid AND\n" +
- " operation.topiaid = sample.operation AND\n" +
- " sample.speciescategory = speciescategory.topiaid AND\n" +
- " sample.sampletype = sampletype.topiaid AND\n" +
- " speciescategory.sizecategory = sizecategory.topiaid AND\n" +
- " speciescategory.species = species.topiaid AND\n" +
- " sampletype.name = 'Total' AND\n" +
- " species.baracoudacode='SARD-PIL';");
-
- queries.add("DROP VIEW IF EXISTS TotalSampleTracTru CASCADE;");
- queries.add("CREATE OR REPLACE VIEW TotalSampleTracTru AS\n" +
- "\n" +
- "SELECT \n" +
- " echobase_operation_spatial.voyageid, \n" +
- " operation.id AS operation_id, \n" +
- " echobase_operation_spatial.coordinate, \n" +
- " sampletype.name AS sampletype_name, \n" +
- " sample.sampleweight, \n" +
- " sizecategory.name AS sizecategory_name, \n" +
- " species.baracoudacode, \n" +
- " sample.topiaid\n" +
- "FROM \n" +
- " public.echobase_operation_spatial, \n" +
- " public.operation, \n" +
- " public.sample, \n" +
- " public.speciescategory, \n" +
- " public.sizecategory, \n" +
- " public.species, \n" +
- " public.sampletype\n" +
- "WHERE \n" +
- " echobase_operation_spatial.operationid = operation.topiaid AND\n" +
- " operation.topiaid = sample.operation AND\n" +
- " sample.speciescategory = speciescategory.topiaid AND\n" +
- " sample.sampletype = sampletype.topiaid AND\n" +
- " speciescategory.sizecategory = sizecategory.topiaid AND\n" +
- " speciescategory.species = species.topiaid AND\n" +
- " sampletype.name = 'Total' AND\n" +
- " species.baracoudacode='TRAC-TRU';");
-
- queries.add("DROP VIEW IF EXISTS TotalSampleSpraSpr CASCADE;");
- queries.add("CREATE OR REPLACE VIEW TotalSampleSpraSpr AS\n" +
- "\n" +
- "SELECT \n" +
- " echobase_operation_spatial.voyageid, \n" +
- " operation.id AS operation_id, \n" +
- " echobase_operation_spatial.coordinate, \n" +
- " sampletype.name AS sampletype_name, \n" +
- " sample.sampleweight, \n" +
- " sizecategory.name AS sizecategory_name, \n" +
- " species.baracoudacode, \n" +
- " sample.topiaid\n" +
- "FROM \n" +
- " public.echobase_operation_spatial, \n" +
- " public.operation, \n" +
- " public.sample, \n" +
- " public.speciescategory, \n" +
- " public.sizecategory, \n" +
- " public.species, \n" +
- " public.sampletype\n" +
- "WHERE \n" +
- " echobase_operation_spatial.operationid = operation.topiaid AND\n" +
- " operation.topiaid = sample.operation AND\n" +
- " sample.speciescategory = speciescategory.topiaid AND\n" +
- " sample.sampletype = sampletype.topiaid AND\n" +
- " speciescategory.sizecategory = sizecategory.topiaid AND\n" +
- " speciescategory.species = species.topiaid AND\n" +
- " sampletype.name = 'Total' AND\n" +
- " species.baracoudacode='SPRA-SPR';");
-
- queries.add("DROP VIEW IF EXISTS TotalSampleScomSco CASCADE;");
- queries.add("CREATE OR REPLACE VIEW TotalSampleScomSco AS\n" +
- "\n" +
- "SELECT \n" +
- " echobase_operation_spatial.voyageid, \n" +
- " operation.id AS operation_id, \n" +
- " echobase_operation_spatial.coordinate, \n" +
- " sampletype.name AS sampletype_name, \n" +
- " sample.sampleweight, \n" +
- " sizecategory.name AS sizecategory_name, \n" +
- " species.baracoudacode, \n" +
- " sample.topiaid\n" +
- "FROM \n" +
- " public.echobase_operation_spatial, \n" +
- " public.operation, \n" +
- " public.sample, \n" +
- " public.speciescategory, \n" +
- " public.sizecategory, \n" +
- " public.species, \n" +
- " public.sampletype\n" +
- "WHERE \n" +
- " echobase_operation_spatial.operationid = operation.topiaid AND\n" +
- " operation.topiaid = sample.operation AND\n" +
- " sample.speciescategory = speciescategory.topiaid AND\n" +
- " sample.sampletype = sampletype.topiaid AND\n" +
- " speciescategory.sizecategory = sizecategory.topiaid AND\n" +
- " speciescategory.species = species.topiaid AND\n" +
- " sampletype.name = 'Total' AND\n" +
- " species.baracoudacode='SCOM-SCO';");
-
- queries.add("DROP VIEW IF EXISTS TotalSampleMicrPou CASCADE;");
- queries.add("CREATE OR REPLACE VIEW TotalSampleMicrPou AS\n" +
- "\n" +
- "SELECT \n" +
- " echobase_operation_spatial.voyageid, \n" +
- " operation.id AS operation_id, \n" +
- " echobase_operation_spatial.coordinate, \n" +
- " sampletype.name AS sampletype_name, \n" +
- " sample.sampleweight, \n" +
- " sizecategory.name AS sizecategory_name, \n" +
- " species.baracoudacode, \n" +
- " sample.topiaid\n" +
- "FROM \n" +
- " public.echobase_operation_spatial, \n" +
- " public.operation, \n" +
- " public.sample, \n" +
- " public.speciescategory, \n" +
- " public.sizecategory, \n" +
- " public.species, \n" +
- " public.sampletype\n" +
- "WHERE \n" +
- " echobase_operation_spatial.operationid = operation.topiaid AND\n" +
- " operation.topiaid = sample.operation AND\n" +
- " sample.speciescategory = speciescategory.topiaid AND\n" +
- " sample.sampletype = sampletype.topiaid AND\n" +
- " speciescategory.sizecategory = sizecategory.topiaid AND\n" +
- " speciescategory.species = species.topiaid AND\n" +
- " sampletype.name = 'Total' AND\n" +
- " species.baracoudacode='MICR-POU';");
-
- queries.add("DROP VIEW IF EXISTS TotalCatchSpOpWide CASCADE;");
- queries.add("CREATE OR REPLACE VIEW TotalCatchSpOpWide AS\n" +
- "\n" +
- "SELECT\n" +
- " echobase_operation_spatial.voyagename,\n" +
- " echobase_operation_spatial.operationname,\n" +
- " echobase_operation_spatial.coordinate,\n" +
- " (Select SUM(totalsampleengrenc.sampleweight) From totalsampleengrenc Where totalsampleengrenc.operation_id = echobase_operation_spatial.operationname) as TotalCatchENGRENC,\n" +
- " (Select SUM(totalsamplesardpil.sampleweight) From totalsamplesardpil Where totalsamplesardpil.operation_id = echobase_operation_spatial.operationname) as TotalCatchSARDPIL,\n" +
- " (Select SUM(totalsamplespraspr.sampleweight) From totalsamplespraspr Where totalsamplespraspr.operation_id = echobase_operation_spatial.operationname) as TotalCatchSPRASPR,\n" +
- " (Select SUM(totalsamplemicrpou.sampleweight) From totalsamplemicrpou Where totalsamplemicrpou.operation_id = echobase_operation_spatial.operationname) as TotalCatchMICRPOU,\n" +
- " (Select SUM(totalsamplescomsco.sampleweight) From totalsamplescomsco Where totalsamplescomsco.operation_id = echobase_operation_spatial.operationname) as TotalCatchSCOMSCO,\n" +
- " (Select SUM(totalsampletractru.sampleweight) From totalsampletractru Where totalsampletractru.operation_id = echobase_operation_spatial.operationname) as TotalCatchTRACTRU,\n" +
- " echobase_operation_spatial.operationid\n" +
- "From echobase_operation_spatial;");
-
- queries.add("DROP VIEW IF EXISTS cellmapview CASCADE;");
- queries.add("CREATE OR REPLACE VIEW cellmapview AS \n" +
- " SELECT echobase_cell_spatial.voyagename, echobase_cell_spatial.coordinate, echobase_cell_spatial.shape, datametadata.name, result.resultvalue, species.baracoudacode, echobase_cell_spatial.cellname, result.topiaid AS resultid\n" +
- " FROM echobase_cell_spatial, result, datametadata, category, speciescategory, species\n" +
- " WHERE echobase_cell_spatial.cellid::text = result.cell::text AND result.datametadata::text = datametadata.topiaid::text AND result.category::text = category.topiaid::text AND category.speciescategory::text = speciescategory.topiaid::text AND speciescategory.species::text = species.topiaid::text AND echobase_cell_spatial.celltypename::text = 'Map cell'::text;");
- }
-}
1
0
r920 - in trunk: echobase-domain/src/main/java/fr/ifremer/echobase/entities echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb echobase-domain/src/main/resources echobase-domain/src/main/resources/migration echobase-services/src/main/java/fr/ifremer/echobase/services/service/spatial echobase-services/src/main/resources
by tchemit@users.forge.codelutin.com 17 Dec '13
by tchemit@users.forge.codelutin.com 17 Dec '13
17 Dec '13
Author: tchemit
Date: 2013-12-17 03:03:00 +0100 (Tue, 17 Dec 2013)
New Revision: 920
Url: http://forge.codelutin.com/projects/echobase/repository/revisions/920
Log:
fix migration + isolate migration script
Added:
trunk/echobase-domain/src/main/resources/migration/
trunk/echobase-domain/src/main/resources/migration/postgis-structure-2.5.1.sql
trunk/echobase-domain/src/main/resources/migration/postgis-view-2.5.1.sql
Modified:
trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/EchoBasePersistenceContext.java
trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_5_1.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/spatial/SpatialService.java
trunk/echobase-services/src/main/resources/postgis-structure.sql
Modified: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/EchoBasePersistenceContext.java
===================================================================
--- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/EchoBasePersistenceContext.java 2013-12-17 01:53:04 UTC (rev 919)
+++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/EchoBasePersistenceContext.java 2013-12-17 02:03:00 UTC (rev 920)
@@ -36,9 +36,5 @@
*/
public interface EchoBasePersistenceContext extends TopiaTransaction, TopiaPersistenceContext, TopiaSqlSupport {
- String POSTGIS_STRUCTURE_SQL = "/postgis-structure.sql";
-
- String POSTGIS_VIEW_SQL = "/postgis-view.sql";
-
TopiaContext getContext();
}
Modified: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_5_1.java
===================================================================
--- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_5_1.java 2013-12-17 01:53:04 UTC (rev 919)
+++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallBackForVersion2_5_1.java 2013-12-17 02:03:00 UTC (rev 920)
@@ -40,6 +40,10 @@
*/
public class MigrationCallBackForVersion2_5_1 extends MigrationCallBackForVersion {
+ public static final String POSTGIS_STRUCTURE_SQL = "/migration/postgis-structure-2.5.1.sql";
+
+ public static final String POSTGIS_VIEW_SQL = "/migration/postgis-view-2.5.1.sql";
+
@Override
public Version getVersion() {
return new Version("2.5.1");
@@ -70,7 +74,7 @@
}
protected void updatePostgis(List<String> queries) {
- queries.add(EchoBaseIOUtil.loadScript(EchoBasePersistenceContext.POSTGIS_STRUCTURE_SQL));
- queries.add(EchoBaseIOUtil.loadScript(EchoBasePersistenceContext.POSTGIS_VIEW_SQL));
+ queries.add(EchoBaseIOUtil.loadScript(POSTGIS_STRUCTURE_SQL));
+ queries.add(EchoBaseIOUtil.loadScript(POSTGIS_VIEW_SQL));
}
}
Copied: trunk/echobase-domain/src/main/resources/migration/postgis-structure-2.5.1.sql (from rev 919, trunk/echobase-services/src/main/resources/postgis-structure.sql)
===================================================================
--- trunk/echobase-domain/src/main/resources/migration/postgis-structure-2.5.1.sql (rev 0)
+++ trunk/echobase-domain/src/main/resources/migration/postgis-structure-2.5.1.sql 2013-12-17 02:03:00 UTC (rev 920)
@@ -0,0 +1,1218 @@
+---
+-- #%L
+-- EchoBase :: UI
+-- $Id$
+-- $HeadURL$
+-- %%
+-- Copyright (C) 2011 - 2013 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%
+---
+CREATE EXTENSION IF NOT EXISTS postgis;
+
+DROP VIEW IF EXISTS TotalCatchSpOpWide CASCADE;
+DROP VIEW IF EXISTS echobase_cell_spatial_data CASCADE;
+DROP VIEW IF EXISTS echobase_cell_spatial_result CASCADE;
+DROP VIEW IF EXISTS TotalSampleEngrEnc CASCADE;
+DROP VIEW IF EXISTS TotalSampleSardPil CASCADE;
+DROP VIEW IF EXISTS TotalSampleTracTru CASCADE;
+DROP VIEW IF EXISTS TotalSampleSpraSpr CASCADE;
+DROP VIEW IF EXISTS TotalSampleScomSco CASCADE;
+DROP VIEW IF EXISTS TotalSampleMicrPou CASCADE;
+DROP VIEW IF EXISTS cellmapview CASCADE;
+
+DROP INDEX IF EXISTS echobase_cell_spatial_coordinate_gix CASCADE;
+DROP INDEX IF EXISTS echobase_cell_spatial_coordinate3D_gix CASCADE;
+DROP INDEX IF EXISTS echobase_cell_spatial_shape_gix CASCADE;
+DROP INDEX IF EXISTS echobase_cell_spatial_voyageid_idx CASCADE;
+DROP TABLE IF EXISTS echobase_cell_spatial CASCADE;
+DROP TABLE IF EXISTS echobase_cell_spatial_temp CASCADE;
+
+DROP TRIGGER IF EXISTS echobase_fill_cell_spatial_work_table_trigger ON data CASCADE;
+DROP FUNCTION IF EXISTS echobase_fill_spatial_temp_table() CASCADE;
+DROP FUNCTION IF EXISTS echobase_fill_cell_spatial_temp_table() CASCADE;
+DROP TRIGGER IF EXISTS echobase_delete_cell ON cell CASCADE;
+DROP FUNCTION IF EXISTS echobase_delete_cell() CASCADE;
+DROP FUNCTION IF EXISTS echobase_compute_all_cell_spatial_data() CASCADE;
+DROP FUNCTION IF EXISTS echobase_fill_cell_spatial_table() CASCADE;
+DROP FUNCTION IF EXISTS echobase_fill_cell_spatial_row(cell_id VARCHAR) CASCADE;
+DROP FUNCTION IF EXISTS echobase_fill_esdu_cell_spatial_table(cell_id VARCHAR) CASCADE;
+DROP FUNCTION IF EXISTS echobase_fill_elementary_cell_spatial_table(cell_id VARCHAR) CASCADE;
+DROP FUNCTION IF EXISTS echobase_fill_region_cell_spatial_table(cell_id VARCHAR) CASCADE;
+DROP FUNCTION IF EXISTS echobase_fill_map_cell_spatial_table(cell_id VARCHAR) CASCADE;
+DROP FUNCTION IF EXISTS echobase_create_echobase_cell_spatial_row(
+cell_id VARCHAR,
+coordinateText VARCHAR,
+coordinate3dText VARCHAR,
+shapeText VARCHAR) CASCADE;
+DROP FUNCTION IF EXISTS echobase_get_cell_type(cell_id VARCHAR) CASCADE;
+
+
+DROP INDEX IF EXISTS echobase_operation_spatial_coordinate_gix;
+DROP INDEX IF EXISTS echobase_operation_spatial_voyageid_idx;
+DROP TABLE IF EXISTS echobase_operation_spatial CASCADE ;
+DROP TABLE IF EXISTS echobase_operation_spatial_temp CASCADE;
+DROP TRIGGER IF EXISTS echobase_fill_operation_spatial_work_table_trigger ON operation CASCADE;
+DROP FUNCTION IF EXISTS echobase_fill_operation_spatial_temp_table() CASCADE;
+DROP TRIGGER IF EXISTS echobase_delete_operation ON operation CASCADE;
+DROP FUNCTION IF EXISTS echobase_delete_operation() CASCADE;
+DROP FUNCTION IF EXISTS echobase_compute_all_operation_spatial_data() CASCADE;
+DROP FUNCTION IF EXISTS echobase_fill_operation_spatial_table() CASCADE;
+DROP FUNCTION IF EXISTS echobase_fill_operation_spatial_row(operation_id VARCHAR) CASCADE;
+DROP FUNCTION IF EXISTS echobase_create_echobase_operation_spatial_row(
+operation_id VARCHAR,
+coordinateText VARCHAR) CASCADE;
+DROP FUNCTION IF EXISTS echobase_latitudetext_to_dd(latitude VARCHAR) CASCADE;
+DROP FUNCTION IF EXISTS echobase_longitudetext_to_dd(longitude VARCHAR) CASCADE;
+DROP FUNCTION IF EXISTS echobase_dms2dd(D INTEGER, M INTEGER, S INTEGER, HEMI CHARACTER VARYING(1)) CASCADE;
+DROP FUNCTION IF EXISTS echobase_compute_all_spatial_data() CASCADE;
+
+--------------------------------------------------------------------------------
+-- Table spatial pour les cellules ---------------------------------------------
+--------------------------------------------------------------------------------
+
+CREATE TABLE echobase_cell_spatial (
+ voyageid VARCHAR(256) NOT NULL,
+ voyagename VARCHAR(256),
+ transitid VARCHAR(256),
+ transitname VARCHAR(256),
+ transectid VARCHAR(256),
+ transectname VARCHAR(256),
+ dataAcquisitionid VARCHAR(256),
+ dataAcquisitionname VARCHAR(256),
+ dataProcessingid VARCHAR(256),
+ dataProcessingname VARCHAR(256),
+ celltypeid VARCHAR(256) NOT NULL,
+ celltypename VARCHAR(256) NOT NULL,
+ cellid VARCHAR(256) PRIMARY KEY,
+ cellname VARCHAR(256) NOT NULL,
+ lastUpdateDate TIMESTAMP NOT NULL,
+ FOREIGN KEY (cellid) REFERENCES cell (topiaid),
+ FOREIGN KEY (celltypeid) REFERENCES celltype (topiaid),
+ FOREIGN KEY (dataacquisitionid) REFERENCES dataacquisition (topiaid),
+ FOREIGN KEY (dataprocessingid) REFERENCES dataprocessing (topiaid),
+ FOREIGN KEY (transectid) REFERENCES transect (topiaid),
+ FOREIGN KEY (transitid) REFERENCES transit (topiaid),
+ FOREIGN KEY (voyageid) REFERENCES voyage (topiaid)
+);
+
+SELECT AddGeometryColumn('echobase_cell_spatial', 'coordinate', 4326, 'POINT',2 );
+SELECT AddGeometryColumn('echobase_cell_spatial', 'coordinate3d', 4326, 'POINT',3);
+SELECT AddGeometryColumn('echobase_cell_spatial', 'shape', 4326, 'POLYGON',2 );
+
+CREATE INDEX echobase_cell_spatial_coordinate_gix ON echobase_cell_spatial USING GIST (coordinate);
+CREATE INDEX echobase_cell_spatial_coordinate3D_gix ON echobase_cell_spatial USING GIST (coordinate3d);
+CREATE INDEX echobase_cell_spatial_shape_gix ON echobase_cell_spatial USING GIST (shape);
+CREATE INDEX echobase_cell_spatial_voyageid_idx ON echobase_cell_spatial USING BTREE(voyageid);
+
+-- pour stoquer les traitements spatiaux a effectuer
+
+CREATE TABLE echobase_cell_spatial_temp (
+ cellid VARCHAR(256) PRIMARY KEY,
+ celltype VARCHAR(256) NOT NULL,
+ FOREIGN KEY (cellid) REFERENCES cell (topiaid)
+);
+
+--
+-- Trigger qui met à jour la table des traitements spatiaux à faire
+--
+
+CREATE OR REPLACE FUNCTION echobase_fill_cell_spatial_temp_table()
+ RETURNS TRIGGER AS $$
+DECLARE
+ cell_id VARCHAR;
+ data_type_id VARCHAR;
+ cellType VARCHAR;
+ dataType VARCHAR;
+ doInsert BOOLEAN;
+ result RECORD;
+BEGIN
+
+ IF (TG_OP = 'DELETE')
+ THEN
+ result = OLD;
+ ELSE
+ result = NEW;
+ END IF;
+
+ cell_id = result.cell;
+ data_type_id = result.datametadata;
+ doInsert = FALSE;
+-- recuperation du type de la cellule
+ cellType = echobase_get_cell_type(cell_id);
+
+ IF (SELECT
+ count(*)
+ FROM echobase_cell_spatial_temp c
+ WHERE c.cellid = cell_id) > 0
+ THEN
+-- la cellule est deja a traitee
+ RETURN result;
+ END IF;
+-- recuperation du type de la la data
+ SELECT
+ dt.name
+ INTO dataType
+ FROM datametadata dt
+ WHERE dt.topiaId = data_type_id;
+
+ CASE cellType
+ WHEN 'ESDU'
+ THEN
+-- Cell of type Esdu
+ CASE dataType
+ WHEN 'LatitudeStart', 'LatitudeBary', 'LatitudeEnd', 'LongitudeStart', 'LongitudeBary', 'LongitudeEnd'
+ THEN
+ doInsert = TRUE;
+ ELSE
+ doInsert = FALSE;
+ END CASE;
+ WHEN 'ELEMENTARY'
+ THEN
+-- Cell of type Elementary
+ CASE dataType
+ WHEN 'LatitudeStart', 'LatitudeBary', 'LatitudeEnd', 'LongitudeStart', 'LongitudeBary', 'LongitudeEnd', 'DepthRefSurfaceStart', 'DepthRefSurfaceEnd', 'DepthRefBottomStart', 'DepthRefBottomEnd'
+ THEN
+ doInsert = TRUE;
+ ELSE
+ doInsert = FALSE;
+ END CASE;
+ WHEN 'REGION', 'REGIONSURF', 'REGIONCLAS'
+ THEN
+-- Cell of type Region
+ CASE dataType
+ WHEN 'RegionEnvCoordinates'
+ THEN
+ doInsert = TRUE;
+ cellType = 'REGION';
+ ELSE
+ doInsert = FALSE;
+ END CASE;
+ WHEN 'MAP'
+ THEN
+-- Cell of type Map
+ CASE dataType
+ WHEN 'GridCellLatitude', 'GridCellLongitude', 'GridLatitudeLag', 'GridLongitudeLag'
+ THEN
+ doInsert = TRUE;
+ ELSE
+ doInsert = FALSE;
+ END CASE;
+ END CASE;
+
+ IF doInsert = TRUE
+ THEN
+--- Ajout de la cellule dans la table des traitements à effectuer
+ RAISE DEBUG 'Add cell % [type %] to echobase_cell_spatial_temp', cell_id, cellType;
+ INSERT INTO echobase_cell_spatial_temp (cellid, celltype) VALUES (cell_id, cellType);
+ END IF;
+
+ RETURN result;
+END
+$$
+LANGUAGE 'plpgsql';
+
+CREATE TRIGGER echobase_fill_cell_spatial_work_table_trigger
+AFTER INSERT OR UPDATE ON data
+FOR EACH ROW WHEN (NEW.cell IS NOT
+ NULL) EXECUTE PROCEDURE echobase_fill_cell_spatial_temp_table();
+
+--
+-- Trigger qui met à jour la table des traitements spatiaux à faire lors d
+-- 'une suppression de cellule
+--
+
+CREATE OR REPLACE FUNCTION echobase_delete_cell()
+ RETURNS TRIGGER AS $$
+BEGIN
+
+ RAISE DEBUG 'Delete cell % , delete cascade in echobase_cell_spatial_table', OLD.topiaid;
+
+ DELETE FROM echobase_cell_spatial WHERE cellid = OLD.topiaid;
+
+ RETURN OLD;
+END
+$$
+LANGUAGE 'plpgsql';
+
+CREATE TRIGGER echobase_delete_cell
+BEFORE DELETE ON cell
+FOR EACH ROW EXECUTE PROCEDURE echobase_delete_cell();
+
+--
+-- Mettre a jour toutes les données spatiales de cellule
+--
+
+CREATE OR REPLACE FUNCTION echobase_compute_all_cell_spatial_data()
+ RETURNS VOID AS $$
+DECLARE cell_id VARCHAR;
+BEGIN
+ DELETE FROM echobase_cell_spatial;
+
+ FOR cell_id IN SELECT topiaid FROM cell LOOP
+ PERFORM echobase_fill_cell_spatial_row(cell_id);
+ END LOOP;
+END
+$$
+LANGUAGE plpgsql;
+
+--
+-- Mettre a jour la table echobase_cell_spatial depuis echobase_cell_spatial_temp
+--
+
+CREATE OR REPLACE FUNCTION echobase_fill_cell_spatial_table()
+ RETURNS VOID AS $$
+DECLARE
+ cellRow RECORD;
+BEGIN
+ FOR cellRow IN SELECT
+ *
+ FROM echobase_cell_spatial_temp LOOP
+
+ PERFORM echobase_fill_cell_spatial_row(cellRow.cellid);
+
+ END LOOP;
+
+ DELETE FROM echobase_cell_spatial_temp;
+
+END
+$$
+LANGUAGE plpgsql;
+
+CREATE OR REPLACE FUNCTION echobase_fill_cell_spatial_row(cell_id VARCHAR)
+ RETURNS VOID AS $$
+ DECLARE cell_type VARCHAR;
+BEGIN
+
+ cell_type = echobase_get_cell_type(cell_id);
+
+ RAISE DEBUG 'Treat spatial cell % [type %] ...', cell_id, cell_type;
+ CASE cell_type
+ WHEN 'ESDU'
+ THEN
+ EXECUTE echobase_fill_esdu_cell_spatial_table(cell_id);
+ WHEN 'ELEMENTARY'
+ THEN
+ EXECUTE echobase_fill_elementary_cell_spatial_table(cell_id);
+ WHEN 'REGION'
+ THEN
+ EXECUTE echobase_fill_region_cell_spatial_table(cell_id);
+ WHEN 'MAP'
+ THEN
+ EXECUTE echobase_fill_map_cell_spatial_table(cell_id);
+ ELSE
+ RAISE LOG 'Can not deal with celltype % (cell %)', cell_type, cell_id;
+ END CASE;
+END
+$$
+LANGUAGE plpgsql;
+
+CREATE OR REPLACE FUNCTION echobase_fill_esdu_cell_spatial_table(
+ cell_id VARCHAR)
+ RETURNS VOID AS $$
+DECLARE
+ latitude VARCHAR;
+ longitude VARCHAR;
+ depth RECORD;
+ spatialText VARCHAR;
+ latitudeNumber REAL;
+ longitudeNumber REAL;
+BEGIN
+ RAISE DEBUG 'Treat esdu cell % ', cell_id;
+-- test if start / bary / end event
+ SELECT
+ d.datavalue
+ INTO latitude
+ FROM data d LEFT OUTER JOIN datametadata AS dm
+ ON d.datametadata = dm.topiaid
+ WHERE d.cell = cell_id AND dm.name = 'LatitudeStart';
+ IF FOUND
+ THEN
+-- start data
+ RAISE DEBUG 'Treat esdu Start cell % ', cell_id;
+ SELECT
+ d.datavalue
+ INTO longitude
+ FROM data d LEFT OUTER JOIN datametadata AS dm
+ ON d.datametadata = dm.topiaid
+ WHERE d.cell = cell_id AND dm.name = 'LongitudeStart';
+ ELSE
+ SELECT
+ d.datavalue
+ INTO latitude
+ FROM data d LEFT OUTER JOIN datametadata AS dm
+ ON d.datametadata = dm.topiaid
+ WHERE d.cell = cell_id AND dm.name = 'LatitudeBary';
+ IF FOUND
+ THEN
+-- bary data
+ RAISE DEBUG 'Treat esdu Bary cell %', cell_id;
+ SELECT
+ d.datavalue
+ INTO longitude
+ FROM data d LEFT OUTER JOIN datametadata AS dm
+ ON d.datametadata = dm.topiaid
+ WHERE d.cell = cell_id AND dm.name = 'LongitudeBary';
+ ELSE
+ SELECT
+ d.datavalue
+ INTO latitude
+ FROM data d LEFT OUTER JOIN datametadata AS dm
+ ON d.datametadata = dm.topiaid
+ WHERE d.cell = cell_id AND dm.name = 'LatitudeEnd';
+ IF FOUND
+ THEN
+-- end data
+ RAISE DEBUG 'Treat End cell %', cell_id;
+ SELECT
+ d.datavalue
+ INTO longitude
+ FROM data d LEFT OUTER JOIN datametadata AS dm
+ ON d.datametadata = dm.topiaid
+ WHERE d.cell = cell_id AND dm.name = 'LongitudeEnd';
+ ELSE
+-- no spatial data
+ RAISE LOG 'Could not find spatial data for cell %', cell_id;
+ RETURN;
+ END IF;
+ END IF;
+ END IF;
+
+-- convert dms latitude to dd latitude
+ SELECT
+ echobase_latitudetext_to_dd(latitude)
+ INTO latitudeNumber;
+
+ IF latitude IS NOT NULL AND latitudeNumber IS NULL
+ THEN
+ latitudeNumber := latitude :: REAL;
+ END IF;
+
+-- convert dms longitude to dd longitude
+ SELECT
+ echobase_longitudetext_to_dd(longitude)
+ INTO longitudeNumber;
+
+ IF longitude IS NOT NULL AND longitudeNumber IS NULL
+ THEN
+ longitudeNumber := longitude :: REAL;
+ END IF;
+
+ SELECT
+ 'SRID=4326;POINT(' || longitudeNumber || ' ' || latitudeNumber || ')'
+ INTO spatialText;
+ RAISE DEBUG 'spatial data % for cell %', spatialText, cell_id;
+
+ PERFORM echobase_create_echobase_cell_spatial_row(cell_id,
+ spatialText,
+ NULL,
+ NULL);
+END
+$$ LANGUAGE plpgsql;
+
+CREATE OR REPLACE FUNCTION echobase_fill_elementary_cell_spatial_table(
+ cell_id VARCHAR)
+ RETURNS VOID AS $$
+DECLARE
+ latitude VARCHAR;
+ longitude VARCHAR;
+ depth VARCHAR;
+ spatialText VARCHAR;
+ latitudeNumber REAL;
+ longitudeNumber REAL;
+BEGIN
+ RAISE DEBUG 'Treat elementary cell % ', cell_id;
+-- try start elementary
+ SELECT
+ d.datavalue
+ INTO latitude
+ FROM data d LEFT OUTER JOIN datametadata AS dm
+ ON d.datametadata = dm.topiaid
+ WHERE d.cell = cell_id AND dm.name = 'LatitudeStart';
+ IF FOUND
+ THEN
+-- this is a start elementary
+ RAISE DEBUG 'Treat elementary Start cell % ', cell_id;
+-- get longitude
+ SELECT
+ d.datavalue
+ INTO longitude
+ FROM data d LEFT OUTER JOIN datametadata AS dm
+ ON d.datametadata = dm.topiaid
+ WHERE d.cell = cell_id AND dm.name = 'LongitudeStart';
+-- get depth (try first surface one)
+ SELECT
+ d.datavalue
+ INTO depth
+ FROM data d LEFT OUTER JOIN datametadata AS dm
+ ON d.datametadata = dm.topiaid
+ WHERE d.cell = cell_id AND dm.name = 'DepthRefSurfaceStart';
+ IF NOT FOUND
+ THEN
+-- try then bottom
+ SELECT
+ d.datavalue
+ INTO depth
+ FROM data d LEFT OUTER JOIN datametadata AS dm
+ ON d.datametadata = dm.topiaid
+ WHERE d.cell = cell_id AND dm.name = 'DepthRefBottomStart';
+ END IF;
+ ELSE
+-- try bary elementary
+ SELECT
+ d.datavalue
+ INTO latitude
+ FROM data d LEFT OUTER JOIN datametadata AS dm
+ ON d.datametadata = dm.topiaid
+ WHERE d.cell = cell_id AND dm.name = 'LatitudeBary';
+ IF FOUND
+ THEN
+-- this is a bary elementary
+ RAISE DEBUG 'Treat elementary Bary cell %', cell_id;
+ SELECT
+ d.datavalue
+ INTO longitude
+ FROM data d LEFT OUTER JOIN datametadata AS dm
+ ON d.datametadata = dm.topiaid
+ WHERE d.cell = cell_id AND dm.name = 'LongitudeBary';
+ SELECT
+ d.datavalue
+ INTO depth
+ FROM data d LEFT OUTER JOIN datametadata AS dm
+ ON d.datametadata = dm.topiaid
+ WHERE d.cell = cell_id AND dm.name = 'DepthRefSurfaceBary';
+ IF NOT FOUND
+ THEN
+-- use depth bottom
+ SELECT
+ d.datavalue
+ INTO depth
+ FROM data d LEFT OUTER JOIN datametadata AS dm
+ ON d.datametadata = dm.topiaid
+ WHERE d.cell = cell_id AND dm.name = 'DepthRefBottomBary';
+ END IF;
+ ELSE
+-- try end elementary
+ SELECT
+ d.datavalue
+ INTO latitude
+ FROM data d LEFT OUTER JOIN datametadata AS dm
+ ON d.datametadata = dm.topiaid
+ WHERE d.cell = cell_id AND dm.name = 'LatitudeEnd';
+ IF FOUND
+ THEN
+-- this is a end elementary
+ RAISE DEBUG 'Treat elementary End cell %', cell_id;
+ SELECT
+ d.datavalue
+ INTO longitude
+ FROM data d LEFT OUTER JOIN datametadata AS dm
+ ON d.datametadata = dm.topiaid
+ WHERE d.cell = cell_id AND dm.name = 'LongitudeEnd';
+ SELECT
+ d.datavalue
+ INTO depth
+ FROM data d LEFT OUTER JOIN datametadata AS dm
+ ON d.datametadata = dm.topiaid
+ WHERE d.cell = cell_id AND dm.name = 'DepthRefSurfaceEnd';
+ IF NOT FOUND
+ THEN
+-- use depth bottom
+ SELECT
+ d.datavalue
+ INTO depth
+ FROM data d LEFT OUTER JOIN datametadata AS dm
+ ON d.datametadata = dm.topiaid
+ WHERE d.cell = cell_id AND dm.name = 'DepthRefBottomEnd';
+ END IF;
+ ELSE
+-- no spatial data
+ RAISE DEBUG 'Could not find spatial data for cell %', cell_id;
+ RETURN;
+ END IF;
+ END IF;
+ END IF;
+
+-- convert dms latitude to dd latitude
+ SELECT
+ echobase_latitudetext_to_dd(latitude)
+ INTO latitudeNumber;
+
+ IF latitude IS NOT NULL AND latitudeNumber IS NULL
+ THEN
+ latitudeNumber := latitude :: REAL;
+ END IF;
+
+-- convert dms longitude to dd longitude
+ SELECT
+ echobase_longitudetext_to_dd(longitude)
+ INTO longitudeNumber;
+
+ IF longitude IS NOT NULL AND longitudeNumber IS NULL
+ THEN
+ longitudeNumber := longitude :: REAL;
+ END IF;
+
+ SELECT
+ 'SRID=4326;POINT(' || longitudeNumber || ' ' || latitudeNumber || ' ' ||
+ depth || ')'
+ INTO spatialText;
+ RAISE DEBUG 'spatial data % for cell %', spatialText, cell_id;
+
+ PERFORM echobase_create_echobase_cell_spatial_row(cell_id,
+ NULL,
+ spatialText,
+ NULL);
+END
+$$ LANGUAGE plpgsql;
+
+CREATE OR REPLACE FUNCTION echobase_fill_region_cell_spatial_table(cell_id VARCHAR)
+ RETURNS VOID AS $$
+DECLARE
+ latitude REAL;
+ longitude REAL;
+ depth REAL;
+ dataMetadataId VARCHAR;
+ dataValue VARCHAR;
+ spatialText VARCHAR := 'POLYGON((';
+BEGIN
+ RAISE DEBUG 'Treat region cell %', cell_id;
+ SELECT
+ topiaid
+ INTO dataMetadataId
+ FROM datametadata
+ WHERE name = 'RegionEnvCoordinates';
+ FOR dataValue IN SELECT
+ d.datavalue
+ FROM data d
+ WHERE d.cell = cell_id AND d.datametadata = dataMetadataId
+ ORDER BY d.topiacreatedate LOOP
+-- split dataValue in lat - long - depth
+ SELECT
+ split_part(dataValue, ' ', 1) :: REAL
+ INTO latitude;
+ SELECT
+ split_part(dataValue, ' ', 2) :: REAL
+ INTO longitude;
+ SELECT
+ split_part(dataValue, ' ', 3) :: REAL
+ INTO depth;
+ SELECT
+ spatialText || longitude || ' ' || latitude || ','
+ INTO spatialText;
+ END LOOP;
+ SELECT
+ left(spatialText, -1) || '))'
+ INTO spatialText;
+
+ SELECT 'SRID=4326;' || spatialText INTO spatialText;
+
+ RAISE DEBUG 'spatial data % for cell %', spatialText, cell_id;
+
+ PERFORM echobase_create_echobase_cell_spatial_row(cell_id,
+ NULL,
+ NULL,
+ spatialText);
+END
+$$ LANGUAGE plpgsql;
+
+CREATE OR REPLACE FUNCTION echobase_fill_map_cell_spatial_table(cell_id VARCHAR)
+ RETURNS VOID AS $$
+DECLARE
+ latitude REAL;
+ longitude REAL;
+ deltaLatitude REAL;
+ deltaLongitude REAL;
+ P0 VARCHAR;
+ P1 VARCHAR;
+ P2 VARCHAR;
+ P3 VARCHAR;
+ spatialText VARCHAR;
+BEGIN
+ RAISE DEBUG 'Treat map cell % ', cell_id;
+-- get GridCellLatitude
+ SELECT
+ d.datavalue :: REAL
+ INTO latitude
+ FROM data d LEFT OUTER JOIN datametadata AS dm
+ ON d.datametadata = dm.topiaid
+ WHERE d.cell = cell_id AND dm.name = 'GridCellLatitude';
+-- get GridCellLatitude
+ SELECT
+ d.datavalue :: REAL
+ INTO longitude
+ FROM data d LEFT OUTER JOIN datametadata AS dm
+ ON d.datametadata = dm.topiaid
+ WHERE d.cell = cell_id AND dm.name = 'GridCellLongitude';
+-- get GridCellLatitude
+ SELECT
+ d.datavalue :: REAL
+ INTO deltaLatitude
+ FROM data d LEFT OUTER JOIN datametadata AS dm
+ ON d.datametadata = dm.topiaid
+ WHERE d.cell = cell_id AND dm.name = 'GridLatitudeLag';
+-- get GridCellLatitude
+ SELECT
+ d.datavalue :: REAL
+ INTO deltaLongitude
+ FROM data d LEFT OUTER JOIN datametadata AS dm
+ ON d.datametadata = dm.topiaid
+ WHERE d.cell = cell_id AND dm.name = 'GridLongitudeLag';
+
+ IF
+ latitude IS NOT NULL AND longitude IS NOT NULL AND deltaLatitude IS NOT NULL
+ AND deltaLongitude IS NOT NULL
+ THEN
+ SELECT
+ longitude || ' ' || latitude
+ INTO P0;
+ SELECT
+ longitude || ' ' || latitude + deltaLatitude
+ INTO P1;
+ SELECT
+ longitude + deltaLongitude || ' ' || latitude + deltaLatitude
+ INTO P2;
+ SELECT
+ longitude + deltaLongitude || ' ' || latitude
+ INTO P3;
+
+ SELECT
+ 'SRID=4326;POLYGON((' || p0 || ',' || P1 || ',' || P2 || ',' || P3 || ',' || P0 ||
+ '))'
+ INTO spatialText;
+ RAISE DEBUG 'spatial data % for cell %', spatialText, cell_id;
+
+ PERFORM echobase_create_echobase_cell_spatial_row(cell_id,
+ NULL,
+ NULL,
+ spatialText);
+ END IF;
+END
+$$ LANGUAGE plpgsql;
+
+-- procedure pour creer (ou mettre à jour) une ligne dans echobase_cell_spatial
+
+CREATE OR REPLACE FUNCTION echobase_create_echobase_cell_spatial_row(
+ cell_id VARCHAR,
+ coordinateText VARCHAR,
+ coordinate3dText VARCHAR,
+ shapeText VARCHAR)
+ RETURNS VOID AS $$
+DECLARE
+ cellSpatialRow RECORD;
+ voyageId VARCHAR;
+ voyageName VARCHAR;
+ transitId VARCHAR;
+ transitName VARCHAR;
+ transectId VARCHAR;
+ transectName VARCHAR;
+ dataAcquisitionId VARCHAR;
+ dataAcquisitionName VARCHAR;
+ dataProcessingId VARCHAR;
+ dataProcessingName VARCHAR;
+ cellName VARCHAR;
+ cellTypeId VARCHAR;
+ cellTypeName VARCHAR;
+ cellParentId VARCHAR;
+ cellRow RECORD;
+ coordinateData GEOMETRY;
+ coordinate3dData GEOMETRY;
+ shapeData GEOMETRY;
+BEGIN
+ IF coordinateText IS NULL AND coordinate3dText IS NULL AND
+ shapeText IS NULL
+ THEN
+ RAISE DEBUG 'Could not find spatial data for cell %', cell_id;
+ RETURN;
+ END IF;
+ IF coordinateText IS NOT NULL
+ THEN
+ BEGIN
+ coordinateData = ST_GeomFromEWKT(coordinateText);
+ EXCEPTION WHEN internal_error
+ THEN
+
+ RAISE LOG 'Could not create coordinate spatial data %', coordinateText;
+ RETURN;
+ END;
+ ELSEIF coordinate3dText IS NOT NULL
+ THEN
+ BEGIN
+ coordinate3dData = ST_GeomFromEWKT(coordinate3dText);
+ EXCEPTION WHEN internal_error
+ THEN
+
+ RAISE LOG 'Could not create coordinate3D spatial data %', coordinate3dText;
+ RETURN;
+ END;
+ ELSEIF shapeText IS NOT NULL
+ THEN
+ BEGIN
+ shapeData = ST_GeomFromEWKT(shapeText);
+ EXCEPTION WHEN internal_error
+ THEN
+
+ RAISE LOG 'Could not create shape spatial data %', shapeText;
+ RETURN;
+ END;
+ END IF;
+
+ SELECT
+ *
+ INTO cellSpatialRow
+ FROM echobase_cell_spatial cs
+ WHERE cs.cellid = cell_id;
+ IF NOT FOUND
+ THEN
+-- create row
+ RAISE DEBUG 'Will create spatial cell %', cell_id;
+ SELECT
+ cell_id
+ INTO cellParentId;
+ LOOP
+ IF dataProcessingId IS NULL
+ THEN
+-- try to get dataprocessingId from this cell
+ SELECT
+ dp.topiaid,
+ dp.processingdescription
+ INTO dataProcessingId
+ FROM dataprocessing dp, cell c
+ WHERE c.topiaid = cellParentId AND dp.topiaid = c.dataprocessing;
+ END IF;
+ SELECT
+ topiaid,
+ cell
+ INTO cellRow
+ FROM cell
+ WHERE topiaid = cellParentId;
+ EXIT WHEN cellRow.cell IS NULL;
+ SELECT
+ cellRow.cell
+ INTO cellParentId;
+ END LOOP;
+ RAISE DEBUG 'use cell parentId %', cellParentId;
+-- get cell infos
+ SELECT
+ c.name,
+ ct.name,
+ ct.topiaid
+ INTO cellName, cellTypeName, cellTypeId
+ FROM cell c, celltype ct
+ WHERE c.topiaid = cell_id AND c.celltype = ct.topiaid;
+
+ IF dataProcessingId IS NULL
+ THEN
+-- get voyage infos
+ SELECT
+ v.topiaid,
+ v.name
+ INTO voyageId, voyageName
+ FROM voyage v, cell c
+ WHERE c.topiaid = cellParentId AND v.topiaid = c.voyage;
+ ELSE
+
+-- get dataAcquisition infos
+ SELECT
+ da.topiaid,
+ da.acousticinstrument
+ INTO dataAcquisitionId, dataAcquisitionName
+ FROM dataacquisition da, dataprocessing dp
+ WHERE dp.topiaId = dataProcessingId AND da.topiaid = dp.dataacquisition;
+-- get transect infos
+ SELECT
+ t.topiaid,
+ t.vessel
+ INTO transectId, transitName
+ FROM transect t, dataacquisition da
+ WHERE da.topiaid = dataAcquisitionId AND t.topiaid = da.transect;
+-- get transit infos
+ SELECT
+ t.topiaid,
+ (t.starttime || ' - ' || t.endtime)
+ INTO transitId, transitName
+ FROM transit t, transect tt
+ WHERE tt.topiaid = transectId AND t.topiaid = tt.transit;
+-- get voyage infos
+ SELECT
+ v.topiaid,
+ v.name
+ INTO voyageId, voyageName
+ FROM voyage v, transit t
+ WHERE t.topiaid = transitId AND v.topiaid = t.voyage;
+ END IF;
+ INSERT INTO echobase_cell_spatial (lastUpdateDate, voyageid, voyagename, transitid, transitname, transectid, transectname, dataacquisitionid, dataacquisitionname, dataprocessingid, dataprocessingname, celltypeid, celltypename, cellid, cellname, coordinate, coordinate3d, shape)
+ VALUES (now(), voyageId, voyageName, transitId, transitName, transectId, transectName, dataAcquisitionId, dataAcquisitionName, dataProcessingId, dataProcessingName, cellTypeId, cellTypeName, cell_id, cellName, coordinateData, coordinate3dData, shapeData);
+ ELSE
+-- update row
+ RAISE DEBUG 'Will update spatial cell % ', cell_id;
+ UPDATE echobase_cell_spatial
+ SET coordinate = coordinateData,
+ coordinate3d = coordinate3dData,
+ shape = shapeData
+ WHERE cellid = cell_id;
+ END IF;
+END
+$$ LANGUAGE plpgsql;
+
+-- pour obtenir le type d'une cellule sous forme ESDU - ELEMENTARY - REGION ou MAP
+CREATE OR REPLACE FUNCTION echobase_get_cell_type(cell_id VARCHAR)
+ RETURNS VARCHAR AS $$
+DECLARE result VARCHAR;
+BEGIN
+ SELECT
+ UPPER(ct.id)
+ INTO result
+ FROM celltype ct, cell ce
+ WHERE ce.topiaid = cell_id AND ct.topiaId = ce.celltype;
+ IF 'REGIONCLAS' = result OR 'REGIONSURF' = result
+ THEN
+ result = 'REGION';
+ END IF;
+ RETURN result;
+END
+$$
+LANGUAGE plpgsql;
+
+--------------------------------------------------------------------------------
+-- Table spatial pour les operations -------------------------------------------
+--------------------------------------------------------------------------------
+
+CREATE TABLE echobase_operation_spatial (
+ voyageid VARCHAR(256) NOT NULL,
+ voyagename VARCHAR(256),
+ transitid VARCHAR(256),
+ transitname VARCHAR(256),
+ transectid VARCHAR(256),
+ transectname VARCHAR(256),
+ operationid VARCHAR(256) PRIMARY KEY,
+ operationname VARCHAR(256) NOT NULL,
+ lastUpdateDate TIMESTAMP NOT NULL,
+ FOREIGN KEY (operationid) REFERENCES operation (topiaid),
+ FOREIGN KEY (transectid) REFERENCES transect (topiaid),
+ FOREIGN KEY (transitid) REFERENCES transit (topiaid),
+ FOREIGN KEY (voyageid) REFERENCES voyage (topiaid)
+);
+
+SELECT AddGeometryColumn('echobase_operation_spatial', 'coordinate', 4326, 'POINT',2 );
+
+CREATE INDEX echobase_operation_spatial_coordinate_gix ON echobase_operation_spatial USING GIST (coordinate);
+CREATE INDEX echobase_operation_spatial_voyageid_idx ON echobase_operation_spatial USING BTREE(voyageid);
+
+-- pour stoquer les traitements spatiaux a effectuer
+
+CREATE TABLE echobase_operation_spatial_temp (
+ operationid VARCHAR(256) PRIMARY KEY,
+ FOREIGN KEY (operationid) REFERENCES operation (topiaid)
+);
+
+--
+-- Trigger qui met à jour la table des traitements spatiaux à faire
+--
+
+CREATE OR REPLACE FUNCTION echobase_fill_operation_spatial_temp_table()
+ RETURNS TRIGGER AS $$
+DECLARE
+ operation_id VARCHAR;
+ result RECORD;
+BEGIN
+
+ IF (TG_OP = 'DELETE')
+ THEN
+ result = OLD;
+ ELSE
+ result = NEW;
+ END IF;
+
+ operation_id = result.topiaid;
+
+ IF (SELECT count(*) FROM echobase_operation_spatial_temp c
+ WHERE c.operationid = operation_id) > 0
+ THEN
+-- operation est deja a traitee
+ RETURN result;
+ END IF;
+--- Ajout de l'operation dans la table des traitements à effectuer
+ RAISE DEBUG 'Add operation % to echobase_operation_spatial_temp', operation_id;
+ INSERT INTO echobase_operation_spatial_temp (operationid) VALUES (operation_id);
+ RETURN result;
+END
+$$
+LANGUAGE 'plpgsql';
+
+CREATE TRIGGER echobase_fill_operation_spatial_work_table_trigger
+AFTER INSERT OR UPDATE ON operation
+FOR EACH ROW WHEN (NEW.topiaid IS NOT
+ NULL) EXECUTE PROCEDURE echobase_fill_operation_spatial_temp_table();
+
+--
+-- Trigger qui met à jour la table des traitements spatiaux à faire lors de la
+-- suppression d'une operation
+--
+
+CREATE OR REPLACE FUNCTION echobase_delete_operation()
+ RETURNS TRIGGER AS $$
+BEGIN
+
+ RAISE DEBUG 'Delete operation % , delete cascade in echobase_operation_spatial_table', OLD.topiaid;
+
+ DELETE FROM echobase_operation_spatial WHERE operationid = OLD.topiaid;
+
+ RETURN OLD;
+END
+$$
+LANGUAGE 'plpgsql';
+
+CREATE TRIGGER echobase_delete_operation
+BEFORE DELETE ON operation
+FOR EACH ROW EXECUTE PROCEDURE echobase_delete_operation();
+
+--
+-- Mettre a jour toutes les données spatiales d'operation
+--
+
+CREATE OR REPLACE FUNCTION echobase_compute_all_operation_spatial_data()
+ RETURNS VOID AS $$
+DECLARE operation_id VARCHAR;
+BEGIN
+ DELETE FROM echobase_operation_spatial;
+
+ FOR operation_id IN SELECT topiaid FROM operation LOOP
+ PERFORM echobase_fill_operation_spatial_row(operation_id);
+ END LOOP;
+END
+$$
+LANGUAGE plpgsql;
+
+--
+-- Mettre a jour la table echobase_cell_spatial depuis echobase_operation_spatial_temp
+--
+
+CREATE OR REPLACE FUNCTION echobase_fill_operation_spatial_table()
+ RETURNS VOID AS $$
+DECLARE
+ operationRow RECORD;
+BEGIN
+ FOR operationRow IN SELECT * FROM echobase_operation_spatial_temp LOOP
+
+ PERFORM echobase_fill_operation_spatial_row(operationRow.operationid);
+ END LOOP;
+
+ DELETE FROM echobase_operation_spatial_temp;
+
+END
+$$
+LANGUAGE plpgsql;
+
+CREATE OR REPLACE FUNCTION echobase_fill_operation_spatial_row(operation_id VARCHAR)
+ RETURNS VOID AS $$
+ DECLARE
+ spatialText VARCHAR;
+ latitudeNumber REAL;
+ longitudeNumber REAL;
+BEGIN
+ RAISE NOTICE 'Treat spatial operation % ...', operation_id;
+ SELECT o.midHaulLatitude, o.midHaulLongitude
+ INTO latitudeNumber, longitudeNumber FROM operation o
+ WHERE o.topiaid = operation_id;
+
+ SELECT
+ 'SRID=4326;POINT(' || longitudeNumber || ' ' || latitudeNumber || ')'
+ INTO spatialText;
+ RAISE DEBUG 'spatial data % for operation %', spatialText, operation_id;
+
+ PERFORM echobase_create_echobase_operation_spatial_row(operation_id,
+ spatialText);
+END
+$$
+LANGUAGE plpgsql;
+
+-- procedure pour creer (ou mettre à jour) une ligne dans echobase_cell_spatial
+
+CREATE OR REPLACE FUNCTION echobase_create_echobase_operation_spatial_row(
+ operation_id VARCHAR,
+ coordinateText VARCHAR)
+ RETURNS VOID AS $$
+DECLARE
+ operationSpatialRow RECORD;
+ voyageId VARCHAR;
+ voyageName VARCHAR;
+ transitId VARCHAR;
+ transitName VARCHAR;
+ transectId VARCHAR;
+ transectName VARCHAR;
+ operationId VARCHAR;
+ operationName VARCHAR;
+ operationRow RECORD;
+ coordinateData GEOMETRY;
+BEGIN
+ IF coordinateText IS NULL
+ THEN
+ RAISE DEBUG 'Could not find spatial data for operation %', operation_id;
+ RETURN;
+ END IF;
+ BEGIN
+ coordinateData = ST_GeomFromEWKT(coordinateText);
+ EXCEPTION WHEN internal_error
+ THEN
+ RAISE LOG 'Could not create coordinate operation spatial data %', coordinateText;
+ RETURN;
+ END;
+
+ SELECT * INTO operationSpatialRow FROM echobase_operation_spatial os
+ WHERE os.operationid = operation_id;
+ IF NOT FOUND
+ THEN
+-- create row
+ RAISE DEBUG 'Will create spatial operation %', operation_id;
+-- get operation infos
+ SELECT op.id, op.topiaid
+ INTO operationName, operationId
+ FROM operation op
+ WHERE op.topiaid = operation_id;
+-- get transect infos
+ SELECT
+ t.topiaid,
+ t.vessel
+ INTO transectId, transitName
+ FROM transect t, operation op
+ WHERE op.topiaid = operation_id AND t.topiaid = op.transect;
+-- get transit infos
+ SELECT
+ t.topiaid,
+ (t.starttime || ' - ' || t.endtime)
+ INTO transitId, transitName
+ FROM transit t, transect tt
+ WHERE tt.topiaid = transectId AND t.topiaid = tt.transit;
+-- get voyage infos
+ SELECT
+ v.topiaid,
+ v.name
+ INTO voyageId, voyageName
+ FROM voyage v, transit t
+ WHERE t.topiaid = transitId AND v.topiaid = t.voyage;
+
+ INSERT INTO echobase_operation_spatial (lastUpdateDate, voyageid, voyagename, transitid, transitname, transectid, transectname, operationid, operationname, coordinate)
+ VALUES (now(), voyageId, voyageName, transitId, transitName, transectId, transectName, operationId, operationName, coordinateData);
+ ELSE
+-- update row
+ RAISE DEBUG 'Will update spatial operation % ', operation_id;
+ UPDATE echobase_operation_spatial eos
+ SET eos.coordinate = coordinateData
+ WHERE eos.operationid = operation_id;
+ END IF;
+END
+$$ LANGUAGE plpgsql;
+
+--------------------------------------------------------------------------------
+--------------------------------------------------------------------------------
+--------------------------------------------------------------------------------
+
+-- pour convertir des latitudes en dms (+ hemi) en dd
+CREATE OR REPLACE FUNCTION echobase_latitudetext_to_dd(latitude VARCHAR)
+ RETURNS REAL AS $$
+DECLARE
+ degre_ INTEGER;
+ minute_ INTEGER;
+ second_ INTEGER;
+ hemi_ VARCHAR(1);
+BEGIN
+ SELECT
+ right(latitude, 1),
+ left(latitude, 2) :: INTEGER,
+ substring(latitude FROM 3 FOR 2) :: INTEGER,
+ substring(latitude FROM 6 FOR 3) :: INTEGER
+ INTO hemi_, degre_, minute_, second_;
+
+ RETURN echobase_dms2dd(degre_, minute_, second_, hemi_);
+ EXCEPTION WHEN invalid_text_representation
+ THEN
+ RETURN NULL;
+END
+$$ LANGUAGE plpgsql;
+
+-- pour convertir des longitudes en dms (+ hemi) en dd
+CREATE OR REPLACE FUNCTION echobase_longitudetext_to_dd(longitude VARCHAR)
+ RETURNS REAL AS $$
+DECLARE
+ degre_ INTEGER;
+ minute_ INTEGER;
+ second_ INTEGER;
+ hemi_ VARCHAR(1);
+BEGIN
+ SELECT
+ right(longitude, 1),
+ left(longitude, 3) :: INTEGER,
+ substring(longitude FROM 4 FOR 2) :: INTEGER,
+ substring(longitude FROM 7 FOR 3) :: INTEGER
+ INTO hemi_, degre_, minute_, second_;
+
+ RETURN echobase_dms2dd(degre_, minute_, second_, hemi_);
+ EXCEPTION WHEN invalid_text_representation
+ THEN
+ RETURN NULL;
+END
+$$ LANGUAGE plpgsql;
+
+CREATE OR REPLACE FUNCTION echobase_dms2dd(
+ D INTEGER, M INTEGER, S INTEGER, HEMI CHARACTER VARYING(1)
+)
+ RETURNS DOUBLE PRECISION AS $$
+DECLARE
+ ret DOUBLE PRECISION;
+ dir INTEGER;
+BEGIN
+ dir := 1;
+--init to 1 for default positive return
+ ret := 0;
+--init to zero.
+ --ONLY S or W will trip this. Any other letter or NULL will result in positive return value
+ IF UPPER(HEMI) = 'S' OR UPPER(HEMI) = 'W'
+ THEN
+ dir := -1; --then southern or western hemisphere
+ END IF;
+--SOME data has negative values in minutes and seconds as well as degrees. Use ABS to standardize all three.
+ ret := (ABS(CAST(D AS DOUBLE PRECISION)) + (ABS((CAST(M AS DOUBLE PRECISION) +
+ (ABS((CAST(S AS
+ DOUBLE PRECISION))
+ / 60))) / 60)));
+ ret := ret * dir;
+ RETURN ret;
+
+END;
+$$ LANGUAGE plpgsql;
+
+--------------------------------------------------------------------------------
+--------------------------------------------------------------------------------
+--------------------------------------------------------------------------------
+
+--
+-- Mettre a jour toutes les données spatiales
+--
+
+CREATE OR REPLACE FUNCTION echobase_compute_all_spatial_data()
+ RETURNS VOID AS $$
+DECLARE cell_id VARCHAR;
+BEGIN
+ EXECUTE echobase_compute_all_cell_spatial_data();
+ EXECUTE echobase_compute_all_operation_spatial_data();
+END
+$$
+LANGUAGE plpgsql;
+
+
+-- Compute all data
+SELECT echobase_compute_all_cell_spatial_data();
+SELECT echobase_compute_all_operation_spatial_data();
\ No newline at end of file
Copied: trunk/echobase-domain/src/main/resources/migration/postgis-view-2.5.1.sql (from rev 914, trunk/echobase-services/src/main/resources/postgis-view.sql)
===================================================================
--- trunk/echobase-domain/src/main/resources/migration/postgis-view-2.5.1.sql (rev 0)
+++ trunk/echobase-domain/src/main/resources/migration/postgis-view-2.5.1.sql 2013-12-17 02:03:00 UTC (rev 920)
@@ -0,0 +1,291 @@
+---
+-- #%L
+-- EchoBase :: Services
+-- $Id$
+-- $HeadURL$
+-- %%
+-- Copyright (C) 2011 - 2013 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%
+---
+-- ajout de vues liés aux tables spatiales
+
+DROP VIEW IF EXISTS echobase_cell_spatial_result;
+CREATE OR REPLACE VIEW echobase_cell_spatial_result AS
+ SELECT
+ s.*,
+ m.topiaId AS metaDataId,
+ m.name AS metaDataName,
+ r.resultvalue AS resultValue,
+ r.topiaid AS resultId
+ FROM
+ echobase_cell_spatial s,
+ result r,
+ datametadata m
+ WHERE
+ s.cellid = r.cell AND
+ r.datametadata = m.topiaid;
+
+DROP VIEW IF EXISTS echobase_cell_spatial_data;
+CREATE OR REPLACE VIEW echobase_cell_spatial_data AS
+ SELECT
+ s.*,
+ m.topiaId AS metaDataId,
+ m.name AS metaDataName,
+ d.datavalue AS dataValue,
+ d.topiaid AS dataId
+ FROM
+ echobase_cell_spatial s,
+ data d,
+ datametadata m
+ WHERE
+ s.cellid = d.cell AND
+ d.datametadata = m.topiaid;
+
+DROP VIEW IF EXISTS TotalSampleEngrEnc;
+CREATE OR REPLACE VIEW TotalSampleEngrEnc AS
+
+ SELECT
+ echobase_operation_spatial.voyageid,
+ operation.id AS operation_id,
+ echobase_operation_spatial.coordinate,
+ sampletype.name AS sampletype_name,
+ sample.sampleweight,
+ sizecategory.name AS sizecategory_name,
+ species.baracoudacode,
+ sample.topiaid
+ FROM
+ echobase_operation_spatial,
+ operation,
+ sample,
+ speciescategory,
+ sizecategory,
+ species,
+ sampletype
+ WHERE
+ echobase_operation_spatial.operationid = operation.topiaid AND
+ operation.topiaid = sample.operation AND
+ sample.speciescategory = speciescategory.topiaid AND
+ sample.sampletype = sampletype.topiaid AND
+ speciescategory.sizecategory = sizecategory.topiaid AND
+ speciescategory.species = species.topiaid AND
+ sampletype.name = 'Total' AND
+ species.baracoudacode = 'ENGR-ENC';
+
+DROP VIEW IF EXISTS TotalSampleSardPil;
+CREATE OR REPLACE VIEW TotalSampleSardPil AS
+ SELECT
+ echobase_operation_spatial.voyageid,
+ operation.id AS operation_id,
+ echobase_operation_spatial.coordinate,
+ sampletype.name AS sampletype_name,
+ sample.sampleweight,
+ sizecategory.name AS sizecategory_name,
+ species.baracoudacode,
+ sample.topiaid
+ FROM
+ echobase_operation_spatial,
+ operation,
+ sample,
+ speciescategory,
+ sizecategory,
+ species,
+ sampletype
+ WHERE
+ echobase_operation_spatial.operationid = operation.topiaid AND
+ operation.topiaid = sample.operation AND
+ sample.speciescategory = speciescategory.topiaid AND
+ sample.sampletype = sampletype.topiaid AND
+ speciescategory.sizecategory = sizecategory.topiaid AND
+ speciescategory.species = species.topiaid AND
+ sampletype.name = 'Total' AND
+ species.baracoudacode = 'SARD-PIL';
+
+DROP VIEW IF EXISTS TotalSampleTracTru;
+CREATE OR REPLACE VIEW TotalSampleTracTru AS
+ SELECT
+ echobase_operation_spatial.voyageid,
+ operation.id AS operation_id,
+ echobase_operation_spatial.coordinate,
+ sampletype.name AS sampletype_name,
+ sample.sampleweight,
+ sizecategory.name AS sizecategory_name,
+ species.baracoudacode,
+ sample.topiaid
+ FROM
+ echobase_operation_spatial,
+ operation,
+ sample,
+ speciescategory,
+ sizecategory,
+ species,
+ sampletype
+ WHERE
+ echobase_operation_spatial.operationid = operation.topiaid AND
+ operation.topiaid = sample.operation AND
+ sample.speciescategory = speciescategory.topiaid AND
+ sample.sampletype = sampletype.topiaid AND
+ speciescategory.sizecategory = sizecategory.topiaid AND
+ speciescategory.species = species.topiaid AND
+ sampletype.name = 'Total' AND
+ species.baracoudacode = 'TRAC-TRU';
+
+DROP VIEW IF EXISTS TotalSampleSpraSpr;
+CREATE OR REPLACE VIEW TotalSampleSpraSpr AS
+ SELECT
+ echobase_operation_spatial.voyageid,
+ operation.id AS operation_id,
+ echobase_operation_spatial.coordinate,
+ sampletype.name AS sampletype_name,
+ sample.sampleweight,
+ sizecategory.name AS sizecategory_name,
+ species.baracoudacode,
+ sample.topiaid
+ FROM
+ echobase_operation_spatial,
+ operation,
+ sample,
+ speciescategory,
+ sizecategory,
+ species,
+ sampletype
+ WHERE
+ echobase_operation_spatial.operationid = operation.topiaid AND
+ operation.topiaid = sample.operation AND
+ sample.speciescategory = speciescategory.topiaid AND
+ sample.sampletype = sampletype.topiaid AND
+ speciescategory.sizecategory = sizecategory.topiaid AND
+ speciescategory.species = species.topiaid AND
+ sampletype.name = 'Total' AND
+ species.baracoudacode = 'SPRA-SPR';
+
+DROP VIEW IF EXISTS TotalSampleScomSco;
+CREATE OR REPLACE VIEW TotalSampleScomSco AS
+ SELECT
+ echobase_operation_spatial.voyageid,
+ operation.id AS operation_id,
+ echobase_operation_spatial.coordinate,
+ sampletype.name AS sampletype_name,
+ sample.sampleweight,
+ sizecategory.name AS sizecategory_name,
+ species.baracoudacode,
+ sample.topiaid
+ FROM
+ echobase_operation_spatial,
+ operation,
+ sample,
+ speciescategory,
+ sizecategory,
+ species,
+ sampletype
+ WHERE
+ echobase_operation_spatial.operationid = operation.topiaid AND
+ operation.topiaid = sample.operation AND
+ sample.speciescategory = speciescategory.topiaid AND
+ sample.sampletype = sampletype.topiaid AND
+ speciescategory.sizecategory = sizecategory.topiaid AND
+ speciescategory.species = species.topiaid AND
+ sampletype.name = 'Total' AND
+ species.baracoudacode = 'SCOM-SCO';
+
+DROP VIEW IF EXISTS TotalSampleMicrPou;
+CREATE OR REPLACE VIEW TotalSampleMicrPou AS
+ SELECT
+ echobase_operation_spatial.voyageid,
+ operation.id AS operation_id,
+ echobase_operation_spatial.coordinate,
+ sampletype.name AS sampletype_name,
+ sample.sampleweight,
+ sizecategory.name AS sizecategory_name,
+ species.baracoudacode,
+ sample.topiaid
+ FROM
+ echobase_operation_spatial,
+ operation,
+ sample,
+ speciescategory,
+ sizecategory,
+ species,
+ sampletype
+ WHERE
+ echobase_operation_spatial.operationid = operation.topiaid AND
+ operation.topiaid = sample.operation AND
+ sample.speciescategory = speciescategory.topiaid AND
+ sample.sampletype = sampletype.topiaid AND
+ speciescategory.sizecategory = sizecategory.topiaid AND
+ speciescategory.species = species.topiaid AND
+ sampletype.name = 'Total' AND
+ species.baracoudacode = 'MICR-POU';
+
+-- Create a view with species catches as columns
+
+DROP VIEW IF EXISTS TotalCatchSpOpWide;
+CREATE OR REPLACE VIEW TotalCatchSpOpWide AS
+ SELECT
+ echobase_operation_spatial.voyagename,
+ echobase_operation_spatial.operationname,
+ echobase_operation_spatial.coordinate,
+ (SELECT
+ SUM(totalsampleengrenc.sampleweight)
+ FROM totalsampleengrenc
+ WHERE totalsampleengrenc.operation_id =
+ echobase_operation_spatial.operationname) AS TotalCatchENGRENC,
+ (SELECT
+ SUM(totalsamplesardpil.sampleweight)
+ FROM totalsamplesardpil
+ WHERE totalsamplesardpil.operation_id =
+ echobase_operation_spatial.operationname) AS TotalCatchSARDPIL,
+ (SELECT
+ SUM(totalsamplespraspr.sampleweight)
+ FROM totalsamplespraspr
+ WHERE totalsamplespraspr.operation_id =
+ echobase_operation_spatial.operationname) AS TotalCatchSPRASPR,
+ (SELECT
+ SUM(totalsamplemicrpou.sampleweight)
+ FROM totalsamplemicrpou
+ WHERE totalsamplemicrpou.operation_id =
+ echobase_operation_spatial.operationname) AS TotalCatchMICRPOU,
+ (SELECT
+ SUM(totalsamplescomsco.sampleweight)
+ FROM totalsamplescomsco
+ WHERE totalsamplescomsco.operation_id =
+ echobase_operation_spatial.operationname) AS TotalCatchSCOMSCO,
+ (SELECT
+ SUM(totalsampletractru.sampleweight)
+ FROM totalsampletractru
+ WHERE totalsampletractru.operation_id =
+ echobase_operation_spatial.operationname) AS TotalCatchTRACTRU,
+ echobase_operation_spatial.operationid
+ FROM echobase_operation_spatial;
+
+DROP VIEW IF EXISTS cellmapview;
+CREATE OR REPLACE VIEW cellmapview AS
+ SELECT
+ echobase_cell_spatial.voyagename,
+ echobase_cell_spatial.coordinate,
+ echobase_cell_spatial.shape,
+ datametadata.name,
+ result.resultvalue,
+ species.baracoudacode,
+ echobase_cell_spatial.cellname,
+ result.topiaid AS resultid
+ FROM echobase_cell_spatial, result, datametadata, category, speciescategory,
+ species
+ WHERE echobase_cell_spatial.cellid = result.cell
+ AND result.datametadata = datametadata.topiaid
+ AND result.category = category.topiaid
+ AND category.speciescategory = speciescategory.topiaid
+ AND speciescategory.species = species.topiaid
+ AND echobase_cell_spatial.celltypename = 'Map cell';
\ No newline at end of file
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/spatial/SpatialService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/spatial/SpatialService.java 2013-12-17 01:53:04 UTC (rev 919)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/spatial/SpatialService.java 2013-12-17 02:03:00 UTC (rev 920)
@@ -34,7 +34,6 @@
import com.google.common.collect.Sets;
import fr.ifremer.echobase.EchoBaseFunctions;
import fr.ifremer.echobase.EchoBaseTechnicalException;
-import fr.ifremer.echobase.entities.EchoBasePersistenceContext;
import fr.ifremer.echobase.entities.data.Category;
import fr.ifremer.echobase.entities.data.Echotype;
import fr.ifremer.echobase.entities.data.Result;
@@ -72,6 +71,10 @@
public static final TimeLog TILE_LOG = new TimeLog(SpatialService.class);
+ public static final String POSTGIS_STRUCTURE_SQL = "/postgis-structure.sql";
+
+ public static final String POSTGIS_VIEW_SQL = "/postgis-view.sql";
+
private WorkingDbPersistenceService persistenceService;
@Override
@@ -83,10 +86,10 @@
public void addSpatialSupport() {
// add spatial structure
- executeSqlScript(EchoBasePersistenceContext.POSTGIS_STRUCTURE_SQL);
+ executeSqlScript(POSTGIS_STRUCTURE_SQL);
// add spatial views
- executeSqlScript(EchoBasePersistenceContext.POSTGIS_VIEW_SQL);
+ executeSqlScript(POSTGIS_VIEW_SQL);
// do commit
persistenceService.commit();
Modified: trunk/echobase-services/src/main/resources/postgis-structure.sql
===================================================================
--- trunk/echobase-services/src/main/resources/postgis-structure.sql 2013-12-17 01:53:04 UTC (rev 919)
+++ trunk/echobase-services/src/main/resources/postgis-structure.sql 2013-12-17 02:03:00 UTC (rev 920)
@@ -1215,7 +1215,4 @@
-- Compute all data
SELECT echobase_compute_all_cell_spatial_data();
-SELECT echobase_compute_all_operation_spatial_data();
-
--- Add an update query as the migration service will execute this script and can't finish with a query instruction (see PreparedStatement#executeUpdate)
--- UPDATE echobase_operation_spatial SET lastUpdateDate = now() WHERE operationid IS NULL;
\ No newline at end of file
+SELECT echobase_compute_all_operation_spatial_data();
\ No newline at end of file
1
0
r919 - in trunk: echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb echobase-services/src/main/resources
by tchemit@users.forge.codelutin.com 17 Dec '13
by tchemit@users.forge.codelutin.com 17 Dec '13
17 Dec '13
Author: tchemit
Date: 2013-12-17 02:53:04 +0100 (Tue, 17 Dec 2013)
New Revision: 919
Url: http://forge.codelutin.com/projects/echobase/repository/revisions/919
Log:
change migration callback
Modified:
trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallback.java
trunk/echobase-services/src/main/resources/postgis-structure.sql
Modified: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallback.java
===================================================================
--- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallback.java 2013-12-17 01:45:38 UTC (rev 918)
+++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallback.java 2013-12-17 01:53:04 UTC (rev 919)
@@ -25,10 +25,19 @@
import fr.ifremer.echobase.entities.EchoBaseDAOHelper;
import fr.ifremer.echobase.persistence.migration.EchoBaseMigrationCallBackResolver;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.hibernate.jdbc.Work;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
import org.nuiton.topia.migration.TopiaMigrationCallbackByClassNG;
+import org.nuiton.util.StringUtil;
import org.nuiton.util.Version;
import org.nuiton.util.VersionUtil;
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.SQLException;
import java.util.List;
/**
@@ -39,6 +48,9 @@
*/
public class MigrationCallback extends TopiaMigrationCallbackByClassNG {
+ /** Logger. */
+ private static final Log log = LogFactory.getLog(MigrationCallback.class);
+
public MigrationCallback() {
super(EchoBaseMigrationCallBackResolver.newResolver(
fr.ifremer.echobase.persistence.migration.workingDb.MigrationCallBackForVersion.class));
@@ -53,4 +65,62 @@
public boolean askUser(Version version, List<Version> versions) {
return true;
}
+
+ @Override
+ public void executeSQL(TopiaContext tx, final boolean showSql, final boolean showProgression, final String... sqls) throws TopiaException {
+ if (log.isInfoEnabled()) {
+
+ log.info(String.format("Will execute %1$s requests...", sqls.length));
+ }
+ if (showSql) {
+ StringBuilder buffer = new StringBuilder();
+ for (String s : sqls) {
+ buffer.append(s).append("\n");
+ }
+ log.info("SQL TO EXECUTE :\n" +
+ "--------------------------------------------------------------------------------\n" +
+ "--------------------------------------------------------------------------------\n" +
+ buffer.toString() +
+ "--------------------------------------------------------------------------------\n" +
+ "--------------------------------------------------------------------------------\n"
+ );
+ }
+ tx.getHibernateSession().doWork(new Work() {
+
+ @Override
+ public void execute(Connection connection) throws SQLException {
+ int index = 0;
+ int max = sqls.length;
+ for (String sql : sqls) {
+ index++;
+ long t0 = System.nanoTime();
+ if (log.isInfoEnabled()) {
+ String message = "";
+
+ if (showProgression) {
+ message = String.format("Executing request [%1$-4s/%2$-4s]", index, max);
+ }
+ if (showSql) {
+ message += "\n" + sql;
+ }
+ if (showProgression || showSql) {
+
+ log.info(message);
+ }
+ }
+ PreparedStatement sta = connection.prepareStatement(sql);
+ try {
+ sta.execute();
+ } finally {
+ sta.close();
+ }
+ if (log.isDebugEnabled()) {
+ String message;
+ message = String.format("Request [%1$-4s/%2$-4s] executed in %3$s.", index, max, StringUtil.convertTime(System.nanoTime() - t0));
+ log.debug(message);
+ }
+ }
+ }
+ });
+ }
}
Modified: trunk/echobase-services/src/main/resources/postgis-structure.sql
===================================================================
--- trunk/echobase-services/src/main/resources/postgis-structure.sql 2013-12-17 01:45:38 UTC (rev 918)
+++ trunk/echobase-services/src/main/resources/postgis-structure.sql 2013-12-17 01:53:04 UTC (rev 919)
@@ -1214,8 +1214,8 @@
-- Compute all data
--- SELECT echobase_compute_all_cell_spatial_data();
--- SELECT echobase_compute_all_operation_spatial_data();
+SELECT echobase_compute_all_cell_spatial_data();
+SELECT echobase_compute_all_operation_spatial_data();
-- Add an update query as the migration service will execute this script and can't finish with a query instruction (see PreparedStatement#executeUpdate)
-- UPDATE echobase_operation_spatial SET lastUpdateDate = now() WHERE operationid IS NULL;
\ No newline at end of file
1
0
17 Dec '13
Author: tchemit
Date: 2013-12-17 02:45:38 +0100 (Tue, 17 Dec 2013)
New Revision: 918
Url: http://forge.codelutin.com/projects/echobase/repository/revisions/918
Log:
fix on sql migration
Modified:
trunk/echobase-services/src/main/resources/postgis-structure.sql
Modified: trunk/echobase-services/src/main/resources/postgis-structure.sql
===================================================================
--- trunk/echobase-services/src/main/resources/postgis-structure.sql 2013-12-16 22:34:04 UTC (rev 917)
+++ trunk/echobase-services/src/main/resources/postgis-structure.sql 2013-12-17 01:45:38 UTC (rev 918)
@@ -1214,8 +1214,8 @@
-- Compute all data
-SELECT echobase_compute_all_cell_spatial_data();
-SELECT echobase_compute_all_operation_spatial_data();
+-- SELECT echobase_compute_all_cell_spatial_data();
+-- SELECT echobase_compute_all_operation_spatial_data();
-- Add an update query as the migration service will execute this script and can't finish with a query instruction (see PreparedStatement#executeUpdate)
-UPDATE echobase_operation_spatial SET lastUpdateDate = now() WHERE operationid IS NULL;
\ No newline at end of file
+-- UPDATE echobase_operation_spatial SET lastUpdateDate = now() WHERE operationid IS NULL;
\ No newline at end of file
1
0