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
- 1820 discussions
r660 - trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions
by tchemit@users.forge.codelutin.com 14 Sep '12
by tchemit@users.forge.codelutin.com 14 Sep '12
14 Sep '12
Author: tchemit
Date: 2012-09-14 16:36:44 +0200 (Fri, 14 Sep 2012)
New Revision: 660
Url: http://forge.codelutin.com/repositories/revision/echobase/660
Log:
improve pager code
Modified:
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/AbstractJSONPaginedAction.java
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/AbstractJSONPaginedAction.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/AbstractJSONPaginedAction.java 2012-09-14 10:18:34 UTC (rev 659)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/AbstractJSONPaginedAction.java 2012-09-14 14:36:44 UTC (rev 660)
@@ -142,6 +142,11 @@
TopiaPagerBeanBuilder builder = new TopiaPagerBeanBuilder(pager);
+ if (useSort()) {
+ builder.setSortAscendant(isSortAscendant())
+ .setSortcolumn(getSortColumn());
+ }
+
if (StringUtils.isNotEmpty(filters)) {
Map<String, Object> filterObject =
(Map<String, Object>) JSONUtil.deserialize(filters);
@@ -161,13 +166,9 @@
if (StringUtils.isNotEmpty(searchField)) {
pager = builder.
setFilterOperationGroup("AND").
- setSortAscendant(isSortAscendant()).
- setSortcolumn(getSortColumn()).
addRule(searchOper, searchField, searchString).
toBean();
}
}
-
-
}
}
1
0
14 Sep '12
Author: tchemit
Date: 2012-09-14 12:18:34 +0200 (Fri, 14 Sep 2012)
New Revision: 659
Url: http://forge.codelutin.com/repositories/revision/echobase/659
Log:
- use new TopiaPagerBean Api
- remove at last TopiaQuery
Modified:
trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/EchoBaseUserDAOImpl.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DbEditorService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/UserService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/exportdb/ExportService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/exportquery/ExportQueryService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/exportquery/GenericSQLQuery.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/AbstractJSONPaginedAction.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/exportQuery/GetExportQueryResult.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/user/GetUsers.java
Modified: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/EchoBaseUserDAOImpl.java
===================================================================
--- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/EchoBaseUserDAOImpl.java 2012-09-14 10:15:47 UTC (rev 658)
+++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/EchoBaseUserDAOImpl.java 2012-09-14 10:18:34 UTC (rev 659)
@@ -23,13 +23,13 @@
package fr.ifremer.echobase.entities;
import org.nuiton.topia.TopiaException;
-import org.nuiton.topia.persistence.TopiaFilterPagerUtil;
+import org.nuiton.topia.persistence.pager.TopiaPagerBean;
import java.util.List;
public class EchoBaseUserDAOImpl<E extends EchoBaseUser> extends EchoBaseUserDAOAbstract<E> {
- public List<E> findAll(TopiaFilterPagerUtil.FilterPagerBean pager) throws TopiaException {
+ public List<E> findAll(TopiaPagerBean pager) throws TopiaException {
List<E> users;
if (pager == null) {
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DbEditorService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DbEditorService.java 2012-09-14 10:15:47 UTC (rev 658)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DbEditorService.java 2012-09-14 10:18:34 UTC (rev 659)
@@ -30,21 +30,22 @@
import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.EchoBaseUser;
import fr.ifremer.echobase.entities.EntityModificationLog;
-import fr.ifremer.echobase.entities.EntityModificationLogDAO;
import org.apache.commons.collections.CollectionUtils;
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.TopiaQuery;
import org.nuiton.topia.persistence.TopiaDAO;
import org.nuiton.topia.persistence.TopiaEntity;
-import org.nuiton.topia.persistence.TopiaFilterPagerUtil;
import org.nuiton.topia.persistence.csv.EntityCsvModel;
import org.nuiton.topia.persistence.metadata.ColumnMeta;
import org.nuiton.topia.persistence.metadata.DbMeta;
import org.nuiton.topia.persistence.metadata.TableMeta;
-import org.nuiton.util.PagerUtil;
+import org.nuiton.topia.persistence.pager.FilterRule;
+import org.nuiton.topia.persistence.pager.FilterRuleGroupOperator;
+import org.nuiton.topia.persistence.pager.FilterRuleOperator;
+import org.nuiton.topia.persistence.pager.TopiaPagerBean;
+import org.nuiton.util.PagerBeanUtil;
import org.nuiton.util.beans.BeanMonitor;
import org.nuiton.util.beans.PropertyDiff;
import org.nuiton.util.csv.ExportModel;
@@ -94,19 +95,11 @@
return result;
}
- //TODO Use an object to filter datas
- public Map<?, ?>[] getData(EchoBaseEntityEnum entityType,
- TopiaFilterPagerUtil.FilterPagerBean pager,
- String sidx,
- Boolean ascendantOrder) {
+ public Map<?, ?>[] getData(EchoBaseEntityEnum type, TopiaPagerBean pager) {
- TableMeta<EchoBaseEntityEnum> meta = getTableMeta(entityType);
+ TableMeta<EchoBaseEntityEnum> meta = getTableMeta(type);
- List<TopiaEntity> entities = getEntities(meta,
- pager,
- sidx,
- ascendantOrder
- );
+ List<TopiaEntity> entities = getEntities(meta, pager);
Map<?, ?>[] rows = new Map[entities.size()];
@@ -122,173 +115,43 @@
}
public <E extends TopiaEntity> List<E> getEntities(TableMeta<EchoBaseEntityEnum> tableMeta,
- TopiaFilterPagerUtil.FilterPagerBean pager,
- String sidx,
- Boolean ascendantOrder) {
+ TopiaPagerBean pager) {
- //TODO-tchemit-2012-08-19 Replace TopiaQuery with simple hql query
- List<E> result;
EchoBaseEntityEnum entityEnum = tableMeta.getSource();
try {
TopiaDAO<E> dao = (TopiaDAO<E>) getDAO(entityEnum.getContract());
- // first query to count datas
- TopiaQuery countQuery = dao.createQuery("e");
- countQuery.addSelect("count(*)");
- String filterHql = null;
+ List<Object> paramsList = Lists.newArrayList();
- Map<String, Object> filterParams = Maps.newHashMap();
+ String hql = dao.createSimpleQuery("e");
if (pager != null && pager.canFilter()) {
-
- DecoratorService decoratorService = getDecoratorService();
-
- // prepare the filter hql code
- List<TopiaFilterPagerUtil.FilterRule> rules = pager.getRules();
- List<String> strFilterRules = Lists.newLinkedList();
- long timestamp = System.currentTimeMillis();
- int index = 0;
- for (TopiaFilterPagerUtil.FilterRule rule : rules) {
- String ruleFilter;
-
- String field = rule.getField();
-
- ColumnMeta columnMeta = tableMeta.getColumns(field);
- Preconditions.checkNotNull(
- columnMeta, "no property named " + columnMeta);
-
- TopiaFilterPagerUtil.FilterOperation op = rule.getOp();
- String data = rule.getData();
- String paramName = field + "_" + timestamp + (index++);
- String propertyName = "e." + field;
- Object realData = data;
- if (columnMeta.isFK()) {
-
- // must do a select in using the decoration pattern
-
- JXPathDecorator<?> decorator =
- (JXPathDecorator<?>) decoratorService.getDecorator(getLocale(),
- columnMeta.getType(),
- null);
-
- if (decorator.getNbToken() == 1) {
-
- // simple case one token
- String token = "f." + decorator.getProperty(0);
-
- String subQuery = op.toHql(paramName,
- token,
- data,
- filterParams);
-
- ruleFilter = propertyName + " in ( Select f From " + columnMeta.getType().getName() + " f where " + subQuery + ")";
- } else {
-
- throw new UnsupportedOperationException();
- }
-
-
- } else {
-
- if (columnMeta.isNumber()) {
- if (columnMeta.getType() == int.class ||
- columnMeta.getType() == Integer.class) {
- realData = Integer.valueOf(data);
- } else {
-
- realData = Double.valueOf(data);
- }
- } else if (columnMeta.isDate()) {
- propertyName = "str(" + propertyName + ")";
- }
- ruleFilter = op.toHql(paramName,
- propertyName,
- realData,
- filterParams);
-
- }
-
-
- strFilterRules.add("(" + ruleFilter + ")");
-
- }
-
- if (CollectionUtils.isNotEmpty(strFilterRules)) {
- TopiaFilterPagerUtil.FilterOperationGroup groupOp =
- pager.getGroupOp();
- filterHql = StringUtils.join(strFilterRules, groupOp.name());
- }
- }
-
- if (filterHql != null) {
+ String filterHql = getFilterHql(tableMeta, pager, paramsList);
if (log.isInfoEnabled()) {
log.info("filterHql = " + filterHql);
}
- for (Map.Entry<String, Object> e : filterParams.entrySet()) {
- String paramName = e.getKey();
- Object paramValue = e.getValue();
- if (log.isInfoEnabled()) {
- log.info("filterParam = " +
- paramName + "/" + paramValue);
- }
- countQuery.addParam(paramName, paramValue);
- }
- countQuery.addWhere(filterHql);
-
- String fullQuery = countQuery.fullQuery();
- if (log.isInfoEnabled()) {
- log.info("fullquery = " + fullQuery);
- }
+ hql += " WHERE " + filterHql;
}
- int count = dao.countByQuery(countQuery);
+ Object[] params = paramsList.toArray();
- TopiaQuery query = dao.createQuery("e");
+ long count = dao.countByQuery("SELECT COUNT(*) " + hql, params);
if (pager != null) {
+
pager.setRecords(count);
- PagerUtil.computeRecordIndexesAndPagesNumber(pager);
+ PagerBeanUtil.computeRecordIndexesAndPagesNumber(pager);
+ }
- int from = pager.getRecordStartIndex();
- int to = pager.getRecordEndIndex();
-
- if (log.isDebugEnabled()) {
- log.debug("Count = " + count);
- log.debug("page = " + pager.getPageIndex());
- log.debug("pageSize = " + pager.getPageSize());
- log.debug("from = " + from);
- log.debug("to = " + to);
- log.debug("pageCount= " + pager.getPagesNumber());
- }
-
- if (filterHql != null) {
- for (Map.Entry<String, Object> entry : filterParams.entrySet()) {
- String paramName = entry.getKey();
- Object paramValue = entry.getValue();
- query.addParam(paramName, paramValue);
- }
- query.addWhere(filterHql);
- }
-
- if (StringUtils.isNotEmpty(sidx)) {
- if (ascendantOrder) {
- query.addOrder(sidx);
- } else {
- query.addOrderDesc(sidx);
- }
- }
-
- query.setLimit(from, to - 1);
- }
- result = dao.findAllByQuery(query);
+ List<E> result = dao.findAllByQueryAndPager(hql, pager, params);
return result;
} catch (TopiaException eee) {
throw new EchoBaseTechnicalException("Could not obtain data", eee);
}
}
- public <E extends TopiaEntity> Iterable<E> getEntities(TableMeta<EchoBaseEntityEnum> tableMeta,
- String extraWhereQuery) {
+ public <E extends TopiaEntity> Iterable<E> iterateOnEntities(TableMeta<EchoBaseEntityEnum> tableMeta,
+ String extraWhereQuery) {
try {
TopiaDAO<E> dao = (TopiaDAO<E>) getDAO(tableMeta.getSource().getContract());
@@ -298,6 +161,7 @@
if (extraWhereQuery != null) {
hql += " WHERE " + extraWhereQuery;
}
+ hql += " ORDER BY e.id";
Iterable<E> result = dao.findAllLazyByQuery(5000, hql);
return result;
} catch (TopiaException eee) {
@@ -318,7 +182,7 @@
}
}
- public void saveEntity(TableMeta meta,
+ public void saveEntity(TableMeta<EchoBaseEntityEnum> meta,
Map<String, String> properties,
EchoBaseUser user) {
@@ -428,14 +292,106 @@
}
}
- protected void createEntityModificationLog(
- TableMeta tableMeta,
- String messagePrefix,
- TopiaEntity entity,
- EchoBaseUser user,
- BeanMonitor monitor
- ) throws TopiaException {
+ protected <O> Decorator<O> getDecorator(Class<O> type) {
+ return getDecoratorService().getDecorator(getLocale(), type, null);
+ }
+ protected String getFilterHql(TableMeta<EchoBaseEntityEnum> tableMeta,
+ TopiaPagerBean pager,
+ List<Object> params) {
+ Preconditions.checkNotNull(pager);
+ Preconditions.checkState(pager.canFilter());
+
+ String filterHql = null;
+
+ Map<String, Object> filterParams = Maps.newHashMap();
+
+ List<String> strFilterRules = Lists.newLinkedList();
+
+ long timestamp = System.currentTimeMillis();
+ int index = 0;
+ for (FilterRule rule : pager.getRules()) {
+ String ruleFilter;
+
+ String field = rule.getField();
+
+ ColumnMeta columnMeta = tableMeta.getColumns(field);
+ Preconditions.checkNotNull(columnMeta,
+ "no property named " + columnMeta);
+
+ FilterRuleOperator op = rule.getOp();
+ String data = rule.getData();
+ String paramName = field + "_" + timestamp + (index++);
+ String propertyName = "e." + field;
+ Object realData = data;
+ if (columnMeta.isFK()) {
+
+ // must do a select in using the decoration pattern
+
+ JXPathDecorator<?> decorator =
+ (JXPathDecorator<?>) getDecorator(columnMeta.getType());
+
+ if (decorator.getNbToken() == 1) {
+
+ String fName = "f_" + timestamp + (index++);
+
+ // simple case one token
+ String token = fName + "." + decorator.getProperty(0);
+
+ String subQuery = op.toHql(paramName,
+ token,
+ data,
+ filterParams);
+
+ ruleFilter = propertyName + " IN ( SELECT f FROM " +
+ columnMeta.getType().getName() + " " +
+ fName + " WHERE " + subQuery + ")";
+ } else {
+
+ throw new UnsupportedOperationException();
+ }
+
+ } else {
+
+ if (columnMeta.isNumber()) {
+ if (columnMeta.getType() == int.class ||
+ columnMeta.getType() == Integer.class) {
+ realData = Integer.valueOf(data);
+ } else {
+
+ realData = Double.valueOf(data);
+ }
+ } else if (columnMeta.isDate()) {
+ propertyName = "str(" + propertyName + ")";
+ }
+ ruleFilter = op.toHql(paramName,
+ propertyName,
+ realData,
+ filterParams);
+ }
+
+ strFilterRules.add("(" + ruleFilter + ")");
+
+ if (CollectionUtils.isNotEmpty(strFilterRules)) {
+ FilterRuleGroupOperator groupOp =
+ pager.getGroupOp();
+ filterHql = StringUtils.join(strFilterRules, groupOp.name());
+ }
+
+ for (Map.Entry<String, Object> entry : filterParams.entrySet()) {
+ params.add(entry.getKey());
+ params.add(entry.getValue());
+ }
+ }
+ return filterHql;
+ }
+
+ protected void createEntityModificationLog(TableMeta<EchoBaseEntityEnum> tableMeta,
+ String messagePrefix,
+ TopiaEntity entity,
+ EchoBaseUser user,
+ BeanMonitor monitor) throws TopiaException {
+
StringBuilder buffer;
String topiaId = entity.getTopiaId();
@@ -491,10 +447,7 @@
}
}
- EntityModificationLogDAO dao =
- getDAO(EntityModificationLog.class, EntityModificationLogDAO.class);
-
- dao.create(
+ getDAO(EntityModificationLog.class).create(
EntityModificationLog.PROPERTY_ENTITY_TYPE, tableMeta.getSource().name(),
EntityModificationLog.PROPERTY_ENTITY_ID, topiaId,
EntityModificationLog.PROPERTY_MODIFICATION_USER, user.getEmail(),
@@ -586,8 +539,7 @@
if (addDecorated) {
// translate foreign key to his decorated value
- Decorator<TopiaEntity> decorator =
- getDecoratorService().getDecorator(getLocale(), entityType, null);
+ Decorator<TopiaEntity> decorator = getDecorator(entityType);
model.addDecoratedForeignKeyForExport(
propertyName + "_lib",
propertyName,
@@ -618,4 +570,170 @@
return model;
}
+// public <E extends TopiaEntity> List<E> getEntities(TableMeta<EchoBaseEntityEnum> tableMeta, TopiaPagerBean pager) {
+//
+// //TODO-tchemit-2012-08-19 Replace TopiaQuery with simple hql query
+// List<E> result;
+// EchoBaseEntityEnum entityEnum = tableMeta.getSource();
+// try {
+// TopiaDAO<E> dao = (TopiaDAO<E>) getDAO(entityEnum.getContract());
+//
+// // first query to count datas
+// TopiaQuery countQuery = dao.createQuery("e");
+// countQuery.addSelect("count(*)");
+// String filterHql = null;
+//
+// Map<String, Object> filterParams = Maps.newHashMap();
+//
+// if (pager != null && pager.canFilter()) {
+//
+// DecoratorService decoratorService = getDecoratorService();
+//
+// // prepare the filter hql code
+// List<FilterRule> rules = pager.getRules();
+// List<String> strFilterRules = Lists.newLinkedList();
+// long timestamp = System.currentTimeMillis();
+// int index = 0;
+// for (FilterRule rule : rules) {
+// String ruleFilter;
+//
+// String field = rule.getField();
+//
+// ColumnMeta columnMeta = tableMeta.getColumns(field);
+// Preconditions.checkNotNull(
+// columnMeta, "no property named " + columnMeta);
+//
+// FilterRuleOperator op = rule.getOp();
+// String data = rule.getData();
+// String paramName = field + "_" + timestamp + (index++);
+// String propertyName = "e." + field;
+// Object realData = data;
+// if (columnMeta.isFK()) {
+//
+// // must do a select in using the decoration pattern
+//
+// JXPathDecorator<?> decorator =
+// (JXPathDecorator<?>) decoratorService.getDecorator(getLocale(),
+// columnMeta.getType(),
+// null);
+//
+// if (decorator.getNbToken() == 1) {
+//
+// // simple case one token
+// String token = "f." + decorator.getProperty(0);
+//
+// String subQuery = op.toHql(paramName,
+// token,
+// data,
+// filterParams);
+//
+// ruleFilter = propertyName + " in ( SELECT f FROM " + columnMeta.getType().getName() + " f WHERE " + subQuery + ")";
+// } else {
+//
+// throw new UnsupportedOperationException();
+// }
+//
+//
+// } else {
+//
+// if (columnMeta.isNumber()) {
+// if (columnMeta.getType() == int.class ||
+// columnMeta.getType() == Integer.class) {
+// realData = Integer.valueOf(data);
+// } else {
+//
+// realData = Double.valueOf(data);
+// }
+// } else if (columnMeta.isDate()) {
+// propertyName = "str(" + propertyName + ")";
+// }
+// ruleFilter = op.toHql(paramName,
+// propertyName,
+// realData,
+// filterParams);
+//
+// }
+//
+// strFilterRules.add("(" + ruleFilter + ")");
+// }
+//
+// if (CollectionUtils.isNotEmpty(strFilterRules)) {
+// FilterRuleGroupOperator groupOp =
+// pager.getGroupOp();
+// filterHql = StringUtils.join(strFilterRules, groupOp.name());
+// }
+// }
+//
+// if (filterHql != null) {
+// if (log.isInfoEnabled()) {
+// log.info("filterHql = " + filterHql);
+// }
+// for (Map.Entry<String, Object> e : filterParams.entrySet()) {
+// String paramName = e.getKey();
+// Object paramValue = e.getValue();
+// if (log.isInfoEnabled()) {
+// log.info("filterParam = " +
+// paramName + "/" + paramValue);
+// }
+// countQuery.addParam(paramName, paramValue);
+// }
+// countQuery.addWhere(filterHql);
+//
+// String fullQuery = countQuery.fullQuery();
+// if (log.isInfoEnabled()) {
+// log.info("fullquery = " + fullQuery);
+// }
+// }
+//
+// int count = dao.countByQuery(countQuery);
+//
+// TopiaQuery query = dao.createQuery("e");
+//
+// if (pager != null) {
+//
+// pager.setRecords(count);
+// PagerBeanUtil.computeRecordIndexesAndPagesNumber(pager);
+//
+// long from = pager.getRecordStartIndex();
+// long to = pager.getRecordEndIndex();
+//
+// if (log.isDebugEnabled()) {
+// log.debug("Count = " + count);
+// log.debug("page = " + pager.getPageIndex());
+// log.debug("pageSize = " + pager.getPageSize());
+// log.debug("from = " + from);
+// log.debug("to = " + to);
+// log.debug("pageCount= " + pager.getPagesNumber());
+// }
+//
+// if (filterHql != null) {
+// for (Map.Entry<String, Object> entry : filterParams.entrySet()) {
+// String paramName = entry.getKey();
+// Object paramValue = entry.getValue();
+// query.addParam(paramName, paramValue);
+// }
+// query.addWhere(filterHql);
+// }
+//
+// String sidx = pager.getSortColumn();
+// boolean ascendantOrder = pager.isSortAscendant();
+//
+// if (StringUtils.isNotEmpty(sidx)) {
+// if (ascendantOrder) {
+// query.addOrder(sidx);
+// } else {
+// query.addOrderDesc(sidx);
+// }
+// }
+//
+// query.setLimit((int) from, (int) to - 1);
+// }
+//
+// dao.findAllByQueryAndPager("hql", pager, filterParams.toString());
+// result = dao.findAllByQuery(query);
+// return result;
+// } catch (TopiaException eee) {
+// throw new EchoBaseTechnicalException("Could not obtain data", eee);
+// }
+// }
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/UserService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/UserService.java 2012-09-14 10:15:47 UTC (rev 658)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/UserService.java 2012-09-14 10:18:34 UTC (rev 659)
@@ -29,7 +29,7 @@
import fr.ifremer.echobase.entities.EchoBaseUserDAO;
import org.apache.commons.lang3.StringUtils;
import org.nuiton.topia.TopiaException;
-import org.nuiton.topia.persistence.TopiaFilterPagerUtil;
+import org.nuiton.topia.persistence.pager.TopiaPagerBean;
import org.nuiton.util.StringUtil;
import java.util.List;
@@ -52,7 +52,7 @@
return getUsers(null);
}
- public List<EchoBaseUser> getUsers(TopiaFilterPagerUtil.FilterPagerBean pager) {
+ public List<EchoBaseUser> getUsers(TopiaPagerBean pager) {
try {
EchoBaseUserDAO dao = getDAO();
List<EchoBaseUser> users = dao.findAll(pager);
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/exportdb/ExportService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/exportdb/ExportService.java 2012-09-14 10:15:47 UTC (rev 658)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/exportdb/ExportService.java 2012-09-14 10:18:34 UTC (rev 659)
@@ -193,7 +193,7 @@
public <E extends TopiaEntity> Iterable<E> prepareData(TableMeta<EchoBaseEntityEnum> tableMeta) {
DbEditorService service = getService(DbEditorService.class);
- Iterable<E> data = service.getEntities(tableMeta, null);
+ Iterable<E> data = service.iterateOnEntities(tableMeta, null);
return data;
}
@@ -202,7 +202,7 @@
DbEditorService service = getService(DbEditorService.class);
TableMeta<EchoBaseEntityEnum> tableMeta = service.getTableMeta(associationMeta.getSource());
- Iterable<E> data = service.getEntities(tableMeta, "size(e." + associationMeta.getName() + ") > 0");
+ Iterable<E> data = service.iterateOnEntities(tableMeta, "size(e." + associationMeta.getName() + ") > 0");
return data;
}
};
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/exportquery/ExportQueryService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/exportquery/ExportQueryService.java 2012-09-14 10:15:47 UTC (rev 658)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/exportquery/ExportQueryService.java 2012-09-14 10:18:34 UTC (rev 659)
@@ -31,7 +31,7 @@
import fr.ifremer.echobase.services.EchoBaseServiceSupport;
import org.apache.commons.lang3.StringUtils;
import org.nuiton.topia.TopiaException;
-import org.nuiton.util.PagerUtil;
+import org.nuiton.topia.persistence.pager.TopiaPagerBean;
import org.nuiton.util.csv.Export;
import java.util.List;
@@ -124,7 +124,7 @@
sqlQuery.getColumnNames(getTransaction());
}
- public Map<String, Object>[] executeSql(String sql, PagerUtil.PagerBean pager) {
+ public Map<String, Object>[] executeSql(String sql, TopiaPagerBean pager) {
// get a query to count all rows for the request
GenericSQLQuery sqlQuery = new GenericSQLQuery(sql, pager);
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/exportquery/GenericSQLQuery.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/exportquery/GenericSQLQuery.java 2012-09-14 10:15:47 UTC (rev 658)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/exportquery/GenericSQLQuery.java 2012-09-14 10:18:34 UTC (rev 659)
@@ -29,7 +29,8 @@
import org.nuiton.topia.TopiaException;
import org.nuiton.topia.framework.TopiaContextImplementor;
import org.nuiton.topia.framework.TopiaSQLQuery;
-import org.nuiton.util.PagerUtil;
+import org.nuiton.util.PagerBean;
+import org.nuiton.util.PagerBeanUtil;
import java.sql.Connection;
import java.sql.PreparedStatement;
@@ -39,11 +40,11 @@
import java.util.Map;
/**
-* TODO
-*
-* @author tchemit <chemit(a)codelutin.com>
-* @since 1.0
-*/
+ * TODO
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 1.0
+ */
public class GenericSQLQuery extends TopiaSQLQuery<Map<String, Object>> {
/** Logger. */
@@ -53,9 +54,9 @@
private final String sql;
- private final PagerUtil.PagerBean pager;
+ private final PagerBean pager;
- public GenericSQLQuery(String sql, PagerUtil.PagerBean pager) {
+ public GenericSQLQuery(String sql, PagerBean pager) {
this.sql = sql;
this.pager = pager;
}
@@ -106,12 +107,12 @@
if (pager != null) {
// must count rows
- int nbRows = getNbRows(set);
+ long nbRows = getNbRows(set);
if (log.isInfoEnabled()) {
log.info("For request " + sql + ", nb rows = " + nbRows);
}
pager.setRecords(nbRows);
- PagerUtil.computeRecordIndexesAndPagesNumber(pager);
+ PagerBeanUtil.computeRecordIndexesAndPagesNumber(pager);
}
}
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/AbstractJSONPaginedAction.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/AbstractJSONPaginedAction.java 2012-09-14 10:15:47 UTC (rev 658)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/AbstractJSONPaginedAction.java 2012-09-14 10:18:34 UTC (rev 659)
@@ -23,11 +23,11 @@
*/
package fr.ifremer.echobase.ui.actions;
-import com.google.common.collect.Maps;
import org.apache.commons.lang3.StringUtils;
import org.apache.struts2.json.JSONException;
import org.apache.struts2.json.JSONUtil;
-import org.nuiton.topia.persistence.TopiaFilterPagerUtil;
+import org.nuiton.topia.persistence.pager.TopiaPagerBean;
+import org.nuiton.topia.persistence.pager.TopiaPagerBeanBuilder;
import java.util.Collection;
import java.util.Map;
@@ -42,17 +42,8 @@
private static final long serialVersionUID = 1L;
- public abstract Integer getRows();
+ protected TopiaPagerBean pager = new TopiaPagerBean();
- public abstract Integer getPage();
-
- public abstract Integer getTotal();
-
- public abstract Integer getRecords();
-
- protected TopiaFilterPagerUtil.FilterPagerBean pager =
- new TopiaFilterPagerUtil.FilterPagerBean();
-
// sorting order - asc or desc
protected String sord;
@@ -67,6 +58,22 @@
protected String searchOper;
+ public final Integer getRows() {
+ return pager.getPageSize();
+ }
+
+ public final Integer getPage() {
+ return pager.getPageIndex();
+ }
+
+ public final Long getTotal() {
+ return pager.getPagesNumber();
+ }
+
+ public final Long getRecords() {
+ return pager.getRecords();
+ }
+
public void setRows(Integer rows) {
pager.setPageSize(rows);
}
@@ -133,6 +140,8 @@
protected void initFilter() throws JSONException {
+ TopiaPagerBeanBuilder builder = new TopiaPagerBeanBuilder(pager);
+
if (StringUtils.isNotEmpty(filters)) {
Map<String, Object> filterObject =
(Map<String, Object>) JSONUtil.deserialize(filters);
@@ -141,22 +150,21 @@
Collection<Map<String, String>> rules =
(Collection<Map<String, String>>) filterObject.get("rules");
- TopiaFilterPagerUtil.newFilterPagerBeanBuilder(groupOp).
- addOperations(rules).
- flush(pager);
+ pager = builder.
+ setFilterOperationGroup(groupOp).
+ addRules(rules).
+ toBean();
} else {
// could be a single search
if (StringUtils.isNotEmpty(searchField)) {
-
- Map<String, String> rule = Maps.newTreeMap();
- rule.put("op", searchOper);
- rule.put("field", searchField);
- rule.put("data", searchString);
- TopiaFilterPagerUtil.newFilterPagerBeanBuilder("AND").
- addRule(rule).
- flush(pager);
+ pager = builder.
+ setFilterOperationGroup("AND").
+ setSortAscendant(isSortAscendant()).
+ setSortcolumn(getSortColumn()).
+ addRule(searchOper, searchField, searchString).
+ toBean();
}
}
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 2012-09-14 10:15:47 UTC (rev 658)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/GetEntities.java 2012-09-14 10:18:34 UTC (rev 659)
@@ -65,26 +65,6 @@
}
@Override
- public Integer getRows() {
- return pager.getPageSize();
- }
-
- @Override
- public Integer getPage() {
- return pager.getPageIndex();
- }
-
- @Override
- public Integer getTotal() {
- return pager.getPagesNumber();
- }
-
- @Override
- public Integer getRecords() {
- return pager.getRecords();
- }
-
- @Override
public String execute() throws Exception {
Boolean ascendantOrder = isSortAscendant();
@@ -98,12 +78,7 @@
log.debug("sord = " + ascendantOrder);
}
- datas = getService(DbEditorService.class).getData(
- entityType,
- pager,
- sortColumn,
- ascendantOrder
- );
+ datas = getService(DbEditorService.class).getData(entityType, pager);
if (log.isDebugEnabled()) {
log.debug("Total page = " + getTotal());
@@ -128,7 +103,8 @@
getService(DecoratorService.class).getDecorator(
getLocale(), Voyage.class, null);
- EchoBaseServiceSupport service = getService(EchoBaseServiceSupport.class);
+ EchoBaseServiceSupport service =
+ getService(EchoBaseServiceSupport.class);
for (Map row : datas) {
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 2012-09-14 10:15:47 UTC (rev 658)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportQuery/GetExportQueryResult.java 2012-09-14 10:18:34 UTC (rev 659)
@@ -53,26 +53,6 @@
}
@Override
- public Integer getRows() {
- return pager.getPageSize();
- }
-
- @Override
- public Integer getPage() {
- return pager.getPageIndex();
- }
-
- @Override
- public Integer getTotal() {
- return pager.getPagesNumber();
- }
-
- @Override
- public Integer getRecords() {
- return pager.getRecords();
- }
-
- @Override
public String execute() throws Exception {
ExportQueryService service = getService(ExportQueryService.class);
datas = service.executeSql(sql, pager);
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 2012-09-14 10:15:47 UTC (rev 658)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/user/GetUsers.java 2012-09-14 10:18:34 UTC (rev 659)
@@ -49,26 +49,6 @@
}
@Override
- public Integer getRows() {
- return pager.getPageSize();
- }
-
- @Override
- public Integer getPage() {
- return pager.getPageIndex();
- }
-
- @Override
- public Integer getTotal() {
- return pager.getPagesNumber();
- }
-
- @Override
- public Integer getRecords() {
- return pager.getRecords();
- }
-
- @Override
public String execute() throws Exception {
List<EchoBaseUser> allUsers =
1
0
Author: tchemit
Date: 2012-09-14 12:15:47 +0200 (Fri, 14 Sep 2012)
New Revision: 658
Url: http://forge.codelutin.com/repositories/revision/echobase/658
Log:
updates to snapshot of nuiton-utils
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2012-09-13 05:40:07 UTC (rev 657)
+++ trunk/pom.xml 2012-09-14 10:15:47 UTC (rev 658)
@@ -134,7 +134,7 @@
<eugenePluginVersion>2.5</eugenePluginVersion>
<topiaVersion>2.6.14-SNAPSHOT</topiaVersion>
- <nuitonUtilsVersion>2.6.1</nuitonUtilsVersion>
+ <nuitonUtilsVersion>2.6.2-SNAPSHOT</nuitonUtilsVersion>
<nuitonI18nVersion>2.5</nuitonI18nVersion>
<nuitonWebVersion>1.11</nuitonWebVersion>
<msaccessImporterVersion>1.4.1</msaccessImporterVersion>
1
0
13 Sep '12
Author: tchemit
Date: 2012-09-13 07:40:07 +0200 (Thu, 13 Sep 2012)
New Revision: 657
Url: http://forge.codelutin.com/repositories/revision/echobase/657
Log:
fixes #1490: Fix duplicated data in export
refs #1437: Suppression des imports (debut des tests)
refs #1486: Permettre un export EchoBase plus cible (fix all db export + simplify api (no more strategy)
Added:
trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/
trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/
trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removeData/
trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removeData/AbstractRemoveDataServiceIT.java
Removed:
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/exportdb/strategy/
Modified:
trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/CellImpl.java
trunk/echobase-domain/src/main/xmi/echobase.zargo
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DbEditorService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/exportdb/ExportDbMode.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/exportdb/ExportDbService.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/EchoBaseServiceFixtures.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/ExportDbServiceTest.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportDb/Configure.java
Modified: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/CellImpl.java
===================================================================
--- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/CellImpl.java 2012-09-12 18:50:24 UTC (rev 656)
+++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/CellImpl.java 2012-09-13 05:40:07 UTC (rev 657)
@@ -50,7 +50,7 @@
}
@Override
- public void accept2(EntityVisitor visitor) {
+ public void acceptWithNoChild(EntityVisitor visitor) {
visitor.start(this);
visitor.visit(this, PROPERTY_NAME, String.class, name);
visitor.visit(this, PROPERTY_DATA, Collection.class, Data.class, data);
Modified: trunk/echobase-domain/src/main/xmi/echobase.zargo
===================================================================
(Binary files differ)
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DbEditorService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DbEditorService.java 2012-09-12 18:50:24 UTC (rev 656)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DbEditorService.java 2012-09-13 05:40:07 UTC (rev 657)
@@ -298,7 +298,7 @@
if (extraWhereQuery != null) {
hql += " WHERE " + extraWhereQuery;
}
- Iterable<E> result = dao.findAllLazyByQuery(1000, hql);
+ Iterable<E> result = dao.findAllLazyByQuery(5000, hql);
return result;
} catch (TopiaException eee) {
throw new EchoBaseTechnicalException("Could not obtain data", eee);
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/exportdb/ExportDbMode.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/exportdb/ExportDbMode.java 2012-09-12 18:50:24 UTC (rev 656)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/exportdb/ExportDbMode.java 2012-09-13 05:40:07 UTC (rev 657)
@@ -36,25 +36,39 @@
public enum ExportDbMode implements I18nAble {
/** Export only referential. */
- REFERENTIAL(n_("echobase.common.exportDbMode.referential")),
+ REFERENTIAL(n_("echobase.common.exportDbMode.referential"), true, false),
/** Export only selected data. */
- DATA(n_("echobase.common.exportDbMode.data")),
+ DATA(n_("echobase.common.exportDbMode.data"), false, true),
/** Export selected data + referential. */
- REFERENTIAL_AND_DATA(n_("echobase.common.exportDbMode.referentialAndData")),
+ REFERENTIAL_AND_DATA(n_("echobase.common.exportDbMode.referentialAndData"), true, true),
/** Export all the db. */
- ALL(n_("echobase.common.exportDbMode.all"));
+ ALL(n_("echobase.common.exportDbMode.all"), true, true);
private final String i18nKey;
- ExportDbMode(String i18nKey) {
+ private final boolean exportReferential;
+
+ private final boolean exportData;
+
+ ExportDbMode(String i18nKey, boolean exportReferential, boolean exportData) {
this.i18nKey = i18nKey;
+ this.exportReferential = exportReferential;
+ this.exportData = exportData;
}
@Override
public String getI18nKey() {
return i18nKey;
}
+
+ public boolean isExportReferential() {
+ return exportReferential;
+ }
+
+ public boolean isExportData() {
+ return exportData;
+ }
}
\ No newline at end of file
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/exportdb/ExportDbService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/exportdb/ExportDbService.java 2012-09-12 18:50:24 UTC (rev 656)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/exportdb/ExportDbService.java 2012-09-13 05:40:07 UTC (rev 657)
@@ -23,21 +23,32 @@
*/
package fr.ifremer.echobase.services.exportdb;
-import fr.ifremer.echobase.EchoBaseTechnicalException;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Sets;
+import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
+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.services.EchoBaseServiceSupport;
-import fr.ifremer.echobase.services.exportdb.strategy.AbstractExportDbStrategy;
-import fr.ifremer.echobase.services.exportdb.strategy.AllExportDbStrategy;
-import fr.ifremer.echobase.services.exportdb.strategy.DataExportDbStrategy;
-import fr.ifremer.echobase.services.exportdb.strategy.ReferentialAndDataExportDbStrategy;
-import fr.ifremer.echobase.services.exportdb.strategy.ReferentialExportDbStrategy;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.persistence.TopiaEntity;
+import org.nuiton.topia.persistence.TopiaPersistenceHelper;
+import org.nuiton.topia.persistence.csv.out.ExportEntityVisitor;
+import org.nuiton.topia.persistence.csv.out.TopiaCsvExports;
+import org.nuiton.topia.persistence.metadata.AssociationMeta;
+import org.nuiton.topia.persistence.metadata.TableMeta;
import org.nuiton.util.FileUtil;
import org.nuiton.util.TimeLog;
import java.io.File;
import java.io.IOException;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
/**
* Service to import / export a complete db.
@@ -71,28 +82,186 @@
ExportDbMode exportDbMode = model.getExportDbMode();
- AbstractExportDbStrategy strategy;
+ ExportService exportService = getService(ExportService.class);
- switch (exportDbMode) {
- case REFERENTIAL:
- strategy = getService(ReferentialExportDbStrategy.class);
- break;
- case DATA:
- strategy = getService(DataExportDbStrategy.class);
- break;
- case REFERENTIAL_AND_DATA:
- strategy = getService(ReferentialAndDataExportDbStrategy.class);
- break;
- case ALL:
- strategy = getService(AllExportDbStrategy.class);
- break;
- default:
- throw new EchoBaseTechnicalException(
- "Can not deal with this exportDbMode: " + exportDbMode);
+ boolean exportVoyagesByVisitor = exportDbMode.isExportData();
+
+ if (exportVoyagesByVisitor) {
+
+ long nbVoyages = exportService.countEntities(Voyage.class);
+ if (exportDbMode == ExportDbMode.ALL ||
+ model.getVoyageIds().length == nbVoyages) {
+
+ // no need to export via visitor, can export all data tables
+ exportVoyagesByVisitor = false;
+ }
}
- strategy.doExport(model, dir);
+ List<TableMeta<EchoBaseEntityEnum>> tablesToExport = Lists.newArrayList();
+ List<AssociationMeta<EchoBaseEntityEnum>> associationsToExport = Lists.newArrayList();
+ if (exportDbMode.isExportReferential()) {
+
+ // add referential tables
+ tablesToExport.addAll(getDbMeta().getReferenceTables());
+ associationsToExport.addAll(getDbMeta().getReferenceAssociations());
+ }
+
+ if (exportDbMode.isExportData() && !exportVoyagesByVisitor) {
+
+ // will export complete data tables
+ tablesToExport.addAll(getDbMeta().getDataTables());
+ associationsToExport.addAll(getDbMeta().getDataAssociations());
+ }
+
+ if (model.isComputeSteps()) {
+
+ int nbSteps = tablesToExport.size() + associationsToExport.size();
+
+ if (exportVoyagesByVisitor) {
+ nbSteps += model.getVoyageIds().length;
+ }
+
+ if (log.isInfoEnabled()) {
+ log.info("NB steps: " + nbSteps);
+ }
+ model.setNbSteps(nbSteps);
+ }
+
+ exportTables(model, dir, tablesToExport, exportService);
+
+ exportAssociations(model, dir, associationsToExport, exportService);
+
+ if (exportVoyagesByVisitor) {
+
+ exportVoyages(model, dir, exportService);
+ }
+
EchoBaseIOUtil.compressZipFile(zipFile, dir);
}
+
+ private void exportTables(ExportDbConfiguration model,
+ File dir,
+ List<TableMeta<EchoBaseEntityEnum>> tablesToExport,
+ ExportService exportService) {
+ for (TableMeta<EchoBaseEntityEnum> meta : tablesToExport) {
+
+ model.incrementsProgress();
+
+ File entryFile = new File(dir, meta.getFilename());
+ exportService.exportData(meta, entryFile);
+ }
+ }
+
+ private void exportAssociations(ExportDbConfiguration model,
+ File dir,
+ List<AssociationMeta<EchoBaseEntityEnum>> associationsToExport,
+ ExportService exportService) {
+ for (AssociationMeta<EchoBaseEntityEnum> associationMeta : associationsToExport) {
+
+ model.incrementsProgress();
+
+ File entryFile = new File(dir, associationMeta.getFilename());
+ exportService.exportData(associationMeta, entryFile);
+ }
+ }
+
+ private void exportVoyages(ExportDbConfiguration model,
+ File dir,
+ ExportService exportService) throws IOException {
+
+ Map<EchoBaseEntityEnum, TopiaCsvExports.EntityExportContext<EchoBaseEntityEnum>> contexts =
+ TopiaCsvExports.createReplicateEntityVisitorContexts(
+ exportService.getModelFactory(false),
+ getDbMeta().getDataTables(),
+ getDbMeta().getDataAssociations(),
+ dir);
+
+ ReplicateEntityVisitor visitor = new ReplicateEntityVisitor(
+ getDbMeta().getPersistenceHelper(),
+ contexts);
+
+ try {
+ for (String voyageId : model.getVoyageIds()) {
+
+ model.incrementsProgress();
+
+ Voyage voyage = getEntityById(Voyage.class, voyageId);
+ visitor.export(voyage);
+ }
+ } finally {
+
+ // close visitor to close export files
+ visitor.close();
+ }
+ }
+
+ /**
+ * entity visitor to export data to csv files.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 0.3
+ */
+ static class ReplicateEntityVisitor extends ExportEntityVisitor<EchoBaseEntityEnum> {
+
+ protected final Set<String> categoryIds;
+
+ public ReplicateEntityVisitor(TopiaPersistenceHelper<EchoBaseEntityEnum> typeProvider,
+ Map<EchoBaseEntityEnum, TopiaCsvExports.EntityExportContext<EchoBaseEntityEnum>> entityExporters) {
+ super(typeProvider, entityExporters);
+ categoryIds = Sets.newHashSet();
+ }
+
+ @Override
+ public void visit(TopiaEntity entity, String propertyName,
+ Class<?> type, Object value) {
+ if (Result.PROPERTY_CATEGORY.equals(propertyName) &&
+ entity instanceof Result) {
+
+ // export category
+ try {
+ TopiaEntity topiaEntity = (TopiaEntity) value;
+ if (categoryIds.add(topiaEntity.getTopiaId())) {
+ // add this new category
+ topiaEntity.accept(this);
+ }
+
+ } catch (TopiaException e) {
+ if (log.isErrorEnabled()) {
+ log.error("Can not visit entity " + value, e);
+ }
+ }
+ }
+ }
+
+ @Override
+ protected void visitEntityCollection(TopiaEntity entity,
+ String propertyName,
+ Class<?> collectionType,
+ Class<?> type,
+ Collection<?> cValue) {
+ if (Voyage.PROPERTY_POST_CELL.equals(propertyName) && entity instanceof Voyage) {
+
+ // special case, we don not want to visit childs of cells
+ for (Object o : cValue) {
+ Cell cell = (Cell) o;
+
+ cell.acceptWithNoChild(this);
+ }
+ } else {
+ // normal entity collection visit
+ super.visitEntityCollection(entity,
+ propertyName,
+ collectionType,
+ type,
+ cValue);
+ }
+ }
+
+ @Override
+ public void close() throws IOException {
+ categoryIds.clear();
+ super.close();
+ }
+ }
}
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/EchoBaseServiceFixtures.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/EchoBaseServiceFixtures.java 2012-09-12 18:50:24 UTC (rev 656)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/EchoBaseServiceFixtures.java 2012-09-13 05:40:07 UTC (rev 657)
@@ -31,6 +31,10 @@
*/
public class EchoBaseServiceFixtures {
+ public String completeDb2011() {
+ return "/import-data/echobase-pelgas-2011.h2.db.gz";
+ }
+
public String IMPORT_DATA_ECHOBASE_NO_DATA() {
return "/import-data/echobase-" + dbVersion() + "-nodata.h2.db.gz";
}
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/ExportDbServiceTest.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/ExportDbServiceTest.java 2012-09-12 18:50:24 UTC (rev 656)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/ExportDbServiceTest.java 2012-09-13 05:40:07 UTC (rev 657)
@@ -23,15 +23,43 @@
*/
package fr.ifremer.echobase.services;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Sets;
+import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
+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.Result;
+import fr.ifremer.echobase.entities.data.Transect;
+import fr.ifremer.echobase.entities.data.Voyage;
+import fr.ifremer.echobase.entities.references.AcousticInstrument;
+import fr.ifremer.echobase.entities.references.CellType;
+import fr.ifremer.echobase.entities.references.DataMetadata;
+import fr.ifremer.echobase.entities.references.Species;
+import fr.ifremer.echobase.entities.references.SpeciesCategory;
+import fr.ifremer.echobase.io.EchoBaseIOUtil;
import fr.ifremer.echobase.services.exportdb.ExportDbConfiguration;
import fr.ifremer.echobase.services.exportdb.ExportDbMode;
import fr.ifremer.echobase.services.exportdb.ExportDbService;
import junit.framework.Assert;
+import org.apache.commons.collections.CollectionUtils;
+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.csv.in.TopiaCsvImports;
+import org.nuiton.topia.persistence.metadata.TableMeta;
import org.nuiton.util.FileUtil;
import java.io.File;
import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipFile;
/**
* Test {@link ExportDbService}.
@@ -46,6 +74,130 @@
fixtures.IMPORT_DATA_ECHOBASE_COMMON_DATA());
}
+ /** Logger. */
+ private static final Log log = LogFactory.getLog(ExportDbServiceTest.class);
+
+ @Override
+ public void setUp() throws Exception {
+ super.setUp();
+
+ TopiaDAO<Voyage> voyageDAO = getDAO(Voyage.class);
+ TopiaDAO<DataProcessing> dataProcessingDAO = getDAO(DataProcessing.class);
+ TopiaDAO<DataAcquisition> dataAcquisitionDAO = getDAO(DataAcquisition.class);
+ TopiaDAO<Cell> cellDAO = getDAO(Cell.class);
+ TopiaDAO<Category> categoryDAO = getDAO(Category.class);
+ TopiaDAO<Result> resultDAO = getDAO(Result.class);
+ TopiaDAO<SpeciesCategory> speciesCategoryDAO = getDAO(SpeciesCategory.class);
+ TopiaDAO<Data> dataDAO = getDAO(Data.class);
+
+
+ Voyage voyage = getEntityById(Voyage.class, getVoyageId());
+ Assert.assertNotNull(voyage);
+
+ Transect transect = voyage.getTransit().get(0).getTransect().get(0);
+ Assert.assertNotNull(transect);
+
+ List<AcousticInstrument> acousticInstruments = getEntities(AcousticInstrument.class);
+ Assert.assertTrue(CollectionUtils.isNotEmpty(acousticInstruments));
+ AcousticInstrument acousticInstrument = acousticInstruments.get(0);
+ DataAcquisition dataAcquisition = dataAcquisitionDAO.create(
+ DataAcquisition.PROPERTY_ACOUSTIC_INSTRUMENT, acousticInstrument
+ );
+ transect.addDataAcquisition(dataAcquisition);
+ DataProcessing dataProcessing = dataProcessingDAO.create(
+ DataProcessing.PROPERTY_ID, "id",
+ DataProcessing.PROPERTY_PROCESSING_TEMPLATE, "processingtemplate"
+ );
+ dataAcquisition.addDataProcessing(dataProcessing);
+
+ List<Species> speciesList = getEntities(Species.class);
+ Assert.assertTrue(CollectionUtils.isNotEmpty(speciesList));
+ Species species = speciesList.get(0);
+
+ List<DataMetadata> dataMetadatas = getEntities(DataMetadata.class);
+ Assert.assertTrue(CollectionUtils.isNotEmpty(dataMetadatas));
+ DataMetadata dataMetadata = dataMetadatas.get(0);
+
+ SpeciesCategory speciesCategory = speciesCategoryDAO.create(
+ SpeciesCategory.PROPERTY_SPECIES, species
+ );
+
+ Category category = categoryDAO.create(
+ Category.PROPERTY_SPECIES_CATEGORY, speciesCategory
+ );
+
+ List<CellType> cellTypes = getEntities(CellType.class);
+ Assert.assertTrue(CollectionUtils.isNotEmpty(cellTypes));
+ CellType cellType = cellTypes.get(0);
+
+ Cell cell = cellDAO.create(
+ Cell.PROPERTY_NAME, "cellName",
+ Cell.PROPERTY_CELL_TYPE, cellType
+ );
+ if (log.isInfoEnabled()) {
+ log.info("cell:" + cell.getTopiaId());
+ }
+ dataProcessing.addCell(cell);
+
+ Data cellData = dataDAO.create(
+ Data.PROPERTY_DATA_METADATA, dataMetadata,
+ Data.PROPERTY_DATA_VALUE, "cellDataValue"
+ );
+ cell.addData(cellData);
+ Result cellResult = resultDAO.create(
+ Result.PROPERTY_CATEGORY, category,
+ Result.PROPERTY_DATA_METADATA, dataMetadata,
+ Result.PROPERTY_RESULT_LABEL, "cellResultLabel",
+ Result.PROPERTY_RESULT_VALUE, "cellResultValue"
+ );
+ cell.addResult(cellResult);
+
+ Cell childCell = cellDAO.create(
+ Cell.PROPERTY_NAME, "childCell",
+ Cell.PROPERTY_CELL_TYPE, cellType
+ );
+ cell.addChilds(childCell);
+
+ Data childCellData = dataDAO.create(
+ Data.PROPERTY_DATA_METADATA, dataMetadata,
+ Data.PROPERTY_DATA_VALUE, "childCellDataValue"
+ );
+ childCell.addData(childCellData);
+
+ Result childCellResult = resultDAO.create(
+ Result.PROPERTY_CATEGORY, category,
+ Result.PROPERTY_DATA_METADATA, dataMetadata,
+ Result.PROPERTY_RESULT_LABEL, "childCellResultLabel",
+ Result.PROPERTY_RESULT_VALUE, "childCellResultValue"
+ );
+ childCell.addResult(childCellResult);
+
+ Cell postCell = cellDAO.create(
+ Cell.PROPERTY_NAME, "postCellcellName",
+ Cell.PROPERTY_CELL_TYPE, cellType
+ );
+
+ postCell.addChilds(cell);
+ voyage.addPostCell(postCell);
+
+
+ Data postCellData = dataDAO.create(
+ Data.PROPERTY_DATA_METADATA, dataMetadata,
+ Data.PROPERTY_DATA_VALUE, "postCellDataValue"
+ );
+ postCell.addData(postCellData);
+
+ Result postCellResult = resultDAO.create(
+ Result.PROPERTY_CATEGORY, category,
+ Result.PROPERTY_DATA_METADATA, dataMetadata,
+ Result.PROPERTY_RESULT_LABEL, "postCellResultLabel",
+ Result.PROPERTY_RESULT_VALUE, "postCellResultValue"
+ );
+ postCell.addResult(postCellResult);
+
+ commitTransaction("Create cells");
+ }
+
@Test
public void exportReferential() throws IOException {
@@ -60,12 +212,23 @@
conf.setComputeSteps(true);
conf.setExportDbMode(ExportDbMode.REFERENTIAL);
service.doExport(conf);
- Assert.assertNotNull(conf.getExportFile());
- Assert.assertTrue(conf.getExportFile().exists());
+ File exportFile = conf.getExportFile();
+ Assert.assertNotNull(exportFile);
+ Assert.assertTrue(exportFile.exists());
+
+ // check all tables (referential) where exported
+ ZipFile zipFile = new ZipFile(exportFile);
+
+ Map<TableMeta<EchoBaseEntityEnum>, ZipEntry> tables =
+ TopiaCsvImports.discoverEntries(
+ "echobase/", getDbMeta().getReferenceTables(),
+ zipFile, Lists.<String>newArrayList());
+
+ checkAllTablesExported(zipFile, tables);
}
@Test
- public void exportData() throws IOException {
+ public void exportData() throws IOException, TopiaException {
ExportDbService service = getService(ExportDbService.class);
@@ -80,8 +243,19 @@
conf.setComputeSteps(true);
conf.setExportDbMode(ExportDbMode.DATA);
service.doExport(conf);
- Assert.assertNotNull(conf.getExportFile());
- Assert.assertTrue(conf.getExportFile().exists());
+ File exportFile = conf.getExportFile();
+ Assert.assertNotNull(exportFile);
+ Assert.assertTrue(exportFile.exists());
+
+ // check all tables (referential + data) where exported
+ ZipFile zipFile = new ZipFile(exportFile);
+
+ Map<TableMeta<EchoBaseEntityEnum>, ZipEntry> tables =
+ TopiaCsvImports.discoverEntries(
+ "echobase/", getDbMeta().getAllTables(),
+ zipFile, Lists.<String>newArrayList());
+
+ checkAllTablesExported(zipFile, tables);
}
@Test
@@ -100,8 +274,20 @@
conf.setComputeSteps(true);
conf.setExportDbMode(ExportDbMode.REFERENTIAL_AND_DATA);
service.doExport(conf);
- Assert.assertNotNull(conf.getExportFile());
- Assert.assertTrue(conf.getExportFile().exists());
+ File exportFile = conf.getExportFile();
+ Assert.assertNotNull(exportFile);
+ Assert.assertTrue(exportFile.exists());
+
+
+ // check all tables (referential + data) where exported
+ ZipFile zipFile = new ZipFile(exportFile);
+
+ Map<TableMeta<EchoBaseEntityEnum>, ZipEntry> tables =
+ TopiaCsvImports.discoverEntries(
+ "echobase/", getDbMeta().getAllTables(),
+ zipFile, Lists.<String>newArrayList());
+
+ checkAllTablesExported(zipFile, tables);
}
@Test
@@ -110,6 +296,7 @@
ExportDbService service = getService(ExportDbService.class);
ExportDbConfiguration conf = new ExportDbConfiguration();
+ conf.setVoyageIds(new String[]{getVoyageId()});
File workingDirectory = new File(getTestDir(), "work-dir");
FileUtil.createDirectoryIfNecessary(workingDirectory);
@@ -118,8 +305,34 @@
conf.setComputeSteps(true);
conf.setExportDbMode(ExportDbMode.ALL);
service.doExport(conf);
- Assert.assertNotNull(conf.getExportFile());
- Assert.assertTrue(conf.getExportFile().exists());
+ File exportFile = conf.getExportFile();
+ Assert.assertNotNull(exportFile);
+ Assert.assertTrue(exportFile.exists());
+
+
+ // check all tables (referential + data) where exported
+ ZipFile zipFile = new ZipFile(exportFile);
+
+ Map<TableMeta<EchoBaseEntityEnum>, ZipEntry> tables =
+ TopiaCsvImports.discoverEntries(
+ "echobase/", getDbMeta().getAllTables(),
+ zipFile, Lists.<String>newArrayList());
+
+ 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) {
+ // 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 + getEntities(type.getEntityType()).size(), nbCells);
+ }
+ }
+
}
Added: trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removeData/AbstractRemoveDataServiceIT.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removeData/AbstractRemoveDataServiceIT.java (rev 0)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removeData/AbstractRemoveDataServiceIT.java 2012-09-13 05:40:07 UTC (rev 657)
@@ -0,0 +1,54 @@
+package fr.ifremer.echobase.ui.actions.removeData;
+
+import fr.ifremer.echobase.entities.EchoBaseUser;
+import fr.ifremer.echobase.services.EchoBaseTestServiceSupport;
+import fr.ifremer.echobase.services.FakeEchoBaseServiceContext;
+import fr.ifremer.echobase.services.removedata.RemoveDataConfiguration;
+import fr.ifremer.echobase.services.removedata.RemoveDataService;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.junit.Test;
+import org.nuiton.util.TimeLog;
+
+/**
+ * Abstract it form remove data feature.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 1.2
+ */
+public abstract class AbstractRemoveDataServiceIT extends EchoBaseTestServiceSupport {
+
+ /** Logger. */
+ private static final Log log =
+ LogFactory.getLog(AbstractRemoveDataServiceIT.class);
+
+ protected FakeEchoBaseServiceContext initContext() {
+ return new FakeEchoBaseServiceContext(fixtures.completeDb2011());
+ }
+
+ public static final TimeLog TIME_LOG =
+ new TimeLog(AbstractRemoveDataServiceIT.class);
+
+
+ protected abstract String getImportLogId();
+
+ @Test
+ public void doExport() {
+
+ RemoveDataConfiguration conf = new RemoveDataConfiguration();
+ conf.setImportLogId(getImportLogId());
+
+
+ RemoveDataService service = getService(RemoveDataService.class);
+
+ EchoBaseUser fakeUser = createFakeUser();
+
+ long s0 = TimeLog.getTime();
+
+ service.removeImport(conf, fakeUser);
+
+ TIME_LOG.log(s0, "doExport");
+
+ }
+
+}
Property changes on: trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removeData/AbstractRemoveDataServiceIT.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
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 2012-09-12 18:50:24 UTC (rev 656)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportDb/Configure.java 2012-09-13 05:40:07 UTC (rev 657)
@@ -32,10 +32,12 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.util.FileUtil;
+import org.nuiton.util.StringUtil;
import java.io.File;
import java.io.IOException;
import java.util.Map;
+import java.util.Set;
/**
* Configure the complete db export.
@@ -97,6 +99,7 @@
ExportDbConfiguration result = new ExportDbConfiguration();
result.setFileName("echobase");
result.setComputeSteps(true);
+ result.setVoyageIds(StringUtil.EMPTY_STRING_ARRAY);
return result;
}
@@ -125,5 +128,11 @@
if (log.isInfoEnabled()) {
log.info("Temporary directory to use : " + dataDirectory);
}
+
+ if (model.getExportDbMode() == ExportDbMode.ALL) {
+ voyages = loadSortAndDecorate(Voyage.class);
+ Set<String> ids = voyages.keySet();
+ model.setVoyageIds(ids.toArray(new String[ids.size()]));
+ }
}
}
\ No newline at end of file
1
0
r656 - trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdb/strategy
by tchemit@users.forge.codelutin.com 12 Sep '12
by tchemit@users.forge.codelutin.com 12 Sep '12
12 Sep '12
Author: tchemit
Date: 2012-09-12 20:50:24 +0200 (Wed, 12 Sep 2012)
New Revision: 656
Url: http://forge.codelutin.com/repositories/revision/echobase/656
Log:
fix importDb with voyage
Modified:
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdb/strategy/DataImportDbStrategy.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdb/strategy/FreeImportDbStrategy.java
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdb/strategy/DataImportDbStrategy.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdb/strategy/DataImportDbStrategy.java 2012-09-12 16:12:57 UTC (rev 655)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdb/strategy/DataImportDbStrategy.java 2012-09-12 18:50:24 UTC (rev 656)
@@ -102,6 +102,7 @@
// create a importLog entry
ImportLog importLog = dao.create(
+ ImportLog.PROPERTY_VOYAGE_ID, importedVoyage.getTopiaId(),
ImportLog.PROPERTY_IMPORT_TYPE, ImportType.VOYAGE,
ImportLog.PROPERTY_IMPORT_USER, user.getEmail(),
ImportLog.PROPERTY_IMPORT_DATE, newDate(),
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdb/strategy/FreeImportDbStrategy.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdb/strategy/FreeImportDbStrategy.java 2012-09-12 16:12:57 UTC (rev 655)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdb/strategy/FreeImportDbStrategy.java 2012-09-12 18:50:24 UTC (rev 656)
@@ -75,6 +75,7 @@
// create a importLog entry
ImportLog importLog = dao.create(
+ ImportLog.PROPERTY_VOYAGE_ID, importedVoyage.getTopiaId(),
ImportLog.PROPERTY_IMPORT_TYPE, ImportType.VOYAGE,
ImportLog.PROPERTY_IMPORT_USER, user.getEmail(),
ImportLog.PROPERTY_IMPORT_DATE, date,
1
0
r655 - in trunk: echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/removeData echobase-ui/src/main/webapp/WEB-INF/jsp/embeddedApplication echobase-ui/src/main/webapp/WEB-INF/jsp/exportDb echobase-ui/src/main/webapp/WEB-INF/jsp/importData echobase-ui/src/main/webapp/WEB-INF/jsp/importDb echobase-ui/src/main/webapp/WEB-INF/jsp/removeData src/site/rst
by tchemit@users.forge.codelutin.com 12 Sep '12
by tchemit@users.forge.codelutin.com 12 Sep '12
12 Sep '12
Author: tchemit
Date: 2012-09-12 18:12:57 +0200 (Wed, 12 Sep 2012)
New Revision: 655
Url: http://forge.codelutin.com/repositories/revision/echobase/655
Log:
add voyage in remove data + fix progress model in progress jsp
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/removeData/ConfirmDelete.java
trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/embeddedApplication/progress.jsp
trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/exportDb/progress.jsp
trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/progressAcousticImport.jsp
trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/progressCatchesImport.jsp
trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/progressCommonImport.jsp
trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/progressOperationImport.jsp
trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/progressResultsImport.jsp
trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importDb/progress.jsp
trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/removeData/confirmDelete.jsp
trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/removeData/dashboard.jsp
trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/removeData/deleteProgress.jsp
trunk/src/site/rst/removeimports.rst
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 2012-09-12 15:57:54 UTC (rev 654)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/GetEntities.java 2012-09-12 16:12:57 UTC (rev 655)
@@ -24,11 +24,16 @@
package fr.ifremer.echobase.ui.actions.dbeditor;
import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
+import fr.ifremer.echobase.entities.ImportLog;
import fr.ifremer.echobase.entities.ImportType;
+import fr.ifremer.echobase.entities.data.Voyage;
import fr.ifremer.echobase.services.DbEditorService;
+import fr.ifremer.echobase.services.DecoratorService;
+import fr.ifremer.echobase.services.EchoBaseServiceSupport;
import fr.ifremer.echobase.ui.actions.AbstractJSONPaginedAction;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.nuiton.util.decorator.Decorator;
import java.util.Map;
@@ -119,11 +124,21 @@
execute();
Map<String, String> importTypes = decorateEnums(ImportType.values());
+ Decorator<Voyage> voyageDecorator =
+ getService(DecoratorService.class).getDecorator(
+ getLocale(), Voyage.class, null);
+
+ EchoBaseServiceSupport service = getService(EchoBaseServiceSupport.class);
+
for (Map row : datas) {
- String importType = (String) row.get("importType");
+ String importType = (String) row.get(ImportLog.PROPERTY_IMPORT_TYPE);
String importTypeToString = importTypes.get(importType);
- row.put("importType", importTypeToString);
+ row.put(ImportLog.PROPERTY_IMPORT_TYPE, importTypeToString);
+ String voyageId = (String) row.get(ImportLog.PROPERTY_VOYAGE_ID);
+ Voyage voyage = service.getEntityById(Voyage.class, voyageId);
+ String voyageToString = voyageDecorator.toString(voyage);
+ row.put("voyage", voyageToString);
}
return SUCCESS;
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 2012-09-12 15:57:54 UTC (rev 654)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/removeData/ConfirmDelete.java 2012-09-12 16:12:57 UTC (rev 655)
@@ -25,6 +25,8 @@
import com.google.common.base.Preconditions;
import fr.ifremer.echobase.entities.ImportLog;
+import fr.ifremer.echobase.entities.data.Voyage;
+import fr.ifremer.echobase.services.DecoratorService;
import fr.ifremer.echobase.services.EchoBaseServiceSupport;
import fr.ifremer.echobase.services.removedata.RemoveDataConfiguration;
import fr.ifremer.echobase.ui.actions.AbstractConfigureAction;
@@ -49,6 +51,7 @@
protected ImportLog importLog;
+ protected String voyage;
protected String importType;
@@ -64,6 +67,10 @@
return importLog;
}
+ public String getVoyage() {
+ return voyage;
+ }
+
@Override
protected RemoveDataConfiguration createModel() {
return new RemoveDataConfiguration();
@@ -90,6 +97,10 @@
importLog = service.getEntityById(ImportLog.class, importLogId);
importType = decorateEnums(importLog.getImportType()).entrySet().iterator().next().getValue();
+
+ Voyage voyageEntity = service.getEntityById(Voyage.class, importLog.getVoyageId());
+ this.voyage = getService(DecoratorService.class).decorate(getLocale(), voyageEntity, null);
+
}
}
\ No newline at end of file
Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/embeddedApplication/progress.jsp
===================================================================
--- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/embeddedApplication/progress.jsp 2012-09-12 15:57:54 UTC (rev 654)
+++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/embeddedApplication/progress.jsp 2012-09-12 16:12:57 UTC (rev 655)
@@ -37,5 +37,5 @@
<br/>
<div>
- <sj:progressbar value="%{model.progression}"/>
+ <sj:progressbar value="%{model.progress}"/>
</div>
\ No newline at end of file
Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/exportDb/progress.jsp
===================================================================
--- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/exportDb/progress.jsp 2012-09-12 15:57:54 UTC (rev 654)
+++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/exportDb/progress.jsp 2012-09-12 16:12:57 UTC (rev 655)
@@ -36,5 +36,5 @@
<br/>
<div>
- <sj:progressbar value="%{model.progression}"/>
+ <sj:progressbar value="%{model.progress}"/>
</div>
\ No newline at end of file
Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/progressAcousticImport.jsp
===================================================================
--- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/progressAcousticImport.jsp 2012-09-12 15:57:54 UTC (rev 654)
+++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/progressAcousticImport.jsp 2012-09-12 16:12:57 UTC (rev 655)
@@ -39,5 +39,5 @@
<br/>
<div>
- <sj:progressbar value="%{model.progression}"/>
+ <sj:progressbar value="%{model.progress}"/>
</div>
\ No newline at end of file
Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/progressCatchesImport.jsp
===================================================================
--- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/progressCatchesImport.jsp 2012-09-12 15:57:54 UTC (rev 654)
+++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/progressCatchesImport.jsp 2012-09-12 16:12:57 UTC (rev 655)
@@ -39,5 +39,5 @@
<br/>
<div>
- <sj:progressbar value="%{model.progression}"/>
+ <sj:progressbar value="%{model.progress}"/>
</div>
\ No newline at end of file
Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/progressCommonImport.jsp
===================================================================
--- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/progressCommonImport.jsp 2012-09-12 15:57:54 UTC (rev 654)
+++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/progressCommonImport.jsp 2012-09-12 16:12:57 UTC (rev 655)
@@ -39,5 +39,5 @@
<br/>
<div>
- <sj:progressbar value="%{model.progression}"/>
+ <sj:progressbar value="%{model.progress}"/>
</div>
\ No newline at end of file
Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/progressOperationImport.jsp
===================================================================
--- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/progressOperationImport.jsp 2012-09-12 15:57:54 UTC (rev 654)
+++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/progressOperationImport.jsp 2012-09-12 16:12:57 UTC (rev 655)
@@ -39,5 +39,5 @@
<br/>
<div>
- <sj:progressbar value="%{model.progression}"/>
+ <sj:progressbar value="%{model.progress}"/>
</div>
\ No newline at end of file
Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/progressResultsImport.jsp
===================================================================
--- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/progressResultsImport.jsp 2012-09-12 15:57:54 UTC (rev 654)
+++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/progressResultsImport.jsp 2012-09-12 16:12:57 UTC (rev 655)
@@ -39,5 +39,5 @@
<br/>
<div>
- <sj:progressbar value="%{model.progression}"/>
+ <sj:progressbar value="%{model.progress}"/>
</div>
\ No newline at end of file
Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importDb/progress.jsp
===================================================================
--- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importDb/progress.jsp 2012-09-12 15:57:54 UTC (rev 654)
+++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importDb/progress.jsp 2012-09-12 16:12:57 UTC (rev 655)
@@ -36,5 +36,5 @@
<br/>
<div>
- <sj:progressbar value="%{model.progression}"/>
+ <sj:progressbar value="%{model.progress}"/>
</div>
\ No newline at end of file
Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/removeData/confirmDelete.jsp
===================================================================
--- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/removeData/confirmDelete.jsp 2012-09-12 15:57:54 UTC (rev 654)
+++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/removeData/confirmDelete.jsp 2012-09-12 16:12:57 UTC (rev 655)
@@ -43,6 +43,12 @@
<s:property value="%{importType}"/>
</pre>
+ <s:label key='echobase.common.voyage' value=''/>
+ <div class="clearBoth"/>
+ <pre id='importVoyage' style="font-weight: bold;">
+ <s:property value="%{voyage}"/>
+ </pre>
+
<s:label key='echobase.common.importDate' value=''/>
<div class="clearBoth"/>
<pre id='importLogDate' style="font-weight: bold;">
Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/removeData/dashboard.jsp
===================================================================
--- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/removeData/dashboard.jsp 2012-09-12 15:57:54 UTC (rev 654)
+++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/removeData/dashboard.jsp 2012-09-12 16:12:57 UTC (rev 655)
@@ -51,6 +51,8 @@
$('#extraInfos').show();
var text = $("tr[aria-selected=true] td[aria-describedby='datas_importText']").text();
$('#importLogText').html(text);
+ var voyage = $("tr[aria-selected=true] td[aria-describedby='datas_voyage']").text();
+ $('#importLogVoyage').html(voyage);
var user = $("tr[aria-selected=true] td[aria-describedby='datas_importUser']").text();
$('#importLogUser').html(user);
var date = $("tr[aria-selected=true] td[aria-describedby='datas_importDate']").text();
@@ -89,6 +91,8 @@
<sjg:gridColumn name="id" title="id" hidden="true"/>
<sjg:gridColumn name="importType" sortable="true"
title="%{getText('echobase.common.importType')}"/>
+ <sjg:gridColumn name="voyage" sortable="true"
+ title="%{getText('echobase.common.voyage')}"/>
<sjg:gridColumn name="importDate" sortable="true"
title="%{getText('echobase.common.importDate')}"/>
<sjg:gridColumn name="importText" sortable="true"
@@ -106,6 +110,11 @@
<pre id='importLogImportType' style="font-weight: bold;"></pre>
<br/>
+ <s:label key='echobase.common.voyage' value=''/>
+ <div class="clearBoth"/>
+ <pre id='importLogVoyage' style="font-weight: bold;"></pre>
+ <br/>
+
<s:label key='echobase.common.importDate' value=''/>
<div class="clearBoth"/>
<pre id='importLogDate' style="font-weight: bold;"></pre>
Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/removeData/deleteProgress.jsp
===================================================================
--- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/removeData/deleteProgress.jsp 2012-09-12 15:57:54 UTC (rev 654)
+++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/removeData/deleteProgress.jsp 2012-09-12 16:12:57 UTC (rev 655)
@@ -36,5 +36,5 @@
<br/>
<div>
- <sj:progressbar value="%{model.progression}"/>
+ <sj:progressbar value="%{model.progress}"/>
</div>
\ No newline at end of file
Modified: trunk/src/site/rst/removeimports.rst
===================================================================
--- trunk/src/site/rst/removeimports.rst 2012-09-12 15:57:54 UTC (rev 654)
+++ trunk/src/site/rst/removeimports.rst 2012-09-12 16:12:57 UTC (rev 655)
@@ -36,10 +36,10 @@
Abstract
--------
-Ce document décrit ce qui se passe lors la suppresion d'un import.
+Ce document décrit ce qui se passe lors de la suppression d'un import.
-Import Voyage complêt)
-----------------------
+Import Voyage complêt
+---------------------
Données à supprimer
~~~~~~~~~~~~~~~~~~~
1
0
12 Sep '12
Author: tchemit
Date: 2012-09-12 17:57:54 +0200 (Wed, 12 Sep 2012)
New Revision: 654
Url: http://forge.codelutin.com/repositories/revision/echobase/654
Log:
use ProgressModel instead of ProgressionModel
refs #1437: Suppression des imports (add voyageId in ImportLog, should be nearly ok now...)
Added:
trunk/echobase-domain/src/main/java/fr/ifremer/echobase/services/ProgressModel.java
Removed:
trunk/echobase-domain/src/main/java/fr/ifremer/echobase/services/ProgressionModel.java
Modified:
trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallbackV1_2.java
trunk/echobase-domain/src/main/java/fr/ifremer/echobase/services/AbstractEchobaseActionConfiguration.java
trunk/echobase-domain/src/main/xmi/echobase.properties
trunk/echobase-domain/src/main/xmi/echobase.zargo
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/embeddedapplication/EmbeddedApplicationService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/exportdb/ExportDbConfiguration.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/exportdb/strategy/AbstractExportDbStrategy.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AbstractImportConfiguration.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AbstractImportDataService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AcousticImportConfiguration.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AcousticImportService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CatchesImportConfiguration.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CatchesImportService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonAllImportService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonImportConfiguration.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonImportService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/OperationImportConfiguration.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/OperationImportService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsEsduCellImportService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsImportConfiguration.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsMapCellImportService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsRegionCellImportService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsVoyageImportService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdb/ImportDbConfiguration.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/RemoveDataService.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/AbstractRemoveDataStrategy.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/AcousticRemoveDataStrategy.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/CatchesRemoveDataStrategy.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/CommonAllRemoveDataStrategy.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/CommonTransectRemoveDataStrategy.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/LegacyVoyageRemoveDataStrategy.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/OperationRemoveDataStrategy.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/ResultEsduRemoveDataStrategy.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/ResultMapRemoveDataStrategy.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/ResultRegionRemoveDataStrategy.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/ResultVoyageRemoveDataStrategy.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/EchoBaseTestServiceSupport.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/EmbeddedApplicationServiceIT.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/ImportDbServiceTest.java
trunk/src/site/rst/removeimports.rst
Modified: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallbackV1_2.java
===================================================================
--- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallbackV1_2.java 2012-09-12 12:45:13 UTC (rev 653)
+++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/MigrationCallbackV1_2.java 2012-09-12 15:57:54 UTC (rev 654)
@@ -53,8 +53,6 @@
boolean showSql,
boolean showProgression) throws TopiaException {
-
-
// create new table import log (http://forge.codelutin.com/issues/1437)
createImportLogTable(tx, queries);
}
@@ -69,9 +67,10 @@
"topiaid character varying(255) NOT NULL,\n" +
"topiaversion bigint NOT NULL,\n" +
"topiacreatedate date,\n" +
- "importdate date,\n" +
- "importtext character varying(1024),\n" +
- "importuser character varying(255)\n" +
+ "importdate date NOT NULL,\n" +
+ "importtext character varying(1024) NOT NULL,\n" +
+ "importuser character varying(255) NOT NULL,\n" +
+ "voyageid character varying(255) NOT NULL\n" +
");");
queries.add("ALTER TABLE importlog ADD CONSTRAINT PRIMARY_KEY_99A PRIMARY KEY(topiaid);");
@@ -87,10 +86,11 @@
queries.add("CREATE TABLE importlog (\n" +
"topiaid VARCHAR(255) NOT NULL,\n" +
"topiaversion BIGINT NOT NULL,\n" +
- "topiacreatedate DATE,\n" +
- "importdate DATE,\n" +
- "importtext VARCHAR(1024),\n" +
- "importuser VARCHAR(255)\n" +
+ "topiacreatedate DATE NOT NULL ,\n" +
+ "importdate DATE NOT NULL ,\n" +
+ "importtext VARCHAR(1024) NOT NULL,\n" +
+ "importuser VARCHAR(255) NOT NULL,\n" +
+ "voyageid VARCHAR(255) NOT NULL\n" +
");");
queries.add("ALTER TABLE importlog ADD CONSTRAINT PRIMARY_KEY_99A PRIMARY KEY(topiaid);");
Modified: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/services/AbstractEchobaseActionConfiguration.java
===================================================================
--- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/services/AbstractEchobaseActionConfiguration.java 2012-09-12 12:45:13 UTC (rev 653)
+++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/services/AbstractEchobaseActionConfiguration.java 2012-09-12 15:57:54 UTC (rev 654)
@@ -33,67 +33,67 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 0.2
*/
-public abstract class AbstractEchobaseActionConfiguration implements Serializable, ProgressionModel {
+public abstract class AbstractEchobaseActionConfiguration implements Serializable, ProgressModel {
private static final long serialVersionUID = 1L;
- private final ProgressionModel progressionModel;
+ private final ProgressModel progressModel;
private Exception error;
private String resultMessage;
protected AbstractEchobaseActionConfiguration() {
- progressionModel = new DefaultProgressionModel();
+ progressModel = new DefaultProgressModel();
}
- protected AbstractEchobaseActionConfiguration(ProgressionModel progressionModel) {
- this.progressionModel = progressionModel;
+ protected AbstractEchobaseActionConfiguration(ProgressModel progressModel) {
+ this.progressModel = progressModel;
}
@Override
public final long getNbSteps() {
- return progressionModel.getNbSteps();
+ return progressModel.getNbSteps();
}
@Override
- public final float getProgression() {
- return progressionModel.getProgression();
+ public final float getProgress() {
+ return progressModel.getProgress();
}
@Override
- public final void setProgression(float progression) {
- progressionModel.setProgression(progression);
+ public final void setProgress(float progress) {
+ progressModel.setProgress(progress);
}
@Override
- public final void incrementsProgression() {
- progressionModel.incrementsProgression();
+ public final void incrementsProgress() {
+ progressModel.incrementsProgress();
}
@Override
public final void setNbSteps(long nbSteps) {
- progressionModel.setNbSteps(nbSteps);
+ progressModel.setNbSteps(nbSteps);
}
@Override
public final long getStartTime() {
- return progressionModel.getStartTime();
+ return progressModel.getStartTime();
}
@Override
public final void setStartTime(long startTime) {
- progressionModel.setStartTime(startTime);
+ progressModel.setStartTime(startTime);
}
@Override
public final long getEndTime() {
- return progressionModel.getEndTime();
+ return progressModel.getEndTime();
}
@Override
public final void setEndTime(long endTime) {
- progressionModel.setEndTime(endTime);
+ progressModel.setEndTime(endTime);
}
public Exception getError() {
@@ -118,7 +118,7 @@
@Override
public String getActionTime() {
- return progressionModel.getActionTime();
+ return progressModel.getActionTime();
}
public void beginAction() {
@@ -138,7 +138,7 @@
* @author tchemit <chemit(a)codelutin.com>
* @since 0.3
*/
- public static class DefaultProgressionModel implements ProgressionModel {
+ public static class DefaultProgressModel implements ProgressModel {
private static final long serialVersionUID = 1L;
@@ -158,13 +158,13 @@
}
@Override
- public float getProgression() {
+ public float getProgress() {
return progression;
}
@Override
- public void setProgression(float progression) {
- this.progression = progression;
+ public void setProgress(float progress) {
+ this.progression = progress;
}
@Override
@@ -188,15 +188,15 @@
}
@Override
- public final void incrementsProgression() {
- setProgression(progression + stepIncrement);
+ public final void incrementsProgress() {
+ setProgress(progression + stepIncrement);
}
@Override
public final void setNbSteps(long nbSteps) {
this.nbSteps = nbSteps;
- stepIncrement = 100f / nbSteps;
+ this.stepIncrement = 100f / nbSteps;
}
@Override
Copied: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/services/ProgressModel.java (from rev 650, trunk/echobase-domain/src/main/java/fr/ifremer/echobase/services/ProgressionModel.java)
===================================================================
--- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/services/ProgressModel.java (rev 0)
+++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/services/ProgressModel.java 2012-09-12 15:57:54 UTC (rev 654)
@@ -0,0 +1,46 @@
+/*
+ * #%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.services;
+
+import org.nuiton.topia.persistence.csv.CsvProgressModel;
+
+import java.io.Serializable;
+
+/**
+ * Contract for a progression model while long service actions.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 0.3
+ */
+public interface ProgressModel extends CsvProgressModel, Serializable {
+
+ long getStartTime();
+
+ void setStartTime(long startTime);
+
+ long getEndTime();
+
+ void setEndTime(long endTime);
+
+ String getActionTime();
+}
Property changes on: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/services/ProgressModel.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Deleted: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/services/ProgressionModel.java
===================================================================
--- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/services/ProgressionModel.java 2012-09-12 12:45:13 UTC (rev 653)
+++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/services/ProgressionModel.java 2012-09-12 15:57:54 UTC (rev 654)
@@ -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.services;
-
-import org.nuiton.topia.persistence.csv.CsvProgressionModel;
-
-import java.io.Serializable;
-
-/**
- * Contract for a progression model while long service actions.
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 0.3
- */
-public interface ProgressionModel extends CsvProgressionModel, Serializable {
-
- long getStartTime();
-
- void setStartTime(long startTime);
-
- long getEndTime();
-
- void setEndTime(long endTime);
-
- String getActionTime();
-}
Modified: trunk/echobase-domain/src/main/xmi/echobase.properties
===================================================================
--- trunk/echobase-domain/src/main/xmi/echobase.properties 2012-09-12 12:45:13 UTC (rev 653)
+++ trunk/echobase-domain/src/main/xmi/echobase.properties 2012-09-12 15:57:54 UTC (rev 654)
@@ -53,8 +53,19 @@
###############################################################################
fr.ifremer.echobase.entities.EntityModificationLog.attribute.modificationText.tagvalue.type=text
+fr.ifremer.echobase.entities.ImportLog.attribute.importText.tagvalue.type=text
###############################################################################
+### Not null for transverse ###################################################
+###############################################################################
+
+fr.ifremer.echobase.entities.ImportLog.attribute.importDate.tagValue.notNull=true
+fr.ifremer.echobase.entities.ImportLog.attribute.importUser.tagValue.notNull=true
+fr.ifremer.echobase.entities.ImportLog.attribute.importText.tagValue.notNull=true
+fr.ifremer.echobase.entities.ImportLog.attribute.importType.tagValue.notNull=true
+fr.ifremer.echobase.entities.ImportLog.attribute.voyageId.tagValue.notNull=true
+
+###############################################################################
### Natural id for references ################################################
###############################################################################
Modified: trunk/echobase-domain/src/main/xmi/echobase.zargo
===================================================================
(Binary files differ)
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/embeddedapplication/EmbeddedApplicationService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/embeddedapplication/EmbeddedApplicationService.java 2012-09-12 12:45:13 UTC (rev 653)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/embeddedapplication/EmbeddedApplicationService.java 2012-09-12 15:57:54 UTC (rev 654)
@@ -103,7 +103,7 @@
// create static archive structure
createStaticArchiveStructure(model, dir);
- model.incrementsProgression();
+ model.incrementsProgress();
// create new service context
EchoBaseServiceContext newServiceContext =
@@ -166,7 +166,7 @@
EchoBaseUser admin = userService.getUserByEmail(
UserService.DEFAULT_ADMIN_EMAIL);
- model.incrementsProgression();
+ model.incrementsProgress();
// get all export queries from application
List<ExportQuery> queries = getEntities(ExportQuery.class);
@@ -187,7 +187,7 @@
exportQueryService.createOrUpdate(query, admin);
}
- model.incrementsProgression();
+ model.incrementsProgress();
// get all working db configuration from application
@@ -198,7 +198,7 @@
getInternalTransaction().replicateEntities(
newServiceContext.getInternalTransaction(), confs);
- model.incrementsProgression();
+ model.incrementsProgress();
return admin;
@@ -222,7 +222,7 @@
// inject a new transaction in service context
newServiceContext.setTransaction(rootContext.beginTransaction());
- model.incrementsProgression();
+ model.incrementsProgress();
// prepare import configuration
ImportDbConfiguration importConfiguration =
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/exportdb/ExportDbConfiguration.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/exportdb/ExportDbConfiguration.java 2012-09-12 12:45:13 UTC (rev 653)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/exportdb/ExportDbConfiguration.java 2012-09-12 15:57:54 UTC (rev 654)
@@ -24,7 +24,7 @@
package fr.ifremer.echobase.services.exportdb;
import fr.ifremer.echobase.services.AbstractEchobaseActionConfiguration;
-import fr.ifremer.echobase.services.ProgressionModel;
+import fr.ifremer.echobase.services.ProgressModel;
import org.apache.commons.io.FileUtils;
import java.io.File;
@@ -56,8 +56,8 @@
public ExportDbConfiguration() {
}
- public ExportDbConfiguration(ProgressionModel progressionModel) {
- super(progressionModel);
+ public ExportDbConfiguration(ProgressModel progressModel) {
+ super(progressModel);
}
public String getFileName() {
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/exportdb/strategy/AbstractExportDbStrategy.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/exportdb/strategy/AbstractExportDbStrategy.java 2012-09-12 12:45:13 UTC (rev 653)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/exportdb/strategy/AbstractExportDbStrategy.java 2012-09-12 15:57:54 UTC (rev 654)
@@ -106,7 +106,7 @@
ExportService exportService) {
for (TableMeta<EchoBaseEntityEnum> meta : tablesToExport) {
- model.incrementsProgression();
+ model.incrementsProgress();
File entryFile = new File(dir, meta.getFilename());
exportService.exportData(meta, entryFile);
@@ -119,7 +119,7 @@
ExportService exportService) {
for (AssociationMeta<EchoBaseEntityEnum> associationMeta : associationsToExport) {
- model.incrementsProgression();
+ model.incrementsProgress();
File entryFile = new File(dir, associationMeta.getFilename());
exportService.exportData(associationMeta, entryFile);
@@ -144,7 +144,7 @@
try {
for (String voyageId : model.getVoyageIds()) {
- model.incrementsProgression();
+ model.incrementsProgress();
Voyage voyage = getEntityById(Voyage.class, voyageId);
visitor.export(voyage);
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AbstractImportConfiguration.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AbstractImportConfiguration.java 2012-09-12 12:45:13 UTC (rev 653)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AbstractImportConfiguration.java 2012-09-12 15:57:54 UTC (rev 654)
@@ -44,6 +44,9 @@
private static final long serialVersionUID = 1L;
+ /** Selected voyage id where to import datas. */
+ protected String voyageId;
+
/** Directory where to store temporary files. */
protected File workingDirectory;
@@ -63,6 +66,14 @@
protected final List<EchoBaseCsvFileImportResult> importResults =
Lists.newArrayList();
+ public final String getVoyageId() {
+ return voyageId;
+ }
+
+ public final void setVoyageId(String voyageId) {
+ this.voyageId = voyageId;
+ }
+
public File getWorkingDirectory() {
return workingDirectory;
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AbstractImportDataService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AbstractImportDataService.java 2012-09-12 12:45:13 UTC (rev 653)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AbstractImportDataService.java 2012-09-12 15:57:54 UTC (rev 654)
@@ -57,7 +57,6 @@
import org.nuiton.topia.TopiaException;
import org.nuiton.topia.persistence.TopiaDAO;
import org.nuiton.topia.persistence.TopiaEntity;
-import org.nuiton.util.StringUtil;
import org.nuiton.util.TimeLog;
import org.nuiton.util.csv.ImportRuntimeException;
@@ -105,18 +104,22 @@
log.info("Nb lines to import " + nbSteps);
}
- TIME_LOG.log(s0, "computeNbSteps");
+ s0 = TIME_LOG.log(s0, "computeNbSteps");
try {
startImport(configuration, user);
+ s0 = TIME_LOG.log(s0, "importDone");
+
// add result in log book and compute resume to show in result
- String result = computeResultAndLogBookEntry(configuration,
- user,
- TimeLog.getTime() - s0);
+ String result = computeResultAndLogBookEntry(configuration, user);
// do commit
- commitTransaction("Could not execute import " + getImportLabel(configuration));
+ commitTransaction("Could not execute import " +
+ getImportLabel(configuration));
+
+ TIME_LOG.log(s0, "importCommited");
+
return result;
} catch (EchoBaseTechnicalException e) {
throw new ImportException(e.getMessage(), e);
@@ -128,13 +131,13 @@
}
protected String computeResultAndLogBookEntry(M configuration,
- EchoBaseUser user,
- long time) {
+ EchoBaseUser user) {
Date importDate = newDate();
String importUser = user.getEmail();
ImportLog importLog = create(getDAO(ImportLog.class),
+ ImportLog.PROPERTY_VOYAGE_ID, configuration.getVoyageId(),
ImportLog.PROPERTY_IMPORT_TYPE, configuration.getImportType(),
ImportLog.PROPERTY_IMPORT_USER, importUser,
ImportLog.PROPERTY_IMPORT_DATE, importDate,
@@ -149,9 +152,6 @@
if (StringUtils.isNotEmpty(configuration.getImportNotes())) {
buffer.append("\nNotes :").append(configuration.getImportNotes());
}
- buffer.append('\n');
- buffer.append("Import réalisé en ");
- buffer.append(StringUtil.convertTime(time));
for (EchoBaseCsvFileImportResult importResult : configuration.getImportResults()) {
@@ -278,7 +278,7 @@
protected final void doFlushTransaction(int rowNumber,
InputFile inputFile,
M configuration) {
- configuration.incrementsProgression();
+ configuration.incrementsProgress();
if (rowNumber % 1000 == 0) {
// flush each 1000 imported rows
String message = getImportMessage(configuration, inputFile);
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AcousticImportConfiguration.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AcousticImportConfiguration.java 2012-09-12 12:45:13 UTC (rev 653)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AcousticImportConfiguration.java 2012-09-12 15:57:54 UTC (rev 654)
@@ -40,9 +40,6 @@
private static final long serialVersionUID = 1L;
- /** Selected voyage id where to import datas. */
- protected String voyageId;
-
/** Selected vessel id to find out transect where to import datas. */
protected String vesselId;
@@ -103,14 +100,6 @@
importType = ImportType.ACOUSTIC;
}
- public String getVoyageId() {
- return voyageId;
- }
-
- public void setVoyageId(String voyageId) {
- this.voyageId = voyageId;
- }
-
public String getVesselId() {
return vesselId;
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AcousticImportService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AcousticImportService.java 2012-09-12 12:45:13 UTC (rev 653)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AcousticImportService.java 2012-09-12 15:57:54 UTC (rev 654)
@@ -186,7 +186,7 @@
Cell elementaryCell;
int rowNumber = 0;
- configuration.incrementsProgression();
+ configuration.incrementsProgress();
for (AcousticImportRow row : importer) {
doFlushTransaction(++rowNumber, inputFile, configuration);
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CatchesImportConfiguration.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CatchesImportConfiguration.java 2012-09-12 12:45:13 UTC (rev 653)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CatchesImportConfiguration.java 2012-09-12 15:57:54 UTC (rev 654)
@@ -40,9 +40,6 @@
private static final long serialVersionUID = 1L;
- /** Selected voyage id where to import datas. */
- protected String voyageId;
-
/** Sample file to import. */
protected final InputFile totalSampleFile;
@@ -62,14 +59,6 @@
importType = ImportType.CATCHES;
}
- public String getVoyageId() {
- return voyageId;
- }
-
- public void setVoyageId(String voyageId) {
- this.voyageId = voyageId;
- }
-
public InputFile getTotalSampleFile() {
return totalSampleFile;
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CatchesImportService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CatchesImportService.java 2012-09-12 12:45:13 UTC (rev 653)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CatchesImportService.java 2012-09-12 15:57:54 UTC (rev 654)
@@ -186,7 +186,7 @@
Import.newImport(csvModel, reader);
int rowNumber = 0;
- configuration.incrementsProgression();
+ configuration.incrementsProgress();
for (TotalSampleImportRow row : importer) {
doFlushTransaction(++rowNumber, inputFile, configuration);
@@ -348,7 +348,7 @@
Import<SubSampleImportRow> importer =
Import.newImport(csvModel, reader);
- configuration.incrementsProgression();
+ configuration.incrementsProgress();
int rowNumber = 0;
for (SubSampleImportRow row : importer) {
@@ -464,7 +464,7 @@
Import<BiometrySampleImportRow> importer = Import.newImport(
csvModel, reader);
- configuration.incrementsProgression();
+ configuration.incrementsProgress();
int rowNumber = 0;
for (BiometrySampleImportRow row : importer) {
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonAllImportService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonAllImportService.java 2012-09-12 12:45:13 UTC (rev 653)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonAllImportService.java 2012-09-12 15:57:54 UTC (rev 654)
@@ -116,10 +116,10 @@
try {
Import<Voyage> importer = Import.newImport(csvModel, reader);
- configuration.incrementsProgression();
+ configuration.incrementsProgress();
for (Voyage voyage : importer) {
- configuration.incrementsProgression();
+ configuration.incrementsProgress();
voyage.setMission(mission);
voyage.setAreaOfOperation(areaOfOperation);
@@ -187,10 +187,10 @@
Import<TransitImportRow> importer =
Import.newImport(csvModel, reader);
- configuration.incrementsProgression();
+ configuration.incrementsProgress();
for (TransitImportRow row : importer) {
- configuration.incrementsProgression();
+ configuration.incrementsProgress();
Transit transit = row.getTransit();
transit.setRelatedActivity(relatedActivity);
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonImportConfiguration.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonImportConfiguration.java 2012-09-12 12:45:13 UTC (rev 653)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonImportConfiguration.java 2012-09-12 15:57:54 UTC (rev 654)
@@ -43,9 +43,6 @@
/** Selected mission id to use in voyage. */
protected String missionId;
- /** Selected voyage id to use (in mode 2). */
- protected String voyageId;
-
/** Selected area of operation to use for voyage. */
protected String areaOfOperationId;
@@ -105,14 +102,6 @@
this.areaOfOperationId = areaOfOperationId;
}
- public String getVoyageId() {
- return voyageId;
- }
-
- public void setVoyageId(String voyageId) {
- this.voyageId = voyageId;
- }
-
public String getVoyageDescription() {
return voyageDescription;
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonImportService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonImportService.java 2012-09-12 12:45:13 UTC (rev 653)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonImportService.java 2012-09-12 15:57:54 UTC (rev 654)
@@ -152,10 +152,10 @@
Import<TransectImportRow> importer =
Import.newImport(csvModel, reader);
- configuration.incrementsProgression();
+ configuration.incrementsProgress();
for (TransectImportRow row : importer) {
- configuration.incrementsProgression();
+ configuration.incrementsProgress();
Transect transect = row.getTransect();
Date timeCoverageStart = transect.getTimeCoverageStart();
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/OperationImportConfiguration.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/OperationImportConfiguration.java 2012-09-12 12:45:13 UTC (rev 653)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/OperationImportConfiguration.java 2012-09-12 15:57:54 UTC (rev 654)
@@ -40,9 +40,6 @@
private static final long serialVersionUID = 1L;
- /** Selected voyage id where to import datas. */
- protected String voyageId;
-
/** operation file to import. */
protected final InputFile operationFile;
@@ -62,14 +59,6 @@
importType = ImportType.OPERATION;
}
- public String getVoyageId() {
- return voyageId;
- }
-
- public void setVoyageId(String voyageId) {
- this.voyageId = voyageId;
- }
-
public InputFile getOperationFile() {
return operationFile;
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/OperationImportService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/OperationImportService.java 2012-09-12 12:45:13 UTC (rev 653)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/OperationImportService.java 2012-09-12 15:57:54 UTC (rev 654)
@@ -146,7 +146,7 @@
Import<OperationImportRow> importer =
Import.newImport(csvModel, reader);
- configuration.incrementsProgression();
+ configuration.incrementsProgress();
int rowNumber = 0;
for (OperationImportRow row : importer) {
@@ -213,7 +213,7 @@
Import.newImport(csvModel, reader);
int rowNumber = 0;
- configuration.incrementsProgression();
+ configuration.incrementsProgress();
for (OperationMetadataValueImportRow row : importer) {
doFlushTransaction(++rowNumber, inputFile, configuration);
@@ -270,7 +270,7 @@
Import.newImport(csvModel, reader);
int rowNumber = 0;
- configuration.incrementsProgression();
+ configuration.incrementsProgress();
for (GearMetadataValueImportRow row : importer) {
doFlushTransaction(++rowNumber, inputFile, configuration);
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsEsduCellImportService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsEsduCellImportService.java 2012-09-12 12:45:13 UTC (rev 653)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsEsduCellImportService.java 2012-09-12 15:57:54 UTC (rev 654)
@@ -230,7 +230,7 @@
Import<EsduResultByEchotypeImportRow> importer =
Import.newImport(csvModel, reader);
- configuration.incrementsProgression();
+ configuration.incrementsProgress();
int rowNumber = 0;
for (EsduResultByEchotypeImportRow row : importer) {
@@ -309,7 +309,7 @@
Import<EsduResultByEchotypeAndSpeciesCategoryImportRow> importer =
Import.newImport(csvModel, reader);
- configuration.incrementsProgression();
+ configuration.incrementsProgress();
int rowNumber = 0;
for (EsduResultByEchotypeAndSpeciesCategoryImportRow row : importer) {
@@ -390,7 +390,7 @@
Import<EsduResultBySpeciesAndSizeCategoryImportRow> importer =
Import.newImport(csvModel, reader);
- configuration.incrementsProgression();
+ configuration.incrementsProgress();
int rowNumber = 0;
for (EsduResultBySpeciesAndSizeCategoryImportRow row : importer) {
@@ -491,7 +491,7 @@
Import<EsduResultBySpeciesAndAgeCategoryImportRow> importer =
Import.newImport(csvModel, reader);
- configuration.incrementsProgression();
+ configuration.incrementsProgress();
int rowNumber = 0;
for (EsduResultBySpeciesAndAgeCategoryImportRow row : importer) {
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsImportConfiguration.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsImportConfiguration.java 2012-09-12 12:45:13 UTC (rev 653)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsImportConfiguration.java 2012-09-12 15:57:54 UTC (rev 654)
@@ -40,9 +40,6 @@
private static final long serialVersionUID = 1L;
- /** Selected voyage id where to import datas. */
- protected String voyageId;
-
/** Selected dataProcessing id where to search esdu or elementary cells. */
protected String dataProcessingId;
@@ -110,14 +107,6 @@
l_(locale, "echobase.common.esduBySpeciesAndAgeCategoryFile"));
}
- public String getVoyageId() {
- return voyageId;
- }
-
- public void setVoyageId(String voyageId) {
- this.voyageId = voyageId;
- }
-
public String getVesselId() {
return vesselId;
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsMapCellImportService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsMapCellImportService.java 2012-09-12 12:45:13 UTC (rev 653)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsMapCellImportService.java 2012-09-12 15:57:54 UTC (rev 654)
@@ -180,7 +180,7 @@
Import<MapCellImportRow> importer =
Import.newImport(csvModel, reader);
- configuration.incrementsProgression();
+ configuration.incrementsProgress();
int rowNumber = 0;
for (MapCellImportRow row : importer) {
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsRegionCellImportService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsRegionCellImportService.java 2012-09-12 12:45:13 UTC (rev 653)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsRegionCellImportService.java 2012-09-12 15:57:54 UTC (rev 654)
@@ -156,7 +156,7 @@
Cell cell = null;
- configuration.incrementsProgression();
+ configuration.incrementsProgress();
int rowNumber = 0;
for (RegionCellImportRow row : importer) {
@@ -232,7 +232,7 @@
Import<RegionCellAssociationImportRow> importer =
Import.newImport(csvModel, reader);
- configuration.incrementsProgression();
+ configuration.incrementsProgress();
int rowNumber = 0;
for (RegionCellAssociationImportRow row : importer) {
@@ -319,7 +319,7 @@
Import<RegionCellResultImportRow> importer =
Import.newImport(csvModel, reader);
- configuration.incrementsProgression();
+ configuration.incrementsProgress();
int rowNumber = 0;
for (RegionCellResultImportRow row : importer) {
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsVoyageImportService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsVoyageImportService.java 2012-09-12 12:45:13 UTC (rev 653)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsVoyageImportService.java 2012-09-12 15:57:54 UTC (rev 654)
@@ -171,7 +171,7 @@
Import<LengthWeightKeyImportRow> importer =
Import.newImport(csvModel, reader);
- configuration.incrementsProgression();
+ configuration.incrementsProgress();
int rowNumber = 0;
for (LengthWeightKeyImportRow row : importer) {
@@ -239,7 +239,7 @@
Import<LengthAgeKeyImportRow> importer =
Import.newImport(csvModel, reader);
- configuration.incrementsProgression();
+ configuration.incrementsProgress();
int rowNumber = 0;
for (LengthAgeKeyImportRow row : importer) {
@@ -296,7 +296,7 @@
Import<EchotypeImportRow> importer =
Import.newImport(csvModel, reader);
- configuration.incrementsProgression();
+ configuration.incrementsProgress();
int rowNumber = 0;
for (EchotypeImportRow row : importer) {
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdb/ImportDbConfiguration.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdb/ImportDbConfiguration.java 2012-09-12 12:45:13 UTC (rev 653)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdb/ImportDbConfiguration.java 2012-09-12 15:57:54 UTC (rev 654)
@@ -25,7 +25,7 @@
import fr.ifremer.echobase.io.InputFile;
import fr.ifremer.echobase.services.AbstractEchobaseActionConfiguration;
-import fr.ifremer.echobase.services.ProgressionModel;
+import fr.ifremer.echobase.services.ProgressModel;
import org.apache.commons.io.FileUtils;
import java.io.File;
@@ -54,9 +54,9 @@
protected boolean commitAfterEachFile;
- public ImportDbConfiguration(ProgressionModel progressionModel,
+ public ImportDbConfiguration(ProgressModel progressModel,
Locale locale) {
- super(progressionModel);
+ super(progressModel);
input = InputFile.newFile(l_(locale, "echobase.common.importDbFile"));
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/RemoveDataService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/RemoveDataService.java 2012-09-12 12:45:13 UTC (rev 653)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/RemoveDataService.java 2012-09-12 15:57:54 UTC (rev 654)
@@ -109,14 +109,18 @@
long s0 = TimeLog.getTime();
AbstractRemoveDataStrategy strategy = getService(strategyType);
- strategy.doRemove(model, importLog);
+ try {
+ strategy.doRemove(model, importLog);
+ } catch (TopiaException e) {
+ throw new EchoBaseTechnicalException("Could not remove data", e);
+ }
s0 = TIME_LOG.log(s0, "removeData");
List<ImportLog> removedImportLog = removeObsoleteImportLogs(strategy,
importLog);
- model.incrementsProgression();
+ model.incrementsProgress();
s0 = TIME_LOG.log(s0, "removeObsoleteImportLogs");
// add result in log book and compute resume to show in result
@@ -125,12 +129,12 @@
user,
TimeLog.getTime() - s0);
- model.incrementsProgression();
+ model.incrementsProgress();
// do commit
commitTransaction("Could not remove import " +
strategy.getImportLabel());
- model.incrementsProgression();
+ model.incrementsProgress();
return result;
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/AbstractRemoveDataStrategy.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/AbstractRemoveDataStrategy.java 2012-09-12 12:45:13 UTC (rev 653)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/AbstractRemoveDataStrategy.java 2012-09-12 15:57:54 UTC (rev 654)
@@ -23,24 +23,29 @@
* #L%
*/
-import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
import fr.ifremer.echobase.EchoBaseTechnicalException;
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.CategoryDAO;
+import fr.ifremer.echobase.entities.data.Cell;
+import fr.ifremer.echobase.entities.data.CellDAO;
import fr.ifremer.echobase.entities.data.Echotype;
+import fr.ifremer.echobase.entities.data.EchotypeDAO;
import fr.ifremer.echobase.entities.data.LengthAgeKey;
+import fr.ifremer.echobase.entities.data.LengthAgeKeyDAO;
import fr.ifremer.echobase.entities.data.LengthWeightKey;
+import fr.ifremer.echobase.entities.data.LengthWeightKeyDAO;
import fr.ifremer.echobase.entities.data.Voyage;
+import fr.ifremer.echobase.entities.data.VoyageDAO;
+import fr.ifremer.echobase.services.EchoBaseServiceContext;
import fr.ifremer.echobase.services.EchoBaseServiceSupport;
import fr.ifremer.echobase.services.removedata.RemoveDataConfiguration;
import org.nuiton.topia.TopiaException;
import org.nuiton.topia.persistence.TopiaDAO;
import org.nuiton.topia.persistence.TopiaEntity;
-import java.util.Collection;
import java.util.List;
import java.util.Set;
@@ -58,12 +63,41 @@
return importLabel;
}
- protected abstract void removeData(String id) throws TopiaException;
+ protected VoyageDAO voyageDao;
+ protected CellDAO cellDAO;
+
+ protected CategoryDAO categoryDAO;
+
+ protected EchotypeDAO echotypeDAO;
+
+ protected LengthAgeKeyDAO lengthAgeKeyDAO;
+
+ protected LengthWeightKeyDAO lengthWeightKeyDAO;
+
+ @Override
+ public void setServiceContext(EchoBaseServiceContext serviceContext) {
+ super.setServiceContext(serviceContext);
+
+ cellDAO = getDAO(Cell.class, CellDAO.class);
+ echotypeDAO = getDAO(Echotype.class, EchotypeDAO.class);
+ voyageDao = getDAO(Voyage.class, VoyageDAO.class);
+ lengthAgeKeyDAO = getDAO(LengthAgeKey.class, LengthAgeKeyDAO.class);
+ lengthWeightKeyDAO = getDAO(LengthWeightKey.class, LengthWeightKeyDAO.class);
+ categoryDAO = getDAO(Category.class, CategoryDAO.class);
+ }
+
+ protected abstract void removeImportData(Voyage voyage,
+ String id) throws TopiaException;
+
public abstract Set<ImportType> getPossibleSubImportType();
- public void doRemove(RemoveDataConfiguration model, ImportLog importLog) {
+ public void doRemove(RemoveDataConfiguration model, ImportLog importLog) throws TopiaException {
+ Voyage voyage = voyageDao.findByTopiaId(importLog.getTopiaId());
+
+ removeDataInVoyage(voyage);
+
int currentIndex = 0;
for (String importId : importLog.getImportId()) {
@@ -72,33 +106,23 @@
if (currentIndex % 1000 == 0) {
flushTransaction("Could not flush transaction");
}
- model.incrementsProgression();
+ model.incrementsProgress();
try {
- removeData(importId);
+ removeImportData(voyage, importId);
} catch (TopiaException e) {
throw new EchoBaseTechnicalException(e);
}
}
}
- protected <E extends TopiaEntity> E findById(TopiaDAO<E> dao, String id) {
+ protected abstract void removeDataInVoyage(Voyage voyage) throws TopiaException;
- try {
- E result = dao.findByTopiaId(id);
- return result;
- } catch (TopiaException e) {
- throw new EchoBaseTechnicalException("Could not find entity with id " + id, e);
- }
- }
+ protected <E extends TopiaEntity> E removeEntity(TopiaDAO<E> dao,
+ String id) throws TopiaException {
- protected <E extends TopiaEntity> E removeEntity(String id) {
-
- // get dao
- TopiaDAO<E> dao = getDAOFromId(id);
-
// get entity to delete
- E entity = findById(dao, id);
+ E entity = dao.findByTopiaId(id);
// delete it
delete(dao, entity);
@@ -112,11 +136,11 @@
" from service " + this);
}
- protected void removeLengthWeightKey(LengthWeightKey lengthWeightKey,
- Voyage entity) throws TopiaException {
- TopiaDAO<LengthWeightKey> dao = getDAO(LengthWeightKey.class);
- dao.delete(lengthWeightKey);
+ protected void removeLengthWeightKey(Voyage entity,
+ LengthWeightKey lengthWeightKey) throws TopiaException {
+ lengthWeightKeyDAO.delete(lengthWeightKey);
+
if (entity != null) {
// remove it from the voyage
@@ -124,10 +148,9 @@
}
}
- protected void removeLengthAgeKey(LengthAgeKey lengthAgeKey,
- Voyage entity) throws TopiaException {
- TopiaDAO<LengthAgeKey> dao = getDAO(LengthAgeKey.class);
- dao.delete(lengthAgeKey);
+ protected void removeLengthAgeKey(Voyage entity,
+ LengthAgeKey lengthAgeKey) throws TopiaException {
+ lengthAgeKeyDAO.delete(lengthAgeKey);
if (entity != null) {
@@ -136,17 +159,15 @@
}
}
- protected void removeEchotype(Echotype echotype,
- Voyage entity) throws TopiaException {
+ protected void removeEchotype(Voyage entity,
+ Echotype echotype) throws TopiaException {
// delete all category
- CategoryDAO categoryDAO = getDAO(Category.class, CategoryDAO.class);
List<Category> allByEchotype = categoryDAO.findAllByEchotype(echotype);
categoryDAO.deleteAll(allByEchotype);
// delete echotype
- TopiaDAO<Echotype> dao = getDAO(Echotype.class);
- dao.delete(echotype);
+ echotypeDAO.delete(echotype);
if (entity != null) {
@@ -155,36 +176,46 @@
}
}
- protected void removeVoyage(TopiaDAO<Voyage> dao, Voyage entity) throws TopiaException {
+ protected void removePostCell(Voyage entity,
+ Cell cell) throws TopiaException {
- Collection<LengthWeightKey> lengthWeightKeys = Lists.newArrayList(entity.getLengthWeightKey());
- Collection<LengthAgeKey> lengthAgeKeys = Lists.newArrayList(entity.getLengthAgeKey());
+ // delete postcell
+ cellDAO.delete(cell);
+
+ if (entity != null) {
+
+ // remove it from the voyage
+ entity.removePostCell(cell);
+ }
+ }
+
+ protected void removeVoyage(Voyage entity) throws TopiaException {
+
Set<Echotype> echotypes = Sets.newHashSet(entity.getEchotype());
// clean this data
- entity.clearLengthWeightKey();
- entity.clearLengthAgeKey();
entity.clearEchotype();
// delete voyage
- delete(dao, entity);
+ delete(voyageDao, entity);
flushTransaction("Could not flush voyage deletion");
- // delete all lengthWeightKeys
- for (LengthWeightKey lengthWeightKey : lengthWeightKeys) {
- removeLengthWeightKey(lengthWeightKey, null);
+ // delete all echotypes
+ for (Echotype echotype : echotypes) {
+ removeEchotype(null, echotype);
}
+ }
- // delete all lengthAgeKeys
- for (LengthAgeKey lengthAgeKey : lengthAgeKeys) {
- removeLengthAgeKey(lengthAgeKey, null);
+ protected void removeVoyagePostCell(Voyage entity) throws TopiaException {
+
+ for (Cell postCell : entity.getPostCell()) {
+ removePostCell(null, postCell);
}
- // delete all echotypes
- for (Echotype echotype : echotypes) {
- removeEchotype(echotype, null);
- }
+ // clean this data
+ entity.clearPostCell();
+
+ flushTransaction("Could not flush transaction after removing postCells");
}
-
}
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/AcousticRemoveDataStrategy.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/AcousticRemoveDataStrategy.java 2012-09-12 12:45:13 UTC (rev 653)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/AcousticRemoveDataStrategy.java 2012-09-12 15:57:54 UTC (rev 654)
@@ -27,8 +27,12 @@
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.DataAcquisitionDAO;
+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 java.util.Set;
@@ -46,40 +50,47 @@
private static final Log log =
LogFactory.getLog(AcousticRemoveDataStrategy.class);
+ protected DataAcquisitionDAO dataAcquisitionDAO;
+
@Override
- protected void removeData(String id) {
+ public void setServiceContext(EchoBaseServiceContext serviceContext) {
+ super.setServiceContext(serviceContext);
+ dataAcquisitionDAO = getDAO(DataAcquisition.class, DataAcquisitionDAO.class);
+ }
+
+ @Override
+ protected void removeDataInVoyage(Voyage voyage) throws TopiaException {
+
+ // remove post cell from top voyage
+ removeVoyagePostCell(voyage);
+ }
+
+ @Override
+ protected void removeImportData(Voyage voyage, String id) throws TopiaException {
+
if (id.startsWith(DataAcquisition.class.getName())) {
// remove dataAcquisition
- removeDataAcquisition(id);
+ DataAcquisition entity = removeEntity(dataAcquisitionDAO, id);
+ if (log.isInfoEnabled()) {
+ log.info("DataAcquisition " + entity.getTopiaId() + " was removed");
+ }
} else if (id.startsWith(Cell.class.getName())) {
// remove cell
- removeCell(id);
+ Cell entity = removeEntity(cellDAO, id);
+ if (log.isInfoEnabled()) {
+ log.info("Cell " + entity.getTopiaId() + " was removed");
+ }
} else {
canNotDealWithId(id);
}
}
- protected void removeDataAcquisition(String id) {
- DataAcquisition entity = removeEntity(id);
- if (log.isInfoEnabled()) {
- log.info("DataAcquisition " + entity.getTopiaId() + " was removed");
- }
- }
-
- protected void removeCell(String id) {
- Cell entity = removeEntity(id);
- if (log.isInfoEnabled()) {
- log.info("Cell " + entity.getTopiaId() + " was removed");
- }
- }
-
@Override
public Set<ImportType> getPossibleSubImportType() {
- Set<ImportType> result = Sets.newHashSet(ImportType.RESULT_VOYAGE,
- ImportType.RESULT_ESDU,
+ Set<ImportType> result = Sets.newHashSet(ImportType.RESULT_ESDU,
ImportType.RESULT_MAP,
ImportType.RESULT_REGION);
return result;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/CatchesRemoveDataStrategy.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/CatchesRemoveDataStrategy.java 2012-09-12 12:45:13 UTC (rev 653)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/CatchesRemoveDataStrategy.java 2012-09-12 15:57:54 UTC (rev 654)
@@ -25,8 +25,12 @@
import fr.ifremer.echobase.entities.ImportType;
import fr.ifremer.echobase.entities.data.Sample;
+import fr.ifremer.echobase.entities.data.SampleDAO;
+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 java.util.Collections;
import java.util.Set;
@@ -45,25 +49,34 @@
private static final Log log =
LogFactory.getLog(CatchesRemoveDataStrategy.class);
+ protected SampleDAO sampleDAO;
+
@Override
- protected void removeData(String id) {
+ public void setServiceContext(EchoBaseServiceContext serviceContext) {
+ super.setServiceContext(serviceContext);
+ sampleDAO = getDAO(Sample.class, SampleDAO.class);
+ }
+ @Override
+ protected void removeDataInVoyage(Voyage voyage) throws TopiaException {
+ // nothing to do on voyage level
+ }
+
+ @Override
+ protected void removeImportData(Voyage voyage, String id) throws TopiaException {
+
if (id.startsWith(Sample.class.getName())) {
// remove sample
- removeSample(id);
+ Sample entity = removeEntity(sampleDAO, id);
+ if (log.isInfoEnabled()) {
+ log.info("Sample " + entity.getTopiaId() + " was removed");
+ }
} else {
canNotDealWithId(id);
}
}
- protected void removeSample(String id) {
- Sample entity = removeEntity(id);
- if (log.isInfoEnabled()) {
- log.info("Sample " + entity.getTopiaId() + " was removed");
- }
- }
-
@Override
public Set<ImportType> getPossibleSubImportType() {
Set<ImportType> result = Collections.emptySet();
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/CommonAllRemoveDataStrategy.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/CommonAllRemoveDataStrategy.java 2012-09-12 12:45:13 UTC (rev 653)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/CommonAllRemoveDataStrategy.java 2012-09-12 15:57:54 UTC (rev 654)
@@ -29,7 +29,6 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.topia.TopiaException;
-import org.nuiton.topia.persistence.TopiaDAO;
import java.util.Set;
@@ -48,34 +47,30 @@
LogFactory.getLog(CommonAllRemoveDataStrategy.class);
@Override
- protected void removeData(String id) throws TopiaException {
+ protected void removeDataInVoyage(Voyage voyage) throws TopiaException {
+ // nothing to do on voyage level (done by voyage id)...
+ }
+ @Override
+ protected void removeImportData(Voyage voyage, String id) throws TopiaException {
+
if (id.startsWith(Voyage.class.getName())) {
// remove voyage
- removeVoyage(id);
+ // get entity to delete
+ Voyage entity = voyageDao.findByTopiaId(id);
+
+ // delete it
+ removeVoyage(entity);
+
+ if (log.isInfoEnabled()) {
+ log.info("Voyage " + entity.getTopiaId() + " was removed");
+ }
} else {
canNotDealWithId(id);
}
}
- protected void removeVoyage(String id) throws TopiaException {
-
- // get dao
- TopiaDAO<Voyage> dao = getDAOFromId(id);
-
- // get entity to delete
- Voyage entity = findById(dao, id);
-
- // delete it
- removeVoyage(dao, entity);
-
- if (log.isInfoEnabled()) {
- log.info("Voyage " + entity.getTopiaId() + " was removed");
- }
- }
-
-
@Override
public Set<ImportType> getPossibleSubImportType() {
Set<ImportType> result = Sets.newHashSet(ImportType.COMMON_TRANSECT,
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/CommonTransectRemoveDataStrategy.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/CommonTransectRemoveDataStrategy.java 2012-09-12 12:45:13 UTC (rev 653)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/CommonTransectRemoveDataStrategy.java 2012-09-12 15:57:54 UTC (rev 654)
@@ -26,8 +26,12 @@
import com.google.common.collect.Sets;
import fr.ifremer.echobase.entities.ImportType;
import fr.ifremer.echobase.entities.data.Transect;
+import fr.ifremer.echobase.entities.data.TransectDAO;
+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 java.util.Set;
@@ -45,9 +49,25 @@
private static final Log log =
LogFactory.getLog(CommonTransectRemoveDataStrategy.class);
+ protected TransectDAO transectDAO;
+
@Override
- protected void removeData(String id) {
+ public void setServiceContext(EchoBaseServiceContext serviceContext) {
+ super.setServiceContext(serviceContext);
+ transectDAO = getDAO(Transect.class, TransectDAO.class);
+ }
+
+ @Override
+ protected void removeDataInVoyage(Voyage voyage) throws TopiaException {
+
+ // remove postCell from voyage
+ removeVoyagePostCell(voyage);
+ }
+
+ @Override
+ protected void removeImportData(Voyage voyage, String id) throws TopiaException {
+
if (id.startsWith(Transect.class.getName())) {
// remove transect
@@ -57,8 +77,8 @@
}
}
- protected void removeTransect(String id) {
- Transect entity = removeEntity(id);
+ protected void removeTransect(String id) throws TopiaException {
+ Transect entity = removeEntity(transectDAO, id);
if (log.isInfoEnabled()) {
log.info("Transect " + entity.getTopiaId() + " was removed");
}
@@ -69,7 +89,6 @@
Set<ImportType> result = Sets.newHashSet(ImportType.OPERATION,
ImportType.CATCHES,
ImportType.ACOUSTIC,
- ImportType.RESULT_VOYAGE,
ImportType.RESULT_ESDU,
ImportType.RESULT_MAP,
ImportType.RESULT_REGION);
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/LegacyVoyageRemoveDataStrategy.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/LegacyVoyageRemoveDataStrategy.java 2012-09-12 12:45:13 UTC (rev 653)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/LegacyVoyageRemoveDataStrategy.java 2012-09-12 15:57:54 UTC (rev 654)
@@ -29,7 +29,6 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.topia.TopiaException;
-import org.nuiton.topia.persistence.TopiaDAO;
import java.util.Set;
@@ -48,34 +47,29 @@
LogFactory.getLog(LegacyVoyageRemoveDataStrategy.class);
@Override
- protected void removeData(String id) throws TopiaException {
-
- if (id.startsWith(Voyage.class.getName())) {
-
- // remove voyage
- removeVoyage(id);
- } else {
- canNotDealWithId(id);
- }
+ protected void removeDataInVoyage(Voyage voyage) throws TopiaException {
+ // nothing to do on voyage level
}
- protected void removeVoyage(String id) throws TopiaException {
+ @Override
+ protected void removeImportData(Voyage voyage, String id) throws TopiaException {
- // get dao
- TopiaDAO<Voyage> dao = getDAOFromId(id);
+ if (id.startsWith(Voyage.class.getName())) {
- // get entity to delete
- Voyage entity = findById(dao, id);
+ // get entity to delete
+ Voyage entity = voyageDao.findByTopiaId(id);
- // delete it
- removeVoyage(dao, entity);
+ // delete it
+ removeVoyage(entity);
- if (log.isInfoEnabled()) {
- log.info("Voyage " + entity.getTopiaId() + " was removed");
+ if (log.isInfoEnabled()) {
+ log.info("Voyage " + entity.getTopiaId() + " was removed");
+ }
+ } else {
+ canNotDealWithId(id);
}
}
-
@Override
public Set<ImportType> getPossibleSubImportType() {
Set<ImportType> result = Sets.newHashSet(ImportType.COMMON_TRANSECT,
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/OperationRemoveDataStrategy.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/OperationRemoveDataStrategy.java 2012-09-12 12:45:13 UTC (rev 653)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/OperationRemoveDataStrategy.java 2012-09-12 15:57:54 UTC (rev 654)
@@ -26,8 +26,12 @@
import com.google.common.collect.Sets;
import fr.ifremer.echobase.entities.ImportType;
import fr.ifremer.echobase.entities.data.Operation;
+import fr.ifremer.echobase.entities.data.OperationDAO;
+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 java.util.Set;
@@ -45,25 +49,36 @@
private static final Log log =
LogFactory.getLog(OperationRemoveDataStrategy.class);
+ protected OperationDAO operationDAO;
+
@Override
- protected void removeData(String id) {
+ public void setServiceContext(EchoBaseServiceContext serviceContext) {
+ super.setServiceContext(serviceContext);
+ operationDAO = getDAO(Operation.class, OperationDAO.class);
+
+ }
+
+ @Override
+ protected void removeDataInVoyage(Voyage voyage) throws TopiaException {
+ // nothing to do on voyage level
+ }
+
+ @Override
+ protected void removeImportData(Voyage voyage, String id) throws TopiaException {
+
if (id.startsWith(Operation.class.getName())) {
// remove operation
- removeOperation(id);
+ Operation entity = removeEntity(operationDAO, id);
+ if (log.isInfoEnabled()) {
+ log.info("Operation " + entity.getTopiaId() + " was removed");
+ }
} else {
canNotDealWithId(id);
}
}
- protected void removeOperation(String id) {
- Operation entity = removeEntity(id);
- if (log.isInfoEnabled()) {
- log.info("Operation " + entity.getTopiaId() + " was removed");
- }
- }
-
@Override
public Set<ImportType> getPossibleSubImportType() {
Set<ImportType> result = Sets.newHashSet(ImportType.CATCHES);
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/ResultEsduRemoveDataStrategy.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/ResultEsduRemoveDataStrategy.java 2012-09-12 12:45:13 UTC (rev 653)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/ResultEsduRemoveDataStrategy.java 2012-09-12 15:57:54 UTC (rev 654)
@@ -25,8 +25,12 @@
import fr.ifremer.echobase.entities.ImportType;
import fr.ifremer.echobase.entities.data.Result;
+import fr.ifremer.echobase.entities.data.ResultDAO;
+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 java.util.Collections;
import java.util.Set;
@@ -45,25 +49,35 @@
private static final Log log =
LogFactory.getLog(ResultEsduRemoveDataStrategy.class);
+ protected ResultDAO resultDAO;
+
@Override
- protected void removeData(String id) {
+ public void setServiceContext(EchoBaseServiceContext serviceContext) {
+ super.setServiceContext(serviceContext);
+ resultDAO = getDAO(Result.class, ResultDAO.class);
+ }
+
+ @Override
+ protected void removeDataInVoyage(Voyage voyage) throws TopiaException {
+ // nothing to do on voyage level
+ }
+
+ @Override
+ protected void removeImportData(Voyage voyage, String id) throws TopiaException {
+
if (id.startsWith(Result.class.getName())) {
// remove result
- removeResult(id);
+ Result entity = removeEntity(resultDAO, id);
+ if (log.isDebugEnabled()) {
+ log.debug("Result " + entity.getTopiaId() + " was removed");
+ }
} else {
canNotDealWithId(id);
}
}
- protected void removeResult(String id) {
- Result entity = removeEntity(id);
- if (log.isDebugEnabled()) {
- log.debug("Result " + entity.getTopiaId() + " was removed");
- }
- }
-
@Override
public Set<ImportType> getPossibleSubImportType() {
Set<ImportType> result = Collections.emptySet();
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/ResultMapRemoveDataStrategy.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/ResultMapRemoveDataStrategy.java 2012-09-12 12:45:13 UTC (rev 653)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/ResultMapRemoveDataStrategy.java 2012-09-12 15:57:54 UTC (rev 654)
@@ -25,8 +25,10 @@
import fr.ifremer.echobase.entities.ImportType;
import fr.ifremer.echobase.entities.data.Cell;
+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 java.util.Collections;
import java.util.Set;
@@ -46,24 +48,25 @@
LogFactory.getLog(ResultMapRemoveDataStrategy.class);
@Override
- protected void removeData(String id) {
+ protected void removeDataInVoyage(Voyage voyage) throws TopiaException {
+ // nothing to do on voyage level
+ }
+ @Override
+ protected void removeImportData(Voyage voyage, String id) throws TopiaException {
+
if (id.startsWith(Cell.class.getName())) {
// remove cell
- removeCell(id);
+ Cell entity = removeEntity(cellDAO, id);
+ if (log.isInfoEnabled()) {
+ log.info("Cell " + entity.getTopiaId() + " was removed");
+ }
} else {
canNotDealWithId(id);
}
}
- protected void removeCell(String id) {
- Cell entity = removeEntity(id);
- if (log.isInfoEnabled()) {
- log.info("Cell " + entity.getTopiaId() + " was removed");
- }
- }
-
@Override
public Set<ImportType> getPossibleSubImportType() {
Set<ImportType> result = Collections.emptySet();
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/ResultRegionRemoveDataStrategy.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/ResultRegionRemoveDataStrategy.java 2012-09-12 12:45:13 UTC (rev 653)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/ResultRegionRemoveDataStrategy.java 2012-09-12 15:57:54 UTC (rev 654)
@@ -25,8 +25,12 @@
import fr.ifremer.echobase.entities.ImportType;
import fr.ifremer.echobase.entities.data.Cell;
+import fr.ifremer.echobase.entities.data.CellDAO;
+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 java.util.Collections;
import java.util.Set;
@@ -46,24 +50,25 @@
LogFactory.getLog(ResultRegionRemoveDataStrategy.class);
@Override
- protected void removeData(String id) {
+ protected void removeDataInVoyage(Voyage voyage) throws TopiaException {
+ // nothing to do on voyage level
+ }
+ @Override
+ protected void removeImportData(Voyage voyage, String id) throws TopiaException {
+
if (id.startsWith(Cell.class.getName())) {
- // remove echotype
- removeCell(id);
+ // remove post cell
+ Cell entity = removeEntity(cellDAO, id);
+ if (log.isInfoEnabled()) {
+ log.info("Cell " + entity.getTopiaId() + " was removed");
+ }
} else {
canNotDealWithId(id);
}
}
- protected void removeCell(String id) {
- Cell entity = removeEntity(id);
- if (log.isInfoEnabled()) {
- log.info("Cell " + entity.getTopiaId() + " was removed");
- }
- }
-
@Override
public Set<ImportType> getPossibleSubImportType() {
Set<ImportType> result = Collections.emptySet();
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/ResultVoyageRemoveDataStrategy.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/ResultVoyageRemoveDataStrategy.java 2012-09-12 12:45:13 UTC (rev 653)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/strategy/ResultVoyageRemoveDataStrategy.java 2012-09-12 15:57:54 UTC (rev 654)
@@ -30,14 +30,14 @@
import fr.ifremer.echobase.entities.data.LengthAgeKey;
import fr.ifremer.echobase.entities.data.LengthWeightKey;
import fr.ifremer.echobase.entities.data.Result;
+import fr.ifremer.echobase.entities.data.ResultDAO;
import fr.ifremer.echobase.entities.data.Voyage;
-import fr.ifremer.echobase.entities.data.VoyageDAO;
+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.framework.TopiaContextImplementor;
import org.nuiton.topia.framework.TopiaSQLQuery;
-import org.nuiton.topia.persistence.TopiaDAO;
import java.sql.Connection;
import java.sql.PreparedStatement;
@@ -62,87 +62,21 @@
private static final Log log =
LogFactory.getLog(ResultVoyageRemoveDataStrategy.class);
- protected Voyage voyage;
+ protected ResultDAO resultDAO;
+
@Override
- protected void removeData(String id) throws TopiaException {
+ public void setServiceContext(EchoBaseServiceContext serviceContext) {
+ super.setServiceContext(serviceContext);
- if (id.startsWith(Echotype.class.getName())) {
-
- // get dao
- TopiaDAO<Echotype> dao = getDAOFromId(id);
-
- // get entity to delete
- Echotype entity = findById(dao, id);
-
- if (voyage == null) {
-
- // load voyage
- VoyageDAO voyageDao = getDAO(Voyage.class, VoyageDAO.class);
- voyage = voyageDao.findContainsEchotype(entity);
-
- // remove data from voyage
- removeVoyageData(voyage);
- }
-
- // remove echotype
- removeEchotype(entity);
- } else if (id.startsWith(LengthAgeKey.class.getName())) {
-
- // get dao
- TopiaDAO<LengthAgeKey> dao = getDAOFromId(id);
-
- // get entity to delete
- LengthAgeKey entity = findById(dao, id);
-
- if (voyage == null) {
-
- // load voyage
- VoyageDAO voyageDao = getDAO(Voyage.class, VoyageDAO.class);
- voyage = voyageDao.findContainsLengthAgeKey(entity);
-
- // remove data from voyage
- removeVoyageData(voyage);
- }
-
- // remove lengthAgeKey
- removeLengthAgeKey(entity);
- } else if (id.startsWith(LengthWeightKey.class.getName())) {
-
- // get dao
- TopiaDAO<LengthWeightKey> dao = getDAOFromId(id);
-
- // get entity to delete
- LengthWeightKey entity = findById(dao, id);
-
- if (voyage == null) {
-
- // load voyage
- VoyageDAO voyageDao = getDAO(Voyage.class, VoyageDAO.class);
- voyage = voyageDao.findContainsLengthWeightKey(entity);
-
- // remove data from voyage
- removeVoyageData(voyage);
- }
-
- // remove lengthAgeKey
- removeLengthWeightKey(entity);
- } else {
- canNotDealWithId(id);
- }
+ resultDAO = getDAO(Result.class, ResultDAO.class);
}
- protected void removeVoyageData(final Voyage voyage) throws TopiaException {
+ @Override
+ protected void removeDataInVoyage(final Voyage voyage) throws TopiaException {
- // suppress all postCell from the voyage
- TopiaDAO<Cell> cellDAO = getDAO(Cell.class);
- for (Cell postCell : voyage.getPostCell()) {
- voyage.removePostCell(postCell);
- delete(cellDAO, postCell);
- }
+ removeVoyagePostCell(voyage);
- flushTransaction("Could not flush transaction after removing postCells");
-
// Get all cells of the voyage
TopiaSQLQuery<String> query = new TopiaSQLQuery<String>() {
@Override
@@ -173,10 +107,8 @@
// remove all result of cells
- TopiaDAO<Result> resultDAO = getDAO(Result.class);
-
for (String cellId : cellIds) {
- Cell cell = findById(cellDAO, cellId);
+ Cell cell = cellDAO.findByTopiaId(cellId);
Collection<Result> cellResult = cell.getResult();
for (Result result : cellResult) {
cell.removeResult(result);
@@ -188,30 +120,41 @@
"Could not flush transaction after deleting data from voyage");
}
- protected void removeEchotype(Echotype entity) throws TopiaException {
+ @Override
+ protected void removeImportData(Voyage voyage, String id) throws TopiaException {
- removeEchotype(entity, voyage);
+ if (id.startsWith(Echotype.class.getName())) {
- if (log.isInfoEnabled()) {
- log.info("Echotype " + entity.getTopiaId() + " was removed");
- }
- }
+ // remove echotype
+ Echotype entity = echotypeDAO.findByTopiaId(id);
- protected void removeLengthAgeKey(LengthAgeKey entity) throws TopiaException {
+ removeEchotype(voyage, entity);
- removeLengthAgeKey(entity, voyage);
+ if (log.isInfoEnabled()) {
+ log.info("Echotype " + entity.getTopiaId() + " was removed");
+ }
+ } else if (id.startsWith(LengthAgeKey.class.getName())) {
- if (log.isInfoEnabled()) {
- log.info("LengthAgeKey " + entity.getTopiaId() + " was removed");
- }
- }
+ // remove lengthAgeKey
+ LengthAgeKey entity = lengthAgeKeyDAO.findByTopiaId(id);
- protected void removeLengthWeightKey(LengthWeightKey entity) throws TopiaException {
+ removeLengthAgeKey(voyage, entity);
- removeLengthWeightKey(entity, voyage);
+ if (log.isInfoEnabled()) {
+ log.info("LengthAgeKey " + entity.getTopiaId() + " was removed");
+ }
+ } else if (id.startsWith(LengthWeightKey.class.getName())) {
- if (log.isInfoEnabled()) {
- log.info("LengthWeightKey " + entity.getTopiaId() + " was removed");
+ // remove lengthAgeKey
+ LengthWeightKey entity = lengthWeightKeyDAO.findByTopiaId(id);
+
+ removeLengthWeightKey(voyage, entity);
+
+ if (log.isInfoEnabled()) {
+ log.info("LengthWeightKey " + entity.getTopiaId() + " was removed");
+ }
+ } else {
+ canNotDealWithId(id);
}
}
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 2012-09-12 12:45:13 UTC (rev 653)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/EchoBaseTestServiceSupport.java 2012-09-12 15:57:54 UTC (rev 654)
@@ -85,8 +85,8 @@
return fakeServiceContext.getTestDir();
}
- public void assertConfProgressionToEnd(ProgressionModel conf) {
- Assert.assertEquals(100f, conf.getProgression(), 1);
+ public void assertConfProgressionToEnd(ProgressModel conf) {
+ Assert.assertEquals(100f, conf.getProgress(), 1);
}
protected void prepareInputFile(InputFile inputFile,
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/EmbeddedApplicationServiceIT.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/EmbeddedApplicationServiceIT.java 2012-09-12 12:45:13 UTC (rev 653)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/EmbeddedApplicationServiceIT.java 2012-09-12 15:57:54 UTC (rev 654)
@@ -63,7 +63,7 @@
File zipFile = service.createEmbeddedApplication(conf);
Assert.assertTrue(zipFile.exists());
- Assert.assertEquals(100f, conf.getProgression(), 1);
+ Assert.assertEquals(100f, conf.getProgress(), 1);
// TODO Test that embedded db has exactly same number of data than in incoming db
}
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/ImportDbServiceTest.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/ImportDbServiceTest.java 2012-09-12 12:45:13 UTC (rev 653)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/ImportDbServiceTest.java 2012-09-12 15:57:54 UTC (rev 654)
@@ -71,7 +71,7 @@
service.doImport(conf, user);
- Assert.assertTrue(conf.getProgression() > 94);
+ Assert.assertTrue(conf.getProgress() > 94);
}
}
Modified: trunk/src/site/rst/removeimports.rst
===================================================================
--- trunk/src/site/rst/removeimports.rst 2012-09-12 12:45:13 UTC (rev 653)
+++ trunk/src/site/rst/removeimports.rst 2012-09-12 15:57:54 UTC (rev 654)
@@ -36,23 +36,48 @@
Abstract
--------
-Ce document décrit ce qui se passe lors la suppresion des imports.
+Ce document décrit ce qui se passe lors la suppresion d'un import.
+Import Voyage complêt)
+----------------------
+
+Données à supprimer
+~~~~~~~~~~~~~~~~~~~
+
+Le voyage en question et tout ce qui y est rattaché (Transit,...) et aussi :
+
+- category (utilise EchoType)
+- echotype
+
+Imports à retirer
+~~~~~~~~~~~~~~~~~
+
+Seront supprimés de la table des imports les imports suivants qui aurait pu
+être effectué suite à cet import, à savoir :
+
+- import Transect
+- import Operation
+- import Catches
+- import Acoustic
+- import Résultats Voyage
+- import Résultats Esdu
+- import Region
+- import Map
+
+
Import Voyage / Transit / Transect
----------------------------------
-Données supprimées
-~~~~~~~~~~~~~~~~~~
+Données à supprimer
+~~~~~~~~~~~~~~~~~~~
-Le voyage en question et tout ce qui y est rattaché et aussi :
+Le voyage en question et tout ce qui y est rattaché (Transit,...) et aussi :
-- category
+- category (utilise EchoType)
- echotype
-- lengthAgeKey
-- lengthWeightKey
-Import retirés
-~~~~~~~~~~~~~~
+Imports à retirer
+~~~~~~~~~~~~~~~~~
Seront supprimés de la table des imports les imports suivants qui aurait pu
être effectué suite à cet import, à savoir :
@@ -69,14 +94,14 @@
Import Transect
---------------
-Données supprimées
-~~~~~~~~~~~~~~~~~~
+Données à supprimer
+~~~~~~~~~~~~~~~~~~~
Le transect en question et tout ce qui y est rattaché, ainsi que les *postCell*
et leur résultats.
-Import retirés
-~~~~~~~~~~~~~~
+Imports à retirer
+~~~~~~~~~~~~~~~~~
Seront supprimés de la table des imports les imports suivants qui aurait pu
être effectué suite à cet import, à savoir :
@@ -91,14 +116,14 @@
Import Operation
----------------
-Données supprimées
-~~~~~~~~~~~~~~~~~~
+Données à supprimer
+~~~~~~~~~~~~~~~~~~~
Les opérations de pêche et tout ce qui y est rattaché (OperationMetadata et
GearMetadata et Sample).
-Import retirés
-~~~~~~~~~~~~~~
+Imports à retirer
+~~~~~~~~~~~~~~~~~~~
Seront supprimés de la table des imports les imports suivants qui aurait pu
être effectué suite à cet import, à savoir :
@@ -108,27 +133,28 @@
Import Catches
--------------
-Données supprimées
-~~~~~~~~~~~~~~~~~~
+Données à supprimer
+~~~~~~~~~~~~~~~~~~~
-Les échantillons captures en question et tout ce qui y est rattaché.
+Les échantillons captures (Sample) en question et tout ce qui y est rattaché
+(SampleData).
-Import retirés
-~~~~~~~~~~~~~~
+Imports à retirer
+~~~~~~~~~~~~~~~~~
Aucun sous import possible à retirer.
Import Acoustic
---------------
-Données supprimées
-~~~~~~~~~~~~~~~~~~
+Données à supprimer
+~~~~~~~~~~~~~~~~~~~
Les données acoustiques et tout ce qui y est rattaché (DataAcquisition, Cell, Result),
ainsi que les *postCell* et leur résultats.
-Import retirés
-~~~~~~~~~~~~~~
+Imports à retirer
+~~~~~~~~~~~~~~~~~
Seront supprimés de la table des imports les imports suivants qui aurait pu
être effectué sur ce voyage, à savoir :
@@ -140,8 +166,8 @@
Import Résultats voyage
-----------------------
-Données supprimées
-~~~~~~~~~~~~~~~~~~
+Données à supprimer
+~~~~~~~~~~~~~~~~~~~
Les données rattachés à un voyage après-coup, à savoir :
@@ -151,8 +177,8 @@
Mais aussi tous les résultats (car il peuvent dépendre des données précédentes).
-Import retirés
-~~~~~~~~~~~~~~
+Imports à retirer
+~~~~~~~~~~~~~~~~~
Seront supprimés de la table des imports les imports suivants qui aurait pu
être effectué suite à cet import, à savoir :
@@ -164,38 +190,38 @@
Immort Résultats Esdu
---------------------
-Données supprimées
-~~~~~~~~~~~~~~~~~~
+Données à supprimer
+~~~~~~~~~~~~~~~~~~~
Les résultats attachés aux cellules de type *ESDU*.
-Import retirés
-~~~~~~~~~~~~~~
+Imports à retirer
+~~~~~~~~~~~~~~~~~
Aucun sous import possible à retirer.
Import Region
-------------
-Données supprimées
-~~~~~~~~~~~~~~~~~~
+Données à supprimer
+~~~~~~~~~~~~~~~~~~~
Les postCells de type *Region* et tout ce qui y est rattaché (Result)
-Import retirés
-~~~~~~~~~~~~~~
+Imports à retirer
+~~~~~~~~~~~~~~~~~
Aucun sous import possible à retirer.
Import Map
----------
-Données supprimées
-~~~~~~~~~~~~~~~~~~
+Données à supprimer
+~~~~~~~~~~~~~~~~~~~
Les postCells de type *Map* et tout ce qui y est rattaché (Result)
-Import retirés
-~~~~~~~~~~~~~~
+Imports à retirer
+~~~~~~~~~~~~~~~~~
Aucun sous import possible à retirer.
\ No newline at end of file
1
0
12 Sep '12
Author: tchemit
Date: 2012-09-12 14:45:13 +0200 (Wed, 12 Sep 2012)
New Revision: 653
Url: http://forge.codelutin.com/repositories/revision/echobase/653
Log:
add missing svn properties
fix result for some long action (was null)
add remove import first doc
Added:
trunk/src/site/rst/removeimports.rst
Modified:
trunk/echobase-domain/src/main/java/fr/ifremer/echobase/services/AbstractEchobaseActionConfiguration.java
trunk/echobase-tools/src/test/baracouda.mdb
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/association/Cell_childs.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/association/Cell_data.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/association/DataAcquisition_dataProcessing.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/association/DataProcessing_cell.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/association/Echotype_species.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/association/Operation_gearMetadataValue.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/association/Operation_operationMetadataValue.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/association/Operation_sample.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/association/Sample_sampleData.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/association/Transect_dataAcquisition.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/association/Transect_operation.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/association/Transit_transect.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/association/Voyage_echotype.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/association/Voyage_echotype.csv2
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/association/Voyage_lengthAgeKey.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/association/Voyage_lengthWeightKey.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/association/Voyage_postCell.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/association/Voyage_transit.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/baracouda/Cell.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/baracouda/Data.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/baracouda/DataAcquisition.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/baracouda/DataMetadata.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/baracouda/DataMetadata2.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/baracouda/DataProcessing.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/baracouda/Data_backup.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/baracouda/GearMetadataValue.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/baracouda/LengthAgeKey.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/baracouda/LengthWeightKey.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/baracouda/Operation.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/baracouda/OperationMetadataValue.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/baracouda/Sample.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/baracouda/SampleData.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/baracouda/SpeciesCategory.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/baracouda/Transect.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/baracouda/Transit.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/baracouda/Voyage.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/new/AcousticInstrument.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/new/AgeCategory.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/new/AreaOfOperation.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/new/CellMethod.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/new/CellType.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/new/DataMetadata.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/new/DataQuality.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/new/DataType.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/new/DepthStratum.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/new/Echotype.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/new/EchotypeCategory.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/new/Gear.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/new/GearMetadata.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/new/Mission.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/new/OperationEvent.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/new/OperationMetadata.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/new/ReferenceDatum.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/new/ReferenceDatumType.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/new/SampleDataType.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/new/SampleType.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/new/SexCategory.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/new/SizeCategory.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/new/Species.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/new/Strata.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/new/TSParameters.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/new/Vessel.csv
trunk/echobase-tools/src/test/echobase-2012-04-12/csv/new/VesselType.csv
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/AbstractLaunchImport.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/removeData/Delete.java
trunk/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties
trunk/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties
trunk/echobase-ui/src/main/webapp/WEB-INF/includes/actionResult.jsp
trunk/src/site/site_en.xml
trunk/src/site/site_fr.xml
Modified: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/services/AbstractEchobaseActionConfiguration.java
===================================================================
--- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/services/AbstractEchobaseActionConfiguration.java 2012-09-12 11:03:43 UTC (rev 652)
+++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/services/AbstractEchobaseActionConfiguration.java 2012-09-12 12:45:13 UTC (rev 653)
@@ -41,6 +41,8 @@
private Exception error;
+ private String resultMessage;
+
protected AbstractEchobaseActionConfiguration() {
progressionModel = new DefaultProgressionModel();
}
@@ -106,6 +108,14 @@
return error != null;
}
+ public String getResultMessage() {
+ return resultMessage;
+ }
+
+ public void setResultMessage(String resultMessage) {
+ this.resultMessage = resultMessage;
+ }
+
@Override
public String getActionTime() {
return progressionModel.getActionTime();
Property changes on: trunk/echobase-tools/src/test/baracouda.mdb
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/association/Cell_childs.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/association/Cell_data.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/association/DataAcquisition_dataProcessing.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/association/DataProcessing_cell.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/association/Echotype_species.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/association/Operation_gearMetadataValue.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/association/Operation_operationMetadataValue.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/association/Operation_sample.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/association/Sample_sampleData.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/association/Transect_dataAcquisition.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/association/Transect_operation.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/association/Transit_transect.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/association/Voyage_echotype.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/association/Voyage_echotype.csv2
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/association/Voyage_lengthAgeKey.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/association/Voyage_lengthWeightKey.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/association/Voyage_postCell.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/association/Voyage_transit.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/baracouda/Cell.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/baracouda/Data.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/baracouda/DataAcquisition.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/baracouda/DataMetadata.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/baracouda/DataMetadata2.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/baracouda/DataProcessing.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/baracouda/Data_backup.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/baracouda/GearMetadataValue.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/baracouda/LengthAgeKey.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/baracouda/LengthWeightKey.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/baracouda/Operation.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/baracouda/OperationMetadataValue.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/baracouda/Sample.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/baracouda/SampleData.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/baracouda/SpeciesCategory.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/baracouda/Transect.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/baracouda/Transit.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/baracouda/Voyage.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/new/AcousticInstrument.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/new/AgeCategory.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/new/AreaOfOperation.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/new/CellMethod.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/new/CellType.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/new/DataMetadata.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/new/DataQuality.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/new/DataType.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/new/DepthStratum.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/new/Echotype.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/new/EchotypeCategory.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/new/Gear.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/new/GearMetadata.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/new/Mission.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/new/OperationEvent.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/new/OperationMetadata.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/new/ReferenceDatum.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/new/ReferenceDatumType.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/new/SampleDataType.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/new/SampleType.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/new/SexCategory.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/new/SizeCategory.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/new/Species.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/new/Strata.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/new/TSParameters.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/new/Vessel.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/echobase-tools/src/test/echobase-2012-04-12/csv/new/VesselType.csv
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/AbstractLaunchImport.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/AbstractLaunchImport.java 2012-09-12 11:03:43 UTC (rev 652)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/AbstractLaunchImport.java 2012-09-12 12:45:13 UTC (rev 653)
@@ -25,7 +25,6 @@
import fr.ifremer.echobase.services.importdata.AbstractImportConfiguration;
import fr.ifremer.echobase.services.importdata.AbstractImportDataService;
-import fr.ifremer.echobase.services.importdb.ImportDbConfiguration;
import fr.ifremer.echobase.ui.actions.AbstractWaitAndExecAction;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -60,7 +59,7 @@
@Override
protected String getResultMessage(M model) {
String message = _("echobase.message.importData.result",
- model.getActionTime(), result);
+ model.getActionTime(), model.getResultMessage());
if (log.isInfoEnabled()) {
log.info("Result: " + message);
}
@@ -72,15 +71,14 @@
return _("echobase.legend.importData.result.resume");
}
- private String result;
-
@Override
protected void startAction(S service, M model) throws Exception {
if (log.isInfoEnabled()) {
log.info("Start imports for " + getModel());
}
- result = service.doImport(model, getEchoBaseSession().getUser());
+ model.setResultMessage(
+ service.doImport(model, getEchoBaseSession().getUser()));
}
@Override
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/removeData/Delete.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/removeData/Delete.java 2012-09-12 11:03:43 UTC (rev 652)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/removeData/Delete.java 2012-09-12 12:45:13 UTC (rev 653)
@@ -59,7 +59,7 @@
@Override
protected String getResultMessage(RemoveDataConfiguration model) {
String message = _("echobase.message.removeData.result",
- model.getActionTime(), result);
+ model.getActionTime(), model.getResultMessage());
if (log.isInfoEnabled()) {
log.info("Result: " + message);
}
@@ -71,8 +71,6 @@
return _("echobase.legend.removeData.resume");
}
- private String result;
-
@Override
protected void startAction(RemoveDataService service,
RemoveDataConfiguration model) throws Exception {
@@ -81,7 +79,8 @@
log.info("Will remove importLog : " + model.getImportLogId());
}
- result = service.removeImport(model, getEchoBaseSession().getUser());
+ model.setResultMessage(
+ service.removeImport(model, getEchoBaseSession().getUser()));
}
@Override
Modified: trunk/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties
===================================================================
--- trunk/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties 2012-09-12 11:03:43 UTC (rev 652)
+++ trunk/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties 2012-09-12 12:45:13 UTC (rev 653)
@@ -321,7 +321,7 @@
echobase.menu.viewData=Display data
echobase.message.createEmbedded.result=Portable application was successful in %s.
echobase.message.download.link=If download did not start by itself, you can start it manually from this link\:
-echobase.message.exportDb.result=Export of database was successful in %s.
+echobase.message.exportDb.result=Export of database (mode %s) was successful (file %s) in %s.
echobase.message.importData.result=Data import successful in %s \:\n%s
echobase.message.no.row.selected=No data selected
echobase.message.noEntrySelection=No field selected
Modified: trunk/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties
===================================================================
--- trunk/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties 2012-09-12 11:03:43 UTC (rev 652)
+++ trunk/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties 2012-09-12 12:45:13 UTC (rev 653)
@@ -321,7 +321,7 @@
echobase.menu.viewData=Visualiser les données
echobase.message.createEmbedded.result=La création de l'application embarqué a réussi en %s
echobase.message.download.link=Si le téléchargement n'a pas démarré automatiquement, suivez ce lien \:
-echobase.message.exportDb.result=L'export de la base a réussi en %s
+echobase.message.exportDb.result=L'export de la base (mode %s) a réussi (fichier %s) en %s
echobase.message.importData.result=Import de données réussi en %s \:\n%s
echobase.message.no.row.selected=Aucune donnée sélectionnée
echobase.message.noEntrySelection=Pas de champ sélectionné
Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/includes/actionResult.jsp
===================================================================
--- trunk/echobase-ui/src/main/webapp/WEB-INF/includes/actionResult.jsp 2012-09-12 11:03:43 UTC (rev 652)
+++ trunk/echobase-ui/src/main/webapp/WEB-INF/includes/actionResult.jsp 2012-09-12 12:45:13 UTC (rev 653)
@@ -3,7 +3,7 @@
EchoBase :: UI
$Id$
- $HeadURL: http://svn.forge.codelutin.com/svn/echobase/trunk/echobase-ui/src/main/weba… $
+ $HeadURL$
%%
Copyright (C) 2011 Ifremer, Codelutin
%%
Property changes on: trunk/echobase-ui/src/main/webapp/WEB-INF/includes/actionResult.jsp
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ Author Date Id Revision HeadURL
Added: trunk/src/site/rst/removeimports.rst
===================================================================
--- trunk/src/site/rst/removeimports.rst (rev 0)
+++ trunk/src/site/rst/removeimports.rst 2012-09-12 12:45:13 UTC (rev 653)
@@ -0,0 +1,201 @@
+.. -
+.. * #%L
+.. * EchoBase
+.. *
+.. * $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%
+.. -
+
+=======================
+Suppression des imports
+=======================
+
+.. contents:: Table des matières
+ :depth: 2
+
+.. sectnum::
+ :start: 1
+ :depth: 2
+
+Abstract
+--------
+
+Ce document décrit ce qui se passe lors la suppresion des imports.
+
+Import Voyage / Transit / Transect
+----------------------------------
+
+Données supprimées
+~~~~~~~~~~~~~~~~~~
+
+Le voyage en question et tout ce qui y est rattaché et aussi :
+
+- category
+- echotype
+- lengthAgeKey
+- lengthWeightKey
+
+Import retirés
+~~~~~~~~~~~~~~
+
+Seront supprimés de la table des imports les imports suivants qui aurait pu
+être effectué suite à cet import, à savoir :
+
+- import Transect
+- import Operation
+- import Catches
+- import Acoustic
+- import Résultats Voyage
+- import Résultats Esdu
+- import Region
+- import Map
+
+Import Transect
+---------------
+
+Données supprimées
+~~~~~~~~~~~~~~~~~~
+
+Le transect en question et tout ce qui y est rattaché, ainsi que les *postCell*
+et leur résultats.
+
+Import retirés
+~~~~~~~~~~~~~~
+
+Seront supprimés de la table des imports les imports suivants qui aurait pu
+être effectué suite à cet import, à savoir :
+
+- import Operation
+- import Catches
+- import Acoustic
+- import Résultats Esdu
+- import Region
+- import Map
+
+Import Operation
+----------------
+
+Données supprimées
+~~~~~~~~~~~~~~~~~~
+
+Les opérations de pêche et tout ce qui y est rattaché (OperationMetadata et
+GearMetadata et Sample).
+
+Import retirés
+~~~~~~~~~~~~~~
+
+Seront supprimés de la table des imports les imports suivants qui aurait pu
+être effectué suite à cet import, à savoir :
+
+- import Catches
+
+Import Catches
+--------------
+
+Données supprimées
+~~~~~~~~~~~~~~~~~~
+
+Les échantillons captures en question et tout ce qui y est rattaché.
+
+Import retirés
+~~~~~~~~~~~~~~
+
+Aucun sous import possible à retirer.
+
+Import Acoustic
+---------------
+
+Données supprimées
+~~~~~~~~~~~~~~~~~~
+
+Les données acoustiques et tout ce qui y est rattaché (DataAcquisition, Cell, Result),
+ainsi que les *postCell* et leur résultats.
+
+Import retirés
+~~~~~~~~~~~~~~
+
+Seront supprimés de la table des imports les imports suivants qui aurait pu
+être effectué sur ce voyage, à savoir :
+
+- import Résultats Esdu
+- import Region
+- import Map
+
+Import Résultats voyage
+-----------------------
+
+Données supprimées
+~~~~~~~~~~~~~~~~~~
+
+Les données rattachés à un voyage après-coup, à savoir :
+
+- echotype
+- lengthageKey
+- lengthWeightKey
+
+Mais aussi tous les résultats (car il peuvent dépendre des données précédentes).
+
+Import retirés
+~~~~~~~~~~~~~~
+
+Seront supprimés de la table des imports les imports suivants qui aurait pu
+être effectué suite à cet import, à savoir :
+
+- import Résultats Esdu
+- import Region
+- import Map
+
+Immort Résultats Esdu
+---------------------
+
+Données supprimées
+~~~~~~~~~~~~~~~~~~
+
+Les résultats attachés aux cellules de type *ESDU*.
+
+Import retirés
+~~~~~~~~~~~~~~
+
+Aucun sous import possible à retirer.
+
+Import Region
+-------------
+
+Données supprimées
+~~~~~~~~~~~~~~~~~~
+
+Les postCells de type *Region* et tout ce qui y est rattaché (Result)
+
+Import retirés
+~~~~~~~~~~~~~~
+
+Aucun sous import possible à retirer.
+
+Import Map
+----------
+
+Données supprimées
+~~~~~~~~~~~~~~~~~~
+
+Les postCells de type *Map* et tout ce qui y est rattaché (Result)
+
+Import retirés
+~~~~~~~~~~~~~~
+
+Aucun sous import possible à retirer.
\ No newline at end of file
Property changes on: trunk/src/site/rst/removeimports.rst
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/src/site/site_en.xml
===================================================================
--- trunk/src/site/site_en.xml 2012-09-12 11:03:43 UTC (rev 652)
+++ trunk/src/site/site_en.xml 2012-09-12 12:45:13 UTC (rev 653)
@@ -103,6 +103,7 @@
<item name="Portable Application" href="embedded.html"/>
<item name="Imports" href="imports.html"/>
<item name="Import/Export with EchoBase format" href="importDb.html"/>
+ <item name="Remove imports" href="removeimports.html"/>
<item name="Download"
href="http://forge.codelutin.com/projects/echobase/files"/>
</menu>
Modified: trunk/src/site/site_fr.xml
===================================================================
--- trunk/src/site/site_fr.xml 2012-09-12 11:03:43 UTC (rev 652)
+++ trunk/src/site/site_fr.xml 2012-09-12 12:45:13 UTC (rev 653)
@@ -104,6 +104,7 @@
<item name="Application embarquée" href="embedded.html"/>
<item name="Imports" href="imports.html"/>
<item name="Import/Export au format EchoBase" href="importDb.html"/>
+ <item name="Suppression des imports" href="removeimports.html"/>
<item name="Téléchargement"
href="http://forge.codelutin.com/projects/echobase/files"/>
</menu>
1
0
12 Sep '12
Author: tchemit
Date: 2012-09-12 13:03:43 +0200 (Wed, 12 Sep 2012)
New Revision: 652
Url: http://forge.codelutin.com/repositories/revision/echobase/652
Log:
fixes #1489: Improve long task error display
Added:
trunk/echobase-ui/src/main/webapp/WEB-INF/includes/actionResult.jsp
Removed:
trunk/echobase-ui/src/main/webapp/WEB-INF/includes/importDataResults.jsp
Modified:
trunk/echobase-domain/src/main/java/fr/ifremer/echobase/services/AbstractEchobaseActionConfiguration.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/embeddedApplication/Build.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportDb/Export.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/AbstractLaunchImport.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importDb/Import.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/removeData/Delete.java
trunk/echobase-ui/src/main/resources/config/struts-embeddedApplication.xml
trunk/echobase-ui/src/main/resources/config/struts-exportDb.xml
trunk/echobase-ui/src/main/resources/config/struts-importData.xml
trunk/echobase-ui/src/main/resources/config/struts-importDb.xml
trunk/echobase-ui/src/main/resources/config/struts-removeData.xml
trunk/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties
trunk/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties
trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/embeddedApplication/result.jsp
trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/exportDb/result.jsp
trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/resultAcousticImport.jsp
trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/resultCatchesImport.jsp
trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/resultCommonImport.jsp
trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/resultOperationImport.jsp
trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/resultResultsImport.jsp
trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importDb/result.jsp
trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/removeData/deleteResult.jsp
Modified: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/services/AbstractEchobaseActionConfiguration.java
===================================================================
--- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/services/AbstractEchobaseActionConfiguration.java 2012-09-12 11:02:33 UTC (rev 651)
+++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/services/AbstractEchobaseActionConfiguration.java 2012-09-12 11:03:43 UTC (rev 652)
@@ -102,6 +102,10 @@
this.error = error;
}
+ public boolean hasError() {
+ return error != null;
+ }
+
@Override
public String getActionTime() {
return progressionModel.getActionTime();
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 2012-09-12 11:02:33 UTC (rev 651)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/AbstractWaitAndExecAction.java 2012-09-12 11:03:43 UTC (rev 652)
@@ -28,6 +28,7 @@
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 java.io.IOException;
@@ -62,6 +63,27 @@
/** Shared actionContext to reuse all invocation of this same action. */
private ActionContext actionContext;
+ private String result;
+
+ public final String getResult() {
+ return result;
+ }
+
+ public final Exception getError() {
+ return model.getError();
+ }
+
+ public final String getErrorStack() {
+
+ String errorStack = null;
+ if (model.hasError()) {
+
+ errorStack = ExceptionUtils.getStackTrace(model.getError());
+ }
+
+ return errorStack;
+ }
+
protected AbstractWaitAndExecAction(Class<M> modelType,
Class<S> serviceType) {
this.modelType = modelType;
@@ -70,6 +92,14 @@
protected abstract void startAction(S service, M model) throws Exception;
+ public abstract String getActionResumeTitle();
+
+ protected abstract String getSuccesMessage();
+
+ protected abstract String getErrorMessage();
+
+ protected abstract String getResultMessage(M model);
+
public final M getModel() {
return model;
}
@@ -90,6 +120,24 @@
model = getEchoBaseSession().getActionConfiguration(modelType);
}
+ public final String result() throws Exception {
+
+ try {
+ if (model.hasError()) {
+
+ addFlashError(getErrorMessage());
+ } else {
+
+ // ok no error, compute result message
+ result = getResultMessage(model);
+ addFlashMessage(getSuccesMessage());
+ }
+ return SUCCESS;
+ } finally {
+ closeAction(model);
+ }
+ }
+
@Override
public final String execute() throws Exception {
@@ -112,17 +160,17 @@
startAction(service, model);
- model.endAction();
- return SUCCESS;
+ } catch (Exception e) {
+ model.setError(e);
} finally {
- try {
- EchoBaseEntityHelper.closeConnection(tx);
- } finally {
- closeAction(model);
- }
+ model.endAction();
+
+ EchoBaseEntityHelper.closeConnection(tx);
}
+
+ return SUCCESS;
}
protected void closeAction(M model) throws Exception {
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/embeddedApplication/Build.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/embeddedApplication/Build.java 2012-09-12 11:02:33 UTC (rev 651)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/embeddedApplication/Build.java 2012-09-12 11:03:43 UTC (rev 652)
@@ -48,6 +48,28 @@
}
@Override
+ protected String getSuccesMessage() {
+ return _("echobase.info.createEmbedded.succeded");
+ }
+
+ @Override
+ protected String getErrorMessage() {
+ return _("echobase.info.createEmbedded.failed");
+ }
+
+ @Override
+ protected String getResultMessage(EmbeddedApplicationConfiguration model) {
+ String result = _("echobase.message.createEmbedded.result",
+ model.getActionTime());
+ return result;
+ }
+
+ @Override
+ public String getActionResumeTitle() {
+ return _("echobase.legend.createEmbedded.resume");
+ }
+
+ @Override
protected void startAction(EmbeddedApplicationService service,
EmbeddedApplicationConfiguration model) throws Exception {
if (log.isInfoEnabled()) {
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportDb/Export.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportDb/Export.java 2012-09-12 11:02:33 UTC (rev 651)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportDb/Export.java 2012-09-12 11:03:43 UTC (rev 652)
@@ -50,10 +50,39 @@
protected void startAction(ExportDbService service,
ExportDbConfiguration model) throws Exception {
if (log.isInfoEnabled()) {
- log.info("Start export to file " + model.getFileName());
+ log.info("Start export db to file " + model.getFileName());
}
service.doExport(model);
}
+ @Override
+ protected String getSuccesMessage() {
+ return _("echobase.info.exportDb.succeded");
+ }
+
+ @Override
+ protected String getErrorMessage() {
+ return _("echobase.info.exportDb.failed");
+ }
+
+ @Override
+ public String getActionResumeTitle() {
+ return _("echobase.legend.exportDb.resume");
+ }
+
+ @Override
+ protected String getResultMessage(ExportDbConfiguration model) {
+ String exportType = _(model.getExportDbMode().getI18nKey());
+ String result = _("echobase.message.exportDb.result",
+ exportType,
+ model.getFileName(),
+ model.getActionTime());
+
+ if (log.isInfoEnabled()) {
+ log.info("Result: " + result);
+ }
+ return result;
+ }
+
}
\ No newline at end of file
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/AbstractLaunchImport.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/AbstractLaunchImport.java 2012-09-12 11:02:33 UTC (rev 651)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/AbstractLaunchImport.java 2012-09-12 11:03:43 UTC (rev 652)
@@ -25,14 +25,13 @@
import fr.ifremer.echobase.services.importdata.AbstractImportConfiguration;
import fr.ifremer.echobase.services.importdata.AbstractImportDataService;
-import fr.ifremer.echobase.services.importdata.ImportException;
+import fr.ifremer.echobase.services.importdb.ImportDbConfiguration;
import fr.ifremer.echobase.ui.actions.AbstractWaitAndExecAction;
-import org.apache.commons.lang3.exception.ExceptionUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
/**
- * TODO
+ * Abstract action to launch an data import.
*
* @author tchemit <chemit(a)codelutin.com>
* @since 0.3
@@ -44,54 +43,49 @@
/** Logger. */
private static final Log log = LogFactory.getLog(AbstractLaunchImport.class);
- protected transient Exception error;
-
- protected String result;
-
protected AbstractLaunchImport(Class<M> modelType, Class<S> serviceType) {
super(modelType, serviceType);
}
- public String getResult() {
- return result;
+ @Override
+ protected String getSuccesMessage() {
+ return _("echobase.info.importData.succeded");
}
- public Exception getError() {
- return error;
+ @Override
+ protected String getErrorMessage() {
+ return _("echobase.info.importData.failed");
}
- public String getErrorStack() {
-
- String errorStack = null;
- if (error != null) {
-
- errorStack = ExceptionUtils.getStackTrace(error);
+ @Override
+ protected String getResultMessage(M model) {
+ String message = _("echobase.message.importData.result",
+ model.getActionTime(), result);
+ if (log.isInfoEnabled()) {
+ log.info("Result: " + message);
}
+ return message;
+ }
- return errorStack;
+ @Override
+ public String getActionResumeTitle() {
+ return _("echobase.legend.importData.result.resume");
}
+ private String result;
+
@Override
protected void startAction(S service, M model) throws Exception {
if (log.isInfoEnabled()) {
log.info("Start imports for " + getModel());
}
- try {
- result = service.doImport(model, getEchoBaseSession().getUser());
+ result = service.doImport(model, getEchoBaseSession().getUser());
+ }
- addFlashMessage(_("echobase.info.import.succeded"));
-
- } catch (ImportException e) {
-
- addFlashError(_("echobase.info.import.failed"));
-
- if (log.isErrorEnabled()) {
- log.error("Error while import ", e);
- }
-
- error = e;
- }
+ @Override
+ protected void closeAction(M model) throws Exception {
+ destroyModel(model);
}
}
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importDb/Import.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importDb/Import.java 2012-09-12 11:02:33 UTC (rev 651)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importDb/Import.java 2012-09-12 11:03:43 UTC (rev 652)
@@ -31,10 +31,6 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import java.util.Locale;
-
-import static org.nuiton.i18n.I18n.l_;
-
/**
* Start the import db.
*
@@ -48,55 +44,66 @@
/** Logger. */
private static final Log log = LogFactory.getLog(Import.class);
- protected String result;
+ public Import() {
+ super(ImportDbConfiguration.class, ImportDbService.class);
+ }
- public String getResult() {
- return result;
+ @Override
+ protected String getSuccesMessage() {
+ return _("echobase.info.importDb.succeded");
}
- public Import() {
- super(ImportDbConfiguration.class, ImportDbService.class);
+ @Override
+ protected String getErrorMessage() {
+ return _("echobase.info.importDb.failed");
}
@Override
- protected void startAction(ImportDbService service,
- ImportDbConfiguration model) throws Exception {
- if (log.isInfoEnabled()) {
- log.info("Start imports with file " +
- model.getInput().getFileName());
- }
-
+ protected String getResultMessage(ImportDbConfiguration model) {
ImportDbMode importDbMode = model.getImportDbMode();
- Locale locale = getLocale();
- EchoBaseUser user = getEchoBaseSession().getUser();
- service.doImport(model, user);
-
- switch (importDbMode) {
-
+ String message;
+ switch (model.getImportDbMode()) {
case REFERENTIAL:
-
- addFlashMessage(_("echobase.info.import.succeded"));
- result = l_(locale, "echobase.importDb.referentialResult",
+ message = _("echobase.importDb.referentialResult",
model.getActionTime());
break;
case DATA:
-
- addFlashMessage(_("echobase.info.import.succeded"));
- result = l_(locale, "echobase.importDb.dataResult",
+ message = _("echobase.importDb.dataResult",
model.getActionTime());
break;
case FREE:
-
- addFlashMessage(_("echobase.info.import.succeded"));
- result = l_(locale, "echobase.importDb.freeResult",
+ message = _("echobase.importDb.freeResult",
model.getActionTime());
break;
+ default:
+ throw new IllegalStateException("Can't reach here...");
}
+ if (log.isInfoEnabled()) {
+ log.info("Result: " + message);
+ }
+ return message;
}
@Override
+ public String getActionResumeTitle() {
+ return _("echobase.legend.importDb.resume");
+ }
+
+ @Override
+ protected void startAction(ImportDbService service,
+ ImportDbConfiguration model) throws Exception {
+ if (log.isInfoEnabled()) {
+ log.info("Start imports with file " +
+ model.getInput().getFileName());
+ }
+
+ EchoBaseUser user = getEchoBaseSession().getUser();
+ service.doImport(model, user);
+ }
+
+ @Override
protected void closeAction(ImportDbConfiguration model) throws Exception {
destroyModel(model);
}
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/removeData/Delete.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/removeData/Delete.java 2012-09-12 11:02:33 UTC (rev 651)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/removeData/Delete.java 2012-09-12 11:03:43 UTC (rev 652)
@@ -42,17 +42,38 @@
/** Logger. */
private static final Log log = LogFactory.getLog(Delete.class);
- protected String result;
-
public Delete() {
super(RemoveDataConfiguration.class, RemoveDataService.class);
}
- public String getResult() {
- return result;
+ @Override
+ protected String getSuccesMessage() {
+ return _("echobase.info.removeData.succeded");
}
@Override
+ protected String getErrorMessage() {
+ return _("echobase.info.removeData.failed");
+ }
+
+ @Override
+ protected String getResultMessage(RemoveDataConfiguration model) {
+ String message = _("echobase.message.removeData.result",
+ model.getActionTime(), result);
+ if (log.isInfoEnabled()) {
+ log.info("Result: " + message);
+ }
+ return message;
+ }
+
+ @Override
+ public String getActionResumeTitle() {
+ return _("echobase.legend.removeData.resume");
+ }
+
+ private String result;
+
+ @Override
protected void startAction(RemoveDataService service,
RemoveDataConfiguration model) throws Exception {
@@ -63,4 +84,8 @@
result = service.removeImport(model, getEchoBaseSession().getUser());
}
+ @Override
+ protected void closeAction(RemoveDataConfiguration model) throws Exception {
+ destroyModel(model);
+ }
}
Modified: trunk/echobase-ui/src/main/resources/config/struts-embeddedApplication.xml
===================================================================
--- trunk/echobase-ui/src/main/resources/config/struts-embeddedApplication.xml 2012-09-12 11:02:33 UTC (rev 651)
+++ trunk/echobase-ui/src/main/resources/config/struts-embeddedApplication.xml 2012-09-12 11:03:43 UTC (rev 652)
@@ -46,12 +46,20 @@
</action>
<!-- Build embedded application archive -->
- <action name="build"
- class="fr.ifremer.echobase.ui.actions.embeddedApplication.Build"
- method="execute">
+ <action name="build" method="execute"
+ class="fr.ifremer.echobase.ui.actions.embeddedApplication.Build">
<interceptor-ref name="basicStackLoggued"/>
<interceptor-ref name="execAndWait"/>
<result name="wait">/WEB-INF/jsp/embeddedApplication/progress.jsp</result>
+ <result type="redirectAction">
+ <param name="namespace">/embeddedApplication</param>
+ <param name="actionName">result</param>
+ </result>
+ </action>
+
+ <!-- Build embedded application archive -->
+ <action name="result" method="result"
+ class="fr.ifremer.echobase.ui.actions.embeddedApplication.Build">
<result>/WEB-INF/jsp/embeddedApplication/result.jsp</result>
</action>
Modified: trunk/echobase-ui/src/main/resources/config/struts-exportDb.xml
===================================================================
--- trunk/echobase-ui/src/main/resources/config/struts-exportDb.xml 2012-09-12 11:02:33 UTC (rev 651)
+++ trunk/echobase-ui/src/main/resources/config/struts-exportDb.xml 2012-09-12 11:03:43 UTC (rev 652)
@@ -53,6 +53,15 @@
<interceptor-ref name="basicStackLoggued"/>
<interceptor-ref name="execAndWait"/>
<result name="wait">/WEB-INF/jsp/exportDb/progress.jsp</result>
+ <result type="redirectAction">
+ <param name="namespace">/exportDb</param>
+ <param name="actionName">result</param>
+ </result>
+ </action>
+
+ <!-- Result Build export -->
+ <action name="result" method="result"
+ class="fr.ifremer.echobase.ui.actions.exportDb.Export">
<result>/WEB-INF/jsp/exportDb/result.jsp</result>
</action>
Modified: trunk/echobase-ui/src/main/resources/config/struts-importData.xml
===================================================================
--- trunk/echobase-ui/src/main/resources/config/struts-importData.xml 2012-09-12 11:02:33 UTC (rev 651)
+++ trunk/echobase-ui/src/main/resources/config/struts-importData.xml 2012-09-12 11:03:43 UTC (rev 652)
@@ -54,11 +54,20 @@
</action>
<!-- Starts import -->
- <action name="import*"
+ <action name="import*" method="execute"
class="fr.ifremer.echobase.ui.actions.importData.Launch{1}Import">
<interceptor-ref name="basicStackLoggued"/>
<interceptor-ref name="execAndWait"/>
<result name="wait">/WEB-INF/jsp/importData/progress{1}Import.jsp</result>
+ <result type="redirectAction">
+ <param name="namespace">/importData</param>
+ <param name="actionName">result{1}</param>
+ </result>
+ </action>
+
+ <!-- Result of Starts import -->
+ <action name="result*" method="result"
+ class="fr.ifremer.echobase.ui.actions.importData.Launch{1}Import">
<result>/WEB-INF/jsp/importData/result{1}Import.jsp</result>
</action>
Modified: trunk/echobase-ui/src/main/resources/config/struts-importDb.xml
===================================================================
--- trunk/echobase-ui/src/main/resources/config/struts-importDb.xml 2012-09-12 11:02:33 UTC (rev 651)
+++ trunk/echobase-ui/src/main/resources/config/struts-importDb.xml 2012-09-12 11:03:43 UTC (rev 652)
@@ -48,11 +48,20 @@
</action>
<!-- Starts import -->
- <action name="import" class="fr.ifremer.echobase.ui.actions.importDb.Import"
- method="execute">
+ <action name="import" method="execute"
+ class="fr.ifremer.echobase.ui.actions.importDb.Import">
<interceptor-ref name="basicStackLoggued"/>
<interceptor-ref name="execAndWait"/>
<result name="wait">/WEB-INF/jsp/importDb/progress.jsp</result>
+ <result type="redirectAction">
+ <param name="namespace">/importDb</param>
+ <param name="actionName">result</param>
+ </result>
+ </action>
+
+ <!-- Result import -->
+ <action name="result" method="result"
+ class="fr.ifremer.echobase.ui.actions.importDb.Import">
<result>/WEB-INF/jsp/importDb/result.jsp</result>
</action>
Modified: trunk/echobase-ui/src/main/resources/config/struts-removeData.xml
===================================================================
--- trunk/echobase-ui/src/main/resources/config/struts-removeData.xml 2012-09-12 11:02:33 UTC (rev 651)
+++ trunk/echobase-ui/src/main/resources/config/struts-removeData.xml 2012-09-12 11:03:43 UTC (rev 652)
@@ -44,6 +44,15 @@
<interceptor-ref name="basicStackLoggued"/>
<interceptor-ref name="execAndWait"/>
<result name="wait">/WEB-INF/jsp/removeData/deleteProgress.jsp</result>
+ <result type="redirectAction">
+ <param name="namespace">/removeData</param>
+ <param name="actionName">result</param>
+ </result>
+ </action>
+
+ <!-- Result of Delete the importLog -->
+ <action name="result" method="result"
+ class="fr.ifremer.echobase.ui.actions.removeData.Delete">
<result>/WEB-INF/jsp/removeData/deleteResult.jsp</result>
</action>
Modified: trunk/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties
===================================================================
--- trunk/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties 2012-09-12 11:02:33 UTC (rev 651)
+++ trunk/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties 2012-09-12 11:03:43 UTC (rev 652)
@@ -34,7 +34,6 @@
echobase.action.show.exportDb.documentation=How to export a database
echobase.action.show.import.documentation=How to import data
echobase.action.show.importDb.documentation=How to import a database
-echobase.action.showImportLogs=Liste des imports\=Show import logs
echobase.action.toEnglish=English
echobase.action.toFrench=French
echobase.action.usingEnglish=English
@@ -45,6 +44,7 @@
echobase.common.acousticDensityUnit=acousticDensityUnit
echobase.common.acquisitionSoftwareVersionER60=acquisitionSoftwareVersion (ER60 instrument)
echobase.common.acquisitionSoftwareVersionME70=acquisitionSoftwareVersion (ME70 instrument)
+echobase.common.actionError=An error occurs while operation\:
echobase.common.addDataAcquisition=Always create new DataAcqusitions entries
echobase.common.admin=Administrator
echobase.common.areaOfOperation=AreaOfOperation
@@ -74,13 +74,11 @@
echobase.common.exportDbMode=Mode
echobase.common.gearMetadataFile=
echobase.common.id=ID
-echobase.common.imortType=import type
echobase.common.importDataMode=Import type
echobase.common.importDate=Import date
echobase.common.importDbFile=
echobase.common.importDbMode=Import db mode
echobase.common.importError=Error\:
-echobase.common.importLogActions=Actions
echobase.common.importNotes=Import notes
echobase.common.importResult=Import results
echobase.common.importText=import description
@@ -223,14 +221,20 @@
echobase.importDb.freeResult=Free db import was succesful in %s.
echobase.importDb.referentialResult=Referential db import was succesul in %s.
echobase.info.click.to.select=You can select value with a simple click then copy it (Ctrl-C)
+echobase.info.createEmbedded.failed=Portable application creation failed
+echobase.info.createEmbedded.succeded=Portable application creation succesful
echobase.info.dbeditor.propertyDiffsResult=Data import results
echobase.info.documentation=EchoBase online documentation
echobase.info.downloadFiles=Download EchoBase or some import files
-echobase.info.echoBaseForge=Project Forge
echobase.info.echoR=EchoR project
echobase.info.exportDb.archive=Basebame of the archive, extension <strong>.echobase</strong> will be added to it.
+echobase.info.exportDb.failed=Database export failed
+echobase.info.exportDb.succeded=Database export successful
echobase.info.import.failed=Import failed
-echobase.info.import.succeded=Successful import
+echobase.info.importData.failed=Data import failed
+echobase.info.importData.succeded=Data import sucessful
+echobase.info.importDb.failed=Database import failed
+echobase.info.importDb.succeded=Database import successful
echobase.info.license=License AGPL V3
echobase.info.new.sqlQuery.inprogress=Query creation in progress
echobase.info.new.workingDbConfiguration.inprogress=New working database configuration in progress
@@ -240,6 +244,8 @@
echobase.info.no.voyagee.found=No survey selected
echobase.info.no.workingDbConfiguration.saved=No working database configuration saved
echobase.info.no.workingDbConfiguration.selected=Select a working database configuration and then connect
+echobase.info.removeData.failed=Import removal failed
+echobase.info.removeData.succeded=Successful data import removal in %s
echobase.info.reportBug=Bug report
echobase.info.sqlQuery.not.modifiable=You have not sufficient rights to update the selected query
echobase.info.update.user.password=Keep empty password field to not modify it.
@@ -282,22 +288,22 @@
echobase.label.workingDbConfigurations=Working databases saved
echobase.label.workingDbSelected=Working database selected <strong>%s</strong>
echobase.legend.connectionToDb.detail=Database connection detailed information
+echobase.legend.createEmbedded.resume=Results of portable application creation
echobase.legend.dbeditor.edit=Editing '%s'
echobase.legend.dbeditor.show=Displaying '%s'
echobase.legend.embeddedApplication.configuration=Portable database configuration
echobase.legend.exportDb.configuration.files=Export configuration
echobase.legend.exportDb.configuration.selectExportDbMode=Select export db mode
+echobase.legend.exportDb.resume=Resume of database export
echobase.legend.importData.configuration.selectImportType=Type of import selection
echobase.legend.importData.configure=Import configuration
echobase.legend.importData.createMission=Mission caracteristics
-echobase.legend.importData.result.resume=Results
+echobase.legend.importData.result.resume=Results of data import
echobase.legend.importDb.configuration=Configure import
-echobase.legend.importDb.configuration.files=Import file selection (.echobase file)
-echobase.legend.importDb.configuration.freeMode=Free import configuration
-echobase.legend.importDb.configuration.legacyVoyageMode=Data import configuration
-echobase.legend.importDb.configuration.referentialMode=Referential import configuration
echobase.legend.importDb.configuration.selectImportDbMode=Select import db mode
+echobase.legend.importDb.resume=Results of database import
echobase.legend.libreOfficeQuery=Translate a SQL query from Libre Office
+echobase.legend.removeData.resume=Results of Import removal
echobase.legend.sqlQuery.configuration=Query definition
echobase.legend.sqlQuery.result=Query results
echobase.legend.workingDbConfiguration.create=Create a working database configuration
@@ -313,9 +319,13 @@
echobase.menu.removeData=Remove data
echobase.menu.users=Manage users
echobase.menu.viewData=Display data
+echobase.message.createEmbedded.result=Portable application was successful in %s.
+echobase.message.download.link=If download did not start by itself, you can start it manually from this link\:
+echobase.message.exportDb.result=Export of database was successful in %s.
+echobase.message.importData.result=Data import successful in %s \:\n%s
echobase.message.no.row.selected=No data selected
echobase.message.noEntrySelection=No field selected
-echobase.message.removeData.result=data was successful removed in %s.
+echobase.message.removeData.result=Data import removalwas successful in %s\:\n%s
echobase.message.warnEmbeddedApplicationInProgress=Please do not close the window to access the new portable database file
echobase.message.warnExportInProgress=Please do not close the window to access the export file
echobase.message.warnImportInProgress=Please do not close the window to access the imported file
Modified: trunk/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties
===================================================================
--- trunk/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties 2012-09-12 11:02:33 UTC (rev 651)
+++ trunk/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties 2012-09-12 11:03:43 UTC (rev 652)
@@ -34,7 +34,6 @@
echobase.action.show.exportDb.documentation=Comment exporter une base
echobase.action.show.import.documentation=Comment importer des données
echobase.action.show.importDb.documentation=Comment importer une base
-echobase.action.showImportLogs=Liste des imports
echobase.action.toEnglish=En anglais
echobase.action.toFrench=En français
echobase.action.usingEnglish=Version anglaise
@@ -45,6 +44,7 @@
echobase.common.acousticDensityUnit=Unité des densités acoustiques
echobase.common.acquisitionSoftwareVersionER60=Version du logiciel d'acquisition ER60
echobase.common.acquisitionSoftwareVersionME70=Version du logiciel d'acquisition ME70
+echobase.common.actionError=Une erreur est survenue pendant l'opération \:
echobase.common.addDataAcquisition=Toujours créer de nouvelles entrées DataAcqusitions
echobase.common.admin=Administrateur
echobase.common.areaOfOperation=Zone d'activités
@@ -74,13 +74,11 @@
echobase.common.exportDbMode=Mode
echobase.common.gearMetadataFile=
echobase.common.id=Identifiant
-echobase.common.imortType=Type d'import
echobase.common.importDataMode=Type d'import
echobase.common.importDate=Date de l'import
echobase.common.importDbFile=
echobase.common.importDbMode=Mode d'import
echobase.common.importError=Une erreur est survenue pendant l'import \:
-echobase.common.importLogActions=Actions
echobase.common.importNotes=Remarques sur l'import
echobase.common.importResult=Résultat de l'import
echobase.common.importText=Description
@@ -223,14 +221,20 @@
echobase.importDb.freeResult=L'import de type libre s'est déroulé avec succès en %s.
echobase.importDb.referentialResult=L'import de type référentiel s'est déroulé avec succès en %s.
echobase.info.click.to.select=Vous pouvez sélectionner la valeur en un simple click puis la copier (Ctrl-C)
+echobase.info.createEmbedded.failed=Création de l'application embarqué réussi
+echobase.info.createEmbedded.succeded=Création de l'application embarqué a échoué
echobase.info.dbeditor.propertyDiffsResult=Résultat d'import de données
echobase.info.documentation=Documentation en ligne d'EchoBase
echobase.info.downloadFiles=Télécharger l'application ou des fichiers d'imports
-echobase.info.echoBaseForge=Gestion du projet
echobase.info.echoR=Projet EchoR
echobase.info.exportDb.archive=Il s'agit du nom de l'archive, l'extension <strong>.echobase</strong> sera automatiquement rajoutée.
+echobase.info.exportDb.failed=L'export de la base de données a échoué
+echobase.info.exportDb.succeded=L'export de la base de données a réussi
echobase.info.import.failed=L'import a échoué
-echobase.info.import.succeded=L'import a réussi
+echobase.info.importData.failed=L'import des données a échoué
+echobase.info.importData.succeded=L'import des données a réussi
+echobase.info.importDb.failed=L'import de la base de données a échoué
+echobase.info.importDb.succeded=L'import de la base de données a réussi
echobase.info.license=Licence AGPL V3
echobase.info.new.sqlQuery.inprogress=Nouvelle requête en cours de création
echobase.info.new.workingDbConfiguration.inprogress=Nouvelle configuration de base de travail en cours de création
@@ -240,6 +244,8 @@
echobase.info.no.voyagee.found=Aucune campagne à exporter
echobase.info.no.workingDbConfiguration.saved=Aucune configuration de base de travail enregistrée
echobase.info.no.workingDbConfiguration.selected=Sélectionner une configuration pour ensuite vous y connecter
+echobase.info.removeData.failed=La suppresion de l'import a échoué
+echobase.info.removeData.succeded=La suppresion de l'import a réussi en %s
echobase.info.reportBug=Rapport de bug
echobase.info.sqlQuery.not.modifiable=Vous ne disposez pas des droits nécessaires pour modifier la requête sélectionnée
echobase.info.update.user.password=Pour ne pas modifier le mot de passe laisser ce champs vide.
@@ -282,22 +288,22 @@
echobase.label.workingDbConfigurations=Bases de travail enregistrées
echobase.label.workingDbSelected=Base de travail sélectionnée <strong>%s</strong>
echobase.legend.connectionToDb.detail=Informations détaillées de connexion à la base de données
+echobase.legend.createEmbedded.resume=Résumé de la création d'une application embarquée
echobase.legend.dbeditor.edit=Edition de '%s'
echobase.legend.dbeditor.show=Visualisation de '%s'
echobase.legend.embeddedApplication.configuration=Configuration de l'application embarquée
echobase.legend.exportDb.configuration.files=Configuration de l'export
echobase.legend.exportDb.configuration.selectExportDbMode=Choix du mode d'export
+echobase.legend.exportDb.resume=Résumé de l'export de base
echobase.legend.importData.configuration.selectImportType=Sélection du type d'import
echobase.legend.importData.configure=Configurer l'import
echobase.legend.importData.createMission=Caractéristiques de la mission
-echobase.legend.importData.result.resume=Résultats
+echobase.legend.importData.result.resume=Résultats de l'import de données
echobase.legend.importDb.configuration=Configuration de l'import
-echobase.legend.importDb.configuration.files=Choix du fichier à importer (fichier .echobase)
-echobase.legend.importDb.configuration.freeMode=Configuration import "libre"
-echobase.legend.importDb.configuration.legacyVoyageMode=Configuration import "données"
-echobase.legend.importDb.configuration.referentialMode=Configuration import "référentiel"
echobase.legend.importDb.configuration.selectImportDbMode=Choix du mode d'import
+echobase.legend.importDb.resume=Résumé de l'import de base de données
echobase.legend.libreOfficeQuery=Traduire une requête SQL issue de Libre Office
+echobase.legend.removeData.resume=Résumé de la suppression d'un import
echobase.legend.sqlQuery.configuration=Définition de la requête
echobase.legend.sqlQuery.result=Résultats de la requête
echobase.legend.workingDbConfiguration.create=Création d'une configuration de base de travail
@@ -313,9 +319,13 @@
echobase.menu.removeData=Supprimer des données
echobase.menu.users=Gérer les utilisateurs
echobase.menu.viewData=Visualiser les données
+echobase.message.createEmbedded.result=La création de l'application embarqué a réussi en %s
+echobase.message.download.link=Si le téléchargement n'a pas démarré automatiquement, suivez ce lien \:
+echobase.message.exportDb.result=L'export de la base a réussi en %s
+echobase.message.importData.result=Import de données réussi en %s \:\n%s
echobase.message.no.row.selected=Aucune donnée sélectionnée
echobase.message.noEntrySelection=Pas de champ sélectionné
-echobase.message.removeData.result=Résultat de la suppression de l'import %s
+echobase.message.removeData.result=La suppression de l'import s'est déroule avec succès en %s \:\n%s
echobase.message.warnEmbeddedApplicationInProgress=Merci de ne pas fermer la fenêtre pour pouvoir accéder aux résultats de la création de l'application embarquée
echobase.message.warnExportInProgress=Merci de ne pas fermer la fenêtre pour pouvoir accéder aux résultats de l'export
echobase.message.warnImportInProgress=Merci de ne pas fermer la fenêtre pour pouvoir accéder aux résultats de l'import
@@ -354,4 +364,3 @@
echobase.tooltip.disconnectWorkingDb=Changer de base de travail
echobase.tooltip.logout=Se déconnecter
echobase.tooltip.selectWorkingDb=Sélectionner une base de travail
-ehobase.message.removeData.result=Import supprimé avec succès en %s
Added: trunk/echobase-ui/src/main/webapp/WEB-INF/includes/actionResult.jsp
===================================================================
--- trunk/echobase-ui/src/main/webapp/WEB-INF/includes/actionResult.jsp (rev 0)
+++ trunk/echobase-ui/src/main/webapp/WEB-INF/includes/actionResult.jsp 2012-09-12 11:03:43 UTC (rev 652)
@@ -0,0 +1,50 @@
+<%--
+ #%L
+ EchoBase :: UI
+
+ $Id$
+ $HeadURL: http://svn.forge.codelutin.com/svn/echobase/trunk/echobase-ui/src/main/weba… $
+ %%
+ Copyright (C) 2011 Ifremer, Codelutin
+ %%
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+ #L%
+ --%>
+<%@page contentType="text/html" pageEncoding="UTF-8" %>
+<%@ taglib prefix="s" uri="/struts-tags" %>
+
+<br/>
+<fieldset>
+ <legend>
+ <s:property value="actionResumeTitle"/>
+ </legend>
+
+ <s:if test="error != null">
+ <s:text name="echobase.common.actionError"/>
+ <strong>
+ <s:property value="error.message"/>
+ </strong>
+ <pre id="errorStack">
+ <code>
+ <s:property value="errorStack"/>
+ </code>
+ </pre>
+ </s:if>
+ <s:else>
+ <pre>
+ <s:property value="result"/>
+ </pre>
+ </s:else>
+</fieldset>
+
Property changes on: trunk/echobase-ui/src/main/webapp/WEB-INF/includes/actionResult.jsp
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Deleted: trunk/echobase-ui/src/main/webapp/WEB-INF/includes/importDataResults.jsp
===================================================================
--- trunk/echobase-ui/src/main/webapp/WEB-INF/includes/importDataResults.jsp 2012-09-12 11:02:33 UTC (rev 651)
+++ trunk/echobase-ui/src/main/webapp/WEB-INF/includes/importDataResults.jsp 2012-09-12 11:03:43 UTC (rev 652)
@@ -1,48 +0,0 @@
-<%--
- #%L
- EchoBase :: UI
-
- $Id$
- $HeadURL$
- %%
- Copyright (C) 2011 Ifremer, Codelutin
- %%
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU Affero General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU Affero General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- #L%
- --%>
-<%@page contentType="text/html" pageEncoding="UTF-8" %>
-<%@ taglib prefix="s" uri="/struts-tags" %>
-
-<br/>
-<fieldset>
- <legend><s:text name="echobase.legend.importData.result.resume"/></legend>
-
- <s:if test="hasActionErrors()">
- <s:text name="echobase.common.importError"/>
- <strong>
- <s:property value="error.message"/>
- </strong>
- <pre id="errorStack">
- <code>
- <s:property value="errorStack"/>
- </code>
- </pre>
- </s:if>
- <s:else>
- <pre>
- <s:property value="result"/>
- </pre>
- </s:else>
-</fieldset>
-
Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/embeddedApplication/result.jsp
===================================================================
--- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/embeddedApplication/result.jsp 2012-09-12 11:02:33 UTC (rev 651)
+++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/embeddedApplication/result.jsp 2012-09-12 11:03:43 UTC (rev 652)
@@ -37,11 +37,6 @@
</script>
<title><s:text name="echobase.title.embeddedApplicationResult"/></title>
-<div>
- La création de l'application embarquée a réussi en <s:property
- value="model.actionTime"/>.
-</div>
-
<div class="cleanBoth help">
<s:a href="http://maven-site.forge.codelutin.com/echobase/embedded.html"
target="doc">
@@ -49,10 +44,11 @@
</s:a>
</div>
<br/>
-<br/>
+<%@ include file="/WEB-INF/includes/actionResult.jsp" %>
+
<div>
- Si le téléchargement n'a pas démarré automatiquement, suivez ce lien :
+ <s:text name="echobase.message.download.link"/>
<a href="${downloadUrl}">
<s:text name="echobase.action.downloadEmbeddedApplicationFile"/>
</a>
Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/exportDb/result.jsp
===================================================================
--- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/exportDb/result.jsp 2012-09-12 11:02:33 UTC (rev 651)
+++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/exportDb/result.jsp 2012-09-12 11:03:43 UTC (rev 652)
@@ -37,9 +37,10 @@
</script>
<title><s:text name="echobase.title.exportDbResult"/></title>
+<%@ include file="/WEB-INF/includes/actionResult.jsp" %>
+
<div>
- L'export de la base complête a réussi en <s:property
- value="model.actionTime"/>.
+ L'export de la base complête a réussi en <s:property value="model.actionTime"/>.
</div>
<br/>
Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/resultAcousticImport.jsp
===================================================================
--- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/resultAcousticImport.jsp 2012-09-12 11:02:33 UTC (rev 651)
+++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/resultAcousticImport.jsp 2012-09-12 11:03:43 UTC (rev 652)
@@ -29,4 +29,4 @@
<s:text name="echobase.common.importType.acoustic"/>
</title>
-<%@ include file="/WEB-INF/includes/importDataResults.jsp" %>
+<%@ include file="/WEB-INF/includes/actionResult.jsp" %>
Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/resultCatchesImport.jsp
===================================================================
--- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/resultCatchesImport.jsp 2012-09-12 11:02:33 UTC (rev 651)
+++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/resultCatchesImport.jsp 2012-09-12 11:03:43 UTC (rev 652)
@@ -29,4 +29,4 @@
<s:text name="echobase.common.importType.catches"/>
</title>
-<%@ include file="/WEB-INF/includes/importDataResults.jsp" %>
+<%@ include file="/WEB-INF/includes/actionResult.jsp" %>
Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/resultCommonImport.jsp
===================================================================
--- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/resultCommonImport.jsp 2012-09-12 11:02:33 UTC (rev 651)
+++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/resultCommonImport.jsp 2012-09-12 11:03:43 UTC (rev 652)
@@ -28,4 +28,4 @@
<s:text name="echobase.common.importType.common"/>
</title>
-<%@ include file="/WEB-INF/includes/importDataResults.jsp" %>
\ No newline at end of file
+<%@ include file="/WEB-INF/includes/actionResult.jsp" %>
\ No newline at end of file
Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/resultOperationImport.jsp
===================================================================
--- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/resultOperationImport.jsp 2012-09-12 11:02:33 UTC (rev 651)
+++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/resultOperationImport.jsp 2012-09-12 11:03:43 UTC (rev 652)
@@ -29,4 +29,4 @@
<s:text name="echobase.common.importType.operation"/>
</title>
-<%@ include file="/WEB-INF/includes/importDataResults.jsp" %>
+<%@ include file="/WEB-INF/includes/actionResult.jsp" %>
Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/resultResultsImport.jsp
===================================================================
--- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/resultResultsImport.jsp 2012-09-12 11:02:33 UTC (rev 651)
+++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/resultResultsImport.jsp 2012-09-12 11:03:43 UTC (rev 652)
@@ -33,4 +33,4 @@
( <s:property value="%{getText(model.importType.i18nKey)}"/> )
</h4>
-<%@ include file="/WEB-INF/includes/importDataResults.jsp" %>
+<%@ include file="/WEB-INF/includes/actionResult.jsp" %>
Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importDb/result.jsp
===================================================================
--- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importDb/result.jsp 2012-09-12 11:02:33 UTC (rev 651)
+++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importDb/result.jsp 2012-09-12 11:03:43 UTC (rev 652)
@@ -26,7 +26,5 @@
<title><s:text name="echobase.title.importDbResult"/></title>
-<div>
- <s:property value="%{result}"/>
-</div>
+<%@ include file="/WEB-INF/includes/actionResult.jsp" %>
Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/removeData/deleteResult.jsp
===================================================================
--- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/removeData/deleteResult.jsp 2012-09-12 11:02:33 UTC (rev 651)
+++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/removeData/deleteResult.jsp 2012-09-12 11:03:43 UTC (rev 652)
@@ -26,14 +26,7 @@
<title><s:text name="echobase.title.removeDataResult"/></title>
-<div>
- <s:text name="echobase.message.removeData.result">
- <s:param><s:property value="model.actionTime"/></s:param>
- </s:text>
- <pre>
- <s:property value="result"/>
- </pre>
-</div>
+<%@ include file="/WEB-INF/includes/actionResult.jsp" %>
<s:form id="createForm" namespace="/removeData">
<ul class="toolbar floatLeft">
1
0
r651 - trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/exportdb
by tchemit@users.forge.codelutin.com 12 Sep '12
by tchemit@users.forge.codelutin.com 12 Sep '12
12 Sep '12
Author: tchemit
Date: 2012-09-12 13:02:33 +0200 (Wed, 12 Sep 2012)
New Revision: 651
Url: http://forge.codelutin.com/repositories/revision/echobase/651
Log:
remove comment code
Modified:
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/exportdb/ExportDbService.java
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/exportdb/ExportDbService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/exportdb/ExportDbService.java 2012-09-11 16:59:23 UTC (rev 650)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/exportdb/ExportDbService.java 2012-09-12 11:02:33 UTC (rev 651)
@@ -94,206 +94,5 @@
strategy.doExport(model, dir);
EchoBaseIOUtil.compressZipFile(zipFile, dir);
-
}
-
-// /**
-// * Export the complete db into csv files stored in a zip archive file.
-// *
-// * @param model file name of the zip to create
-// * @throws IOException if could not create or write files.
-// */
-// public void exportDb(ExportDbConfiguration model) throws IOException {
-//
-// String fileName = model.getFileName();
-//
-// File tempDirectory = model.getWorkingDirectory();
-//
-// File zipFile = new File(tempDirectory, fileName + ".zip");
-//
-// if (log.isInfoEnabled()) {
-// log.info("Will export db to " + zipFile);
-// }
-// model.setExportFile(zipFile);
-//
-// ExportService exportService = getService(ExportService.class);
-// File dir = new File(tempDirectory, "echobase");
-//
-// FileUtil.createDirectoryIfNecessary(dir);
-//
-// EchoBaseDbMeta dbMeta = getDbMeta();
-//
-// model.setNbSteps(dbMeta.getEntriesSize());
-//
-// for (TableMeta<EchoBaseEntityEnum> meta : dbMeta.getAllTables()) {
-//
-// model.incrementsProgression();
-//
-// exportService.exportData(meta, new File(dir, meta.getFilename()));
-// }
-//
-// for (AssociationMeta<EchoBaseEntityEnum> meta : dbMeta.getAllAssociations()) {
-//
-// model.incrementsProgression();
-//
-// exportService.exportData(meta, new File(dir, meta.getFilename()));
-// }
-// if (log.isInfoEnabled()) {
-// log.info("Export zip file = " + zipFile);
-// }
-// EchoBaseIOUtil.compressZipFile(zipFile, dir);
-// }
-
-// /**
-// * Export the partial db into csv files at the given location.
-// *
-// * @param model file name of the zip to create
-// * @param computeSteps flag to compute stesp inside this method
-// * @throws IOException if could not create or write files.
-// */
-// public void exportPartialDb(ExportDbConfiguration model,
-// boolean computeSteps) throws IOException {
-//
-// String fileName = model.getFileName();
-//
-// File tempDirectory = model.getWorkingDirectory();
-// File dir = new File(tempDirectory, "echobase");
-// FileUtil.createDirectoryIfNecessary(dir);
-//
-// if (log.isInfoEnabled()) {
-// log.info("Will export to " + dir);
-// }
-//
-// File zipFile = new File(tempDirectory, fileName + ".zip");
-// model.setExportFile(zipFile);
-//
-// ExportService exportService = getService(ExportService.class);
-//
-// // export all referentiel
-// List<TableMeta<EchoBaseEntityEnum>> refEntries = getDbMeta().getReferenceTables();
-// List<AssociationMeta<EchoBaseEntityEnum>> refAssocEntries = getDbMeta().getReferenceAssociations();
-//
-// boolean withVoyages = model.getVoyageIds() != null;
-//
-// if (computeSteps) {
-// int nbstesp = refEntries.size();
-//
-// if (withVoyages) {
-// nbstesp += model.getVoyageIds().length;
-// }
-//
-// model.setNbSteps(nbstesp);
-// }
-//
-// for (TableMeta<EchoBaseEntityEnum> meta : refEntries) {
-//
-// model.incrementsProgression();
-//
-// File entryFile = new File(dir, meta.getFilename());
-// exportService.exportData(meta, entryFile);
-// }
-//
-// for (AssociationMeta<EchoBaseEntityEnum> associationMeta : refAssocEntries) {
-//
-// model.incrementsProgression();
-//
-// File entryFile = new File(dir, associationMeta.getFilename());
-// exportService.exportData(associationMeta, entryFile);
-// }
-//
-// if (withVoyages) {
-// List<TableMeta<EchoBaseEntityEnum>> dataEntries =
-// getDbMeta().getDataTables();
-// List<AssociationMeta<EchoBaseEntityEnum>> dataAssociationEntries =
-// getDbMeta().getDataAssociations();
-//
-// ReplicateEntityVisitor visitor = createVisitor(
-// exportService.getModelFactory(false),
-// dataEntries,
-// dataAssociationEntries,
-// dir
-// );
-//
-// try {
-// for (String voyageId : model.getVoyageIds()) {
-//
-// model.incrementsProgression();
-//
-// Voyage voyage = getEntityById(Voyage.class, voyageId);
-// visitor.export(voyage);
-// }
-// } finally {
-// // close visitor to close export files
-// visitor.close();
-// }
-// }
-//
-// EchoBaseIOUtil.compressZipFile(zipFile, dir);
-// }
-//
-// public ReplicateEntityVisitor createVisitor(ExportModelFactory<EchoBaseEntityEnum> modelFactory,
-// List<TableMeta<EchoBaseEntityEnum>> entityMetas,
-// List<AssociationMeta<EchoBaseEntityEnum>> associations,
-// File container) {
-//
-// Preconditions.checkNotNull(modelFactory);
-//
-// Map<EchoBaseEntityEnum, TopiaCsvExports.EntityExportContext<EchoBaseEntityEnum>> contexts = TopiaCsvExports.createReplicateEntityVisitorContexts(
-// modelFactory, entityMetas, associations, container);
-//
-// ReplicateEntityVisitor result = new ReplicateEntityVisitor(
-// getDbMeta().getPersistenceHelper(), contexts);
-// return result;
-// }
-//
-// /**
-// * entity visitor to export data to csv files.
-// *
-// * @author tchemit <chemit(a)codelutin.com>
-// * @since 0.3
-// */
-// public static class ReplicateEntityVisitor extends ExportEntityVisitor<EchoBaseEntityEnum> {
-//
-// protected final Set<String> categoryIds;
-//
-// @Override
-// protected boolean isNoChildVisit(String propertyName, TopiaEntity entity) {
-// return Result.PROPERTY_CATEGORY.equals(propertyName) &&
-// entity instanceof Result;
-// }
-//
-// public ReplicateEntityVisitor(TopiaPersistenceHelper<EchoBaseEntityEnum> typeProvider,
-// Map<EchoBaseEntityEnum, TopiaCsvExports.EntityExportContext<EchoBaseEntityEnum>> entityExporters) {
-// super(typeProvider, entityExporters);
-// categoryIds = Sets.newHashSet();
-// }
-//
-// @Override
-// public void visit(TopiaEntity entity, String propertyName,
-// Class<?> type, Object value) {
-// if (Result.PROPERTY_CATEGORY.equals(propertyName) &&
-// entity instanceof Result) {
-//
-// // export category
-// try {
-// TopiaEntity topiaEntity = (TopiaEntity) value;
-// if (categoryIds.add(topiaEntity.getTopiaId())) {
-// // add this new category
-// topiaEntity.accept(this);
-// }
-//
-// } catch (TopiaException e) {
-// if (log.isErrorEnabled()) {
-// log.error("Can not visit entity " + value, e);
-// }
-// }
-// }
-// }
-//
-// @Override
-// public void close() throws IOException {
-// categoryIds.clear();
-// super.close();
-// }
-// }
}
1
0