branch feature/8180 updated (59af2e0 -> bb9d454)
This is an automated email from the git hooks/post-receive script. New change to branch feature/8180 in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git from 59af2e0 Introduce entityId in importLog (not working in UI) new f754e8b Add remove strategies for mooring (not tested) new bb9d454 Fix UI after modification on remove strategies for mooring The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit bb9d4544190854a78502bdeb89e263181c5b567a Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Tue Jun 21 17:51:58 2016 +0200 Fix UI after modification on remove strategies for mooring commit f754e8b3503e988bfa2ac9e6ea26ff142361ffc5 Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Tue Jun 21 17:19:40 2016 +0200 Add remove strategies for mooring (not tested) Summary of changes: .../echobase/entities/data/CellTopiaDao.java | 89 +++++++++++++++++++++- .../i18n/echobase-domain_en_GB.properties | 4 + .../i18n/echobase-domain_fr_FR.properties | 4 + .../services/service/UserDbPersistenceService.java | 20 ++++- .../service/removedata/RemoveDataService.java | 9 ++- .../strategy/AbstractRemoveDataStrategy.java | 80 ++++--------------- .../strategy/AcousticRemoveDataStrategy.java | 1 - .../strategy/CommonAllRemoveDataStrategy.java | 1 - .../strategy/CommonTransectRemoveDataStrategy.java | 1 - .../strategy/CommonTransitRemoveDataStrategy.java | 1 - .../strategy/DummyMooringRemoveDataStrategy.java | 60 +++++++++++++++ .../strategy/LegacyVoyageRemoveDataStrategy.java | 1 - ...java => MooringAcousticRemoveDataStrategy.java} | 50 +++++------- ...trategy.java => MooringRemoveDataStrategy.java} | 50 ++++++------ .../echobase/ui/actions/dbeditor/GetEntities.java | 30 ++++---- .../ui/actions/removeData/ConfirmDelete.java | 5 +- .../echobase/ui/actions/workingDb/DashBoard.java | 2 - .../ui/actions/workingDb/GetImportLogDetail.java | 6 +- echobase-ui/src/main/resources/echobase.properties | 2 + 19 files changed, 257 insertions(+), 159 deletions(-) create mode 100644 echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/DummyMooringRemoveDataStrategy.java copy echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/{AcousticRemoveDataStrategy.java => MooringAcousticRemoveDataStrategy.java} (67%) copy echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/{ResultEsduRemoveDataStrategy.java => MooringRemoveDataStrategy.java} (53%) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/8180 in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git commit f754e8b3503e988bfa2ac9e6ea26ff142361ffc5 Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Tue Jun 21 17:19:40 2016 +0200 Add remove strategies for mooring (not tested) --- .../echobase/entities/data/CellTopiaDao.java | 89 +++++++++++++++++++++- .../i18n/echobase-domain_en_GB.properties | 4 + .../i18n/echobase-domain_fr_FR.properties | 4 + .../services/service/UserDbPersistenceService.java | 20 ++++- .../service/removedata/RemoveDataService.java | 9 ++- .../strategy/AbstractRemoveDataStrategy.java | 80 ++++--------------- .../strategy/AcousticRemoveDataStrategy.java | 1 - .../strategy/CommonAllRemoveDataStrategy.java | 1 - .../strategy/CommonTransectRemoveDataStrategy.java | 1 - .../strategy/CommonTransitRemoveDataStrategy.java | 1 - .../strategy/DummyMooringRemoveDataStrategy.java | 60 +++++++++++++++ .../strategy/LegacyVoyageRemoveDataStrategy.java | 1 - ...java => MooringAcousticRemoveDataStrategy.java} | 50 +++++------- .../strategy/MooringRemoveDataStrategy.java | 83 ++++++++++++++++++++ 14 files changed, 293 insertions(+), 111 deletions(-) diff --git a/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/CellTopiaDao.java b/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/CellTopiaDao.java index 87f1d39..41cc9bf 100644 --- a/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/CellTopiaDao.java +++ b/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/CellTopiaDao.java @@ -37,13 +37,23 @@ public class CellTopiaDao extends AbstractCellTopiaDao<Cell> { return topiaSqlSupport.findSingleResult(query); } + public long countMooringOrphanCells(Mooring mooring) { + TopiaSqlQuery<Long> query = newCountMooringOrphanCellsQuery(mooring); + return topiaSqlSupport.findSingleResult(query); + } + public long countVoyageCellResults(Voyage voyage) { TopiaSqlQuery<Long> query = newCountVoyageCellResultsQuery(voyage); return topiaSqlSupport.findSingleResult(query); } - public List<String> getVoyageCellIds() throws TopiaException { - TopiaSqlQuery<String> query = newVoyageCellIdsQuery(); + public long countMooringCellResults(Mooring mooring) { + TopiaSqlQuery<Long> query = newCountMooringCellResultsQuery(mooring); + return topiaSqlSupport.findSingleResult(query); + } + + public List<String> getVoyageOrphanCellIds() throws TopiaException { + TopiaSqlQuery<String> query = newVoyageOrphanCellIdsQuery(); return topiaSqlSupport.findMultipleResult(query); } @@ -53,6 +63,12 @@ public class CellTopiaDao extends AbstractCellTopiaDao<Cell> { return topiaSqlSupport.findMultipleResult(query); } + public List<String> getMooringCellIds(Mooring mooring) throws TopiaException { + TopiaSqlQuery<String> query = newMooringCellIdsQuery(mooring); + + return topiaSqlSupport.findMultipleResult(query); + } + protected TopiaSqlQuery<Long> newCountVoyageOrphanCellsQuery(final Voyage voyage) { return new TopiaSqlQuery<Long>() { @Override @@ -80,6 +96,29 @@ public class CellTopiaDao extends AbstractCellTopiaDao<Cell> { }; } + protected TopiaSqlQuery<Long> newCountMooringOrphanCellsQuery(Mooring mooring) { + return new TopiaSqlQuery<Long>() { + @Override + public PreparedStatement prepareQuery(Connection connection) throws SQLException { + String hql = "SELECT count(c2.topiaid) FROM DataAcquisition da, " + + " DataProcessing dp, " + + " Cell c, Cell c2 " + + "WHERE da.mooring = ? " + + "AND da.topiaId = dp.dataacquisition " + + "AND dp.topiaId = c.dataprocessing " + + "AND c.topiaId = c2.cell"; + PreparedStatement result = connection.prepareStatement(hql); + result.setString(1, mooring.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 @@ -106,7 +145,29 @@ public class CellTopiaDao extends AbstractCellTopiaDao<Cell> { }; } - protected TopiaSqlQuery<String> newVoyageCellIdsQuery() { + protected TopiaSqlQuery<Long> newCountMooringCellResultsQuery(Mooring mooring) { + return new TopiaSqlQuery<Long>() { + @Override + public PreparedStatement prepareQuery(Connection connection) throws SQLException { + String hql = "SELECT count(c.topiaid) FROM DataAcquisition da, " + + " DataProcessing dp, " + + " Cell c " + + "WHERE da.mooring = ?" + + "AND da.topiaId = dp.dataacquisition " + + "AND dp.topiaId = c.dataprocessing"; + PreparedStatement result = connection.prepareStatement(hql); + result.setString(1, mooring.getTopiaId()); + return result; + } + + @Override + public Long prepareResult(ResultSet set) throws SQLException { + return set.getLong(1); + } + }; + } + + protected TopiaSqlQuery<String> newVoyageOrphanCellIdsQuery() { return new TopiaSqlQuery<String>() { @Override public PreparedStatement prepareQuery(Connection connection) throws SQLException { @@ -147,4 +208,26 @@ public class CellTopiaDao extends AbstractCellTopiaDao<Cell> { } }; } + + protected TopiaSqlQuery<String> newMooringCellIdsQuery(Mooring mooring) { + return new TopiaSqlQuery<String>() { + @Override + public PreparedStatement prepareQuery(Connection connection) throws SQLException { + String hql = "SELECT c.topiaid FROM DataAcquisition da, " + + " DataProcessing dp, " + + " Cell c " + + "WHERE da.mooring = ? " + + "AND da.topiaId = dp.dataacquisition " + + "AND dp.topiaId = c.dataprocessing"; + PreparedStatement result = connection.prepareStatement(hql); + result.setString(1, mooring.getTopiaId()); + return result; + } + + @Override + public String prepareResult(ResultSet set) throws SQLException { + return set.getString(1); + } + }; + } } diff --git a/echobase-domain/src/main/resources/i18n/echobase-domain_en_GB.properties b/echobase-domain/src/main/resources/i18n/echobase-domain_en_GB.properties index 1529209..740e221 100644 --- a/echobase-domain/src/main/resources/i18n/echobase-domain_en_GB.properties +++ b/echobase-domain/src/main/resources/i18n/echobase-domain_en_GB.properties @@ -22,6 +22,10 @@ echobase.common.importType.resultsMapFish=Import the “map (fishes)” cells re echobase.common.importType.resultsMapFish.short=Map (fishes) echobase.common.importType.resultsMapOther=Import the “map (others)” cells results echobase.common.importType.resultsMapOther.short=Maps (others) +echobase.common.importType.resultsMooring= +echobase.common.importType.resultsMooring.short= +echobase.common.importType.resultsMooringEsdu= +echobase.common.importType.resultsMooringEsdu.short= echobase.common.importType.resultsRegion=Import the “region” cells results echobase.common.importType.resultsRegion.short=Region echobase.common.importType.resultsVoyage=Import the voyage-related results diff --git a/echobase-domain/src/main/resources/i18n/echobase-domain_fr_FR.properties b/echobase-domain/src/main/resources/i18n/echobase-domain_fr_FR.properties index 6933fa1..03a3f2d 100644 --- a/echobase-domain/src/main/resources/i18n/echobase-domain_fr_FR.properties +++ b/echobase-domain/src/main/resources/i18n/echobase-domain_fr_FR.properties @@ -22,6 +22,10 @@ echobase.common.importType.resultsMapFish=Import des cellules de type Carte (Poi echobase.common.importType.resultsMapFish.short=Carte (Poisson) echobase.common.importType.resultsMapOther=Import des cellules de type Carte (Autres) echobase.common.importType.resultsMapOther.short=Carte (Autres) +echobase.common.importType.resultsMooring= +echobase.common.importType.resultsMooring.short= +echobase.common.importType.resultsMooringEsdu= +echobase.common.importType.resultsMooringEsdu.short= echobase.common.importType.resultsRegion=Import des cellules de type Région echobase.common.importType.resultsRegion.short=Région echobase.common.importType.resultsVoyage=Import des résultats du voyage diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/UserDbPersistenceService.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/UserDbPersistenceService.java index aeb556a..9c14106 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/UserDbPersistenceService.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/UserDbPersistenceService.java @@ -253,18 +253,30 @@ public class UserDbPersistenceService extends EchoBaseServiceSupport { return persistenceContext.getCellDao().countVoyageOrphanCells(voyage); } + public long countMooringOrphanCells(Mooring mooring) { + return persistenceContext.getCellDao().countMooringOrphanCells(mooring); + } + public long countVoyageCellResults(final Voyage voyage) { return persistenceContext.getCellDao().countVoyageCellResults(voyage); } - public List<String> getVoyageCellIds() throws TopiaException { - return persistenceContext.getCellDao().getVoyageCellIds(); + public long countMooringCellResults(Mooring mooring) { + return persistenceContext.getCellDao().countMooringCellResults(mooring); + } + + public List<String> getVoyageOrphanCellIds() throws TopiaException { + return persistenceContext.getCellDao().getVoyageOrphanCellIds(); } public List<String> getVoyageCellIds(Voyage voyage) throws TopiaException { return persistenceContext.getCellDao().getVoyageCellIds(voyage); } + public List<String> getMooringCellIds(Mooring mooring) throws TopiaException { + return persistenceContext.getCellDao().getMooringCellIds(mooring); + } + public ValueParser<Cell> newCellValueParser() { CellTopiaDao cellDao = persistenceContext.getCellDao(); @@ -726,6 +738,10 @@ public class UserDbPersistenceService extends EchoBaseServiceSupport { public Mooring createMooring(Mooring mooring) { return persistenceContext.getMooringDao().create(mooring); } + + public void deleteMooring(Mooring mooring) { + persistenceContext.getMooringDao().delete(mooring); + } //------------------------------------------------------------------------// //--- Mission ------------------------------------------------------------// diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/RemoveDataService.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/RemoveDataService.java index 852df35..c4dfbb2 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/RemoveDataService.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/RemoveDataService.java @@ -42,7 +42,10 @@ import fr.ifremer.echobase.services.service.removedata.strategy.CommonAllRemoveD import fr.ifremer.echobase.services.service.removedata.strategy.CommonTransectRemoveDataStrategy; import fr.ifremer.echobase.services.service.removedata.strategy.CommonTransitRemoveDataStrategy; import fr.ifremer.echobase.services.service.removedata.strategy.CommonVoyageRemoveDataStrategy; +import fr.ifremer.echobase.services.service.removedata.strategy.DummyMooringRemoveDataStrategy; import fr.ifremer.echobase.services.service.removedata.strategy.LegacyVoyageRemoveDataStrategy; +import fr.ifremer.echobase.services.service.removedata.strategy.MooringAcousticRemoveDataStrategy; +import fr.ifremer.echobase.services.service.removedata.strategy.MooringRemoveDataStrategy; import fr.ifremer.echobase.services.service.removedata.strategy.OperationRemoveDataStrategy; import fr.ifremer.echobase.services.service.removedata.strategy.ResultEsduRemoveDataStrategy; import fr.ifremer.echobase.services.service.removedata.strategy.ResultMapFishRemoveDataStrategy; @@ -290,8 +293,10 @@ public class RemoveDataService extends EchoBaseServiceSupport { strategies.put(ImportType.RESULT_MAP_FISH, ResultMapFishRemoveDataStrategy.class); strategies.put(ImportType.RESULT_MAP_OTHER, ResultMapOtherRemoveDataStrategy.class); strategies.put(ImportType.RESULT_REGION, ResultRegionRemoveDataStrategy.class); - strategies.put(ImportType.MOORING, LegacyVoyageRemoveDataStrategy.class); - strategies.put(ImportType.MOORING_ACOUSTIC, AcousticRemoveDataStrategy.class); + strategies.put(ImportType.MOORING, MooringRemoveDataStrategy.class); + strategies.put(ImportType.MOORING_ACOUSTIC, MooringAcousticRemoveDataStrategy.class); + strategies.put(ImportType.RESULT_MOORING, DummyMooringRemoveDataStrategy.class); + strategies.put(ImportType.RESULT_MOORING_ESDU, DummyMooringRemoveDataStrategy.class); Preconditions.checkState( ImportType.values().length == strategies.size(), "It miss some remove data strategies..."); diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/AbstractRemoveDataStrategy.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/AbstractRemoveDataStrategy.java index f2bd49d..486b0d8 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/AbstractRemoveDataStrategy.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/AbstractRemoveDataStrategy.java @@ -31,6 +31,7 @@ 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.Mooring; import fr.ifremer.echobase.entities.data.Result; import fr.ifremer.echobase.entities.data.Voyage; import fr.ifremer.echobase.services.EchoBaseServiceSupport; @@ -151,8 +152,7 @@ public abstract class AbstractRemoveDataStrategy<E extends TopiaEntity> extends protected void removeVoyage(Voyage entity) throws TopiaException { // get categories to remove after - List<Category> categories = - persistenceService.getCategoryUsingEchotype(entity); + List<Category> categories = persistenceService.getCategoryUsingEchotype(entity); // dettach obsolete categories from their echotypes // FIXME This with topia 3.0 ? @@ -165,7 +165,6 @@ public abstract class AbstractRemoveDataStrategy<E extends TopiaEntity> extends // remove obsolete categories for (Category category : categories) { - persistenceService.deleteCategory(category); incrementOp("Remove orphan category " + category.getTopiaId()); } @@ -194,35 +193,16 @@ public abstract class AbstractRemoveDataStrategy<E extends TopiaEntity> extends } protected void removeVoyageCellResults(Voyage voyage) throws TopiaException { - - // Get all cells of the voyage -// TopiaSQLQuery<String> query = 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); -// } -// }; - List<String> cellIds = persistenceService.getVoyageCellIds(voyage); - - + this.removeCellResults(cellIds); + } + + protected void removeMooringCellResults(Mooring mooring) throws TopiaException { + List<String> cellIds = persistenceService.getMooringCellIds(mooring); + this.removeCellResults(cellIds); + } + + protected void removeCellResults(List<String> cellIds) throws TopiaException { // remove all result of cells for (String cellId : cellIds) { Optional<Cell> optionalCell = persistenceService.getOptionalCell(cellId); @@ -239,42 +219,10 @@ public abstract class AbstractRemoveDataStrategy<E extends TopiaEntity> extends incrementOp("Remove cell " + cellId + " results"); } } - -// protected long countVoyageCellResults(final Voyage voyage) { -// TopiaSQLQuery<Long> query = 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); -// } -// }; -// try { -// Long result = getEchoBaseUserPersistenceContext().findSingleResult(query); -// return result; -// } catch (TopiaException e) { -// throw new EchoBaseTechnicalException(e); -// } -// } - + protected void removeVoyageOrphanCells() throws TopiaException { - - List<String> cellIds = persistenceService.getVoyageCellIds(); + List<String> cellIds = persistenceService.getVoyageOrphanCellIds(); + for (String cellId : cellIds) { Cell cell = persistenceService.getCell(cellId); persistenceService.deleteCell(cell); diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/AcousticRemoveDataStrategy.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/AcousticRemoveDataStrategy.java index 85fc991..0bd91dd 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/AcousticRemoveDataStrategy.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/AcousticRemoveDataStrategy.java @@ -80,7 +80,6 @@ public class AcousticRemoveDataStrategy extends AbstractRemoveDataStrategy<Voyag @Override protected void removePostData(DataAccousticProvider<Voyage> provider) throws TopiaException { - // remove orphans cells removeVoyageOrphanCells(); } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/CommonAllRemoveDataStrategy.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/CommonAllRemoveDataStrategy.java index 082a979..2c0c260 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/CommonAllRemoveDataStrategy.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/CommonAllRemoveDataStrategy.java @@ -48,7 +48,6 @@ public class CommonAllRemoveDataStrategy extends AbstractRemoveDataStrategy<Voya @Override protected void removePostData(DataAccousticProvider<Voyage> provider) throws TopiaException { - // remove orphans cells removeVoyageOrphanCells(); } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/CommonTransectRemoveDataStrategy.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/CommonTransectRemoveDataStrategy.java index 720aa4a..b928931 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/CommonTransectRemoveDataStrategy.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/CommonTransectRemoveDataStrategy.java @@ -78,7 +78,6 @@ public class CommonTransectRemoveDataStrategy extends AbstractRemoveDataStrategy @Override protected void removePostData(DataAccousticProvider<Voyage> provider) throws TopiaException { - // remove orphans cells removeVoyageOrphanCells(); } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/CommonTransitRemoveDataStrategy.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/CommonTransitRemoveDataStrategy.java index 41228ed..5ecefe3 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/CommonTransitRemoveDataStrategy.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/CommonTransitRemoveDataStrategy.java @@ -77,7 +77,6 @@ public class CommonTransitRemoveDataStrategy extends AbstractRemoveDataStrategy< @Override protected void removePostData(DataAccousticProvider<Voyage> provider) throws TopiaException { - // remove orphans cells removeVoyageOrphanCells(); } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/DummyMooringRemoveDataStrategy.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/DummyMooringRemoveDataStrategy.java new file mode 100644 index 0000000..794fb40 --- /dev/null +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/DummyMooringRemoveDataStrategy.java @@ -0,0 +1,60 @@ +package fr.ifremer.echobase.services.service.removedata.strategy; + +/* + * #%L + * EchoBase :: Services + * %% + * Copyright (C) 2011 - 2012 Ifremer, Codelutin + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * #L% + */ + +import com.google.common.collect.Sets; +import fr.ifremer.echobase.entities.DataAccousticProvider; +import fr.ifremer.echobase.entities.ImportLog; +import fr.ifremer.echobase.entities.ImportType; +import fr.ifremer.echobase.entities.data.Mooring; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.nuiton.topia.persistence.TopiaException; + +import java.util.Set; + +/** + * @author Julien Ruchaud - ruchaud@codelutin.com + * @since 4.0 + */ +public class DummyMooringRemoveDataStrategy extends AbstractRemoveDataStrategy<Mooring> { + + /** Logger. */ + private static final Log log = LogFactory.getLog(DummyMooringRemoveDataStrategy.class); + + + @Override + public long computeNbSteps(DataAccousticProvider<Mooring> provider, ImportLog importLog) { + long result = getImportFileIdsCount(importLog); + return result; + } + + @Override + protected void removeImportData(DataAccousticProvider<Mooring> provider, String id) throws TopiaException { + } + + @Override + public Set<ImportType> getPossibleSubImportType() { + return Sets.newHashSet(); + } + +} diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/LegacyVoyageRemoveDataStrategy.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/LegacyVoyageRemoveDataStrategy.java index 480b237..615bd78 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/LegacyVoyageRemoveDataStrategy.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/LegacyVoyageRemoveDataStrategy.java @@ -48,7 +48,6 @@ public class LegacyVoyageRemoveDataStrategy extends AbstractRemoveDataStrategy<V @Override protected void removePostData(DataAccousticProvider<Voyage> provider) throws TopiaException { - // remove orphans cells removeVoyageOrphanCells(); } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/AcousticRemoveDataStrategy.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/MooringAcousticRemoveDataStrategy.java similarity index 67% copy from echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/AcousticRemoveDataStrategy.java copy to echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/MooringAcousticRemoveDataStrategy.java index 85fc991..b794bf2 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/AcousticRemoveDataStrategy.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/MooringAcousticRemoveDataStrategy.java @@ -28,8 +28,8 @@ import fr.ifremer.echobase.entities.ImportType; import fr.ifremer.echobase.entities.data.Cell; import fr.ifremer.echobase.entities.data.DataAcquisition; import fr.ifremer.echobase.entities.data.DataProcessing; +import fr.ifremer.echobase.entities.data.Mooring; import fr.ifremer.echobase.entities.data.Transect; -import fr.ifremer.echobase.entities.data.Voyage; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.topia.persistence.TopiaException; @@ -37,56 +37,43 @@ import org.nuiton.topia.persistence.TopiaException; import java.util.Set; /** - * Remove a {@link ImportType#ACOUSTIC} import. + * Remove a {@link ImportType#MOORING_ACOUSTIC} import. * * Can remove only {@link DataAcquisition} or {@link Cell}. * - * @author Tony Chemit - chemit@codelutin.com - * @since 1.2 + * @author Julien Ruchaud - ruchaud@codelutin.com + * @since 4.0 */ -public class AcousticRemoveDataStrategy extends AbstractRemoveDataStrategy<Voyage> { +public class MooringAcousticRemoveDataStrategy extends AbstractRemoveDataStrategy<Mooring> { /** Logger. */ - private static final Log log = - LogFactory.getLog(AcousticRemoveDataStrategy.class); + private static final Log log = LogFactory.getLog(MooringAcousticRemoveDataStrategy.class); @Override - public long computeNbSteps(DataAccousticProvider<Voyage> provider, ImportLog importLog) { - Voyage voyage = provider.getEntity(); + public long computeNbSteps(DataAccousticProvider<Mooring> provider, ImportLog importLog) { + Mooring mooring = provider.getEntity(); long result = getImportFileIdsCount(importLog); // add all cell results - result += persistenceService.countVoyageCellResults(voyage); - - // add all postCell - result += voyage.sizePostCell(); + result += persistenceService.countMooringCellResults(mooring); // add all orphan cells - result += persistenceService.countVoyageOrphanCells(voyage); + result += persistenceService.countMooringOrphanCells(mooring); + return result; } @Override - protected void removePreData(DataAccousticProvider<Voyage> provider) throws TopiaException { - Voyage voyage = provider.getEntity(); + protected void removePreData(DataAccousticProvider<Mooring> provider) throws TopiaException { + Mooring mooring = provider.getEntity(); // remove all cell results - removeVoyageCellResults(voyage); - - // remove post cell from top voyage - removeVoyagePostCell(voyage); - } - - @Override - protected void removePostData(DataAccousticProvider<Voyage> provider) throws TopiaException { - - // remove orphans cells - removeVoyageOrphanCells(); + removeMooringCellResults(mooring); } @Override - protected void removeImportData(DataAccousticProvider<Voyage> provider, String id) throws TopiaException { + protected void removeImportData(DataAccousticProvider<Mooring> provider, String id) throws TopiaException { if (id.startsWith(DataAcquisition.class.getName())) { @@ -126,10 +113,7 @@ public class AcousticRemoveDataStrategy extends AbstractRemoveDataStrategy<Voyag @Override public Set<ImportType> getPossibleSubImportType() { - return Sets.newHashSet(ImportType.RESULT_VOYAGE, - ImportType.RESULT_ESDU, - ImportType.RESULT_MAP_FISH, - ImportType.RESULT_MAP_OTHER, - ImportType.RESULT_REGION); + return Sets.newHashSet(ImportType.RESULT_MOORING, + ImportType.RESULT_MOORING_ESDU); } } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/MooringRemoveDataStrategy.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/MooringRemoveDataStrategy.java new file mode 100644 index 0000000..4a52c93 --- /dev/null +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/MooringRemoveDataStrategy.java @@ -0,0 +1,83 @@ +package fr.ifremer.echobase.services.service.removedata.strategy; + +/* + * #%L + * EchoBase :: Services + * %% + * Copyright (C) 2011 - 2012 Ifremer, Codelutin + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * #L% + */ + +import com.google.common.collect.Sets; +import fr.ifremer.echobase.entities.DataAccousticProvider; +import fr.ifremer.echobase.entities.ImportLog; +import fr.ifremer.echobase.entities.ImportType; +import fr.ifremer.echobase.entities.data.Mooring; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.nuiton.topia.persistence.TopiaException; + +import java.util.Set; + +/** + * Remove a {@link ImportType#MOORING} import. + * + * Can remove only {@link Mooring}. + * + * /!\ The provider is null in this case /!\ + * + * @author Julien Ruchaud - ruchaud@codelutin.com + * @since 4.0 + */ +public class MooringRemoveDataStrategy extends AbstractRemoveDataStrategy<Mooring> { + + /** Logger. */ + private static final Log log = LogFactory.getLog(MooringRemoveDataStrategy.class); + + + @Override + public long computeNbSteps(DataAccousticProvider<Mooring> provider, ImportLog importLog) { + long result = getImportFileIdsCount(importLog); + return result; + } + + @Override + protected void removeImportData(DataAccousticProvider<Mooring> provider, String id) throws TopiaException { + + if (id.startsWith(Mooring.class.getName())) { + + // get entity to delete + Mooring entity = persistenceService.getMooring(id); + + // delete it + persistenceService.deleteMooring(entity); + + if (log.isDebugEnabled()) { + log.debug(entity.getTopiaId() + " was removed"); + } + } else { + canNotDealWithId(id); + } + } + + @Override + public Set<ImportType> getPossibleSubImportType() { + return Sets.newHashSet(ImportType.MOORING_ACOUSTIC, + ImportType.RESULT_MOORING, + ImportType.RESULT_MOORING_ESDU); + } + +} -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/8180 in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git commit bb9d4544190854a78502bdeb89e263181c5b567a Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Tue Jun 21 17:51:58 2016 +0200 Fix UI after modification on remove strategies for mooring --- .../echobase/ui/actions/dbeditor/GetEntities.java | 30 ++++++++++------------ .../ui/actions/removeData/ConfirmDelete.java | 5 ++-- .../echobase/ui/actions/workingDb/DashBoard.java | 2 -- .../ui/actions/workingDb/GetImportLogDetail.java | 6 ++--- echobase-ui/src/main/resources/echobase.properties | 2 ++ 5 files changed, 22 insertions(+), 23 deletions(-) diff --git a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/GetEntities.java b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/GetEntities.java index 35b9124..cf51d35 100644 --- a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/GetEntities.java +++ b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/GetEntities.java @@ -28,7 +28,6 @@ import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum; import fr.ifremer.echobase.entities.ImportLog; import fr.ifremer.echobase.entities.ImportLogs; 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.UserDbPersistenceService; @@ -42,10 +41,10 @@ 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.Collections; import java.util.Map; +import org.nuiton.topia.persistence.TopiaEntity; /** * To obtain the data for the given request. @@ -60,10 +59,10 @@ public class GetEntities extends AbstractJSONPaginedAction { /** Logger. */ private static final Log log = LogFactory.getLog(GetEntities.class); - protected String voyageId; + protected String entityId; - public void setVoyageId(String voyageId) { - this.voyageId = voyageId; + public void setEntityId(String entityId) { + this.entityId = entityId; } /** Type of entity to load. */ @@ -113,11 +112,11 @@ public class GetEntities extends AbstractJSONPaginedAction { public String entityImportLogs() throws Exception { entityType = EchoBaseUserEntityEnum.ImportLog; - if (StringUtils.isNotBlank(voyageId)) { + if (StringUtils.isNotBlank(entityId)) { - // add a filter on voyageId + // add a filter on entityId pager.setRules(Collections.singletonList(new FilterRule( - FilterRuleOperator.eq, ImportLog.PROPERTY_VOYAGE_ID, voyageId + FilterRuleOperator.eq, ImportLog.PROPERTY_ENTITY_ID, entityId ))); pager.setGroupOp(FilterRuleGroupOperator.AND); } @@ -131,8 +130,8 @@ public class GetEntities extends AbstractJSONPaginedAction { String importTypeToString = importTypes.get(importType); row.put(ImportLog.PROPERTY_IMPORT_TYPE, importTypeToString); - Voyage voyage = userDbPersistenceService.getVoyage((String) row.get(ImportLog.PROPERTY_VOYAGE_ID)); - decoratorService.decorateForeignKey(row, ImportLog.PROPERTY_VOYAGE_ID, voyage, null); + TopiaEntity entity = userDbPersistenceService.getEntity((String) row.get(ImportLog.PROPERTY_ENTITY_ID)); + decoratorService.decorateForeignKey(row, ImportLog.PROPERTY_ENTITY_ID, entity, null); } return SUCCESS; } @@ -145,19 +144,18 @@ public class GetEntities extends AbstractJSONPaginedAction { Decorator<ImportLog> importLogDecorator = decoratorService.getDecorator( ImportLog.class, DecoratorService.DATE_ONLY); - Multimap<String, ImportLog> importLogsByVoyage = Multimaps.index( + Multimap<String, ImportLog> importLogsByEntity = Multimaps.index( userDbPersistenceService.getImportLogs(), - ImportLogs.IMPORT_LOG_VOYAGE_ID); + ImportLogs.IMPORT_LOG_ENTITY_ID); for (Map row : datas) { String id = (String) row.get("id"); - Collection<ImportLog> importLogs = importLogsByVoyage.get(id); + Collection<ImportLog> importLogs = importLogsByEntity.get(id); - Voyage voyage = userDbPersistenceService.getVoyage(id); - - decoratorService.decorateForeignKey(row, "id", voyage, null); + TopiaEntity entity = userDbPersistenceService.getEntity(id); + decoratorService.decorateForeignKey(row, "id", entity, null); // to keep importLogs decorated, indexed by their topiaId Map<String, String> imports = Maps.newHashMap(); diff --git a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/removeData/ConfirmDelete.java b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/removeData/ConfirmDelete.java index e09add0..5cc6d86 100644 --- a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/removeData/ConfirmDelete.java +++ b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/removeData/ConfirmDelete.java @@ -35,6 +35,7 @@ import org.nuiton.decorator.Decorator; import java.io.IOException; import java.util.List; import java.util.Map; +import org.nuiton.topia.persistence.TopiaEntity; /** * Confirm to delete a import log. @@ -90,9 +91,9 @@ public class ConfirmDelete extends AbstractConfigureAction<RemoveDataConfigurati if (optionalImportLog.isPresent()) { ImportLog importLog = optionalImportLog.get(); - Voyage voyageEntity = userDbPersistenceService.getVoyage(importLog.getVoyageId()); + TopiaEntity entity = userDbPersistenceService.getEntity(importLog.getEntityId()); - String voyage = decorator.toString(voyageEntity); + String voyage = decorator.toString(entity); String importType = importTypes.get(importLog.getImportType().name()); String result = t("echobase.common.importLogToDelete", voyage, diff --git a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/DashBoard.java b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/DashBoard.java index 4b53043..ad623c7 100644 --- a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/DashBoard.java +++ b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/DashBoard.java @@ -28,8 +28,6 @@ import fr.ifremer.echobase.ui.actions.EchoBaseActionSupport; import java.io.Serializable; import java.util.List; -import static org.nuiton.i18n.I18n.t; - /** * DashBoard of existing voyages. * diff --git a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/GetImportLogDetail.java b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/GetImportLogDetail.java index f8d8c11..232d79d 100644 --- a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/GetImportLogDetail.java +++ b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/GetImportLogDetail.java @@ -25,7 +25,6 @@ import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum; import fr.ifremer.echobase.entities.ImportFile; 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.UserDbPersistenceService; @@ -35,6 +34,7 @@ import org.nuiton.topia.persistence.metadata.TableMeta; import javax.inject.Inject; import java.util.Collection; import java.util.Map; +import org.nuiton.topia.persistence.TopiaEntity; /** * Obtain details of a given {@link ImportLog}. @@ -71,8 +71,8 @@ public class GetImportLogDetail extends EchoBaseActionSupport { data.put(ImportLog.PROPERTY_IMPORT_TYPE, importTypes.get(importType)); // decorate foreign keys - Voyage voyage = userDbPersistenceService.getVoyage((String) data.get(ImportLog.PROPERTY_VOYAGE_ID)); - decoratorService.decorateForeignKey(data, ImportLog.PROPERTY_VOYAGE_ID, voyage, null); + TopiaEntity entity = userDbPersistenceService.getEntity((String) data.get(ImportLog.PROPERTY_ENTITY_ID)); + decoratorService.decorateForeignKey(data, ImportLog.PROPERTY_ENTITY_ID, entity, null); // get import files Collection<ImportFile> importFiles = userDbPersistenceService.getImportFiles(importLogId); diff --git a/echobase-ui/src/main/resources/echobase.properties b/echobase-ui/src/main/resources/echobase.properties index 6ed8cc3..516880c 100644 --- a/echobase-ui/src/main/resources/echobase.properties +++ b/echobase-ui/src/main/resources/echobase.properties @@ -30,3 +30,5 @@ echobase.h2Version=${h2Version} # Lizmap version echobase.lizmap.application.version=${lizmapVersion} + +echobase.embedded=true -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm