Author: tchemit Date: 2011-11-27 11:09:45 +0100 (Sun, 27 Nov 2011) New Revision: 136 Url: http://forge.codelutin.com/repositories/revision/echobase/136 Log: - mise en place suqelette import historique - mise en place mode d'import - validation sur les import de donn?\195?\169es - suppression package import - renommage ImportMode en SelectedMissionMode Added: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/SelectedMissionMode.java trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importHistorical/ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importHistorical/Configure.java trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importHistorical/LaunchImport.java trunk/echobase-ui/src/main/resources/config/struts-importHistorical.xml trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importHistorical/ trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importHistorical/Configure-validation.xml trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/progress.jsp trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/result.jsp trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importHistorical/ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importHistorical/configure.jsp trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importHistorical/progress.jsp trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importHistorical/result.jsp Removed: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ImportMode.java trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/import/ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/importProgress.jsp trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/importResult.jsp Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseSession.java trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/EchoBaseActionSupport.java trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/GetEntity.java trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureFiles.java trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureMission.java trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/LaunchImport.java trunk/echobase-ui/src/main/resources/config/struts-importData.xml trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureFiles-validation.xml trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureMission-validation.xml trunk/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties trunk/echobase-ui/src/main/resources/struts.xml trunk/echobase-ui/src/main/resources/validators.xml trunk/echobase-ui/src/main/webapp/WEB-INF/includes/header.jsp trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureFiles.jsp trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureMission.jsp Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseSession.java =================================================================== --- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseSession.java 2011-11-27 10:06:33 UTC (rev 135) +++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseSession.java 2011-11-27 10:09:45 UTC (rev 136) @@ -25,6 +25,7 @@ import fr.ifremer.echobase.entities.EchoBaseUser; import fr.ifremer.echobase.services.ImportDataConfiguration; +import fr.ifremer.echobase.services.ImportHistoricalConfiguration; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -45,9 +46,12 @@ /** Key to set User connected in this session. */ protected static final String PROPERTY_ECHO_BASE_USER = "echobaseUser"; - /** Key to keep import configuration in this session. */ + /** Key to keep import data configuration in this session. */ protected static final String PROPERTY_IMPORT_DATA_CONFIGURATION = "importDataConfiguration"; + /** Key to keep historical import configuration in this session. */ + protected static final String PROPERTY_IMPORT_HISTORICAL_CONFIGURATION = "importHistoricalConfiguration"; + /** To store all properties in this session. */ protected Map<String, Object> store; @@ -77,6 +81,14 @@ set(PROPERTY_IMPORT_DATA_CONFIGURATION, configuration); } + public ImportHistoricalConfiguration getImportHistoricalConfiguration() { + return get(PROPERTY_IMPORT_HISTORICAL_CONFIGURATION, ImportHistoricalConfiguration.class); + } + + public void setImportHistoricalConfiguration(ImportHistoricalConfiguration configuration) { + set(PROPERTY_IMPORT_HISTORICAL_CONFIGURATION, configuration); + } + /** * Remove form this session, the object from his given key and returns it. * Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/EchoBaseActionSupport.java =================================================================== --- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/EchoBaseActionSupport.java 2011-11-27 10:06:33 UTC (rev 135) +++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/EchoBaseActionSupport.java 2011-11-27 10:09:45 UTC (rev 136) @@ -25,6 +25,7 @@ import com.opensymphony.xwork2.ActionContext; import fr.ifremer.echobase.EchoBaseConfiguration; +import fr.ifremer.echobase.InputFile; import fr.ifremer.echobase.services.DecoratorService; import fr.ifremer.echobase.services.EchoBaseService; import fr.ifremer.echobase.services.EchoBaseServiceContext; @@ -32,6 +33,9 @@ import fr.ifremer.echobase.services.EchoBaseServiceFactory; import fr.ifremer.echobase.ui.EchoBaseApplicationContext; import fr.ifremer.echobase.ui.EchoBaseSession; +import org.apache.commons.io.FileUtils; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.apache.struts2.StrutsStatics; import org.nuiton.topia.TopiaContext; import org.nuiton.topia.framework.TopiaTransactionAware; @@ -40,6 +44,8 @@ import org.nuiton.web.struts2.BaseAction; import javax.servlet.http.HttpServletRequest; +import java.io.File; +import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Collection; import java.util.Date; @@ -66,6 +72,10 @@ /** Key to store the single instance of the application context */ public static final String APPLICATION_CONTEXT_PARAMETER = "echoBaseApplicationContext"; + /** Logger. */ + private static final Log log = + LogFactory.getLog(EchoBaseActionSupport.class); + private SimpleDateFormat dateFormat; private SimpleDateFormat monthFormat; @@ -219,4 +229,21 @@ protected static ActionContext getActionContext() { return ActionContext.getContext(); } + + protected void copyFile(InputFile inputFile, + File dataDirectory) throws IOException { + File source = inputFile.getFile(); + if (source != null) { + + File target = new File(dataDirectory, inputFile.getFileName()); + if (log.isInfoEnabled()) { + log.info("Copy file " + source + " to " + target); + } + FileUtils.copyFile(source, target); + + // keep target (source file will be removed at the end of this action) + inputFile.setFile(target); + } + + } } Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/GetEntity.java =================================================================== --- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/GetEntity.java 2011-11-27 10:06:33 UTC (rev 135) +++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/GetEntity.java 2011-11-27 10:09:45 UTC (rev 136) @@ -77,7 +77,7 @@ DbEditorService service = newService(DbEditorService.class); TableMeta table = serviceContext.getDbMeta().getTable(entityType); - + datas = service.getData(table, id); List<ColumnMeta> columnMetas = table.getColumns(); Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureFiles.java =================================================================== --- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureFiles.java 2011-11-27 10:06:33 UTC (rev 135) +++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureFiles.java 2011-11-27 10:09:45 UTC (rev 136) @@ -23,11 +23,12 @@ */ package fr.ifremer.echobase.ui.actions.importData; +import com.google.common.collect.Maps; import com.opensymphony.xwork2.Preparable; -import fr.ifremer.echobase.InputFile; import fr.ifremer.echobase.entities.references.Mission; import fr.ifremer.echobase.services.EchoBaseServiceSupport; import fr.ifremer.echobase.services.ImportDataConfiguration; +import fr.ifremer.echobase.services.ImportDataMode; import fr.ifremer.echobase.ui.actions.EchoBaseActionSupport; import org.apache.commons.io.FileUtils; import org.apache.commons.logging.Log; @@ -35,7 +36,7 @@ import org.nuiton.util.FileUtil; import java.io.File; -import java.io.IOException; +import java.util.Map; /** * Action to load input files to import. @@ -56,10 +57,17 @@ /** Id of selected voyage used in import. */ protected String missionId; + /** Universe of possible import modes. */ + protected Map<String, String> importDataModes; + public void setMissionId(String missionId) { this.missionId = missionId; } + public void setImportDataMode(ImportDataMode importDataMode) { + getModel().setImportDataMode(importDataMode); + } + public void setAcoustic(File file) { getModel().getAcousticFile().setFile(file); } @@ -124,6 +132,10 @@ return missionId; } + public ImportDataMode getImportDataMode() { + return getModel().getImportDataMode(); + } + public ImportDataConfiguration getModel() { if (model == null) { model = new ImportDataConfiguration(getLocale()); @@ -131,6 +143,10 @@ return model; } + public Map<String, String> getImportDataModes() { + return importDataModes; + } + @Override public String input() throws Exception { @@ -147,8 +163,9 @@ File tempDirectory = FileUtils.getTempDirectory(); File dataDirectory = new File( tempDirectory, - "echobase-import" + System.currentTimeMillis()); + "echobase-importData-" + System.currentTimeMillis()); FileUtil.createDirectoryIfNecessary(dataDirectory); + importModel.setWorkingDirectory(dataDirectory); if (log.isInfoEnabled()) { log.info("Temporary directory to use : " + dataDirectory); } @@ -169,23 +186,21 @@ newService(EchoBaseServiceSupport.class); Mission mission = service.getEntityById(Mission.class, missionId); - getModel().setMission(mission); - } + ImportDataConfiguration configuration = getModel(); + configuration.setMission(mission); - protected void copyFile(InputFile inputFile, - File dataDirectory) throws IOException { - File source = inputFile.getFile(); - if (source != null) { + importDataModes = Maps.newLinkedHashMap(); + for (ImportDataMode mode : ImportDataMode.values()) { + importDataModes.put(mode.name(), _(mode.getI18nKey())); + } - File target = new File(dataDirectory, inputFile.getFileName()); - if (log.isInfoEnabled()) { - log.info("Copy file " + source + " to " + target); - } - FileUtils.copyFile(source, target); - - // keep target (source file will be removed at the end of this action) - inputFile.setFile(target); + if (log.isInfoEnabled()) { + log.info("Incoming importDataMode " + + configuration.getImportDataMode()); } + if (configuration.getImportDataMode() == null) { + configuration.setImportDataMode(ImportDataMode.ALL); + } + } - } } Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureMission.java =================================================================== --- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureMission.java 2011-11-27 10:06:33 UTC (rev 135) +++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureMission.java 2011-11-27 10:09:45 UTC (rev 136) @@ -56,7 +56,7 @@ protected Map<String, String> importModes; /** Selected import mode. */ - protected ImportMode importMode; + protected SelectedMissionMode importMode; /** mission to use. */ protected Mission mission; @@ -76,23 +76,23 @@ return missions; } - public ImportMode getImportMode() { + public SelectedMissionMode getImportMode() { return importMode; } - public void setImportMode(ImportMode importMode) { + public void setImportMode(SelectedMissionMode importMode) { this.importMode = importMode; } @Override public String input() throws Exception { importModes = Maps.newLinkedHashMap(); - for (ImportMode mode : ImportMode.values()) { + for (SelectedMissionMode mode : SelectedMissionMode.values()) { importModes.put(mode.name(), _(mode.getI18nKey())); } if (importMode == null) { - importMode = ImportMode.USE_EXISTING_MISSION; + importMode = SelectedMissionMode.USE_EXISTING_MISSION; } EchoBaseServiceSupport service = @@ -111,7 +111,7 @@ @Override public String execute() throws Exception { - if (importMode == ImportMode.CREATE_NEW_MISSION) { + if (importMode == SelectedMissionMode.CREATE_NEW_MISSION) { // create voyage in db ImportDataService service = newService(ImportDataService.class); Deleted: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ImportMode.java =================================================================== --- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ImportMode.java 2011-11-27 10:06:33 UTC (rev 135) +++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ImportMode.java 2011-11-27 10:09:45 UTC (rev 136) @@ -1,49 +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% - */ -package fr.ifremer.echobase.ui.actions.importData; - -import static org.nuiton.i18n.I18n.n_; - -/** - * Define import mode (use an existing voayge, or create a new one. - * - * @author tchemit <chemit@codelutin.com> - * @since 0.2 - */ -public enum ImportMode { - - CREATE_NEW_MISSION(n_("echobase.common.importMode.createNewMission")), - USE_EXISTING_MISSION(n_("echobase.common.importMode.useExistingMission")); - - - private final String i18nKey; - - ImportMode(String i18nKey) { - this.i18nKey = i18nKey; - } - - public String getI18nKey() { - return i18nKey; - } -} Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/LaunchImport.java =================================================================== --- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/LaunchImport.java 2011-11-27 10:06:33 UTC (rev 135) +++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/LaunchImport.java 2011-11-27 10:09:45 UTC (rev 136) @@ -52,7 +52,7 @@ protected Map<InputFile, CsvImportResult> importResult; - transient ImportDataService service; + protected transient ImportDataService service; public ImportDataConfiguration getModel() { return model; @@ -83,6 +83,9 @@ return SUCCESS; } finally { + // clean configuration + model.destroy(); + // remove configuration from session getEchoBaseSession().setImportDataConfiguration(null); } Copied: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/SelectedMissionMode.java (from rev 132, trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ImportMode.java) =================================================================== --- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/SelectedMissionMode.java (rev 0) +++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/SelectedMissionMode.java 2011-11-27 10:09:45 UTC (rev 136) @@ -0,0 +1,48 @@ +/* + * #%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% + */ +package fr.ifremer.echobase.ui.actions.importData; + +import static org.nuiton.i18n.I18n.n_; + +/** + * Define import mode (use an existing voayge, or create a new one. + * + * @author tchemit <chemit@codelutin.com> + * @since 0.2 + */ +public enum SelectedMissionMode { + + CREATE_NEW_MISSION(n_("echobase.common.importMode.createNewMission")), + USE_EXISTING_MISSION(n_("echobase.common.importMode.useExistingMission")); + + private final String i18nKey; + + SelectedMissionMode(String i18nKey) { + this.i18nKey = i18nKey; + } + + public String getI18nKey() { + return i18nKey; + } +} Property changes on: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/SelectedMissionMode.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Added: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importHistorical/Configure.java =================================================================== --- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importHistorical/Configure.java (rev 0) +++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importHistorical/Configure.java 2011-11-27 10:09:45 UTC (rev 136) @@ -0,0 +1,101 @@ +/* + * #%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% + */ +package fr.ifremer.echobase.ui.actions.importHistorical; + +import fr.ifremer.echobase.InputFile; +import fr.ifremer.echobase.services.ImportHistoricalConfiguration; +import fr.ifremer.echobase.ui.actions.EchoBaseActionSupport; +import org.apache.commons.io.FileUtils; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.nuiton.util.FileUtil; + +import java.io.File; + +/** + * Configure an historical import. + * + * @author tchemit <chemit@codelutin.com> + * @since 0.2 + */ +public class Configure extends EchoBaseActionSupport { + + private static final long serialVersionUID = 1L; + + /** Logger. */ + private static final Log log = LogFactory.getLog(Configure.class); + + /** Configuration of the historical import. */ + protected ImportHistoricalConfiguration model; + + public ImportHistoricalConfiguration getModel() { + if (model == null) { + model = new ImportHistoricalConfiguration(getLocale()); + } + return model; + } + + public void setInputFileName(String fileName) { + getModel().getInput().setFileName(fileName); + } + + public void setInput(File file) { + getModel().getInput().setFile(file); + } + + public void setInputContentType(String contentType) { + getModel().getInput().setContentType(contentType); + } + + @Override + public String input() throws Exception { + + // always remove configuration from session anytime coming here + getEchoBaseSession().setImportHistoricalConfiguration(null); + return INPUT; + } + + @Override + public String execute() throws Exception { + + ImportHistoricalConfiguration configuration = getModel(); + + File tempDirectory = FileUtils.getTempDirectory(); + File dataDirectory = new File( + tempDirectory, + "echobase-importHistorical-" + System.currentTimeMillis()); + FileUtil.createDirectoryIfNecessary(dataDirectory); + configuration.setWorkingDirectory(dataDirectory); + if (log.isInfoEnabled()) { + log.info("Temporary directory to use : " + dataDirectory); + } + + InputFile input = configuration.getInput(); + copyFile(input, dataDirectory); + + // store configuration in session + getEchoBaseSession().setImportHistoricalConfiguration(configuration); + return SUCCESS; + } +} Property changes on: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importHistorical/Configure.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Added: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importHistorical/LaunchImport.java =================================================================== --- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importHistorical/LaunchImport.java (rev 0) +++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importHistorical/LaunchImport.java 2011-11-27 10:09:45 UTC (rev 136) @@ -0,0 +1,94 @@ +/* + * #%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% + */ +package fr.ifremer.echobase.ui.actions.importHistorical; + +import com.opensymphony.xwork2.Preparable; +import fr.ifremer.echobase.services.CsvImportResult; +import fr.ifremer.echobase.services.ImportHistoricalConfiguration; +import fr.ifremer.echobase.services.ImportHistoricalService; +import fr.ifremer.echobase.ui.actions.EchoBaseActionSupport; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +/** + * To starts the historical import. + * + * @author tchemit <chemit@codelutin.com> + * @since 0.2 + */ +public class LaunchImport extends EchoBaseActionSupport implements Preparable { + + private static final long serialVersionUID = 1L; + + /** Logger. */ + private static final Log log = LogFactory.getLog(LaunchImport.class); + + /** Configuration of the historical import. */ + protected ImportHistoricalConfiguration model; + + /** Result of import. */ + protected CsvImportResult importResult; + + /** service to execute the import. */ + protected transient ImportHistoricalService service; + + public ImportHistoricalConfiguration getModel() { + return model; + } + + public CsvImportResult getImportResult() { + return importResult; + } + + @Override + public void prepare() throws Exception { + + model = getEchoBaseSession().getImportHistoricalConfiguration(); + + service = newService(ImportHistoricalService.class); + } + + @Override + public String execute() throws Exception { + + try { + + if (log.isInfoEnabled()) { + log.info("Start imports with file " + + model.getInput().getFileName()); + } + + importResult = service.startImport(model); + return SUCCESS; + } finally { + + // clean configuration + model.destroy(); + + // remove configuration from session + getEchoBaseSession().setImportHistoricalConfiguration(null); + } + } + +} Property changes on: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importHistorical/LaunchImport.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Modified: trunk/echobase-ui/src/main/resources/config/struts-importData.xml =================================================================== --- trunk/echobase-ui/src/main/resources/config/struts-importData.xml 2011-11-27 10:06:33 UTC (rev 135) +++ trunk/echobase-ui/src/main/resources/config/struts-importData.xml 2011-11-27 10:09:45 UTC (rev 136) @@ -30,7 +30,7 @@ <struts> - <package name="import" extends="loggued" namespace="/importData"> + <package name="importData" extends="loggued" namespace="/importData"> <!-- Configure import mission --> <action name="configureMission" @@ -62,8 +62,8 @@ method="execute"> <interceptor-ref name="basicStackLoggued"/> <interceptor-ref name="execAndWait"/> - <result name="wait">/WEB-INF/jsp/importData/importProgress.jsp</result> - <result>/WEB-INF/jsp/importData/importResult.jsp</result> + <result name="wait">/WEB-INF/jsp/importData/progress.jsp</result> + <result>/WEB-INF/jsp/importData/result.jsp</result> </action> </package> Added: trunk/echobase-ui/src/main/resources/config/struts-importHistorical.xml =================================================================== --- trunk/echobase-ui/src/main/resources/config/struts-importHistorical.xml (rev 0) +++ trunk/echobase-ui/src/main/resources/config/struts-importHistorical.xml 2011-11-27 10:09:45 UTC (rev 136) @@ -0,0 +1,59 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!-- + #%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 struts PUBLIC + "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" + "http://struts.apache.org/dtds/struts-2.1.7.dtd"> + +<struts> + + <package name="importHistorical" extends="loggued" namespace="/importHistorical"> + + <!-- Configure import --> + <action name="configureImport" + class="fr.ifremer.echobase.ui.actions.importHistorical.Configure"> + <interceptor-ref name="paramsPrepareParamsStackLoggued"/> + <result name="input">/WEB-INF/jsp/importHistorical/configure.jsp</result> + <result type="redirectAction"> + <param name="namespace">/importHistorical</param> + <param name="actionName">doImport</param> + </result> + </action> + + <!-- Starts import --> + <action name="doImport" + class="fr.ifremer.echobase.ui.actions.importHistorical.LaunchImport" + method="execute"> + <interceptor-ref name="basicStackLoggued"/> + <interceptor-ref name="execAndWait"/> + <result name="wait">/WEB-INF/jsp/importHistorical/progress.jsp</result> + <result>/WEB-INF/jsp/importHistorical/result.jsp</result> + </action> + + </package> + +</struts> + Property changes on: trunk/echobase-ui/src/main/resources/config/struts-importHistorical.xml ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Modified: trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureFiles-validation.xml =================================================================== --- trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureFiles-validation.xml 2011-11-27 10:06:33 UTC (rev 135) +++ trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureFiles-validation.xml 2011-11-27 10:09:45 UTC (rev 136) @@ -26,10 +26,56 @@ "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd"> <validators> - <field name="missionId"> - <field-validator type="requiredstring"> - <message key="echobase.error.import.voyage.required"/> + <field name="model.mission"> + <field-validator type="required"> + <message key="echobase.error.import.mission.required"/> </field-validator> </field> + <field name="importDataMode"> + <field-validator type="required"> + <message key="echobase.error.import.importDataMode.required"/> + </field-validator> + </field> + + <field name="acoustic"> + <field-validator type="nfieldexpression"> + <param name="expression">model.acousticFile.file != null</param> + <param name="skip">importDataMode.name() != "ALL" && importDataMode.name() != "ACOUSTIC"</param> + <message key="echobase.error.import.acousticFile.required"/> + </field-validator> + </field> + + <field name="capture"> + <field-validator type="nfieldexpression"> + <param name="expression">model.captureFile.file != null</param> + <param name="skip">importDataMode.name() != "ALL"</param> + <message key="echobase.error.import.captureFile.required"/> + </field-validator> + </field> + + <field name="lectureAgeGen"> + <field-validator type="nfieldexpression"> + <param name="expression">model.lectureAgeGenFile.file != null</param> + <param name="skip">importDataMode.name() != "ALL"</param> + <message key="echobase.error.import.lectureAgeGenFile.required"/> + </field-validator> + </field> + + <field name="events"> + <field-validator type="nfieldexpression"> + <param name="expression">model.eventsFile.file != null</param> + <param name="skip">importDataMode.name() != "ALL"</param> + <message key="echobase.error.import.eventsFile.required"/> + </field-validator> + </field> + + <field name="typeEchoSpecies"> + <field-validator type="nfieldexpression"> + <param name="expression">model.typeEchoSpeciesFile.file != null</param> + <param name="skip">importDataMode.name() != "ALL"</param> + <message key="echobase.error.import.typeEchoSpeciesFile.required"/> + </field-validator> + </field> + </validators> \ No newline at end of file Modified: trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureMission-validation.xml =================================================================== --- trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureMission-validation.xml 2011-11-27 10:06:33 UTC (rev 135) +++ trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureMission-validation.xml 2011-11-27 10:09:45 UTC (rev 136) @@ -33,21 +33,21 @@ </field> <field name="mission.topiaId"> - <field-validator type="requiredstring"> + <field-validator type="nrequiredstring"> <param name="skip">importMode.name() != "USE_EXISTING_MISSION"</param> <message key="echobase.error.import.mission.required"/> </field-validator> </field> <field name="mission.missionName"> - <field-validator type="requiredstring"> + <field-validator type="nrequiredstring"> <param name="skip">importMode.name() != "CREATE_NEW_MISSION"</param> <message key="echobase.error.import.missionName.required"/> </field-validator> </field> <field name="mission.missionAbstract"> - <field-validator type="requiredstring"> + <field-validator type="nrequiredstring"> <param name="skip">importMode.name() != "CREATE_NEW_MISSION"</param> <message key="echobase.error.import.missionAbstract.required"/> </field-validator> Added: trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importHistorical/Configure-validation.xml =================================================================== --- trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importHistorical/Configure-validation.xml (rev 0) +++ trunk/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importHistorical/Configure-validation.xml 2011-11-27 10:09:45 UTC (rev 136) @@ -0,0 +1,36 @@ +<!-- + #%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 + "-//OpenSymphony Group//XWork Validator 1.0.2//EN" + "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd"> +<validators> + + <field name="input"> + <field-validator type="fieldexpression"> + <param name="expression">model.input.file != null</param> + <message key="echobase.error.importHistorical.input.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/importHistorical/Configure-validation.xml ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native 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 2011-11-27 10:06:33 UTC (rev 135) +++ trunk/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties 2011-11-27 10:09:45 UTC (rev 136) @@ -23,6 +23,7 @@ echobase.common.comment=Commentaire echobase.common.email=Email echobase.common.entityType=Type d'entité +echobase.common.importDataMode=Type d'import echobase.common.importMode=Type de mission echobase.common.importMode.createNewMission=Créer une nouvelle mission echobase.common.importMode.useExistingMission=Utiliser une mission existante @@ -45,6 +46,7 @@ echobase.error.import.missionName.required=Le nom de la mission est obligatoire echobase.error.importArgument= echobase.error.importFile.required=Fichier d'import obligatoire +echobase.error.importHistorical.input.required=Le fichier d'import est obligatoire echobase.error.login.password.requiredstring=Le mot de passe est obligatoire echobase.error.login.unknown=Utilisateur inconnu echobase.error.login.wrongLogin=Le login est déjà utilisé @@ -84,18 +86,19 @@ echobase.label.voyageToSelect=Voyage à exporter echobase.legend.dbeditor.edit=Edition de '%s' echobase.legend.embeddedApplication.configuration=Configuration de l'application embarquée -echobase.legend.import=Import configuration -echobase.legend.import.configuration.files=Choix des fichiers d'import -echobase.legend.import.configuration.mission=Configurer la mission -echobase.legend.import.configuration.mission.resume=Résumé de la mission à utiliser +echobase.legend.importData.configuration.files=Choix des fichiers d'import +echobase.legend.importData.configuration.mission=Configurer la mission +echobase.legend.importData.configuration.mission.resume=Résumé de la mission à utiliser echobase.legend.importFileResult=Résultat de l'import %s +echobase.legend.importHistorical.configuration.files=Choix du fichier d'import de données historiques echobase.legend.sqlQuery.configuration=Configuration de la requête echobase.legend.sqlQuery.result=Résultats de la requête echobase.menu.connectToDbInformations=Se connecter à la base echobase.menu.createEmbeddedApplication=Créer une application embarquée echobase.menu.dbeditor=Modifier les données echobase.menu.export=Exporter des données -echobase.menu.import=Importer des données +echobase.menu.importData=Importer des données +echobase.menu.importHistorical=Importer les données historiques echobase.menu.logs=Visualiser les modifications echobase.menu.users=Gérer les utilisateurs echobase.message.askAdministratorPassword=Demander à un administrateur le mot de passe pour l'utilisateur donné @@ -113,10 +116,14 @@ echobase.title.entityModificationLogs=Journal des modifications echobase.title.export=Export echobase.title.exportTable=Exporter une table -echobase.title.import=Imports -echobase.title.import.configuration=Configuration d'un import -echobase.title.importProgress=Import en cours -echobase.title.importResult=Résultats de l'import +echobase.title.importData=Import de données +echobase.title.importData.configuration=Configuration d'un import de données +echobase.title.importDataProgress=Import de données en cours +echobase.title.importDataResult=Résultats de l'import de données +echobase.title.importHistorical=Import de données historiques +echobase.title.importHistorical.configuration=Configuration d'un import de données historiques +echobase.title.importHistoricalProgress=Import de données historiques en cours +echobase.title.importHistoricalResult=Résultats de l'import de données historiques echobase.title.importTable=Importer une table echobase.title.login=Connexion echobase.title.modification.detail=Détail de la modification Modified: trunk/echobase-ui/src/main/resources/struts.xml =================================================================== --- trunk/echobase-ui/src/main/resources/struts.xml 2011-11-27 10:06:33 UTC (rev 135) +++ trunk/echobase-ui/src/main/resources/struts.xml 2011-11-27 10:09:45 UTC (rev 136) @@ -132,6 +132,7 @@ <include file="config/struts-dbeditor.xml"/> <include file="config/struts-user.xml"/> <include file="config/struts-importData.xml"/> + <include file="config/struts-importHistorical.xml"/> <include file="config/struts-export.xml"/> </struts> Modified: trunk/echobase-ui/src/main/resources/validators.xml =================================================================== --- trunk/echobase-ui/src/main/resources/validators.xml 2011-11-27 10:06:33 UTC (rev 135) +++ trunk/echobase-ui/src/main/resources/validators.xml 2011-11-27 10:09:45 UTC (rev 136) @@ -37,11 +37,13 @@ <validator name="fieldexpression" class="com.opensymphony.xwork2.validator.validators.FieldExpressionValidator"/> <validator name="conversion" class="com.opensymphony.xwork2.validator.validators.ConversionErrorFieldValidator"/> <validator name="stringlength" class="com.opensymphony.xwork2.validator.validators.StringLengthFieldValidator"/> + <validator name="required" class="com.opensymphony.xwork2.validator.validators.RequiredFieldValidator"/> + <validator name="requiredstring" class="com.opensymphony.xwork2.validator.validators.RequiredStringValidator"/> <!-- default nuiton-validator validators --> - <validator name="fieldexpressionwithparams" class="org.nuiton.validator.xwork2.field.FieldExpressionWithParamsValidator"/> - <validator name="required" class="org.nuiton.validator.xwork2.field.SkipableRequiredFieldValidator"/> - <validator name="requiredstring" class="org.nuiton.validator.xwork2.field.SkipableRequiredStringFieldValidator"/> + <validator name="nfieldexpression" class="org.nuiton.validator.xwork2.field.NuitonFieldExpressionValidator"/> + <validator name="nrequired" class="org.nuiton.validator.xwork2.field.SkipableRequiredFieldValidator"/> + <validator name="nrequiredstring" class="org.nuiton.validator.xwork2.field.SkipableRequiredStringFieldValidator"/> <!-- EchoBase validators --> <validator name="login" class="fr.ifremer.echobase.ui.validators.LoginValidator"/> Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/includes/header.jsp =================================================================== --- trunk/echobase-ui/src/main/webapp/WEB-INF/includes/header.jsp 2011-11-27 10:06:33 UTC (rev 135) +++ trunk/echobase-ui/src/main/webapp/WEB-INF/includes/header.jsp 2011-11-27 10:09:45 UTC (rev 136) @@ -55,8 +55,12 @@ <div class="cleanBoth"> <ul> <li> + <s:a action="configureImport" namespace="/importHistorical" method="input"> + <s:text name="echobase.menu.importHistorical"/></s:a> + </li> + <li> <s:a action="configureMission" namespace="/importData" method="input"> - <s:text name="echobase.menu.import"/></s:a> + <s:text name="echobase.menu.importData"/></s:a> </li> <li> <s:a action="exportSql" namespace="/export"> Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureFiles.jsp =================================================================== --- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureFiles.jsp 2011-11-27 10:06:33 UTC (rev 135) +++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureFiles.jsp 2011-11-27 10:09:45 UTC (rev 136) @@ -24,13 +24,38 @@ <%@page contentType="text/html" pageEncoding="UTF-8" %> <%@ taglib prefix="s" uri="/struts-tags" %> -<title><s:text name="echobase.title.import"/></title> +<title><s:text name="echobase.title.importData"/></title> +<script type="text/javascript"> + + function updateMode(newValue) { + switch (newValue) { + case "ALL": + $('[class="inputFile"]').show(); + break; + case "ACOUSTIC": + $('[class="inputFile"]').hide(); + $('#acousticFile').show(); + break; + } + } + + jQuery(document).ready(function () { + + + $('[name="importDataMode"]').change(function(event) { + updateMode(this.value); + }); + var val = $('[name="importDataMode"][checked="checked"]').val(); + updateMode(val); + }); +</script> + <s:form namespace="/importData" method="POST" enctype="multipart/form-data"> <fieldset> <legend> - <s:text name="echobase.legend.import.configuration.mission.resume"/> + <s:text name="echobase.legend.importData.configuration.mission.resume"/> </legend> <s:label value="%{model.mission.missionName}" key='echobase.common.missionName'/> @@ -42,29 +67,39 @@ <hr/> <fieldset> <legend> - <s:text name="echobase.legend.import.configuration.files"/> + <s:text name="echobase.legend.importData.configuration.files"/> </legend> <s:hidden key="missionId" label=''/> - <s:file name="acoustic" - key="echobase.label.import.accoustique"/> + <s:radio key='importDataMode' list="importDataModes" + label='%{getText("echobase.common.importDataMode")}' + required="true"/> + <hr/> + <div class="inputFile" id="acousticFile"> + <s:file id="acoustic" name="acoustic" required="true" + key="echobase.label.import.accoustique"/> + </div> + <div class="inputFile" id="captureFile"> + <s:file name="capture" required="true" + key="echobase.label.import.pecherie"/> + </div> + <div class="inputFile" id="lectureAgeGenFile"> + <s:file name="lectureAgeGen" required="true" + key="echobase.label.import.lectureAgeGen"/> + </div> + <div class="inputFile" id="eventsFile"> + <s:file name="events" required="true" + key="echobase.label.import.events"/> + </div> + <div class="inputFile" id="typeEchoSpeciesFile"> + <s:file name="typeEchoSpecies" required="true" + key="echobase.label.import.typeEchoSpecies"/> - <s:file name="capture" - key="echobase.label.import.pecherie"/> - - <s:file name="lectureAgeGen" - key="echobase.label.import.lectureAgeGen"/> - - <s:file name="events" - key="echobase.label.import.events"/> - - <s:file name="typeEchoSpecies" - key="echobase.label.import.typeEchoSpecies"/> - + </div> </fieldset> <br/> - <s:submit id="addFilesSubmit" action="configureFiles" + <s:submit action="configureFiles" value='%{getText("echobase.action.import")}'/> Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureMission.jsp =================================================================== --- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureMission.jsp 2011-11-27 10:06:33 UTC (rev 135) +++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureMission.jsp 2011-11-27 10:09:45 UTC (rev 136) @@ -38,13 +38,13 @@ $("#" + val).show(); }); </script> -<title><s:text name="echobase.title.import.configuration"/></title> +<title><s:text name="echobase.title.importData.configuration"/></title> <s:form id="importForm" namespace="/importData" method="POST"> <fieldset> <legend> - <s:text name="echobase.legend.import.configuration.mission"/> + <s:text name="echobase.legend.importData.configuration.mission"/> </legend> <s:radio key='importMode' list="importModes" Deleted: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/importProgress.jsp =================================================================== --- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/importProgress.jsp 2011-11-27 10:06:33 UTC (rev 135) +++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/importProgress.jsp 2011-11-27 10:09:45 UTC (rev 136) @@ -1,40 +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" %> - -<s:url id="url" action="doImport" namespace="/importData"/> -<meta http-equiv="refresh" content="1;url=${url}"/> - -<title><s:text name="echobase.title.importProgress"/></title> - -<%-- TODO letellier 20111104 : Add warn icon --%> -<p><s:text name="echobase.message.warnImportInProgress"/></p> - -<br/> - -<div> - <sj:progressbar value="%{model.progression}"/> -</div> \ No newline at end of file Deleted: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/importResult.jsp =================================================================== --- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/importResult.jsp 2011-11-27 10:06:33 UTC (rev 135) +++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/importResult.jsp 2011-11-27 10:09:45 UTC (rev 136) @@ -1,60 +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" %> - -<title><s:text name="echobase.title.importResult"/></title> - -<fieldset> - <legend> - <s:text name="echobase.legend.import.configuration.mission.resume"/> - </legend> - <s:label value="%{model.mission.missionName}" - key='echobase.common.missionName'/> - - <s:label value="%{model.mission.missionAbstract}" - key='echobase.common.missionAbstract'/> -</fieldset> -<br/> -<s:iterator value="importResult" var="entry"> - <s:set var="inputFile" value="%{#entry.key}"/> - <s:set var="result" value="%{#entry.value}"/> - <fieldset> - <legend> - <s:text name="echobase.legend.importFileResult"> - <s:param><strong><s:property - value="%{#inputFile.label}"/></strong></s:param> - </s:text> - </legend> - - <s:label value="%{#inputFile.fileName}" - label="%{getText('echobase.label.importFile')}"/> - - <s:label value="%{#result.numberCreated}" - label="%{getText('echobase.label.numberOfCreatedEntities')}"/> - - <s:label value="%{#result.numberUpdated}" - label="%{getText('echobase.label.numberOfUpdatedEntities')}"/> - </fieldset> -</s:iterator> Copied: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/progress.jsp (from rev 132, trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/importProgress.jsp) =================================================================== --- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/progress.jsp (rev 0) +++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/progress.jsp 2011-11-27 10:09:45 UTC (rev 136) @@ -0,0 +1,40 @@ +<%-- + #%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" %> + +<s:url id="url" action="doImport" namespace="/importData"/> +<meta http-equiv="refresh" content="1;url=${url}"/> + +<title><s:text name="echobase.title.importDataProgress"/></title> + +<%-- TODO letellier 20111104 : Add warn icon --%> +<p><s:text name="echobase.message.warnImportInProgress"/></p> + +<br/> + +<div> + <sj:progressbar value="%{model.progression}"/> +</div> \ No newline at end of file Property changes on: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/progress.jsp ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Copied: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/result.jsp (from rev 133, trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/importResult.jsp) =================================================================== --- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/result.jsp (rev 0) +++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/result.jsp 2011-11-27 10:09:45 UTC (rev 136) @@ -0,0 +1,60 @@ +<%-- + #%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" %> + +<title><s:text name="echobase.title.importDataResult"/></title> + +<fieldset> + <legend> + <s:text name="echobase.legend.importData.configuration.mission.resume"/> + </legend> + <s:label value="%{model.mission.missionName}" + key='echobase.common.missionName'/> + + <s:label value="%{model.mission.missionAbstract}" + key='echobase.common.missionAbstract'/> +</fieldset> +<br/> +<s:iterator value="importResult" var="entry"> + <s:set var="inputFile" value="%{#entry.key}"/> + <s:set var="result" value="%{#entry.value}"/> + <fieldset> + <legend> + <s:text name="echobase.legend.importFileResult"> + <s:param><strong><s:property + value="%{#inputFile.label}"/></strong></s:param> + </s:text> + </legend> + + <s:label value="%{#inputFile.fileName}" + label="%{getText('echobase.label.importFile')}"/> + + <s:label value="%{#result.numberCreated}" + label="%{getText('echobase.label.numberOfCreatedEntities')}"/> + + <s:label value="%{#result.numberUpdated}" + label="%{getText('echobase.label.numberOfUpdatedEntities')}"/> + </fieldset> +</s:iterator> Property changes on: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/result.jsp ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Added: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importHistorical/configure.jsp =================================================================== --- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importHistorical/configure.jsp (rev 0) +++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importHistorical/configure.jsp 2011-11-27 10:09:45 UTC (rev 136) @@ -0,0 +1,45 @@ +<%-- + #%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" %> + +<title><s:text name="echobase.title.importHistorical"/></title> + +<s:form namespace="/importHistorical" method="POST" enctype="multipart/form-data"> + + <fieldset> + <legend> + <s:text name="echobase.legend.importHistorical.configuration.files"/> + </legend> + + <s:file name="input" required="true" + key="echobase.common.importHistoricalFile"/> + + </fieldset> + <br/> + <s:submit action="configureImport" + value='%{getText("echobase.action.import")}'/> + + +</s:form> \ No newline at end of file Property changes on: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importHistorical/configure.jsp ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Added: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importHistorical/progress.jsp =================================================================== --- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importHistorical/progress.jsp (rev 0) +++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importHistorical/progress.jsp 2011-11-27 10:09:45 UTC (rev 136) @@ -0,0 +1,40 @@ +<%-- + #%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" %> + +<s:url id="url" action="doImport" namespace="/importHistorical"/> +<meta http-equiv="refresh" content="1;url=${url}"/> + +<title><s:text name="echobase.title.importHistoricalProgress"/></title> + +<%-- TODO letellier 20111104 : Add warn icon --%> +<p><s:text name="echobase.message.warnImportInProgress"/></p> + +<br/> + +<div> + <sj:progressbar value="%{model.progression}"/> +</div> \ No newline at end of file Property changes on: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importHistorical/progress.jsp ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Added: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importHistorical/result.jsp =================================================================== --- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importHistorical/result.jsp (rev 0) +++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importHistorical/result.jsp 2011-11-27 10:09:45 UTC (rev 136) @@ -0,0 +1,48 @@ +<%-- + #%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" %> + +<title><s:text name="echobase.title.importHistoricalResult"/></title> + +<fieldset> + <legend> + <s:text name="echobase.legend.importFileResult"> + <s:param><strong><s:property + value="%{model.input.label}"/></strong></s:param> + </s:text> + </legend> + + <s:label value="%{model.input.fileName}" + label="%{getText('echobase.label.importFile')}"/> + + <s:label value="%{importResult.numberCreated}" + label="%{getText('echobase.label.numberOfCreatedEntities')}"/> + + <s:label value="%{importResult.numberUpdated}" + label="%{getText('echobase.label.numberOfUpdatedEntities')}"/> +</fieldset> + +<div>TODO</div> + Property changes on: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importHistorical/result.jsp ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native