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
r459 - in trunk/echobase-ui/src/main: java/fr/ifremer/echobase/ui/actions webapp/WEB-INF/jsp webapp/WEB-INF/jsp/dbeditor
by tchemit@users.forge.codelutin.com 30 Mar '12
by tchemit@users.forge.codelutin.com 30 Mar '12
30 Mar '12
Author: tchemit
Date: 2012-03-30 18:43:51 +0200 (Fri, 30 Mar 2012)
New Revision: 459
Url: http://forge.codelutin.com/repositories/revision/echobase/459
Log:
fixes #1053: Ajouter le filtre de recherche sur le table de journal de la base
Modified:
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/AbstractJSONPaginedAction.java
trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/dbeditor/dbeditor.jsp
trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/modificationLogs.jsp
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-03-29 22:54:10 UTC (rev 458)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/AbstractJSONPaginedAction.java 2012-03-30 16:43:51 UTC (rev 459)
@@ -23,6 +23,7 @@
*/
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;
@@ -59,6 +60,12 @@
protected String filters;
+ protected String searchField;
+
+ protected String searchString;
+
+ protected String searchOper;
+
public void setRows(Integer rows) {
pager.setPageSize(rows);
}
@@ -91,6 +98,18 @@
this.filters = filters;
}
+ public void setSearchField(String searchField) {
+ this.searchField = searchField;
+ }
+
+ public void setSearchString(String searchString) {
+ this.searchString = searchString;
+ }
+
+ public void setSearchOper(String searchOper) {
+ this.searchOper = searchOper;
+ }
+
protected String getSortColumn() {
String result = null;
if (useSort()) {
@@ -124,6 +143,22 @@
FilterPagerUtil.newFilterPagerBeanBuilder(groupOp).
addOperations(rules).
flush(pager);
+ } 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);
+ FilterPagerUtil.newFilterPagerBeanBuilder("AND").
+ addRule(rule).
+ flush(pager);
+ }
}
+
+
}
}
Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/dbeditor/dbeditor.jsp
===================================================================
--- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/dbeditor/dbeditor.jsp 2012-03-29 22:54:10 UTC (rev 458)
+++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/dbeditor/dbeditor.jsp 2012-03-30 16:43:51 UTC (rev 459)
@@ -28,7 +28,6 @@
<script type="text/javascript"
src="<s:url value='/js/gridHelper.js' />"></script>
-<s:url id="reloadUrl" action="dbeditor" namespace="/dbeditor"/>
<s:url id="getTableData" action="getTableData" namespace="/dbeditor"/>
<s:set name="tableSelected" value="%{entityType != null}"/>
@@ -52,8 +51,8 @@
// on table name change, let's reload reload this page
$('[name="entityType"]').change(function (event) {
- var url = "${reloadUrl}?" + $.param({entityType:this.value});
- window.location = url;
+ window.location = '<s:url action="dbeditor" namespace="/dbeditor"/>?' +
+ $.param({entityType:this.value});
});
// on reset let's just reload the selected row
@@ -247,7 +246,6 @@
value="%{getText('echobase.common.tableDatas', entityTypes[entityType])}"/>
<sjg:grid id="datas" dataType="json" href="%{loadUrl}" gridModel="datas"
- caption="%{tableI18nName}"
pager="true" pagerButtons="true" pagerInput="true" navigator="true"
autowidth="true" rownumbers="false" viewrecords="true"
navigatorEdit="false" navigatorSearch="true"
@@ -377,3 +375,15 @@
</s:if>
+<script type="text/javascript">
+
+ jQuery(document).ready(function () {
+
+ <s:if test="admin">
+ $('#tab_importForm > a').click();
+ </s:if>
+ <s:else>
+ $('#tab_exportForm > a').click();
+ </s:else>
+ });
+</script>
\ No newline at end of file
Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/modificationLogs.jsp
===================================================================
--- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/modificationLogs.jsp 2012-03-29 22:54:10 UTC (rev 458)
+++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/modificationLogs.jsp 2012-03-30 16:43:51 UTC (rev 459)
@@ -26,17 +26,16 @@
<%@ taglib prefix="sjg" uri="/struts-jquery-grid-tags" %>
<script type="text/javascript"
src="<s:url value='/js/gridHelper.js' />"></script>
-<s:set var="emptySelection"><s:text name="echobase.message.noEntrySelection"/></s:set>
+<s:set var="emptySelection"><s:text
+ name="echobase.message.noEntrySelection"/></s:set>
<script type="text/javascript">
jQuery(document).ready(function () {
- $.addRowSelectTopic('datas', function(event){
+ $.addRowSelectTopic('datas', function (event) {
var text = $("tr[aria-selected=true] td[aria-describedby='datas_modificationText']").text();
- console.info("New selection = "+text);
$('#modificationTextContainter').html(text);
});
- $.addClearSelectTopic('datas', function(event){
- console.info("Clear selection = ");
+ $.addClearSelectTopic('datas', function (event) {
$('#modificationTextContainter').html("${emptySelection}");
});
$.addEvenAndOddClasses('datas');
@@ -48,14 +47,14 @@
escapeAmp="false"/>
<sjg:grid id="datas" dataType="json" href="%{loadUrl}" gridModel="datas"
- caption="%{getText('echobase.common.entityModificationLog')}"
pager="true" pagerButtons="true" pagerInput="true" navigator="true"
autowidth="true" rownumbers="false" viewrecords="true"
- navigatorEdit="false" navigatorSearch="false"
+ navigatorEdit="false" navigatorSearch="true"
navigatorDelete="false" navigatorAdd="false"
rowList="10,15,20,50,100,250,500" rowNum="10"
onSelectRowTopics='datas-rowSelect'
- onCompleteTopics="datas-clearSelect,datas-CompleteTopics">
+ onCompleteTopics="datas-clearSelect,datas-CompleteTopics"
+ navigatorSearchOptions="{multipleGroup:false,multipleSearch:false,sopt:['eq','ne','cn','nc','bw','bn','ew','en','lt','le','gt','ge','nu','nn']}">
<sjg:gridColumn name="entityType" sortable="true"
title="%{getText('echobase.common.entityType')}"/>
1
0
r458 - in trunk: echobase-entities/src/main/java/fr/ifremer/echobase/csv echobase-services/src/main/java/fr/ifremer/echobase/services/importdata echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv echobase-services/src/test/java/fr/ifremer/echobase/services echobase-services/src/test/java/fr/ifremer/echobase/services/importdata
by tchemit@users.forge.codelutin.com 29 Mar '12
by tchemit@users.forge.codelutin.com 29 Mar '12
29 Mar '12
Author: tchemit
Date: 2012-03-30 00:54:10 +0200 (Fri, 30 Mar 2012)
New Revision: 458
Url: http://forge.codelutin.com/repositories/revision/echobase/458
Log:
fixes #1059: S?\195?\169lectionner un dataProcessing pour l'import des r?\195?\169sultats esdu + mise en commun du code de cr?\195?\169ation de rResult
Modified:
trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/CellValueParser.java
trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/EchobaseCsvUtil.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/ResultsEsduCellImportService.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/csv/EsduResultByEchotypeAndSpeciesCategoryImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultByEchotypeImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultBySpeciesAndAgeCategoryImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultBySpeciesAndSizeCategoryImportModel.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/EchoBaseTestServiceSupport.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/AbstractImportDataServiceIT.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsEsduCellImportServiceIT.java
Modified: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/CellValueParser.java
===================================================================
--- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/CellValueParser.java 2012-03-29 21:57:23 UTC (rev 457)
+++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/CellValueParser.java 2012-03-29 22:54:10 UTC (rev 458)
@@ -40,16 +40,21 @@
final Voyage voyage;
- private final CellDAO cellDAO;
+ private final Map<String, Cell> esduCellMap;
- private final Map<String, Cell> esduCells;
+ private CellDAO cellDAO;
protected CellValueParser(Voyage voyage, CellDAO cellDAO) {
this.voyage = voyage;
+ this.esduCellMap = Maps.newTreeMap();
this.cellDAO = cellDAO;
- esduCells = Maps.newTreeMap();
}
+ protected CellValueParser(Voyage voyage, Map<String, Cell> esduCellMap) {
+ this.voyage = voyage;
+ this.esduCellMap = esduCellMap;
+ }
+
@Override
public Cell parse(String value) throws ParseException {
@@ -97,9 +102,9 @@
protected Cell getEsduCell(String esduCellId) throws ParseException {
- Cell result = esduCells.get(esduCellId);
+ Cell result = esduCellMap.get(esduCellId);
- if (result == null) {
+ if (result == null && cellDAO != null) {
try {
List<Cell> cells = cellDAO.findAllByName(esduCellId);
@@ -112,7 +117,7 @@
result = cells.get(0);
// store it in cache
- esduCells.put(esduCellId, result);
+ esduCellMap.put(esduCellId, result);
} catch (TopiaException e) {
throw new ImportRuntimeException(
Modified: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/EchobaseCsvUtil.java
===================================================================
--- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/EchobaseCsvUtil.java 2012-03-29 21:57:23 UTC (rev 457)
+++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/EchobaseCsvUtil.java 2012-03-29 22:54:10 UTC (rev 458)
@@ -39,6 +39,7 @@
import java.text.ParseException;
import java.util.Collection;
import java.util.Date;
+import java.util.List;
import java.util.Map;
/**
@@ -131,8 +132,15 @@
return new CellValueParser(voyage, cellDAO);
}
+ public static ValueParser<Cell> newCellValueParser(Voyage voyage,
+ Map<String, Cell> esduCellMap) {
+ return new CellValueParser(voyage, esduCellMap);
+ }
+
public static interface ResultAble {
void addResult(Result value);
+
+ List<Result> getResult();
}
public static <B extends ResultAble> ValueSetter<B, Result> newResultValueSetter() {
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-03-29 21:57:23 UTC (rev 457)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AbstractImportDataService.java 2012-03-29 22:54:10 UTC (rev 458)
@@ -30,6 +30,7 @@
import fr.ifremer.echobase.EchoBaseTechnicalException;
import fr.ifremer.echobase.InputFile;
import fr.ifremer.echobase.csv.CsvFileImportResult;
+import fr.ifremer.echobase.csv.EchobaseCsvUtil;
import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.EchoBaseUser;
import fr.ifremer.echobase.entities.EntityModificationLog;
@@ -39,6 +40,8 @@
import fr.ifremer.echobase.entities.data.Data;
import fr.ifremer.echobase.entities.data.DataDAO;
import fr.ifremer.echobase.entities.data.Echotype;
+import fr.ifremer.echobase.entities.data.Result;
+import fr.ifremer.echobase.entities.data.ResultDAO;
import fr.ifremer.echobase.entities.references.AgeCategory;
import fr.ifremer.echobase.entities.references.DataMetadata;
import fr.ifremer.echobase.entities.references.SexCategory;
@@ -247,12 +250,13 @@
protected Map<String, SpeciesCategory> speciesCategories = Maps.newTreeMap();
- protected SpeciesCategory getSpeciesCategory(SpeciesCategoryDAO speciesCategoryDAO,
- Species species,
- SizeCategory sizeCategory,
- AgeCategory ageCategory,
- SexCategory sexCategory,
- CsvFileImportResult importResult) {
+ protected SpeciesCategory getSpeciesCategory(
+ SpeciesCategoryDAO speciesCategoryDAO,
+ Species species,
+ SizeCategory sizeCategory,
+ AgeCategory ageCategory,
+ SexCategory sexCategory,
+ CsvFileImportResult importResult) {
String key = species == null ? "" : species.getBaracoudaCode();
key += "#" + (ageCategory == null ? "" : ageCategory.getName());
@@ -293,13 +297,14 @@
protected Map<String, Category> categories = Maps.newTreeMap();
- protected Category getResultCategory(CategoryDAO categoryDAO,
- SpeciesCategoryDAO speciesCategoryDAO,
- Echotype echotype,
- Species species,
- SizeCategory sizeCategory,
- AgeCategory ageCategory,
- CsvFileImportResult importResult) {
+ protected Category getResultCategory(
+ CategoryDAO categoryDAO,
+ SpeciesCategoryDAO speciesCategoryDAO,
+ Echotype echotype,
+ Species species,
+ SizeCategory sizeCategory,
+ AgeCategory ageCategory,
+ CsvFileImportResult importResult) {
// get species categorie first
@@ -318,10 +323,11 @@
return category;
}
- protected Category getResultCategory(CategoryDAO categoryDAO,
- Echotype echotype,
- SpeciesCategory speciesCategory,
- CsvFileImportResult importResult) {
+ protected Category getResultCategory(
+ CategoryDAO categoryDAO,
+ Echotype echotype,
+ SpeciesCategory speciesCategory,
+ CsvFileImportResult importResult) {
String key = speciesCategory == null ? "" : speciesCategory.getTopiaId();
key += "#" + (echotype == null ? "" : echotype.getName());
@@ -355,9 +361,10 @@
return category;
}
- protected List<DataMetadata> getMetas(String[] columnNamesToExclude,
- Map<String, DataMetadata> dataMetadataMap,
- String... headers) {
+ protected List<DataMetadata> getMetas(
+ String[] columnNamesToExclude,
+ Map<String, DataMetadata> dataMetadataMap,
+ String... headers) {
List<String> metadataNames = Lists.newArrayList(headers);
for (String columnToExclude : columnNamesToExclude) {
@@ -400,4 +407,23 @@
importResult.incrementsNumberCreated(EchoBaseEntityEnum.Data);
}
+
+ protected void addResults(EchobaseCsvUtil.ResultAble row,
+ Cell cell,
+ Category category,
+ String resultLabel,
+ ResultDAO dao,
+ CsvFileImportResult importResult) {
+ List<Result> results = row.getResult();
+
+ for (Result result : results) {
+
+ result.setCategory(category);
+ result.setResultLabel(resultLabel);
+
+ Result resultCreated = create(dao, result);
+ cell.addResult(resultCreated);
+ importResult.incrementsNumberCreated(EchoBaseEntityEnum.Result);
+ }
+ }
}
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-03-29 21:57:23 UTC (rev 457)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsEsduCellImportService.java 2012-03-29 22:54:10 UTC (rev 458)
@@ -34,7 +34,6 @@
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.DataProcessing;
import fr.ifremer.echobase.entities.data.Echotype;
import fr.ifremer.echobase.entities.data.Result;
@@ -48,7 +47,6 @@
import fr.ifremer.echobase.entities.references.Species;
import fr.ifremer.echobase.entities.references.SpeciesCategory;
import fr.ifremer.echobase.entities.references.SpeciesCategoryDAO;
-import fr.ifremer.echobase.services.DecoratorService;
import fr.ifremer.echobase.services.ImportException;
import fr.ifremer.echobase.services.importdata.csv.EsduResultByEchotypeAndSpeciesCategoryImportModel;
import fr.ifremer.echobase.services.importdata.csv.EsduResultByEchotypeAndSpeciesCategoryImportRow;
@@ -60,10 +58,8 @@
import fr.ifremer.echobase.services.importdata.csv.EsduResultBySpeciesAndSizeCategoryImportRow;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.nuiton.topia.persistence.TopiaDAO;
import org.nuiton.util.csv.Import;
import org.nuiton.util.csv.ImportRuntimeException;
-import org.nuiton.util.decorator.Decorator;
import java.io.Reader;
import java.util.List;
@@ -115,6 +111,10 @@
DataProcessing dataProcessing = getEntityById(DataProcessing.class,
configuration.getDataProcessingId());
+ // get esdu cells usables
+ Map<String, Cell> esduCellMap = Maps.uniqueIndex(
+ dataProcessing.getCell(), EchoBaseFunctions.CELL_BY_NAME);
+
// index all echotypes of thi voyage
Map<String, Echotype> echotypeMap = Maps.uniqueIndex(
voyage.getEchotype(), EchoBaseFunctions.ECHOTYPE_NAME);
@@ -130,7 +130,8 @@
inputFile,
voyage,
echotypeMap,
- dataMetadataMap
+ dataMetadataMap,
+ esduCellMap
);
addResultAndLog(result, inputFile, importResult, user);
}
@@ -144,7 +145,8 @@
echotypeMap,
dataMetadataMap,
speciesMap,
- sizeCategoryMap
+ sizeCategoryMap,
+ esduCellMap
);
addResultAndLog(result, inputFile, importResult, user);
}
@@ -157,7 +159,8 @@
voyage,
dataMetadataMap,
speciesMap,
- sizeCategoryMap
+ sizeCategoryMap,
+ esduCellMap
);
addResultAndLog(result, inputFile, importResult, user);
}
@@ -171,7 +174,8 @@
voyage,
dataMetadataMap,
speciesMap,
- ageCategoryMap
+ ageCategoryMap,
+ esduCellMap
);
addResultAndLog(result, inputFile, importResult, user);
}
@@ -183,7 +187,8 @@
InputFile inputFile,
Voyage voyage,
Map<String, Echotype> echotypeMap,
- Map<String, DataMetadata> dataMetadataMap) throws ImportException {
+ Map<String, DataMetadata> dataMetadataMap,
+ Map<String, Cell> esduCellMap) throws ImportException {
if (log.isInfoEnabled()) {
log.info("Starts import of esdu result by echotype from file " +
@@ -202,35 +207,27 @@
dataMetadataMap,
header);
- CellDAO cellDAO = (CellDAO) getDAO(Cell.class);
-
EsduResultByEchotypeImportModel csvModel = new EsduResultByEchotypeImportModel(
serviceContext.getConfiguration().getCsvSeparator(),
echotypeMap,
voyage,
- cellDAO,
+ esduCellMap,
metas);
CategoryDAO categoryDAO = (CategoryDAO) getDAO(Category.class);
- SpeciesCategoryDAO speciesCategoryDAO =
- getDAO(SpeciesCategory.class, SpeciesCategoryDAO.class);
+ ResultDAO dao = getDAO(Result.class, ResultDAO.class);
String resultLabel = configuration.getResultLabel();
- DecoratorService decoratorService = getService(DecoratorService.class);
- Decorator<Category> categoryDecorator = decoratorService.getDecorator(getLocale(), Category.class, null);
Reader reader = getInputFileReader(inputFile);
try {
Import<EsduResultByEchotypeImportRow> importer =
EchoBaseImport.newImport(csvModel, reader);
- int rowNumber = 0;
-
configuration.incrementsProgression();
for (EsduResultByEchotypeImportRow row : importer) {
configuration.incrementsProgression();
- rowNumber++;
Cell cell = row.getCell();
@@ -239,28 +236,7 @@
null,
importResult);
- if (rowNumber % 100 == 0) {
- if (log.isInfoEnabled()) {
- log.info("Treat row " + rowNumber + " for esdu cell " +
- cell.getName() + " and category " +
- categoryDecorator.toString(category));
- }
- }
- List<Result> results = row.getResult();
-
- TopiaDAO<Result> dao = getDAO(Result.class);
-
- for (Result result : results) {
-
- result.setCategory(category);
- result.setResultLabel(resultLabel);
-
- Result resultCreated = create(dao, result);
-
- cell.addResult(resultCreated);
-
- importResult.incrementsNumberCreated(EchoBaseEntityEnum.Result);
- }
+ addResults(row, cell, category, resultLabel, dao, importResult);
}
return importResult;
@@ -278,7 +254,8 @@
Map<String, Echotype> echotypeMap,
Map<String, DataMetadata> dataMetadataMap,
Map<String, Species> speciesMap,
- Map<String, SizeCategory> sizeCategoryMap) throws ImportException {
+ Map<String, SizeCategory> sizeCategoryMap,
+ Map<String, Cell> esduCellMap) throws ImportException {
if (log.isInfoEnabled()) {
log.info("Starts import of acoustic result by echotype " +
@@ -299,8 +276,6 @@
dataMetadataMap,
header);
- CellDAO cellDAO = getDAO(Cell.class, CellDAO.class);
-
SpeciesCategoryDAO speciesCategoryDAO =
getDAO(SpeciesCategory.class, SpeciesCategoryDAO.class);
@@ -314,13 +289,9 @@
speciesMap,
sizeCategoryMap,
voyage,
- cellDAO,
+ esduCellMap,
metas);
-
- DecoratorService decoratorService = getService(DecoratorService.class);
- Decorator<Category> categoryDecorator = decoratorService.getDecorator(getLocale(), Category.class, null);
-
String resultLabel = configuration.getResultLabel();
Reader reader = getInputFileReader(inputFile);
@@ -328,13 +299,10 @@
EchoBaseImport<EsduResultByEchotypeAndSpeciesCategoryImportRow> importer =
EchoBaseImport.newImport(csvModel, reader);
- int rowNumber = 0;
-
configuration.incrementsProgression();
for (EsduResultByEchotypeAndSpeciesCategoryImportRow row : importer) {
configuration.incrementsProgression();
- rowNumber++;
Cell cell = row.getCell();
@@ -346,27 +314,7 @@
null,
importResult);
- if (rowNumber % 100 == 0) {
- if (log.isInfoEnabled()) {
- log.info("Treat row " + rowNumber + " for esdu cell " +
- cell.getName() + " and category " +
- categoryDecorator.toString(category));
- }
- }
-
- List<Result> results = row.getResult();
-
- for (Result result : results) {
-
- result.setCategory(category);
- result.setResultLabel(resultLabel);
-
- Result resultCreated = create(dao, result);
-
- cell.addResult(resultCreated);
-
- importResult.incrementsNumberCreated(EchoBaseEntityEnum.Result);
- }
+ addResults(row, cell, category, resultLabel, dao, importResult);
}
return importResult;
@@ -382,7 +330,8 @@
Voyage voyage,
Map<String, DataMetadata> dataMetadataMap,
Map<String, Species> speciesMap,
- Map<String, SizeCategory> sizeCategoryMap) throws ImportException {
+ Map<String, SizeCategory> sizeCategoryMap,
+ Map<String, Cell> esduCellMap) throws ImportException {
if (log.isInfoEnabled()) {
log.info("Starts import of acoustic result by speices and size category from file " +
@@ -403,26 +352,23 @@
dataMetadataMap,
header);
- CellDAO cellDAO = (CellDAO) getDAO(Cell.class);
-
SpeciesCategoryDAO speciesCategoryDAO =
getDAO(SpeciesCategory.class, SpeciesCategoryDAO.class);
SizeCategoryDAO sizeCategoryDAO =
getDAO(SizeCategory.class, SizeCategoryDAO.class);
+ ResultDAO dao = getDAO(Result.class, ResultDAO.class);
+
EsduResultBySpeciesAndSizeCategoryImportModel csvModel = new EsduResultBySpeciesAndSizeCategoryImportModel(
serviceContext.getConfiguration().getCsvSeparator(),
speciesMap,
voyage,
- cellDAO,
+ esduCellMap,
metas);
CategoryDAO categoryDAO = (CategoryDAO) getDAO(Category.class);
- DecoratorService decoratorService = getService(DecoratorService.class);
- Decorator<Category> categoryDecorator = decoratorService.getDecorator(getLocale(), Category.class, null);
-
String resultLabel = configuration.getResultLabel();
Reader reader = getInputFileReader(inputFile);
@@ -430,13 +376,10 @@
EchoBaseImport<EsduResultBySpeciesAndSizeCategoryImportRow> importer =
EchoBaseImport.newImport(csvModel, reader);
- int rowNumber = 0;
-
configuration.incrementsProgression();
for (EsduResultBySpeciesAndSizeCategoryImportRow row : importer) {
configuration.incrementsProgression();
- rowNumber++;
Cell cell = row.getCell();
@@ -469,27 +412,7 @@
null,
importResult);
- if (rowNumber % 100 == 0) {
- if (log.isInfoEnabled()) {
- log.info("Treat row " + rowNumber + " for esdu cell " +
- cell.getName() + " and category " +
- categoryDecorator.toString(category));
- }
- }
-
- List<Result> results = row.getResult();
-
- TopiaDAO<Result> dao = getDAO(Result.class);
-
- for (Result result : results) {
-
- result.setCategory(category);
- result.setResultLabel(resultLabel);
-
- Result resultCreated = create(dao, result);
- cell.addResult(resultCreated);
- importResult.incrementsNumberCreated(EchoBaseEntityEnum.Result);
- }
+ addResults(row, cell, category, resultLabel, dao, importResult);
}
return importResult;
@@ -506,7 +429,8 @@
Voyage voyage,
Map<String, DataMetadata> dataMetadataMap,
Map<String, Species> speciesMap,
- Map<String, AgeCategory> ageCategoryMap) throws ImportException {
+ Map<String, AgeCategory> ageCategoryMap,
+ Map<String, Cell> esduCellMap) throws ImportException {
if (log.isInfoEnabled()) {
log.info("Starts import of acoustic result by species and age category from file " +
@@ -527,24 +451,21 @@
dataMetadataMap,
header);
- CellDAO cellDAO = (CellDAO) getDAO(Cell.class);
SpeciesCategoryDAO speciesCategoryDAO =
getDAO(SpeciesCategory.class, SpeciesCategoryDAO.class);
AgeCategoryDAO ageCategoryDAO =
getDAO(AgeCategory.class, AgeCategoryDAO.class);
CategoryDAO categoryDAO = (CategoryDAO) getDAO(Category.class);
+ ResultDAO dao = getDAO(Result.class, ResultDAO.class);
+
EsduResultBySpeciesAndAgeCategoryImportModel csvModel = new EsduResultBySpeciesAndAgeCategoryImportModel(
serviceContext.getConfiguration().getCsvSeparator(),
speciesMap,
voyage,
- cellDAO,
+ esduCellMap,
metas);
-
- DecoratorService decoratorService = getService(DecoratorService.class);
- Decorator<Category> categoryDecorator = decoratorService.getDecorator(getLocale(), Category.class, null);
-
String resultLabel = configuration.getResultLabel();
Reader reader = getInputFileReader(inputFile);
@@ -552,13 +473,10 @@
EchoBaseImport<EsduResultBySpeciesAndAgeCategoryImportRow> importer =
EchoBaseImport.newImport(csvModel, reader);
- int rowNumber = 0;
-
configuration.incrementsProgression();
for (EsduResultBySpeciesAndAgeCategoryImportRow row : importer) {
configuration.incrementsProgression();
- rowNumber++;
Cell cell = row.getCell();
@@ -591,27 +509,7 @@
ageCategory,
importResult);
- if (rowNumber % 100 == 0) {
- if (log.isInfoEnabled()) {
- log.info("Treat row " + rowNumber + " for esdu cell " +
- cell.getName() + " and category " +
- categoryDecorator.toString(category));
- }
- }
-
- List<Result> results = row.getResult();
-
- TopiaDAO<Result> dao = getDAO(Result.class);
-
- for (Result result : results) {
-
- result.setCategory(category);
- result.setResultLabel(resultLabel);
-
- Result resultCreated = create(dao, result);
- cell.addResult(resultCreated);
- importResult.incrementsNumberCreated(EchoBaseEntityEnum.Result);
- }
+ addResults(row, cell, category, resultLabel, dao, importResult);
}
return importResult;
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-03-29 21:57:23 UTC (rev 457)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsMapCellImportService.java 2012-03-29 22:54:10 UTC (rev 458)
@@ -80,8 +80,9 @@
}
@Override
- public List<CsvFileImportResult> startImport(ResultsImportConfiguration configuration,
- EchoBaseUser user) throws ImportException {
+ public List<CsvFileImportResult> startImport(
+ ResultsImportConfiguration configuration,
+ EchoBaseUser user) throws ImportException {
// get selected voyage
Voyage voyage = getEntityById(Voyage.class,
@@ -97,9 +98,10 @@
return result;
}
- protected CsvFileImportResult importMapFile(ResultsImportConfiguration configuration,
- InputFile inputFile,
- Voyage voyage) throws ImportException {
+ protected CsvFileImportResult importMapFile(
+ ResultsImportConfiguration configuration,
+ InputFile inputFile,
+ Voyage voyage) throws ImportException {
String resultLabel = configuration.getResultLabel();
@@ -245,8 +247,6 @@
importResult
);
- List<Result> results = row.getResult();
-
Category category = getResultCategory(categoryDAO,
speciesCategoryDAO,
null,
@@ -255,15 +255,7 @@
row.getAgeCategory(),
importResult);
- for (Result result : results) {
-
- result.setCategory(category);
- result.setResultLabel(resultLabel);
-
- Result resultCreated = create(resultDao, result);
- cell.addResult(resultCreated);
- importResult.incrementsNumberCreated(EchoBaseEntityEnum.Result);
- }
+ addResults(row, cell, category, resultLabel, resultDao, importResult);
}
return importResult;
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-03-29 21:57:23 UTC (rev 457)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsRegionCellImportService.java 2012-03-29 22:54:10 UTC (rev 458)
@@ -84,8 +84,9 @@
}
@Override
- public List<CsvFileImportResult> startImport(ResultsImportConfiguration configuration,
- EchoBaseUser user) throws ImportException {
+ public List<CsvFileImportResult> startImport(
+ ResultsImportConfiguration configuration,
+ EchoBaseUser user) throws ImportException {
List<CsvFileImportResult> result = Lists.newLinkedList();
@@ -117,9 +118,10 @@
return result;
}
- protected CsvFileImportResult importRegionFile(ResultsImportConfiguration configuration,
- InputFile inputFile,
- Voyage voyage) throws ImportException {
+ protected CsvFileImportResult importRegionFile(
+ ResultsImportConfiguration configuration,
+ InputFile inputFile,
+ Voyage voyage) throws ImportException {
CellType cellSurfaceType = getEntityByProperty(
CellType.class, CellType.PROPERTY_ID, "RegionSURF");
@@ -181,8 +183,6 @@
Cell.PROPERTY_CELL_TYPE, row.getCellType(),
Cell.PROPERTY_NAME, row.getName()
);
-// cell.setName(row.getName());
-// cell.setCellType(row.getCellType());
voyage.addPostCell(cell);
importResult.incrementsNumberCreated(EchoBaseEntityEnum.Cell);
@@ -244,26 +244,14 @@
EchoBaseImport<RegionCellAssociationImportRow> importer =
EchoBaseImport.newImport(csvModel, reader);
- int rowNumber = 0;
-
configuration.incrementsProgression();
for (RegionCellAssociationImportRow row : importer) {
- rowNumber++;
configuration.incrementsProgression();
Cell regionCell = row.getRegionCell();
Cell esduCell = row.getEsduCell();
regionCell.addChilds(esduCell);
-
- if (rowNumber % 100 == 0) {
- if (log.isInfoEnabled()) {
- log.info("Treat row " + rowNumber + " for esdu cell " +
- esduCell.getName());
- }
- }
-
-
importResult.incrementsNumberUpdated(EchoBaseEntityEnum.Cell);
}
@@ -356,19 +344,7 @@
null,
importResult);
- List<Result> results = row.getResult();
-
- for (Result result : results) {
-
- result.setCategory(category);
- result.setResultLabel(resultLabel);
-
- Result resultCreated = create(dao, result);
-
- cell.addResult(resultCreated);
-
- importResult.incrementsNumberCreated(EchoBaseEntityEnum.Result);
- }
+ addResults(row, cell, category, resultLabel, dao, importResult);
}
return importResult;
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultByEchotypeAndSpeciesCategoryImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultByEchotypeAndSpeciesCategoryImportModel.java 2012-03-29 21:57:23 UTC (rev 457)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultByEchotypeAndSpeciesCategoryImportModel.java 2012-03-29 22:54:10 UTC (rev 458)
@@ -25,7 +25,7 @@
import fr.ifremer.echobase.csv.AbstractImportModel;
import fr.ifremer.echobase.csv.EchobaseCsvUtil;
-import fr.ifremer.echobase.entities.data.CellDAO;
+import fr.ifremer.echobase.entities.data.Cell;
import fr.ifremer.echobase.entities.data.Echotype;
import fr.ifremer.echobase.entities.data.Result;
import fr.ifremer.echobase.entities.data.Voyage;
@@ -57,14 +57,14 @@
Map<String, Species> speciesMap,
Map<String, SizeCategory> sizeCategoryMap,
Voyage voyage,
- CellDAO cellDAO,
+ Map<String, Cell> esduCellMap,
List<DataMetadata> dataMetadatas) {
super(separator);
newForeignKeyColumn(EsduResultByEchotypeAndSpeciesCategoryImportRow.PROPERTY_ECHOTYPE, Echotype.class, Echotype.PROPERTY_NAME, echotypeMap);
newForeignKeyColumn("baracoudaCode", EsduResultByEchotypeAndSpeciesCategoryImportRow.PROPERTY_SPECIES, Species.class, Species.PROPERTY_BARACOUDA_CODE, speciesMap);
newForeignKeyColumn(EsduResultByEchotypeAndSpeciesCategoryImportRow.PROPERTY_SIZE_CATEGORY, SizeCategory.class, SizeCategory.PROPERTY_NAME, sizeCategoryMap);
- newMandatoryColumn("name", EsduResultByEchotypeAndSpeciesCategoryImportRow.PROPERTY_CELL, EchobaseCsvUtil.newCellValueParser(voyage, cellDAO));
+ newMandatoryColumn("name", EsduResultByEchotypeAndSpeciesCategoryImportRow.PROPERTY_CELL, EchobaseCsvUtil.newCellValueParser(voyage, esduCellMap));
for (DataMetadata metadata : dataMetadatas) {
String name = metadata.getName();
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultByEchotypeImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultByEchotypeImportModel.java 2012-03-29 21:57:23 UTC (rev 457)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultByEchotypeImportModel.java 2012-03-29 22:54:10 UTC (rev 458)
@@ -25,7 +25,7 @@
import fr.ifremer.echobase.csv.AbstractImportModel;
import fr.ifremer.echobase.csv.EchobaseCsvUtil;
-import fr.ifremer.echobase.entities.data.CellDAO;
+import fr.ifremer.echobase.entities.data.Cell;
import fr.ifremer.echobase.entities.data.Echotype;
import fr.ifremer.echobase.entities.data.Result;
import fr.ifremer.echobase.entities.data.Voyage;
@@ -51,12 +51,12 @@
char separator,
Map<String, Echotype> echotypeMap,
Voyage voyage,
- CellDAO cellDAO,
+ Map<String, Cell> esduCellMap,
List<DataMetadata> dataMetadatas) {
super(separator);
newForeignKeyColumn(EsduResultByEchotypeImportRow.PROPERTY_ECHOTYPE, Echotype.class, Echotype.PROPERTY_NAME, echotypeMap);
- newMandatoryColumn("name", EsduResultByEchotypeImportRow.PROPERTY_CELL, EchobaseCsvUtil.newCellValueParser(voyage, cellDAO));
+ newMandatoryColumn("name", EsduResultByEchotypeImportRow.PROPERTY_CELL, EchobaseCsvUtil.newCellValueParser(voyage, esduCellMap));
for (DataMetadata metadata : dataMetadatas) {
String name = metadata.getName();
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultBySpeciesAndAgeCategoryImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultBySpeciesAndAgeCategoryImportModel.java 2012-03-29 21:57:23 UTC (rev 457)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultBySpeciesAndAgeCategoryImportModel.java 2012-03-29 22:54:10 UTC (rev 458)
@@ -25,7 +25,7 @@
import fr.ifremer.echobase.csv.AbstractImportModel;
import fr.ifremer.echobase.csv.EchobaseCsvUtil;
-import fr.ifremer.echobase.entities.data.CellDAO;
+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.entities.references.DataMetadata;
@@ -53,11 +53,11 @@
char separator,
Map<String, Species> speciesMap,
Voyage voyage,
- CellDAO cellDAO,
+ Map<String, Cell> esduCellMap,
List<DataMetadata> dataMetadatas) {
super(separator);
- newMandatoryColumn("name", EsduResultBySpeciesAndAgeCategoryImportRow.PROPERTY_CELL, EchobaseCsvUtil.newCellValueParser(voyage, cellDAO));
+ newMandatoryColumn("name", EsduResultBySpeciesAndAgeCategoryImportRow.PROPERTY_CELL, EchobaseCsvUtil.newCellValueParser(voyage, esduCellMap));
newMandatoryColumn(EsduResultBySpeciesAndAgeCategoryImportRow.PROPERTY_AGE_CATEGORY);
newMandatoryColumn(EsduResultBySpeciesAndAgeCategoryImportRow.PROPERTY_AGE_CATEGORY_MEANING);
newForeignKeyColumn("baracoudaCode", EsduResultBySpeciesAndAgeCategoryImportRow.PROPERTY_SPECIES, Species.class, Species.PROPERTY_BARACOUDA_CODE, speciesMap);
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultBySpeciesAndSizeCategoryImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultBySpeciesAndSizeCategoryImportModel.java 2012-03-29 21:57:23 UTC (rev 457)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultBySpeciesAndSizeCategoryImportModel.java 2012-03-29 22:54:10 UTC (rev 458)
@@ -25,7 +25,7 @@
import fr.ifremer.echobase.csv.AbstractImportModel;
import fr.ifremer.echobase.csv.EchobaseCsvUtil;
-import fr.ifremer.echobase.entities.data.CellDAO;
+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.entities.references.DataMetadata;
@@ -53,11 +53,11 @@
char separator,
Map<String, Species> speciesMap,
Voyage voyage,
- CellDAO cellDAO,
+ Map<String, Cell> esduCellMap,
List<DataMetadata> dataMetadatas) {
super(separator);
- newMandatoryColumn("name", EsduResultBySpeciesAndSizeCategoryImportRow.PROPERTY_CELL, EchobaseCsvUtil.newCellValueParser(voyage, cellDAO));
+ newMandatoryColumn("name", EsduResultBySpeciesAndSizeCategoryImportRow.PROPERTY_CELL, EchobaseCsvUtil.newCellValueParser(voyage, esduCellMap));
newMandatoryColumn(EsduResultBySpeciesAndSizeCategoryImportRow.PROPERTY_SIZE_CATEGORY);
newMandatoryColumn(EsduResultBySpeciesAndSizeCategoryImportRow.PROPERTY_SIZE_CATEGORY_MEANING);
newForeignKeyColumn("baracoudaCode", EsduResultBySpeciesAndSizeCategoryImportRow.PROPERTY_SPECIES, Species.class, Species.PROPERTY_BARACOUDA_CODE, speciesMap);
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-03-29 21:57:23 UTC (rev 457)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/EchoBaseTestServiceSupport.java 2012-03-29 22:54:10 UTC (rev 458)
@@ -29,6 +29,7 @@
import fr.ifremer.echobase.entities.EchoBaseEntityEnum;
import fr.ifremer.echobase.entities.EchoBaseUser;
import fr.ifremer.echobase.entities.EchoBaseUserImpl;
+import fr.ifremer.echobase.entities.data.DataProcessing;
import fr.ifremer.echobase.entities.data.Voyage;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
@@ -208,4 +209,10 @@
Preconditions.checkNotNull(voyage);
return voyage.getTopiaId();
}
+
+ protected String getDataProcessingId() {
+ DataProcessing dataProcessing = getEntities(DataProcessing.class).get(0);
+ Preconditions.checkNotNull(dataProcessing);
+ return dataProcessing.getTopiaId();
+ }
}
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/AbstractImportDataServiceIT.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/AbstractImportDataServiceIT.java 2012-03-29 21:57:23 UTC (rev 457)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/AbstractImportDataServiceIT.java 2012-03-29 22:54:10 UTC (rev 458)
@@ -201,11 +201,13 @@
int numberCreated = importResult.getNumberCreated(type);
int numberUpdated = importResult.getNumberUpdated(type);
if (numberCreated > 0) {
- resultBuffer.append(" ").append(numberCreated).append(" created");
+ resultBuffer.append(" (created ").append(numberCreated).append(')');
}
if (numberUpdated > 0) {
- resultBuffer.append(" ").append(numberUpdated).append(" updated");
+ resultBuffer.append(" (updated").append(numberUpdated).append(')');
}
+ long nbEntities = countEntities(type.getContract());
+ resultBuffer.append(" (total count ").append(nbEntities).append(')');
}
log.info(resultBuffer.toString());
}
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsEsduCellImportServiceIT.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsEsduCellImportServiceIT.java 2012-03-29 21:57:23 UTC (rev 457)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsEsduCellImportServiceIT.java 2012-03-29 22:54:10 UTC (rev 458)
@@ -74,6 +74,8 @@
addMissingEsduCells("name", conf.getVoyageId(), inputFile);
+ conf.setDataProcessingId(getDataProcessingId());
+
List<CsvFileImportResult> result;
result = doImport(conf, ResultsEsduCellImportService.class, 1);
@@ -104,10 +106,14 @@
addMissingEsduCells("name", conf.getVoyageId(), inputFile);
+ conf.setDataProcessingId(getDataProcessingId());
+
List<CsvFileImportResult> result;
result = doImport(conf, ResultsEsduCellImportService.class, 1);
- assertCsvImportResult(result, 0, Result.class, 396990);
+ assertCsvImportResult(result, 0, Result.class, 357291);
+ assertCsvImportResult(result, 0, Category.class, 27);
+ assertCsvImportResult(result, 0, SpeciesCategory.class, 1, 0, 457);
}
@Test
@@ -133,13 +139,15 @@
addMissingEsduCells("name", conf.getVoyageId(), intputFile);
+ conf.setDataProcessingId(getDataProcessingId());
+
List<CsvFileImportResult> result;
result = doImport(conf, ResultsEsduCellImportService.class, 1);
assertCsvImportResult(result, 0, Result.class, 68108);
assertCsvImportResult(result, 0, Category.class, 129);
assertCsvImportResult(result, 0, SpeciesCategory.class, 129, 0, 585);
- assertCsvImportResult(result, 0, SizeCategory.class, 62);
+ assertCsvImportResult(result, 0, SizeCategory.class, 62, 0, 69);
}
@Test
@@ -165,14 +173,15 @@
addMissingEsduCells("name", conf.getVoyageId(), inputFile);
+ conf.setDataProcessingId(getDataProcessingId());
+
List<CsvFileImportResult> result;
result = doImport(conf, ResultsEsduCellImportService.class, 1);
+ assertCsvImportResult(result, 0, Category.class, 14);
assertCsvImportResult(result, 0, Result.class, 10021);
- assertCsvImportResult(result, 0, AgeCategory.class, 6);
- assertCsvImportResult(result, 0, Category.class, 14);
+ assertCsvImportResult(result, 0, AgeCategory.class, 6, 0, 10);
assertCsvImportResult(result, 0, SpeciesCategory.class, 14, 0, 470);
}
-
}
\ No newline at end of file
1
0
Author: tchemit
Date: 2012-03-29 23:57:23 +0200 (Thu, 29 Mar 2012)
New Revision: 457
Url: http://forge.codelutin.com/repositories/revision/echobase/457
Log:
CR r?\195?\169union (refs #483)
Modified:
trunk/src/doc/reunions/reunion-2012-03-29.txt
Modified: trunk/src/doc/reunions/reunion-2012-03-29.txt
===================================================================
--- trunk/src/doc/reunions/reunion-2012-03-29.txt 2012-03-29 21:46:19 UTC (rev 456)
+++ trunk/src/doc/reunions/reunion-2012-03-29.txt 2012-03-29 21:57:23 UTC (rev 457)
@@ -5,13 +5,6 @@
Présents : Mathieu et Tony
-Planning
---------
-
-- valider tous les imports
-- lancer la phase de tests
-- discuter des contraintes en base
-
Référentiels
------------
@@ -20,89 +13,60 @@
CellType RegionCLAS
CellType RegionSURF
DataMetadata RegionEnvCoordinates
-
DataMetadata BiomMass dupliqué
+Il reste des référentiels à améliorer mais on fera ça plus tard (pas nécessaire
+pour valider les imports).
+
Imports
-------
-Import résultats de regions (utilisation de NASCVariance au lieu de VarianceNASC)
+- Ajouter un champs notes pour chaque import et l'utiliser dans le journal des modifications (#1054)
+- Ajouter une colonne dataQuality dans tous les imports de Data et Result (#1055)
+- Selectionner un dataProcessing pour les imports de résultats Esdu (#1059)
+- Avoir un seul import Résultat ESDU (#1060)
+- Utilisation de ageCategory dans les imports de cell Maps (#1061)
-On a pas utiliser les dataProcessing.id ?
-
-J'ai renommé les colonne des datas dans Map (minuscule sur première lettre)
-et ageCategory ? oubli ou pas a utiliser (map import)
-
Création base embarquée
-----------------------
-Optimiser la gestion mémoire car y'a des soucis (import des associations) :
+- On arrive pas à créer une base embarquée (#1050)
-Struts has detected an unhandled exception:
-Messages:
-Could not initialize class org.h2.message.DbException
-File: org/h2/command/Command.java
-Line number: 230
-Stacktraces
-java.lang.reflect.InvocationTargetException
- sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
- sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
- sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
- java.lang.reflect.Method.invoke(Method.java:597)
- com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:453)
- com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:292)
- org.apache.struts2.interceptor.BackgroundProcess$1.run(BackgroundProcess.java:57)
- java.lang.Thread.run(Thread.java:662)
-
-java.lang.NoClassDefFoundError: Could not initialize class org.h2.message.DbException
- org.h2.command.Command.executeUpdate(Command.java:230)
- org.h2.jdbc.JdbcPreparedStatement.execute(JdbcPreparedStatement.java:181)
- org.nuiton.topia.framework.TopiaContextImpl$SQLWork.execute(TopiaContextImpl.java:1597)
- org.hibernate.impl.SessionImpl.doWork(SessionImpl.java:1997)
- org.nuiton.topia.framework.TopiaContextImpl.executeSQL(TopiaContextImpl.java:952)
- fr.ifremer.echobase.services.ImportDbService.importAssociationfile(ImportDbService.java:316)
- fr.ifremer.echobase.services.ImportDbService.importFile(ImportDbService.java:216)
- fr.ifremer.echobase.services.ImportDbService.importDb(ImportDbService.java:125)
- fr.ifremer.echobase.services.EmbeddedApplicationService.importDb(EmbeddedApplicationService.java:322)
- fr.ifremer.echobase.services.EmbeddedApplicationService.createEmbeddedApplication(EmbeddedApplicationService.java:117)
- fr.ifremer.echobase.ui.actions.embeddedApplication.Build.startAction(Build.java:66)
- fr.ifremer.echobase.ui.actions.embeddedApplication.Build.startAction(Build.java:38)
- fr.ifremer.echobase.ui.actions.AbstractWaitAndExecAction.execute(AbstractWaitAndExecAction.java:91)
- sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
- sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
- sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
- java.lang.reflect.Method.invoke(Method.java:597)
- com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:453)
- com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:292)
- org.apache.struts2.interceptor.BackgroundProcess$1.run(BackgroundProcess.java:57)
- java.lang.Thread.run(Thread.java:662)
-
Suppression des résultats
-------------------------
-Chiffrer la fonctionnalité
+- Chiffrer la fonctionnalité
Modèle
------
-- Ajout des clef naturels
-- Ajout des contrainte de non nullité
+- Ajout des clef naturels (fait en 0.3)
+- Ajout des contrainte de non nullité (fait en 0.3)
Divers
------
-- i18n
-- finir le style
-- dbeditor (revoir la fenêtre de filtre)
-- doc
+- intégrer les traductiosn anglaises (#1046)
+- finir le style graphique (#1047)
+- dbeditor (revoir la fenêtre de filtre) (#1052)
+- ajouter un filtre sur le journal des modifications (#1053)
+- doc (#484)
Action
------
- Tony :
+- faire les tickets de la 0.4
+- fournir une base h2 ou un zip de données d'une campagne PELGAS2010 pour faire des tests le temps que je corrige
+- faire release 0.5 rapide avec tous les modification d'import
+- mettre en place un module svn pour mettre les scripts R (#1062)
+- phase de test (#499)
- Mathieu :
+- phase de test (#499)
+- fournir les scripts de création des fichiers (#1062)
+- préparer le requétage à faire
Prochaine réunion :
- - ?
\ No newline at end of file
+ - Vendredi 6 Avril à 10h00
\ No newline at end of file
1
0
29 Mar '12
Author: tchemit
Date: 2012-03-29 23:46:19 +0200 (Thu, 29 Mar 2012)
New Revision: 456
Url: http://forge.codelutin.com/repositories/revision/echobase/456
Log:
i18n
Modified:
trunk/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties
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-03-29 21:45:42 UTC (rev 455)
+++ trunk/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties 2012-03-29 21:46:19 UTC (rev 456)
@@ -89,6 +89,7 @@
echobase.error.import.areaOfOperation.required=La sélection d'une zone d'opération est obligatoire
echobase.error.import.biometrySampleFile.required=La sélection d'un fichier BiometrySample est obligatoire
echobase.error.import.cellPositionReference.required=La sélection d'un cellPositionReference est obligatoire
+echobase.error.import.dataProcessing.required=Data Processing non renseigné
echobase.error.import.datum.required=Datum de la campagne non rengeigné
echobase.error.import.digitThreshold.required=digitThreshold non renseigné
echobase.error.import.echosounderSoundSpeed.required=echosounderSoundSpeed non renseigné
1
0
r455 - in trunk/echobase-services/src: main/java/fr/ifremer/echobase/services/importdata main/java/fr/ifremer/echobase/services/importdata/csv test/resources/import-data/result/map
by tchemit@users.forge.codelutin.com 29 Mar '12
by tchemit@users.forge.codelutin.com 29 Mar '12
29 Mar '12
Author: tchemit
Date: 2012-03-29 23:45:42 +0200 (Thu, 29 Mar 2012)
New Revision: 455
Url: http://forge.codelutin.com/repositories/revision/echobase/455
Log:
fixes #1061: Utilisation de ageCategory dans les imports de cell Maps
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/csv/MapCellImportModel.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/MapCellImportRow.java
trunk/echobase-services/src/test/resources/import-data/result/map/maps.csv.gz
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-03-29 21:44:59 UTC (rev 454)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsMapCellImportService.java 2012-03-29 21:45:42 UTC (rev 455)
@@ -41,6 +41,7 @@
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.references.AgeCategory;
import fr.ifremer.echobase.entities.references.CellType;
import fr.ifremer.echobase.entities.references.DataMetadata;
import fr.ifremer.echobase.entities.references.SizeCategory;
@@ -141,6 +142,10 @@
sizeCategoryMap.putAll(getEntitiesMap(
SizeCategory.class, EchoBaseFunctions.SIZE_CATEGORY_NAME));
+ Map<String, AgeCategory> ageCategoryMap = Maps.newTreeMap();
+ ageCategoryMap.putAll(getEntitiesMap(
+ AgeCategory.class, EchoBaseFunctions.AGE_CATEGORY_NAME));
+
Map<String, DataMetadata> dataMetadataMap = getEntitiesMap(
DataMetadata.class, EchoBaseFunctions.DATA_METADATA_NAME);
@@ -159,6 +164,7 @@
voyageMap,
speciesMap,
sizeCategoryMap,
+ ageCategoryMap,
metas);
if (log.isInfoEnabled()) {
@@ -246,7 +252,7 @@
null,
row.getSpecies(),
row.getSizeCategory(),
- null,
+ row.getAgeCategory(),
importResult);
for (Result result : results) {
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/MapCellImportModel.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/MapCellImportModel.java 2012-03-29 21:44:59 UTC (rev 454)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/MapCellImportModel.java 2012-03-29 21:45:42 UTC (rev 455)
@@ -26,6 +26,7 @@
import fr.ifremer.echobase.csv.AbstractImportModel;
import fr.ifremer.echobase.csv.EchobaseCsvUtil;
import fr.ifremer.echobase.entities.data.Voyage;
+import fr.ifremer.echobase.entities.references.AgeCategory;
import fr.ifremer.echobase.entities.references.CellType;
import fr.ifremer.echobase.entities.references.DataMetadata;
import fr.ifremer.echobase.entities.references.SizeCategory;
@@ -52,7 +53,8 @@
MapCellImportRow.PROPERTY_DATA_GRID_LATITUDE_LAG,
MapCellImportRow.PROPERTY_DATA_GRID_DEPTH_LAG,
MapCellImportRow.PROPERTY_VOYAGE,
- MapCellImportRow.PROPERTY_SIZE_CATEGORY
+ MapCellImportRow.PROPERTY_SIZE_CATEGORY,
+ MapCellImportRow.PROPERTY_AGE_CATEGORY
};
protected final CellType cellType;
@@ -62,6 +64,7 @@
Map<String, Voyage> voyageMap,
Map<String, Species> speciesMap,
Map<String, SizeCategory> sizeCategoryMap,
+ Map<String, AgeCategory> ageCategoryMap,
List<DataMetadata> dataMetadatas) {
super(separator);
this.cellType = cellType;
@@ -70,6 +73,7 @@
newMandatoryColumn(MapCellImportRow.PROPERTY_NAME);
newForeignKeyColumn("baracoudaCode", MapCellImportRow.PROPERTY_SPECIES, Species.class, Species.PROPERTY_BARACOUDA_CODE, speciesMap);
newForeignKeyColumn(MapCellImportRow.PROPERTY_SIZE_CATEGORY, SizeCategory.class, SizeCategory.PROPERTY_NAME, sizeCategoryMap);
+ newForeignKeyColumn(MapCellImportRow.PROPERTY_AGE_CATEGORY, AgeCategory.class, SizeCategory.PROPERTY_NAME, ageCategoryMap);
newMandatoryColumn(MapCellImportRow.PROPERTY_DATA_GRID_CELL_LONGITUDE, EchobaseCsvUtil.PRIMITIVE_FLOAT);
newMandatoryColumn(MapCellImportRow.PROPERTY_DATA_GRID_CELL_LATITUDE, EchobaseCsvUtil.PRIMITIVE_FLOAT);
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/MapCellImportRow.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/MapCellImportRow.java 2012-03-29 21:44:59 UTC (rev 454)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/MapCellImportRow.java 2012-03-29 21:45:42 UTC (rev 455)
@@ -29,6 +29,7 @@
import fr.ifremer.echobase.entities.data.CellImpl;
import fr.ifremer.echobase.entities.data.Result;
import fr.ifremer.echobase.entities.data.Voyage;
+import fr.ifremer.echobase.entities.references.AgeCategory;
import fr.ifremer.echobase.entities.references.CellType;
import fr.ifremer.echobase.entities.references.SizeCategory;
import fr.ifremer.echobase.entities.references.Species;
@@ -53,6 +54,8 @@
public static final String PROPERTY_SIZE_CATEGORY = "sizeCategory";
+ public static final String PROPERTY_AGE_CATEGORY = "ageCategory";
+
public static final String PROPERTY_DATA_GRID_CELL_LONGITUDE = "gridCellLongitude";
public static final String PROPERTY_DATA_GRID_CELL_LATITUDE = "gridCellLatitude";
@@ -75,6 +78,8 @@
protected SizeCategory sizeCategory;
+ protected AgeCategory ageCategory;
+
protected float gridCellLongitude;
protected float gridCellLatitude;
@@ -108,6 +113,10 @@
return sizeCategory;
}
+ public AgeCategory getAgeCategory() {
+ return ageCategory;
+ }
+
public List<Result> getResult() {
return result;
}
@@ -152,6 +161,10 @@
this.sizeCategory = sizeCategory;
}
+ public void setAgeCategory(AgeCategory ageCategory) {
+ this.ageCategory = ageCategory;
+ }
+
public void setGridCellLongitude(float GridCellLongitude) {
this.gridCellLongitude = GridCellLongitude;
}
Modified: trunk/echobase-services/src/test/resources/import-data/result/map/maps.csv.gz
===================================================================
(Binary files differ)
1
0
r454 - in trunk: echobase-entities/src/main/java/fr/ifremer/echobase/csv echobase-services/src/main/java/fr/ifremer/echobase/services/importdata echobase-services/src/test/java/fr/ifremer/echobase/services/importdata
by tchemit@users.forge.codelutin.com 29 Mar '12
by tchemit@users.forge.codelutin.com 29 Mar '12
29 Mar '12
Author: tchemit
Date: 2012-03-29 23:44:59 +0200 (Thu, 29 Mar 2012)
New Revision: 454
Url: http://forge.codelutin.com/repositories/revision/echobase/454
Log:
compute stesp in import action from number of files lines
Modified:
trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/CsvFileImportResult.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AbstractImportDataService.java
trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/AbstractImportDataServiceIT.java
Modified: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/CsvFileImportResult.java
===================================================================
--- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/CsvFileImportResult.java 2012-03-29 21:25:22 UTC (rev 453)
+++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/CsvFileImportResult.java 2012-03-29 21:44:59 UTC (rev 454)
@@ -72,6 +72,10 @@
return getInteger(numberUpdated, entityType);
}
+ public String getImportFileName() {
+ return importFileName;
+ }
+
public void incrementsNumberCreated(EchoBaseEntityEnum entityType) {
increments(numberCreated, entityType);
}
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-03-29 21:25:22 UTC (rev 453)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AbstractImportDataService.java 2012-03-29 21:44:59 UTC (rev 454)
@@ -48,9 +48,12 @@
import fr.ifremer.echobase.entities.references.SpeciesCategoryDAO;
import fr.ifremer.echobase.services.EchoBaseServiceSupport;
import fr.ifremer.echobase.services.ImportException;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.nuiton.topia.TopiaException;
import org.nuiton.topia.persistence.TopiaDAO;
import org.nuiton.topia.persistence.TopiaEntity;
+import org.nuiton.util.TimeLog;
import org.nuiton.util.csv.ImportRuntimeException;
import java.io.BufferedReader;
@@ -79,10 +82,27 @@
public static final Pattern REMOVE_DOUBLE_QUOTES_PATTERN =
Pattern.compile("\"(.+)\"");
+ /** Logger. */
+ private static final Log log =
+ LogFactory.getLog(AbstractImportDataService.class);
+
+ public static final TimeLog TIME_LOG =
+ new TimeLog(AbstractImportDataService.class);
+
+
public final List<CsvFileImportResult> doImport(M configuration,
EchoBaseUser user) throws ImportException {
+ long s0 = TimeLog.getTime();
+ long nbSteps = configuration.computeNbSteps();
+
+ if (log.isInfoEnabled()) {
+ log.info("Nb lines to import " + nbSteps);
+ }
+
+ TIME_LOG.log(s0, "computeNbSteps");
+
try {
List<CsvFileImportResult> result = startImport(configuration, user);
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/AbstractImportDataServiceIT.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/AbstractImportDataServiceIT.java 2012-03-29 21:25:22 UTC (rev 453)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/AbstractImportDataServiceIT.java 2012-03-29 21:44:59 UTC (rev 454)
@@ -176,22 +176,12 @@
protected <M extends AbstractImportConfiguration, S extends AbstractImportDataService<M>>
List<CsvFileImportResult> doImport(M conf, Class<S> serviceType, int nbResults) throws ImportException {
- long s0 = TimeLog.getTime();
-
- long nbSteps = conf.computeNbSteps();
-
- if (log.isInfoEnabled()) {
- log.info("Nb lines to import " + nbSteps);
- }
-
- TIME_LOG.log(s0, "prepareConfigurationSteps");
-
- s0 = TimeLog.getTime();
-
S service = getService(serviceType);
EchoBaseUser fakeUser = createFakeUser();
+ long s0 = TimeLog.getTime();
+
List<CsvFileImportResult> result = service.doImport(conf, fakeUser);
TIME_LOG.log(s0, "doImport");
@@ -200,6 +190,27 @@
Assert.assertEquals(nbResults, result.size());
assertConfProgressionToEnd(conf);
+ if (log.isInfoEnabled()) {
+ int index = 0;
+ for (CsvFileImportResult importResult : result) {
+
+ StringBuilder resultBuffer =
+ new StringBuilder("Result " + (index++) + " for " + importResult.getImportFileName());
+ for (EchoBaseEntityEnum type : importResult.getEntityTypes()) {
+ resultBuffer.append("\n").append(type.name());
+ int numberCreated = importResult.getNumberCreated(type);
+ int numberUpdated = importResult.getNumberUpdated(type);
+ if (numberCreated > 0) {
+ resultBuffer.append(" ").append(numberCreated).append(" created");
+ }
+ if (numberUpdated > 0) {
+ resultBuffer.append(" ").append(numberUpdated).append(" updated");
+ }
+ }
+ log.info(resultBuffer.toString());
+ }
+ }
+
return result;
}
1
0
29 Mar '12
Author: tchemit
Date: 2012-03-29 23:25:22 +0200 (Thu, 29 Mar 2012)
New Revision: 453
Url: http://forge.codelutin.com/repositories/revision/echobase/453
Log:
refs #1059 (S?\195?\169lectionner un dataProcessing pour l'import des r?\195?\169sultats esdu)
Modified:
trunk/echobase-ui/src/main/resources/config/struts-importData.xml
Modified: trunk/echobase-ui/src/main/resources/config/struts-importData.xml
===================================================================
--- trunk/echobase-ui/src/main/resources/config/struts-importData.xml 2012-03-29 21:24:34 UTC (rev 452)
+++ trunk/echobase-ui/src/main/resources/config/struts-importData.xml 2012-03-29 21:25:22 UTC (rev 453)
@@ -81,6 +81,12 @@
<result type="json"/>
</action>
+ <!-- Get all dataprocessings of a voyage -->
+ <action name="getDataProcessingsForVoyage"
+ class="fr.ifremer.echobase.ui.actions.importData.GetDataProcessingsForVoyage">
+ <result type="json"/>
+ </action>
+
<!-- Create a new mission -->
<action name="createMission"
class="fr.ifremer.echobase.ui.actions.importData.CreateMission">
1
0
29 Mar '12
Author: tchemit
Date: 2012-03-29 23:24:34 +0200 (Thu, 29 Mar 2012)
New Revision: 452
Url: http://forge.codelutin.com/repositories/revision/echobase/452
Log:
fixes #1060 (Faire tous les imports de r?\195?\169sultats esdu en une seule fois) , refs #1059 (S?\195?\169lectionner un dataProcessing pour l'import des r?\195?\169sultats esdu)
Added:
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/GetDataProcessingsForVoyage.java
trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureResults-ConfigureResults-modeEsdu-validation.xml
Removed:
trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureResults-ConfigureResults-modeEsduByEchotype-validation.xml
trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureResults-ConfigureResults-modeEsduByEchotypeAndSpeciesCategory-validation.xml
trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureResults-ConfigureResults-modeEsduBySpeciesAndAgeCategory-validation.xml
trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureResults-ConfigureResults-modeEsduBySpeciesAndSizeCategory-validation.xml
Modified:
trunk/echobase-entities/src/main/java/fr/ifremer/echobase/EchoBaseDecoratorProvider.java
trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/data/CategoryImpl.java
trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/references/SpeciesCategoryImpl.java
trunk/echobase-entities/src/main/xmi/echobase.zargo
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/ResultsImportMode.java
trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsImportService.java
trunk/echobase-services/src/main/resources/i18n/echobase-services_en_GB.properties
trunk/echobase-services/src/main/resources/i18n/echobase-services_fr_FR.properties
trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsEsduCellImportServiceIT.java
trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureResults.java
trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureResults-ConfigureResults-modeVoyage-validation.xml
trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureResults.jsp
trunk/echobase-ui/src/main/webapp/js/gridHelper.js
Modified: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/EchoBaseDecoratorProvider.java
===================================================================
--- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/EchoBaseDecoratorProvider.java 2012-03-29 21:17:47 UTC (rev 451)
+++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/EchoBaseDecoratorProvider.java 2012-03-29 21:24:34 UTC (rev 452)
@@ -213,7 +213,7 @@
registerJXPathDecorator(locale, Species.class, "${genusSpecies}$s (${baracoudaCode}$s)");
// SpeciesCategory decorator
- registerJXPathDecorator(locale, SpeciesCategory.class, "${species/genusSpecies}$s - (size:: ${sizeCategoryName}$s) - (age: ${ageCategoryLabel}$s) - (sex: ${sexCategoryLabel}$s)");
+ registerJXPathDecorator(locale, SpeciesCategory.class, "${species/genusSpecies}$s ${sizeCategoryLabel}$s ${ageCategoryLabel}$s ${sexCategoryLabel}$s");
// Strata decorator
registerJXPathDecorator(locale, Strata.class, "Latitude <${minLatitude}$s - ${maxLatitude}$s>, Longitude <${minLongitude}$s - ${maxLongitude}$s>");
@@ -237,12 +237,11 @@
// Data decorator
registerJXPathDecorator(locale, Data.class, "${dataValue}$s");
- //TODO
// DataAcquisition decorator
- registerJXPathDecorator(locale, DataAcquisition.class, "");
+ registerJXPathDecorator(locale, DataAcquisition.class, "${acousticInstrument/id}$s ");
// DataProcessing decorator
- registerJXPathDecorator(locale, DataProcessing.class, "${id} ");
+ registerJXPathDecorator(locale, DataProcessing.class, "${id}$s");
// Operation decorator
registerJXPathDecorator(locale, Operation.class, "${startDate}$td/%1$tm/%1$tY - ${endDate}$td/%2$tm/%2$tY");
@@ -260,7 +259,7 @@
registerJXPathDecorator(locale, SampleData.class, "${resultvalue}$s");
// Transect decorator
- registerJXPathDecorator(locale, Transect.class, "${title}$s - Vessel ${vessel}$s");
+ registerJXPathDecorator(locale, Transect.class, "${title}$s - Vessel ${vessel/name}$s");
// Transit decorator
registerJXPathDecorator(locale, Transit.class, "${startTime}$td/%1$tm/%1$tY - ${endTime}$td/%2$tm/%2$tY");
Modified: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/data/CategoryImpl.java
===================================================================
--- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/data/CategoryImpl.java 2012-03-29 21:17:47 UTC (rev 451)
+++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/data/CategoryImpl.java 2012-03-29 21:24:34 UTC (rev 452)
@@ -42,13 +42,13 @@
@Override
public String getProcessedAgeLabel() {
return speciesCategory == null || speciesCategory.getAgeCategory() == null ? "" :
- ("ageCategory: " + speciesCategory.getAgeCategoryName());
+ speciesCategory.getAgeCategoryLabel();
}
@Override
public String getProcessedLengthLabel() {
return speciesCategory == null || speciesCategory.getSizeCategory() == null ? "" :
- ("sizeCategory: " + speciesCategory.getSizeCategoryName());
+ speciesCategory.getSizeCategoryLabel();
}
} //CategoryImpl
Modified: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/references/SpeciesCategoryImpl.java
===================================================================
--- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/references/SpeciesCategoryImpl.java 2012-03-29 21:17:47 UTC (rev 451)
+++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/entities/references/SpeciesCategoryImpl.java 2012-03-29 21:24:34 UTC (rev 452)
@@ -25,38 +25,23 @@
public class SpeciesCategoryImpl extends SpeciesCategoryAbstract {
- private static final long serialVersionUID = 4063203856528794213L;
+ private static final long serialVersionUID = 1L;
@Override
- public String getSizeCategoryName() {
- String result;
- if (sizeCategory == null) {
- result = "";
- } else {
- result = sizeCategory.getName();
- }
- return result;
+ public String getSizeCategoryLabel() {
+ return sizeCategory == null ? "" :
+ ("sizeCategory: " + sizeCategory.getName());
}
@Override
- public String getAgeCategoryName() {
- String result;
- if (ageCategory == null) {
- result = "";
- } else {
- result = ageCategory.getName();
- }
- return result;
+ public String getAgeCategoryLabel() {
+ return ageCategory == null ? "" :
+ ("ageCategory: " + ageCategory.getName());
}
@Override
- public String getSexCategoryName() {
- String result;
- if (sexCategory == null) {
- result = "";
- } else {
- result = sexCategory.getName();
- }
- return result;
+ public String getSexCategoryLabel() {
+ return sexCategory == null ? "" :
+ ("sexCategory: " + sexCategory.getName());
}
} //SpeciesCategoryImpl
Modified: trunk/echobase-entities/src/main/xmi/echobase.zargo
===================================================================
(Binary files differ)
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-03-29 21:17:47 UTC (rev 451)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsEsduCellImportService.java 2012-03-29 21:24:34 UTC (rev 452)
@@ -26,7 +26,6 @@
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import fr.ifremer.echobase.EchoBaseFunctions;
-import fr.ifremer.echobase.EchoBaseTechnicalException;
import fr.ifremer.echobase.InputFile;
import fr.ifremer.echobase.csv.CsvFileImportResult;
import fr.ifremer.echobase.csv.EchoBaseImport;
@@ -36,6 +35,7 @@
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.DataProcessing;
import fr.ifremer.echobase.entities.data.Echotype;
import fr.ifremer.echobase.entities.data.Result;
import fr.ifremer.echobase.entities.data.ResultDAO;
@@ -93,8 +93,6 @@
ResultsImportConfiguration configuration,
EchoBaseUser user) throws ImportException {
- ResultsImportMode importMode = configuration.getImportMode();
-
Map<String, Species> speciesMap = getEntitiesMap(
Species.class, EchoBaseFunctions.SPECIES_BARACOUDA_CODE);
@@ -113,83 +111,70 @@
Voyage voyage = getEntityById(Voyage.class,
configuration.getVoyageId());
+ // get selected dataProcessing
+ DataProcessing dataProcessing = getEntityById(DataProcessing.class,
+ configuration.getDataProcessingId());
+
// index all echotypes of thi voyage
Map<String, Echotype> echotypeMap = Maps.uniqueIndex(
voyage.getEchotype(), EchoBaseFunctions.ECHOTYPE_NAME);
+ List<CsvFileImportResult> result = Lists.newLinkedList();
+
InputFile inputFile;
- CsvFileImportResult importResult;
- switch (importMode) {
+ inputFile = configuration.getEsduByEchotypeFile();
+ if (inputFile.hasFile()) {
+ CsvFileImportResult importResult = importByEchotypeFile(
+ configuration,
+ inputFile,
+ voyage,
+ echotypeMap,
+ dataMetadataMap
+ );
+ addResultAndLog(result, inputFile, importResult, user);
+ }
- case ESDU_BY_ECHOTYPE: {
+ inputFile = configuration.getEsduByEchotypeAndSpeciesCategoryFile();
+ if (inputFile.hasFile()) {
+ CsvFileImportResult importResult = importByEchotypeAndSpeciesCategoryFile(
+ configuration,
+ inputFile,
+ voyage,
+ echotypeMap,
+ dataMetadataMap,
+ speciesMap,
+ sizeCategoryMap
+ );
+ addResultAndLog(result, inputFile, importResult, user);
+ }
- inputFile = configuration.getEsduByEchotypeFile();
+ inputFile = configuration.getEsduBySpeciesAndSizeCategoryFile();
+ if (inputFile.hasFile()) {
+ CsvFileImportResult importResult = importBySpeciesAndSizeCategoryFile(
+ configuration,
+ inputFile,
+ voyage,
+ dataMetadataMap,
+ speciesMap,
+ sizeCategoryMap
+ );
+ addResultAndLog(result, inputFile, importResult, user);
+ }
- importResult = importByEchotypeFile(
- configuration,
- inputFile,
- voyage,
- echotypeMap,
- dataMetadataMap
- );
- }
- break;
+ inputFile = configuration.getEsduBySpeciesAndAgeCategoryFile();
- case ESDU_BY_ECHOTYPE_AND_SPECIES_CATEGORY: {
-
- inputFile =
- configuration.getEsduByEchotypeAndSpeciesCategoryFile();
- importResult = importByEchotypeAndSpeciesCategoryFile(
- configuration,
- inputFile,
- voyage,
- echotypeMap,
- dataMetadataMap,
- speciesMap,
- sizeCategoryMap
- );
- }
- break;
-
- case ESDU_BY_SPECIES_AND_SIZE_CATEGORY: {
-
- inputFile =
- configuration.getEsduBySpeciesAndSizeCategoryFile();
- importResult = importBySpeciesAndSizeCategoryFile(
- configuration,
- inputFile,
- voyage,
- dataMetadataMap,
- speciesMap,
- sizeCategoryMap
- );
- }
- break;
-
- case ESDU_BY_SPECIES_AND_AGE_CATEGORY: {
-
- inputFile =
- configuration.getEsduBySpeciesAndAgeCategoryFile();
-
- importResult = importBySpeciesAndAgeCategoryFile(
- configuration,
- inputFile,
- voyage,
- dataMetadataMap,
- speciesMap,
- ageCategoryMap
- );
- }
- break;
- default:
- throw new EchoBaseTechnicalException(
- "Can not use this importMode " + importMode +
- " for this service " + this);
+ if (inputFile.hasFile()) {
+ CsvFileImportResult importResult = importBySpeciesAndAgeCategoryFile(
+ configuration,
+ inputFile,
+ voyage,
+ dataMetadataMap,
+ speciesMap,
+ ageCategoryMap
+ );
+ addResultAndLog(result, inputFile, importResult, user);
}
-
- List<CsvFileImportResult> result = Lists.newLinkedList();
- addResultAndLog(result, inputFile, importResult, user);
return result;
}
@@ -201,7 +186,7 @@
Map<String, DataMetadata> dataMetadataMap) throws ImportException {
if (log.isInfoEnabled()) {
- log.info("Starts import of acoustic result by echotype from file " +
+ log.info("Starts import of esdu result by echotype from file " +
inputFile.getFileName());
}
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-03-29 21:17:47 UTC (rev 451)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsImportConfiguration.java 2012-03-29 21:24:34 UTC (rev 452)
@@ -42,6 +42,9 @@
/** Selected voyage id where to import datas. */
protected String voyageId;
+ /** Selected dataProcessing id where to search esdu or elementary cells. */
+ protected String dataProcessingId;
+
/** Selected vessel id to find out transect where to import datas. */
protected String vesselId;
@@ -125,6 +128,14 @@
this.vesselId = vesselId;
}
+ public String getDataProcessingId() {
+ return dataProcessingId;
+ }
+
+ public void setDataProcessingId(String dataProcessingId) {
+ this.dataProcessingId = dataProcessingId;
+ }
+
public ResultsImportMode getImportMode() {
return importMode;
}
@@ -185,6 +196,21 @@
return esduBySpeciesAndAgeCategoryFile;
}
+ public boolean isOneEsduImportFile() {
+ return esduByEchotypeFile.hasFile() ||
+ esduByEchotypeAndSpeciesCategoryFile.hasFile() ||
+ esduBySpeciesAndSizeCategoryFile.hasFile() ||
+ esduBySpeciesAndAgeCategoryFile.hasFile();
+
+ }
+
+ public boolean isOneVoyageImportFile() {
+ return echotypeFile.hasFile() ||
+ lengthAgeKeyFile.hasFile() ||
+ lengthWeightKeyFile.hasFile();
+
+ }
+
@Override
public InputFile[] getInputFiles() {
return new InputFile[]{regionsFile, regionAssociationFile,
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsImportMode.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsImportMode.java 2012-03-29 21:17:47 UTC (rev 451)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsImportMode.java 2012-03-29 21:24:34 UTC (rev 452)
@@ -45,17 +45,8 @@
MAP(n_("echobase.common.resultsImportMode.map")),
/** Import esdu results by echotype. */
- ESDU_BY_ECHOTYPE(n_("echobase.common.resultsImportMode.esdu.byEchotype")),
+ ESDU(n_("echobase.common.resultsImportMode.esdu"));
- /** Import esdu results by echotype and species category. */
- ESDU_BY_ECHOTYPE_AND_SPECIES_CATEGORY(n_("echobase.common.resultsImportMode.esdu.byEchotypeAndSpeciesCategory")),
-
- /** Import esdu results by species and size category. */
- ESDU_BY_SPECIES_AND_SIZE_CATEGORY(n_("echobase.common.resultsImportMode.esdu.bySpeciesAndSizeCategory")),
-
- /** Import esdu results by species and age category. */
- ESDU_BY_SPECIES_AND_AGE_CATEGORY(n_("echobase.common.resultsImportMode.esdu.bySpeciesAndAgeCategory"));
-
private final String i18nKey;
ResultsImportMode(String i18nKey) {
Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsImportService.java
===================================================================
--- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsImportService.java 2012-03-29 21:17:47 UTC (rev 451)
+++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsImportService.java 2012-03-29 21:24:34 UTC (rev 452)
@@ -23,12 +23,21 @@
*/
package fr.ifremer.echobase.services.importdata;
+import com.google.common.collect.Maps;
import fr.ifremer.echobase.EchoBaseTechnicalException;
import fr.ifremer.echobase.csv.CsvFileImportResult;
import fr.ifremer.echobase.entities.EchoBaseUser;
+import fr.ifremer.echobase.entities.data.DataAcquisition;
+import fr.ifremer.echobase.entities.data.DataProcessing;
+import fr.ifremer.echobase.entities.data.Transect;
+import fr.ifremer.echobase.entities.data.Transit;
+import fr.ifremer.echobase.entities.data.Voyage;
+import fr.ifremer.echobase.services.DecoratorService;
import fr.ifremer.echobase.services.ImportException;
+import org.nuiton.util.decorator.Decorator;
import java.util.List;
+import java.util.Map;
import static org.nuiton.i18n.I18n.l_;
@@ -59,10 +68,7 @@
service = getService(ResultsVoyageImportService.class);
break;
- case ESDU_BY_ECHOTYPE:
- case ESDU_BY_ECHOTYPE_AND_SPECIES_CATEGORY:
- case ESDU_BY_SPECIES_AND_SIZE_CATEGORY:
- case ESDU_BY_SPECIES_AND_AGE_CATEGORY:
+ case ESDU:
service = getService(ResultsEsduCellImportService.class);
break;
@@ -86,4 +92,48 @@
return result;
}
+ public Map<String, String> getDataProcessings(Voyage voyage) {
+
+ Map<String, String> result = Maps.newLinkedHashMap();
+
+ DecoratorService service = getService(DecoratorService.class);
+
+ Decorator<Transit> transitDecorator = service.getDecorator(getLocale(), Transit.class, null);
+ Decorator<Transect> transectDecorator = service.getDecorator(getLocale(), Transect.class, null);
+ Decorator<DataAcquisition> dataAcquisitionDecorator = service.getDecorator(getLocale(), DataAcquisition.class, null);
+ Decorator<DataProcessing> dataProcessingDecorator = service.getDecorator(getLocale(), DataProcessing.class, null);
+
+ if (!voyage.isTransitEmpty()) {
+
+ for (Transit transit : voyage.getTransit()) {
+
+ String transitStr = transitDecorator.toString(transit);
+
+ if (!transit.isTransectEmpty()) {
+ for (Transect transect : transit.getTransect()) {
+
+ String transectStr = transitStr + " / " + transectDecorator.toString(transect);
+
+ if (!transect.isDataAcquisitionEmpty()) {
+
+ for (DataAcquisition dataAcquisition : transect.getDataAcquisition()) {
+
+ String dataAcquisitionStr = transectStr + " / " + dataAcquisitionDecorator.toString(dataAcquisition);
+
+
+ if (!dataAcquisition.isDataProcessingEmpty()) {
+ for (DataProcessing dataProcessing : dataAcquisition.getDataProcessing()) {
+
+ String value = dataAcquisitionStr + dataProcessingDecorator.toString(dataProcessing);
+ result.put(dataProcessing.getTopiaId(), value);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ return result;
+ }
}
Modified: trunk/echobase-services/src/main/resources/i18n/echobase-services_en_GB.properties
===================================================================
--- trunk/echobase-services/src/main/resources/i18n/echobase-services_en_GB.properties 2012-03-29 21:17:47 UTC (rev 451)
+++ trunk/echobase-services/src/main/resources/i18n/echobase-services_en_GB.properties 2012-03-29 21:24:34 UTC (rev 452)
@@ -25,10 +25,7 @@
echobase.common.moviesFile=
echobase.common.operationFile=
echobase.common.operationMetadataFile=
-echobase.common.resultsImportMode.esdu.byEchotype=
-echobase.common.resultsImportMode.esdu.byEchotypeAndSpeciesCategory=
-echobase.common.resultsImportMode.esdu.bySpeciesAndAgeCategory=
-echobase.common.resultsImportMode.esdu.bySpeciesAndSizeCategory=
+echobase.common.resultsImportMode.esdu=
echobase.common.resultsImportMode.map=
echobase.common.resultsImportMode.region=
echobase.common.resultsImportMode.voyage=
Modified: trunk/echobase-services/src/main/resources/i18n/echobase-services_fr_FR.properties
===================================================================
--- trunk/echobase-services/src/main/resources/i18n/echobase-services_fr_FR.properties 2012-03-29 21:17:47 UTC (rev 451)
+++ trunk/echobase-services/src/main/resources/i18n/echobase-services_fr_FR.properties 2012-03-29 21:24:34 UTC (rev 452)
@@ -9,10 +9,10 @@
echobase.common.commonDataImportMode.all=Import Voyage / Transit / Transects
echobase.common.commonDataImportMode.transect=Import Transects
echobase.common.echotypeFile=Fichier echotype
-echobase.common.esduByEchotypeAndSpeciesCategoryFile=Fichier d'import
-echobase.common.esduByEchotypeFile=Fichier d'import
-echobase.common.esduBySpeciesAndAgeCategoryFile=Fichier d'import
-echobase.common.esduBySpeciesAndSizeCategoryFile=Fichier d'import
+echobase.common.esduByEchotypeAndSpeciesCategoryFile=Fichier ESDU / Echotype / Catégorie Espèce
+echobase.common.esduByEchotypeFile=Fichier ESDU / Echotype
+echobase.common.esduBySpeciesAndAgeCategoryFile=Fichier ESDU / Espèce / Catégorie Age
+echobase.common.esduBySpeciesAndSizeCategoryFile=Fichier ESDU / Espèce / Catégorie Taille
echobase.common.gearMetadataFile=Fichier Méta-données d'engin
echobase.common.importDataMode.accousticData=Import des données accoustiques
echobase.common.importDataMode.catchesData=Import des données de pêche
@@ -25,10 +25,7 @@
echobase.common.moviesFile=Fichier Movies
echobase.common.operationFile=Fichier Opérations
echobase.common.operationMetadataFile=Fichier Méta-données opération
-echobase.common.resultsImportMode.esdu.byEchotype=Import des résultats de cellule esdu par echotype
-echobase.common.resultsImportMode.esdu.byEchotypeAndSpeciesCategory=Import des résultats de cellule esdu par echotype et catégorie d'espèce
-echobase.common.resultsImportMode.esdu.bySpeciesAndAgeCategory=Import des résultats de cellule esdu par espèce et catégorie d'age
-echobase.common.resultsImportMode.esdu.bySpeciesAndSizeCategory=Import des résultats de cellule esdu par espèce et catégorie de taille
+echobase.common.resultsImportMode.esdu=Import des résultats de cellules de type esdu
echobase.common.resultsImportMode.map=Import des cellules de type Carte
echobase.common.resultsImportMode.region=Import des cellules de type Région
echobase.common.resultsImportMode.voyage=Import des résultats du voyage
Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsEsduCellImportServiceIT.java
===================================================================
--- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsEsduCellImportServiceIT.java 2012-03-29 21:17:47 UTC (rev 451)
+++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsEsduCellImportServiceIT.java 2012-03-29 21:24:34 UTC (rev 452)
@@ -67,7 +67,7 @@
conf.setResultLabel("resultLabel");
conf.setVoyageId(getVoyageId());
- conf.setImportMode(ResultsImportMode.ESDU_BY_ECHOTYPE);
+ conf.setImportMode(ResultsImportMode.ESDU);
InputFile inputFile = conf.getEsduByEchotypeFile();
prepareInputFile(inputFile, getImportPath("byEchotype.csv.gz"));
@@ -96,7 +96,7 @@
conf.setResultLabel("resultLabel");
conf.setVoyageId(getVoyageId());
- conf.setImportMode(ResultsImportMode.ESDU_BY_ECHOTYPE_AND_SPECIES_CATEGORY);
+ conf.setImportMode(ResultsImportMode.ESDU);
InputFile inputFile = conf.getEsduByEchotypeAndSpeciesCategoryFile();
prepareInputFile(inputFile,
@@ -125,7 +125,7 @@
conf.setResultLabel("resultLabel");
conf.setVoyageId(getVoyageId());
- conf.setImportMode(ResultsImportMode.ESDU_BY_SPECIES_AND_SIZE_CATEGORY);
+ conf.setImportMode(ResultsImportMode.ESDU);
InputFile intputFile = conf.getEsduBySpeciesAndSizeCategoryFile();
prepareInputFile(intputFile,
@@ -157,7 +157,7 @@
conf.setResultLabel("resultLabel");
conf.setVoyageId(getVoyageId());
- conf.setImportMode(ResultsImportMode.ESDU_BY_SPECIES_AND_AGE_CATEGORY);
+ conf.setImportMode(ResultsImportMode.ESDU);
InputFile inputFile = conf.getEsduBySpeciesAndAgeCategoryFile();
prepareInputFile(inputFile,
Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureResults.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureResults.java 2012-03-29 21:17:47 UTC (rev 451)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureResults.java 2012-03-29 21:24:34 UTC (rev 452)
@@ -89,30 +89,12 @@
}
@InputConfig(methodName = "input")
- public String modeEsduByEchotype() throws Exception {
+ public String modeEsdu() throws Exception {
return execute();
}
@InputConfig(methodName = "input")
- public String modeEsduByEchotypeAndSpeciesCategory() throws Exception {
-
- return execute();
- }
-
- @InputConfig(methodName = "input")
- public String modeEsduBySpeciesAndSizeCategory() throws Exception {
-
- return execute();
- }
-
- @InputConfig(methodName = "input")
- public String modeEsduBySpeciesAndAgeCategory() throws Exception {
-
- return execute();
- }
-
- @InputConfig(methodName = "input")
public String modeRegion() throws Exception {
return execute();
Added: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/GetDataProcessingsForVoyage.java
===================================================================
--- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/GetDataProcessingsForVoyage.java (rev 0)
+++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/GetDataProcessingsForVoyage.java 2012-03-29 21:24:34 UTC (rev 452)
@@ -0,0 +1,80 @@
+/*
+ * #%L
+ * EchoBase :: UI
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2011 - 2012 Ifremer, Codelutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+package fr.ifremer.echobase.ui.actions.importData;
+
+import com.google.common.base.Preconditions;
+import com.google.common.collect.Maps;
+import fr.ifremer.echobase.entities.data.Voyage;
+import fr.ifremer.echobase.services.importdata.ResultsImportService;
+import fr.ifremer.echobase.ui.actions.EchoBaseActionSupport;
+import org.apache.commons.lang3.StringUtils;
+
+import java.util.Map;
+
+/**
+ * Gets all dataProcessings of the selected voyage.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 0.4
+ */
+public class GetDataProcessingsForVoyage extends EchoBaseActionSupport {
+
+ private static final long serialVersionUID = 1L;
+
+ /** Selected voyage id. */
+ protected String voyageId;
+
+ protected Map<String, String> dataProcessings;
+
+ public void setVoyageId(String voyageId) {
+ this.voyageId = voyageId;
+ }
+
+ public Map<String, String> getDataProcessings() {
+ return dataProcessings;
+ }
+
+ @Override
+ public String execute() throws Exception {
+
+ if (StringUtils.isEmpty(voyageId)) {
+ dataProcessings = Maps.newLinkedHashMap();
+
+ } else {
+
+ ResultsImportService service =
+ newService(ResultsImportService.class);
+
+ Voyage voyage = service.getEntityById(Voyage.class, voyageId);
+
+ Preconditions.checkNotNull(
+ voyage,
+ "Could not find voyage with id " + voyageId);
+
+ dataProcessings = service.getDataProcessings(voyage);
+ }
+
+ return SUCCESS;
+ }
+}
\ No newline at end of file
Property changes on: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/GetDataProcessingsForVoyage.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Copied: trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureResults-ConfigureResults-modeEsdu-validation.xml (from rev 438, trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureResults-ConfigureResults-modeEsduByEchotype-validation.xml)
===================================================================
--- trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureResults-ConfigureResults-modeEsdu-validation.xml (rev 0)
+++ trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureResults-ConfigureResults-modeEsdu-validation.xml 2012-03-29 21:24:34 UTC (rev 452)
@@ -0,0 +1,53 @@
+<!--
+ #%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%
+ -->
+<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.3//EN"
+ "http://www.opensymphony.com/xwork/xwork-validator-1.0.3.dtd">
+<validators>
+
+ <field name="model.voyageId">
+ <field-validator type="nrequiredstring">
+ <message key="echobase.error.import.voyage.required"/>
+ </field-validator>
+ </field>
+
+ <field name="model.dataProcessingId">
+ <field-validator type="nrequiredstring">
+ <message key="echobase.error.import.dataProcessing.required"/>
+ </field-validator>
+ </field>
+
+ <field name="model.resultLabel">
+ <field-validator type="nrequiredstring">
+ <message key="echobase.error.import.resultLabel.required"/>
+ </field-validator>
+ </field>
+
+ <field name="esduByEchotypeFile">
+ <field-validator type="nfieldexpression">
+ <param name="expression">model.oneEsduImportFile</param>
+ <message key="echobase.error.import.resultImportFile.required"/>
+ </field-validator>
+ </field>
+
+</validators>
\ No newline at end of file
Property changes on: trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureResults-ConfigureResults-modeEsdu-validation.xml
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Deleted: trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureResults-ConfigureResults-modeEsduByEchotype-validation.xml
===================================================================
--- trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureResults-ConfigureResults-modeEsduByEchotype-validation.xml 2012-03-29 21:17:47 UTC (rev 451)
+++ trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureResults-ConfigureResults-modeEsduByEchotype-validation.xml 2012-03-29 21:24:34 UTC (rev 452)
@@ -1,47 +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%
- -->
-<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.3//EN"
- "http://www.opensymphony.com/xwork/xwork-validator-1.0.3.dtd">
-<validators>
-
- <field name="model.voyageId">
- <field-validator type="nrequiredstring">
- <message key="echobase.error.import.voyage.required"/>
- </field-validator>
- </field>
-
- <field name="model.resultLabel">
- <field-validator type="nrequiredstring">
- <message key="echobase.error.import.resultLabel.required"/>
- </field-validator>
- </field>
-
- <field name="esduByEchotypeFile">
- <field-validator type="nfieldexpression">
- <param name="expression">model.esduByEchotypeFile.file!=null</param>
- <message key="echobase.error.import.esduByEchotypeFile.required"/>
- </field-validator>
- </field>
-
-</validators>
\ No newline at end of file
Deleted: trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureResults-ConfigureResults-modeEsduByEchotypeAndSpeciesCategory-validation.xml
===================================================================
--- trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureResults-ConfigureResults-modeEsduByEchotypeAndSpeciesCategory-validation.xml 2012-03-29 21:17:47 UTC (rev 451)
+++ trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureResults-ConfigureResults-modeEsduByEchotypeAndSpeciesCategory-validation.xml 2012-03-29 21:24:34 UTC (rev 452)
@@ -1,50 +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%
- -->
-<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.3//EN"
- "http://www.opensymphony.com/xwork/xwork-validator-1.0.3.dtd">
-<validators>
-
- <field name="model.voyageId">
- <field-validator type="nrequiredstring">
- <message key="echobase.error.import.voyage.required"/>
- </field-validator>
- </field>
-
- <field name="model.resultLabel">
- <field-validator type="nrequiredstring">
- <message key="echobase.error.import.resultLabel.required"/>
- </field-validator>
- </field>
-
- <field name="esduByEchotypeAndSpeciesCategoryFile">
- <field-validator type="nfieldexpression">
- <param name="expression">
- model.esduByEchotypeAndSpeciesCategoryFile.file!=null
- </param>
- <message
- key="echobase.error.import.esduByEchotypeAndSpeciesCategoryFile.required"/>
- </field-validator>
- </field>
-
-</validators>
\ No newline at end of file
Deleted: trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureResults-ConfigureResults-modeEsduBySpeciesAndAgeCategory-validation.xml
===================================================================
--- trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureResults-ConfigureResults-modeEsduBySpeciesAndAgeCategory-validation.xml 2012-03-29 21:17:47 UTC (rev 451)
+++ trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureResults-ConfigureResults-modeEsduBySpeciesAndAgeCategory-validation.xml 2012-03-29 21:24:34 UTC (rev 452)
@@ -1,50 +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%
- -->
-<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.3//EN"
- "http://www.opensymphony.com/xwork/xwork-validator-1.0.3.dtd">
-<validators>
-
- <field name="model.voyageId">
- <field-validator type="nrequiredstring">
- <message key="echobase.error.import.voyage.required"/>
- </field-validator>
- </field>
-
- <field name="model.resultLabel">
- <field-validator type="nrequiredstring">
- <message key="echobase.error.import.resultLabel.required"/>
- </field-validator>
- </field>
-
- <field name="esduBySpeciesAndAgeCategoryFile">
- <field-validator type="nfieldexpression">
- <param name="expression">
- model.esduBySpeciesAndAgeCategoryFile.file!=null
- </param>
- <message
- key="echobase.error.import.esduBySpeciesAndAgeCategoryFile.required"/>
- </field-validator>
- </field>
-
-</validators>
\ No newline at end of file
Deleted: trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureResults-ConfigureResults-modeEsduBySpeciesAndSizeCategory-validation.xml
===================================================================
--- trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureResults-ConfigureResults-modeEsduBySpeciesAndSizeCategory-validation.xml 2012-03-29 21:17:47 UTC (rev 451)
+++ trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureResults-ConfigureResults-modeEsduBySpeciesAndSizeCategory-validation.xml 2012-03-29 21:24:34 UTC (rev 452)
@@ -1,50 +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%
- -->
-<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.3//EN"
- "http://www.opensymphony.com/xwork/xwork-validator-1.0.3.dtd">
-<validators>
-
- <field name="model.voyageId">
- <field-validator type="nrequiredstring">
- <message key="echobase.error.import.voyage.required"/>
- </field-validator>
- </field>
-
- <field name="model.resultLabel">
- <field-validator type="nrequiredstring">
- <message key="echobase.error.import.resultLabel.required"/>
- </field-validator>
- </field>
-
- <field name="esduBySpeciesAndSizeCategoryFile">
- <field-validator type="nfieldexpression">
- <param name="expression">
- model.esduBySpeciesAndSizeCategoryFile.file!=null
- </param>
- <message
- key="echobase.error.import.esduBySpeciesAndSizeCategoryFile.required"/>
- </field-validator>
- </field>
-
-</validators>
\ No newline at end of file
Modified: trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureResults-ConfigureResults-modeVoyage-validation.xml
===================================================================
--- trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureResults-ConfigureResults-modeVoyage-validation.xml 2012-03-29 21:17:47 UTC (rev 451)
+++ trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureResults-ConfigureResults-modeVoyage-validation.xml 2012-03-29 21:24:34 UTC (rev 452)
@@ -33,9 +33,7 @@
<field name="lengthAgeKeyFile">
<field-validator type="nfieldexpression">
- <param name="expression">model.lengthAgeKeyFile.file!=null ||
- model.lengthWeightKeyFile.file!=null || model.echotypeFile.file!=null
- </param>
+ <param name="expression">model.oneVoyageImportFile</param>
<message key="echobase.error.import.resultImportFile.required"/>
</field-validator>
</field>
Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureResults.jsp
===================================================================
--- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureResults.jsp 2012-03-29 21:17:47 UTC (rev 451)
+++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureResults.jsp 2012-03-29 21:24:34 UTC (rev 452)
@@ -28,6 +28,9 @@
Configuration <s:text name="echobase.common.importDataMode.results"/>
</title>
+<script type="text/javascript"
+ src="<s:url value='/js/gridHelper.js' />"></script>
+
<script type="text/javascript">
jQuery(document).ready(function () {
@@ -42,6 +45,14 @@
// show incoming mode
var incomingVal = $('[name="model.importMode"][checked="checked"]').val();
$('#' + incomingVal).show();
+
+ $.autoSelectVoyageAndDataProcessing(
+ $('#voyageSelectBox'),
+ $('#dataProcessingSelectBox'),
+ '<s:url action="getDataProcessingsForVoyage" namespace="/importData"/>',
+ '<s:property value="model.voyageId"/>',
+ '<s:property value="model.dataProcessingId"/>'
+ );
});
</script>
@@ -77,7 +88,7 @@
<s:submit action="ConfigureResults-modeVoyage" key='echobase.action.import'/>
</s:form>
-<s:form id="ESDU_BY_ECHOTYPE" namespace="/importData" method="POST"
+<s:form id="ESDU" namespace="/importData" method="POST"
enctype="multipart/form-data" cssClass="hidden importMode">
<fieldset>
@@ -85,99 +96,33 @@
<s:text name="echobase.legend.importData.configure"/>
</legend>
- <s:hidden key="model.importMode" value="ESDU_BY_ECHOTYPE" label=''/>
+ <s:hidden key="model.importMode" value="ESDU" label=''/>
- <s:select key="model.voyageId" required="true"
+ <s:select id='voyageSelectBox' key="model.voyageId" required="true"
label='%{getText("echobase.common.voyage")}'
list="voyages" headerKey="" headerValue=""/>
+ <sj:select id='dataProcessingSelectBox' key="model.dataProcessingId"
+ required="true"
+ label='%{getText("echobase.common.dataProcessing")}'/>
+
<s:textfield key="model.resultLabel" size="40" required="true"
label='%{getText("echobase.common.resultLabel")}'/>
<s:file key="esduByEchotypeFile" required="true"
label='%{getText("echobase.common.esduByEchotypeFile")}'/>
- </fieldset>
- <br/>
- <s:submit action="ConfigureResults-modeEsduByEchotype"
- key='echobase.action.import'/>
-</s:form>
-<s:form id="ESDU_BY_ECHOTYPE_AND_SPECIES_CATEGORY" cssClass="hidden importMode"
- namespace="/importData" method="POST" enctype="multipart/form-data">
-
- <fieldset>
- <legend>
- <s:text name="echobase.legend.importData.configure"/>
- </legend>
-
- <s:hidden key="model.importMode"
- value="ESDU_BY_ECHOTYPE_AND_SPECIES_CATEGORY" label=''/>
-
- <s:select key="model.voyageId" required="true"
- label='%{getText("echobase.common.voyage")}'
- list="voyages" headerKey="" headerValue=""/>
-
- <s:textfield key="model.resultLabel" size="40" required="true"
- label='%{getText("echobase.common.resultLabel")}'/>
-
<s:file key="esduByEchotypeAndSpeciesCategoryFile" required="true"
label='%{getText("echobase.common.esduByEchotypeAndSpeciesCategoryFile")}'/>
- </fieldset>
- <br/>
- <s:submit action="ConfigureResults-modeEsduByEchotypeAndSpeciesCategory"
- key='echobase.action.import'/>
-</s:form>
-<s:form id="ESDU_BY_SPECIES_AND_SIZE_CATEGORY" enctype="multipart/form-data"
- namespace="/importData" method="POST" cssClass="hidden importMode">
-
- <fieldset>
- <legend>
- <s:text name="echobase.legend.importData.configure"/>
- </legend>
-
- <s:hidden key="model.importMode"
- value="ESDU_BY_SPECIES_AND_SIZE_CATEGORY" label=''/>
-
- <s:select key="model.voyageId" required="true"
- label='%{getText("echobase.common.voyage")}'
- list="voyages" headerKey="" headerValue=""/>
-
- <s:textfield key="model.resultLabel" size="40" required="true"
- label='%{getText("echobase.common.resultLabel")}'/>
-
<s:file key="esduBySpeciesAndSizeCategoryFile" required="true"
label='%{getText("echobase.common.esduBySpeciesAndSizeCategoryFile")}'/>
- </fieldset>
- <br/>
- <s:submit action="ConfigureResults-modeEsduBySpeciesAndSizeCategory"
- key='echobase.action.import'/>
-</s:form>
-<s:form id="ESDU_BY_SPECIES_AND_AGE_CATEGORY" cssClass="hidden importMode"
- namespace="/importData" method="POST" enctype="multipart/form-data">
-
- <fieldset>
- <legend>
- <s:text name="echobase.legend.importData.configure"/>
- </legend>
-
- <s:hidden key="model.importMode"
- value="ESDU_BY_SPECIES_AND_AGE_CATEGORY" label=''/>
-
- <s:select key="model.voyageId" required="true"
- label='%{getText("echobase.common.voyage")}'
- list="voyages" headerKey="" headerValue=""/>
-
- <s:textfield key="model.resultLabel" size="40" required="true"
- label='%{getText("echobase.common.resultLabel")}'/>
-
<s:file key="esduBySpeciesAndAgeCategoryFile" required="true"
label='%{getText("echobase.common.esduBySpeciesAndAgeCategoryFile")}'/>
</fieldset>
<br/>
- <s:submit action="ConfigureResults-modeEsduBySpeciesAndAgeCategory"
- key='echobase.action.import'/>
+ <s:submit action="ConfigureResults-modeEsdu" key='echobase.action.import'/>
</s:form>
<s:form id="REGION" namespace="/importData" method="POST"
Modified: trunk/echobase-ui/src/main/webapp/js/gridHelper.js
===================================================================
--- trunk/echobase-ui/src/main/webapp/js/gridHelper.js 2012-03-29 21:17:47 UTC (rev 451)
+++ trunk/echobase-ui/src/main/webapp/js/gridHelper.js 2012-03-29 21:24:34 UTC (rev 452)
@@ -56,8 +56,7 @@
addAddRowTopic:function (gridId, url) {
$.subscribe(gridId + '-rowAdd', function (event) {
- var url = event.data.url;
- window.location = url;
+ window.location = event.data.url;
}, {id:gridId, url:url});
},
@@ -68,13 +67,13 @@
if (opts && opts['selectedRow']) {
var selectedId = opts['selectedRow'];
var parameterName = event.data.parameterName;
- var params = {}
+ var params = {};
params[parameterName] = selectedId;
- var url = $.prepareUrl(event.data.url, params);
- window.location = url;
+ window.location = $.prepareUrl(event.data.url, params);
}
}, {id:gridId, url:url, parameterName:parameterName});
},
+
addMultiRowTopic:function (gridId, action, target, checkboxName, callback) {
$.subscribe(gridId + '-row' + action, function (event) {
var gridId = event.data.id;
@@ -169,12 +168,12 @@
},
// auto-selection des voyages - vessel
- autoSelectVoyageAndVessel:function (voyageSelectBox, vesselSelectBox, getVesselsUrl, voyageId, vesselId) {
+ autoSelectVoyageAndVessel:function (voyageSelectBox, vesselSelectBox, getUrl, voyageId, vesselId) {
voyageSelectBox.change({vesselSelectBox:vesselSelectBox,
- getVesselsUrl:getVesselsUrl}, function (event) {
+ getUrl:getUrl}, function (event) {
- $.updateSelectBoxContent(event.data.getVesselsUrl,
+ $.updateSelectBoxContent(event.data.getUrl,
{voyageId:this.value},
'vessels',
event.data.vesselSelectBox
@@ -185,7 +184,7 @@
voyageSelectBox.change(voyageId);
- $.updateSelectBoxContent(getVesselsUrl,
+ $.updateSelectBoxContent(getUrl,
{voyageId:voyageId},
'vessels',
vesselSelectBox, function () {
@@ -197,6 +196,37 @@
}
);
}
+ },
+
+ // auto-selection des voyages - dataProcessing
+ autoSelectVoyageAndDataProcessing:function (voyageSelectBox, datapPocessingSelectBox, getUrl, voyageId, dataProcessingId) {
+
+ voyageSelectBox.change({datapPocessingSelectBox:datapPocessingSelectBox,
+ getUrl:getUrl}, function (event) {
+
+ $.updateSelectBoxContent(event.data.getUrl,
+ {voyageId:this.value},
+ 'dataProcessings',
+ event.data.datapPocessingSelectBox
+ );
+ });
+
+ if (voyageId) {
+
+ voyageSelectBox.change(voyageId);
+
+ $.updateSelectBoxContent(getUrl,
+ {voyageId:voyageId},
+ 'dataProcessings',
+ datapPocessingSelectBox, function () {
+
+ if (dataProcessingId) {
+
+ datapPocessingSelectBox.val(dataProcessingId);
+ }
+ }
+ );
+ }
}
});
@@ -232,8 +262,11 @@
addEvenAndOddClasses:function (gridId) {
return $(document).addEvenAndOddClasses(gridId);
},
- autoSelectVoyageAndVessel:function (voyageSelectBox, vesselSelectBox, getVesselsUrl, voyageId, vesselId) {
- return $(document).autoSelectVoyageAndVessel(voyageSelectBox, vesselSelectBox, getVesselsUrl, voyageId, vesselId);
+ autoSelectVoyageAndVessel:function (voyageSelectBox, vesselSelectBox, getUrl, voyageId, vesselId) {
+ return $(document).autoSelectVoyageAndVessel(voyageSelectBox, vesselSelectBox, getUrl, voyageId, vesselId);
+ },
+ autoSelectVoyageAndDataProcessing:function (voyageSelectBox, dataProcessingSelectBox, getUrl, voyageId, dataProcessingId) {
+ return $(document).autoSelectVoyageAndDataProcessing(voyageSelectBox, dataProcessingSelectBox, getUrl, voyageId, dataProcessingId);
}
});
})(jQuery);
1
0
r451 - trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData
by tchemit@users.forge.codelutin.com 29 Mar '12
by tchemit@users.forge.codelutin.com 29 Mar '12
29 Mar '12
Author: tchemit
Date: 2012-03-29 23:17:47 +0200 (Thu, 29 Mar 2012)
New Revision: 451
Url: http://forge.codelutin.com/repositories/revision/echobase/451
Log:
fixes #1057 (Probl?\195?\168me lors de l'affichage d'un import acoustique)
Added:
trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureAcousticData.jsp
Removed:
trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureAccousticData.jsp
Deleted: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureAccousticData.jsp
===================================================================
--- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureAccousticData.jsp 2012-03-29 12:18:57 UTC (rev 450)
+++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureAccousticData.jsp 2012-03-29 21:17:47 UTC (rev 451)
@@ -1,129 +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" %>
-<%@ taglib prefix="sj" uri="/struts-jquery-tags" %>
-<script type="text/javascript"
- src="<s:url value='/js/gridHelper.js' />"></script>
-
-<title>
- Configuration <s:text name="echobase.common.importDataMode.accousticData"/>
-</title>
-
-<script type="text/javascript">
-
-
- jQuery(document).ready(function () {
-
- $.autoSelectVoyageAndVessel(
- $('[name="model.voyageId"]'),
- $('[name="model.vesselId"]'),
- '<s:url action="getVesselsForVoyage" namespace="/importData"/>',
- '<s:property value="model.voyageId"/>',
- '<s:property value="model.vesselId"/>'
- );
- });
-</script>
-
-<s:form namespace="/importData" method="POST" enctype="multipart/form-data">
-
- <fieldset>
- <legend>
- <s:text name="echobase.legend.importData.configure"/>
- </legend>
-
- <s:select key="model.voyageId" required="true"
- label='%{getText("echobase.common.voyage")}'
- list="voyages" headerKey="" headerValue=""/>
-
- <sj:select key="model.vesselId" required="true"
- label='%{getText("echobase.common.vessel")}'/>
-
- <s:select key="model.cellPositionReference" required="true"
- label='%{getText("echobase.common.cellPositionReference")}'
- list="cellPositionReferences" headerKey="" headerValue=""/>
-
- <s:checkbox key="model.addDataAcquisition" required="true"
- label='%{getText("echobase.common.addDataAcquisition")}'/>
-
- <s:textfield key="model.transceiverAcquisitionAbsorptionDescription"
- size="100" required="true"
- label='%{getText("echobase.common.transceiverAcquisitionAbsorptionDescription")}'/>
-
- <s:textfield key="model.acquisitionSoftwareVersionER60" size="100"
- required="true"
- label='%{getText("echobase.common.acquisitionSoftwareVersionER60")}'/>
-
- <s:textfield key="model.acquisitionSoftwareVersionME70" size="100"
- required="true"
- label='%{getText("echobase.common.acquisitionSoftwareVersionME70")}'/>
-
- <s:textfield key="model.loggedDataFormat" size="100" required="true"
- label='%{getText("echobase.common.loggedDataFormat")}'/>
-
- <s:textfield key="model.loggedDataDatatype" size="100" required="true"
- label='%{getText("echobase.common.loggedDataDatatype")}'/>
-
- <s:textfield key="model.pingDutyCycle" size="100" required="true"
- label='%{getText("echobase.common.pingDutyCycle")}'/>
-
- <%--<s:textfield key="model.echosounderSoundSpeed" size="100" required="true"--%>
- <%--label='%{getText("echobase.common.echosounderSoundSpeed")}'/>--%>
-
- <s:textfield key="model.soundSpeedCalculationsER60" size="100"
- required="true"
- label='%{getText("echobase.common.soundSpeedCalculationsER60")}'/>
-
- <s:textfield key="model.soundSpeedCalculationsME70" size="100"
- required="true"
- label='%{getText("echobase.common.soundSpeedCalculationsME70")}'/>
-
- <s:textfield key="model.sounderConstant" size="100" required="true"
- label='%{getText("echobase.common.sounderConstant")}'/>
-
- <s:textfield key="model.processingTemplate" size="100" required="true"
- label='%{getText("echobase.common.processingTemplate")}'/>
-
- <s:textfield key="model.processingDescription" size="100" required="true"
- label='%{getText("echobase.common.processingDescription")}'/>
-
- <s:textfield key="model.digitThreshold" size="100" required="true"
- label='%{getText("echobase.common.digitThreshold")}'/>
-
- <s:textfield key="model.acousticDensityUnit" size="100" required="true"
- label='%{getText("echobase.common.acousticDensityUnit")}'/>
-
- <s:textfield key="model.notes" size="100" required="true"
- label='%{getText("echobase.common.notes")}'/>
-
- <s:file key="moviesFile" required="true"
- label='%{getText("echobase.common.moviesFile")}'/>
-
- </fieldset>
- <br/>
- <s:submit action="configureAccousticData" key='echobase.action.import'/>
-
-
-</s:form>
-
Copied: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureAcousticData.jsp (from rev 450, trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureAccousticData.jsp)
===================================================================
--- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureAcousticData.jsp (rev 0)
+++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureAcousticData.jsp 2012-03-29 21:17:47 UTC (rev 451)
@@ -0,0 +1,127 @@
+<%--
+ #%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" %>
+<%@ taglib prefix="sj" uri="/struts-jquery-tags" %>
+<title>
+ Configuration <s:text name="echobase.common.importDataMode.accousticData"/>
+</title>
+
+<script type="text/javascript"
+ src="<s:url value='/js/gridHelper.js' />"></script>
+
+<script type="text/javascript">
+
+ jQuery(document).ready(function () {
+
+ $.autoSelectVoyageAndVessel(
+ $('[name="model.voyageId"]'),
+ $('[name="model.vesselId"]'),
+ '<s:url action="getVesselsForVoyage" namespace="/importData"/>',
+ '<s:property value="model.voyageId"/>',
+ '<s:property value="model.vesselId"/>'
+ );
+ });
+</script>
+
+<s:form namespace="/importData" method="POST" enctype="multipart/form-data">
+
+ <fieldset>
+ <legend>
+ <s:text name="echobase.legend.importData.configure"/>
+ </legend>
+
+ <s:select key="model.voyageId" required="true"
+ label='%{getText("echobase.common.voyage")}'
+ list="voyages" headerKey="" headerValue=""/>
+
+ <sj:select key="model.vesselId" required="true"
+ label='%{getText("echobase.common.vessel")}'/>
+
+ <s:select key="model.cellPositionReference" required="true"
+ label='%{getText("echobase.common.cellPositionReference")}'
+ list="cellPositionReferences" headerKey="" headerValue=""/>
+
+ <s:checkbox key="model.addDataAcquisition" required="true"
+ label='%{getText("echobase.common.addDataAcquisition")}'/>
+
+ <s:textfield key="model.transceiverAcquisitionAbsorptionDescription"
+ size="100" required="true"
+ label='%{getText("echobase.common.transceiverAcquisitionAbsorptionDescription")}'/>
+
+ <s:textfield key="model.acquisitionSoftwareVersionER60" size="100"
+ required="true"
+ label='%{getText("echobase.common.acquisitionSoftwareVersionER60")}'/>
+
+ <s:textfield key="model.acquisitionSoftwareVersionME70" size="100"
+ required="true"
+ label='%{getText("echobase.common.acquisitionSoftwareVersionME70")}'/>
+
+ <s:textfield key="model.loggedDataFormat" size="100" required="true"
+ label='%{getText("echobase.common.loggedDataFormat")}'/>
+
+ <s:textfield key="model.loggedDataDatatype" size="100" required="true"
+ label='%{getText("echobase.common.loggedDataDatatype")}'/>
+
+ <s:textfield key="model.pingDutyCycle" size="100" required="true"
+ label='%{getText("echobase.common.pingDutyCycle")}'/>
+
+ <%--<s:textfield key="model.echosounderSoundSpeed" size="100" required="true"--%>
+ <%--label='%{getText("echobase.common.echosounderSoundSpeed")}'/>--%>
+
+ <s:textfield key="model.soundSpeedCalculationsER60" size="100"
+ required="true"
+ label='%{getText("echobase.common.soundSpeedCalculationsER60")}'/>
+
+ <s:textfield key="model.soundSpeedCalculationsME70" size="100"
+ required="true"
+ label='%{getText("echobase.common.soundSpeedCalculationsME70")}'/>
+
+ <s:textfield key="model.sounderConstant" size="100" required="true"
+ label='%{getText("echobase.common.sounderConstant")}'/>
+
+ <s:textfield key="model.processingTemplate" size="100" required="true"
+ label='%{getText("echobase.common.processingTemplate")}'/>
+
+ <s:textfield key="model.processingDescription" size="100" required="true"
+ label='%{getText("echobase.common.processingDescription")}'/>
+
+ <s:textfield key="model.digitThreshold" size="100" required="true"
+ label='%{getText("echobase.common.digitThreshold")}'/>
+
+ <s:textfield key="model.acousticDensityUnit" size="100" required="true"
+ label='%{getText("echobase.common.acousticDensityUnit")}'/>
+
+ <s:textfield key="model.notes" size="100" required="true"
+ label='%{getText("echobase.common.notes")}'/>
+
+ <s:file key="moviesFile" required="true"
+ label='%{getText("echobase.common.moviesFile")}'/>
+
+ </fieldset>
+ <br/>
+ <s:submit action="configureAccousticData" key='echobase.action.import'/>
+
+</s:form>
+
Property changes on: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureAcousticData.jsp
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
1
0
r450 - in trunk: . echobase-entities echobase-services echobase-tools echobase-ui
by maven-release@users.forge.codelutin.com 29 Mar '12
by maven-release@users.forge.codelutin.com 29 Mar '12
29 Mar '12
Author: maven-release
Date: 2012-03-29 14:18:57 +0200 (Thu, 29 Mar 2012)
New Revision: 450
Url: http://forge.codelutin.com/repositories/revision/echobase/450
Log:
[maven-release-plugin] prepare for next development iteration
Modified:
trunk/echobase-entities/pom.xml
trunk/echobase-services/pom.xml
trunk/echobase-tools/pom.xml
trunk/echobase-ui/pom.xml
trunk/pom.xml
Modified: trunk/echobase-entities/pom.xml
===================================================================
--- trunk/echobase-entities/pom.xml 2012-03-29 12:18:50 UTC (rev 449)
+++ trunk/echobase-entities/pom.xml 2012-03-29 12:18:57 UTC (rev 450)
@@ -9,7 +9,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>echobase</artifactId>
- <version>0.4</version>
+ <version>1.0-SNAPSHOT</version>
</parent>
<groupId>fr.ifremer.echobase</groupId>
Modified: trunk/echobase-services/pom.xml
===================================================================
--- trunk/echobase-services/pom.xml 2012-03-29 12:18:50 UTC (rev 449)
+++ trunk/echobase-services/pom.xml 2012-03-29 12:18:57 UTC (rev 450)
@@ -10,7 +10,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>echobase</artifactId>
- <version>0.4</version>
+ <version>1.0-SNAPSHOT</version>
</parent>
<groupId>fr.ifremer.echobase</groupId>
Modified: trunk/echobase-tools/pom.xml
===================================================================
--- trunk/echobase-tools/pom.xml 2012-03-29 12:18:50 UTC (rev 449)
+++ trunk/echobase-tools/pom.xml 2012-03-29 12:18:57 UTC (rev 450)
@@ -11,7 +11,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>echobase</artifactId>
- <version>0.4</version>
+ <version>1.0-SNAPSHOT</version>
</parent>
<groupId>fr.ifremer.echobase</groupId>
Modified: trunk/echobase-ui/pom.xml
===================================================================
--- trunk/echobase-ui/pom.xml 2012-03-29 12:18:50 UTC (rev 449)
+++ trunk/echobase-ui/pom.xml 2012-03-29 12:18:57 UTC (rev 450)
@@ -11,7 +11,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>echobase</artifactId>
- <version>0.4</version>
+ <version>1.0-SNAPSHOT</version>
</parent>
<groupId>fr.ifremer.echobase</groupId>
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2012-03-29 12:18:50 UTC (rev 449)
+++ trunk/pom.xml 2012-03-29 12:18:57 UTC (rev 450)
@@ -15,7 +15,7 @@
<groupId>fr.ifremer</groupId>
<artifactId>echobase</artifactId>
- <version>0.4</version>
+ <version>1.0-SNAPSHOT</version>
<modules>
<module>echobase-entities</module>
@@ -79,12 +79,12 @@
<!-- ************************************************************* -->
<scm>
- <url>http://svn.forge.codelutin.com/svn/echobase/tags/echobase-0.4</url>
+ <url>http://svn.forge.codelutin.com/svn/echobase/trunk</url>
<connection>
- scm:svn:http://svn.forge.codelutin.com/svn/echobase/tags/echobase-0.4
+ scm:svn:http://svn.forge.codelutin.com/svn/echobase/trunk
</connection>
<developerConnection>
- scm:svn:http://svn.forge.codelutin.com/svn/echobase/tags/echobase-0.4
+ scm:svn:http://svn.forge.codelutin.com/svn/echobase/trunk
</developerConnection>
</scm>
1
0