Author: tchemit Date: 2012-09-12 13:03:43 +0200 (Wed, 12 Sep 2012) New Revision: 652 Url: http://forge.codelutin.com/repositories/revision/echobase/652 Log: fixes #1489: Improve long task error display Added: trunk/echobase-ui/src/main/webapp/WEB-INF/includes/actionResult.jsp Removed: trunk/echobase-ui/src/main/webapp/WEB-INF/includes/importDataResults.jsp Modified: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/services/AbstractEchobaseActionConfiguration.java trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/AbstractWaitAndExecAction.java trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/embeddedApplication/Build.java trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportDb/Export.java trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/AbstractLaunchImport.java trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importDb/Import.java trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/removeData/Delete.java trunk/echobase-ui/src/main/resources/config/struts-embeddedApplication.xml trunk/echobase-ui/src/main/resources/config/struts-exportDb.xml trunk/echobase-ui/src/main/resources/config/struts-importData.xml trunk/echobase-ui/src/main/resources/config/struts-importDb.xml trunk/echobase-ui/src/main/resources/config/struts-removeData.xml trunk/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties trunk/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/embeddedApplication/result.jsp trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/exportDb/result.jsp trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/resultAcousticImport.jsp trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/resultCatchesImport.jsp trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/resultCommonImport.jsp trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/resultOperationImport.jsp trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/resultResultsImport.jsp trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importDb/result.jsp trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/removeData/deleteResult.jsp Modified: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/services/AbstractEchobaseActionConfiguration.java =================================================================== --- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/services/AbstractEchobaseActionConfiguration.java 2012-09-12 11:02:33 UTC (rev 651) +++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/services/AbstractEchobaseActionConfiguration.java 2012-09-12 11:03:43 UTC (rev 652) @@ -102,6 +102,10 @@ this.error = error; } + public boolean hasError() { + return error != null; + } + @Override public String getActionTime() { return progressionModel.getActionTime(); Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/AbstractWaitAndExecAction.java =================================================================== --- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/AbstractWaitAndExecAction.java 2012-09-12 11:02:33 UTC (rev 651) +++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/AbstractWaitAndExecAction.java 2012-09-12 11:03:43 UTC (rev 652) @@ -28,6 +28,7 @@ import fr.ifremer.echobase.persistence.EchoBaseEntityHelper; import fr.ifremer.echobase.services.AbstractEchobaseActionConfiguration; import fr.ifremer.echobase.services.EchoBaseService; +import org.apache.commons.lang3.exception.ExceptionUtils; import org.nuiton.topia.TopiaContext; import java.io.IOException; @@ -62,6 +63,27 @@ /** Shared actionContext to reuse all invocation of this same action. */ private ActionContext actionContext; + private String result; + + public final String getResult() { + return result; + } + + public final Exception getError() { + return model.getError(); + } + + public final String getErrorStack() { + + String errorStack = null; + if (model.hasError()) { + + errorStack = ExceptionUtils.getStackTrace(model.getError()); + } + + return errorStack; + } + protected AbstractWaitAndExecAction(Class<M> modelType, Class<S> serviceType) { this.modelType = modelType; @@ -70,6 +92,14 @@ protected abstract void startAction(S service, M model) throws Exception; + public abstract String getActionResumeTitle(); + + protected abstract String getSuccesMessage(); + + protected abstract String getErrorMessage(); + + protected abstract String getResultMessage(M model); + public final M getModel() { return model; } @@ -90,6 +120,24 @@ model = getEchoBaseSession().getActionConfiguration(modelType); } + public final String result() throws Exception { + + try { + if (model.hasError()) { + + addFlashError(getErrorMessage()); + } else { + + // ok no error, compute result message + result = getResultMessage(model); + addFlashMessage(getSuccesMessage()); + } + return SUCCESS; + } finally { + closeAction(model); + } + } + @Override public final String execute() throws Exception { @@ -112,17 +160,17 @@ startAction(service, model); - model.endAction(); - return SUCCESS; + } catch (Exception e) { + model.setError(e); } finally { - try { - EchoBaseEntityHelper.closeConnection(tx); - } finally { - closeAction(model); - } + model.endAction(); + + EchoBaseEntityHelper.closeConnection(tx); } + + return SUCCESS; } protected void closeAction(M model) throws Exception { Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/embeddedApplication/Build.java =================================================================== --- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/embeddedApplication/Build.java 2012-09-12 11:02:33 UTC (rev 651) +++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/embeddedApplication/Build.java 2012-09-12 11:03:43 UTC (rev 652) @@ -48,6 +48,28 @@ } @Override + protected String getSuccesMessage() { + return _("echobase.info.createEmbedded.succeded"); + } + + @Override + protected String getErrorMessage() { + return _("echobase.info.createEmbedded.failed"); + } + + @Override + protected String getResultMessage(EmbeddedApplicationConfiguration model) { + String result = _("echobase.message.createEmbedded.result", + model.getActionTime()); + return result; + } + + @Override + public String getActionResumeTitle() { + return _("echobase.legend.createEmbedded.resume"); + } + + @Override protected void startAction(EmbeddedApplicationService service, EmbeddedApplicationConfiguration model) throws Exception { if (log.isInfoEnabled()) { Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportDb/Export.java =================================================================== --- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportDb/Export.java 2012-09-12 11:02:33 UTC (rev 651) +++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportDb/Export.java 2012-09-12 11:03:43 UTC (rev 652) @@ -50,10 +50,39 @@ protected void startAction(ExportDbService service, ExportDbConfiguration model) throws Exception { if (log.isInfoEnabled()) { - log.info("Start export to file " + model.getFileName()); + log.info("Start export db to file " + model.getFileName()); } service.doExport(model); } + @Override + protected String getSuccesMessage() { + return _("echobase.info.exportDb.succeded"); + } + + @Override + protected String getErrorMessage() { + return _("echobase.info.exportDb.failed"); + } + + @Override + public String getActionResumeTitle() { + return _("echobase.legend.exportDb.resume"); + } + + @Override + protected String getResultMessage(ExportDbConfiguration model) { + String exportType = _(model.getExportDbMode().getI18nKey()); + String result = _("echobase.message.exportDb.result", + exportType, + model.getFileName(), + model.getActionTime()); + + if (log.isInfoEnabled()) { + log.info("Result: " + result); + } + return result; + } + } \ No newline at end of file Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/AbstractLaunchImport.java =================================================================== --- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/AbstractLaunchImport.java 2012-09-12 11:02:33 UTC (rev 651) +++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/AbstractLaunchImport.java 2012-09-12 11:03:43 UTC (rev 652) @@ -25,14 +25,13 @@ import fr.ifremer.echobase.services.importdata.AbstractImportConfiguration; import fr.ifremer.echobase.services.importdata.AbstractImportDataService; -import fr.ifremer.echobase.services.importdata.ImportException; +import fr.ifremer.echobase.services.importdb.ImportDbConfiguration; import fr.ifremer.echobase.ui.actions.AbstractWaitAndExecAction; -import org.apache.commons.lang3.exception.ExceptionUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; /** - * TODO + * Abstract action to launch an data import. * * @author tchemit <chemit@codelutin.com> * @since 0.3 @@ -44,54 +43,49 @@ /** Logger. */ private static final Log log = LogFactory.getLog(AbstractLaunchImport.class); - protected transient Exception error; - - protected String result; - protected AbstractLaunchImport(Class<M> modelType, Class<S> serviceType) { super(modelType, serviceType); } - public String getResult() { - return result; + @Override + protected String getSuccesMessage() { + return _("echobase.info.importData.succeded"); } - public Exception getError() { - return error; + @Override + protected String getErrorMessage() { + return _("echobase.info.importData.failed"); } - public String getErrorStack() { - - String errorStack = null; - if (error != null) { - - errorStack = ExceptionUtils.getStackTrace(error); + @Override + protected String getResultMessage(M model) { + String message = _("echobase.message.importData.result", + model.getActionTime(), result); + if (log.isInfoEnabled()) { + log.info("Result: " + message); } + return message; + } - return errorStack; + @Override + public String getActionResumeTitle() { + return _("echobase.legend.importData.result.resume"); } + private String result; + @Override protected void startAction(S service, M model) throws Exception { if (log.isInfoEnabled()) { log.info("Start imports for " + getModel()); } - try { - result = service.doImport(model, getEchoBaseSession().getUser()); + result = service.doImport(model, getEchoBaseSession().getUser()); + } - addFlashMessage(_("echobase.info.import.succeded")); - - } catch (ImportException e) { - - addFlashError(_("echobase.info.import.failed")); - - if (log.isErrorEnabled()) { - log.error("Error while import ", e); - } - - error = e; - } + @Override + protected void closeAction(M model) throws Exception { + destroyModel(model); } } Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importDb/Import.java =================================================================== --- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importDb/Import.java 2012-09-12 11:02:33 UTC (rev 651) +++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importDb/Import.java 2012-09-12 11:03:43 UTC (rev 652) @@ -31,10 +31,6 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import java.util.Locale; - -import static org.nuiton.i18n.I18n.l_; - /** * Start the import db. * @@ -48,55 +44,66 @@ /** Logger. */ private static final Log log = LogFactory.getLog(Import.class); - protected String result; + public Import() { + super(ImportDbConfiguration.class, ImportDbService.class); + } - public String getResult() { - return result; + @Override + protected String getSuccesMessage() { + return _("echobase.info.importDb.succeded"); } - public Import() { - super(ImportDbConfiguration.class, ImportDbService.class); + @Override + protected String getErrorMessage() { + return _("echobase.info.importDb.failed"); } @Override - protected void startAction(ImportDbService service, - ImportDbConfiguration model) throws Exception { - if (log.isInfoEnabled()) { - log.info("Start imports with file " + - model.getInput().getFileName()); - } - + protected String getResultMessage(ImportDbConfiguration model) { ImportDbMode importDbMode = model.getImportDbMode(); - Locale locale = getLocale(); - EchoBaseUser user = getEchoBaseSession().getUser(); - service.doImport(model, user); - - switch (importDbMode) { - + String message; + switch (model.getImportDbMode()) { case REFERENTIAL: - - addFlashMessage(_("echobase.info.import.succeded")); - result = l_(locale, "echobase.importDb.referentialResult", + message = _("echobase.importDb.referentialResult", model.getActionTime()); break; case DATA: - - addFlashMessage(_("echobase.info.import.succeded")); - result = l_(locale, "echobase.importDb.dataResult", + message = _("echobase.importDb.dataResult", model.getActionTime()); break; case FREE: - - addFlashMessage(_("echobase.info.import.succeded")); - result = l_(locale, "echobase.importDb.freeResult", + message = _("echobase.importDb.freeResult", model.getActionTime()); break; + default: + throw new IllegalStateException("Can't reach here..."); } + if (log.isInfoEnabled()) { + log.info("Result: " + message); + } + return message; } @Override + public String getActionResumeTitle() { + return _("echobase.legend.importDb.resume"); + } + + @Override + protected void startAction(ImportDbService service, + ImportDbConfiguration model) throws Exception { + if (log.isInfoEnabled()) { + log.info("Start imports with file " + + model.getInput().getFileName()); + } + + EchoBaseUser user = getEchoBaseSession().getUser(); + service.doImport(model, user); + } + + @Override protected void closeAction(ImportDbConfiguration model) throws Exception { destroyModel(model); } Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/removeData/Delete.java =================================================================== --- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/removeData/Delete.java 2012-09-12 11:02:33 UTC (rev 651) +++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/removeData/Delete.java 2012-09-12 11:03:43 UTC (rev 652) @@ -42,17 +42,38 @@ /** Logger. */ private static final Log log = LogFactory.getLog(Delete.class); - protected String result; - public Delete() { super(RemoveDataConfiguration.class, RemoveDataService.class); } - public String getResult() { - return result; + @Override + protected String getSuccesMessage() { + return _("echobase.info.removeData.succeded"); } @Override + protected String getErrorMessage() { + return _("echobase.info.removeData.failed"); + } + + @Override + protected String getResultMessage(RemoveDataConfiguration model) { + String message = _("echobase.message.removeData.result", + model.getActionTime(), result); + if (log.isInfoEnabled()) { + log.info("Result: " + message); + } + return message; + } + + @Override + public String getActionResumeTitle() { + return _("echobase.legend.removeData.resume"); + } + + private String result; + + @Override protected void startAction(RemoveDataService service, RemoveDataConfiguration model) throws Exception { @@ -63,4 +84,8 @@ result = service.removeImport(model, getEchoBaseSession().getUser()); } + @Override + protected void closeAction(RemoveDataConfiguration model) throws Exception { + destroyModel(model); + } } Modified: trunk/echobase-ui/src/main/resources/config/struts-embeddedApplication.xml =================================================================== --- trunk/echobase-ui/src/main/resources/config/struts-embeddedApplication.xml 2012-09-12 11:02:33 UTC (rev 651) +++ trunk/echobase-ui/src/main/resources/config/struts-embeddedApplication.xml 2012-09-12 11:03:43 UTC (rev 652) @@ -46,12 +46,20 @@ </action> <!-- Build embedded application archive --> - <action name="build" - class="fr.ifremer.echobase.ui.actions.embeddedApplication.Build" - method="execute"> + <action name="build" method="execute" + class="fr.ifremer.echobase.ui.actions.embeddedApplication.Build"> <interceptor-ref name="basicStackLoggued"/> <interceptor-ref name="execAndWait"/> <result name="wait">/WEB-INF/jsp/embeddedApplication/progress.jsp</result> + <result type="redirectAction"> + <param name="namespace">/embeddedApplication</param> + <param name="actionName">result</param> + </result> + </action> + + <!-- Build embedded application archive --> + <action name="result" method="result" + class="fr.ifremer.echobase.ui.actions.embeddedApplication.Build"> <result>/WEB-INF/jsp/embeddedApplication/result.jsp</result> </action> Modified: trunk/echobase-ui/src/main/resources/config/struts-exportDb.xml =================================================================== --- trunk/echobase-ui/src/main/resources/config/struts-exportDb.xml 2012-09-12 11:02:33 UTC (rev 651) +++ trunk/echobase-ui/src/main/resources/config/struts-exportDb.xml 2012-09-12 11:03:43 UTC (rev 652) @@ -53,6 +53,15 @@ <interceptor-ref name="basicStackLoggued"/> <interceptor-ref name="execAndWait"/> <result name="wait">/WEB-INF/jsp/exportDb/progress.jsp</result> + <result type="redirectAction"> + <param name="namespace">/exportDb</param> + <param name="actionName">result</param> + </result> + </action> + + <!-- Result Build export --> + <action name="result" method="result" + class="fr.ifremer.echobase.ui.actions.exportDb.Export"> <result>/WEB-INF/jsp/exportDb/result.jsp</result> </action> Modified: trunk/echobase-ui/src/main/resources/config/struts-importData.xml =================================================================== --- trunk/echobase-ui/src/main/resources/config/struts-importData.xml 2012-09-12 11:02:33 UTC (rev 651) +++ trunk/echobase-ui/src/main/resources/config/struts-importData.xml 2012-09-12 11:03:43 UTC (rev 652) @@ -54,11 +54,20 @@ </action> <!-- Starts import --> - <action name="import*" + <action name="import*" method="execute" class="fr.ifremer.echobase.ui.actions.importData.Launch{1}Import"> <interceptor-ref name="basicStackLoggued"/> <interceptor-ref name="execAndWait"/> <result name="wait">/WEB-INF/jsp/importData/progress{1}Import.jsp</result> + <result type="redirectAction"> + <param name="namespace">/importData</param> + <param name="actionName">result{1}</param> + </result> + </action> + + <!-- Result of Starts import --> + <action name="result*" method="result" + class="fr.ifremer.echobase.ui.actions.importData.Launch{1}Import"> <result>/WEB-INF/jsp/importData/result{1}Import.jsp</result> </action> Modified: trunk/echobase-ui/src/main/resources/config/struts-importDb.xml =================================================================== --- trunk/echobase-ui/src/main/resources/config/struts-importDb.xml 2012-09-12 11:02:33 UTC (rev 651) +++ trunk/echobase-ui/src/main/resources/config/struts-importDb.xml 2012-09-12 11:03:43 UTC (rev 652) @@ -48,11 +48,20 @@ </action> <!-- Starts import --> - <action name="import" class="fr.ifremer.echobase.ui.actions.importDb.Import" - method="execute"> + <action name="import" method="execute" + class="fr.ifremer.echobase.ui.actions.importDb.Import"> <interceptor-ref name="basicStackLoggued"/> <interceptor-ref name="execAndWait"/> <result name="wait">/WEB-INF/jsp/importDb/progress.jsp</result> + <result type="redirectAction"> + <param name="namespace">/importDb</param> + <param name="actionName">result</param> + </result> + </action> + + <!-- Result import --> + <action name="result" method="result" + class="fr.ifremer.echobase.ui.actions.importDb.Import"> <result>/WEB-INF/jsp/importDb/result.jsp</result> </action> Modified: trunk/echobase-ui/src/main/resources/config/struts-removeData.xml =================================================================== --- trunk/echobase-ui/src/main/resources/config/struts-removeData.xml 2012-09-12 11:02:33 UTC (rev 651) +++ trunk/echobase-ui/src/main/resources/config/struts-removeData.xml 2012-09-12 11:03:43 UTC (rev 652) @@ -44,6 +44,15 @@ <interceptor-ref name="basicStackLoggued"/> <interceptor-ref name="execAndWait"/> <result name="wait">/WEB-INF/jsp/removeData/deleteProgress.jsp</result> + <result type="redirectAction"> + <param name="namespace">/removeData</param> + <param name="actionName">result</param> + </result> + </action> + + <!-- Result of Delete the importLog --> + <action name="result" method="result" + class="fr.ifremer.echobase.ui.actions.removeData.Delete"> <result>/WEB-INF/jsp/removeData/deleteResult.jsp</result> </action> Modified: trunk/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties =================================================================== --- trunk/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties 2012-09-12 11:02:33 UTC (rev 651) +++ trunk/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties 2012-09-12 11:03:43 UTC (rev 652) @@ -34,7 +34,6 @@ echobase.action.show.exportDb.documentation=How to export a database echobase.action.show.import.documentation=How to import data echobase.action.show.importDb.documentation=How to import a database -echobase.action.showImportLogs=Liste des imports\=Show import logs echobase.action.toEnglish=English echobase.action.toFrench=French echobase.action.usingEnglish=English @@ -45,6 +44,7 @@ echobase.common.acousticDensityUnit=acousticDensityUnit echobase.common.acquisitionSoftwareVersionER60=acquisitionSoftwareVersion (ER60 instrument) echobase.common.acquisitionSoftwareVersionME70=acquisitionSoftwareVersion (ME70 instrument) +echobase.common.actionError=An error occurs while operation\: echobase.common.addDataAcquisition=Always create new DataAcqusitions entries echobase.common.admin=Administrator echobase.common.areaOfOperation=AreaOfOperation @@ -74,13 +74,11 @@ echobase.common.exportDbMode=Mode echobase.common.gearMetadataFile= echobase.common.id=ID -echobase.common.imortType=import type echobase.common.importDataMode=Import type echobase.common.importDate=Import date echobase.common.importDbFile= echobase.common.importDbMode=Import db mode echobase.common.importError=Error\: -echobase.common.importLogActions=Actions echobase.common.importNotes=Import notes echobase.common.importResult=Import results echobase.common.importText=import description @@ -223,14 +221,20 @@ echobase.importDb.freeResult=Free db import was succesful in %s. echobase.importDb.referentialResult=Referential db import was succesul in %s. echobase.info.click.to.select=You can select value with a simple click then copy it (Ctrl-C) +echobase.info.createEmbedded.failed=Portable application creation failed +echobase.info.createEmbedded.succeded=Portable application creation succesful echobase.info.dbeditor.propertyDiffsResult=Data import results echobase.info.documentation=EchoBase online documentation echobase.info.downloadFiles=Download EchoBase or some import files -echobase.info.echoBaseForge=Project Forge echobase.info.echoR=EchoR project echobase.info.exportDb.archive=Basebame of the archive, extension <strong>.echobase</strong> will be added to it. +echobase.info.exportDb.failed=Database export failed +echobase.info.exportDb.succeded=Database export successful echobase.info.import.failed=Import failed -echobase.info.import.succeded=Successful import +echobase.info.importData.failed=Data import failed +echobase.info.importData.succeded=Data import sucessful +echobase.info.importDb.failed=Database import failed +echobase.info.importDb.succeded=Database import successful echobase.info.license=License AGPL V3 echobase.info.new.sqlQuery.inprogress=Query creation in progress echobase.info.new.workingDbConfiguration.inprogress=New working database configuration in progress @@ -240,6 +244,8 @@ echobase.info.no.voyagee.found=No survey selected echobase.info.no.workingDbConfiguration.saved=No working database configuration saved echobase.info.no.workingDbConfiguration.selected=Select a working database configuration and then connect +echobase.info.removeData.failed=Import removal failed +echobase.info.removeData.succeded=Successful data import removal in %s echobase.info.reportBug=Bug report echobase.info.sqlQuery.not.modifiable=You have not sufficient rights to update the selected query echobase.info.update.user.password=Keep empty password field to not modify it. @@ -282,22 +288,22 @@ echobase.label.workingDbConfigurations=Working databases saved echobase.label.workingDbSelected=Working database selected <strong>%s</strong> echobase.legend.connectionToDb.detail=Database connection detailed information +echobase.legend.createEmbedded.resume=Results of portable application creation echobase.legend.dbeditor.edit=Editing '%s' echobase.legend.dbeditor.show=Displaying '%s' echobase.legend.embeddedApplication.configuration=Portable database configuration echobase.legend.exportDb.configuration.files=Export configuration echobase.legend.exportDb.configuration.selectExportDbMode=Select export db mode +echobase.legend.exportDb.resume=Resume of database export echobase.legend.importData.configuration.selectImportType=Type of import selection echobase.legend.importData.configure=Import configuration echobase.legend.importData.createMission=Mission caracteristics -echobase.legend.importData.result.resume=Results +echobase.legend.importData.result.resume=Results of data import echobase.legend.importDb.configuration=Configure import -echobase.legend.importDb.configuration.files=Import file selection (.echobase file) -echobase.legend.importDb.configuration.freeMode=Free import configuration -echobase.legend.importDb.configuration.legacyVoyageMode=Data import configuration -echobase.legend.importDb.configuration.referentialMode=Referential import configuration echobase.legend.importDb.configuration.selectImportDbMode=Select import db mode +echobase.legend.importDb.resume=Results of database import echobase.legend.libreOfficeQuery=Translate a SQL query from Libre Office +echobase.legend.removeData.resume=Results of Import removal echobase.legend.sqlQuery.configuration=Query definition echobase.legend.sqlQuery.result=Query results echobase.legend.workingDbConfiguration.create=Create a working database configuration @@ -313,9 +319,13 @@ echobase.menu.removeData=Remove data echobase.menu.users=Manage users echobase.menu.viewData=Display data +echobase.message.createEmbedded.result=Portable application was successful in %s. +echobase.message.download.link=If download did not start by itself, you can start it manually from this link\: +echobase.message.exportDb.result=Export of database was successful in %s. +echobase.message.importData.result=Data import successful in %s \:\n%s echobase.message.no.row.selected=No data selected echobase.message.noEntrySelection=No field selected -echobase.message.removeData.result=data was successful removed in %s. +echobase.message.removeData.result=Data import removalwas successful in %s\:\n%s echobase.message.warnEmbeddedApplicationInProgress=Please do not close the window to access the new portable database file echobase.message.warnExportInProgress=Please do not close the window to access the export file echobase.message.warnImportInProgress=Please do not close the window to access the imported file Modified: trunk/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties =================================================================== --- trunk/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties 2012-09-12 11:02:33 UTC (rev 651) +++ trunk/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties 2012-09-12 11:03:43 UTC (rev 652) @@ -34,7 +34,6 @@ echobase.action.show.exportDb.documentation=Comment exporter une base echobase.action.show.import.documentation=Comment importer des données echobase.action.show.importDb.documentation=Comment importer une base -echobase.action.showImportLogs=Liste des imports echobase.action.toEnglish=En anglais echobase.action.toFrench=En français echobase.action.usingEnglish=Version anglaise @@ -45,6 +44,7 @@ echobase.common.acousticDensityUnit=Unité des densités acoustiques echobase.common.acquisitionSoftwareVersionER60=Version du logiciel d'acquisition ER60 echobase.common.acquisitionSoftwareVersionME70=Version du logiciel d'acquisition ME70 +echobase.common.actionError=Une erreur est survenue pendant l'opération \: echobase.common.addDataAcquisition=Toujours créer de nouvelles entrées DataAcqusitions echobase.common.admin=Administrateur echobase.common.areaOfOperation=Zone d'activités @@ -74,13 +74,11 @@ echobase.common.exportDbMode=Mode echobase.common.gearMetadataFile= echobase.common.id=Identifiant -echobase.common.imortType=Type d'import echobase.common.importDataMode=Type d'import echobase.common.importDate=Date de l'import echobase.common.importDbFile= echobase.common.importDbMode=Mode d'import echobase.common.importError=Une erreur est survenue pendant l'import \: -echobase.common.importLogActions=Actions echobase.common.importNotes=Remarques sur l'import echobase.common.importResult=Résultat de l'import echobase.common.importText=Description @@ -223,14 +221,20 @@ echobase.importDb.freeResult=L'import de type libre s'est déroulé avec succès en %s. echobase.importDb.referentialResult=L'import de type référentiel s'est déroulé avec succès en %s. echobase.info.click.to.select=Vous pouvez sélectionner la valeur en un simple click puis la copier (Ctrl-C) +echobase.info.createEmbedded.failed=Création de l'application embarqué réussi +echobase.info.createEmbedded.succeded=Création de l'application embarqué a échoué echobase.info.dbeditor.propertyDiffsResult=Résultat d'import de données echobase.info.documentation=Documentation en ligne d'EchoBase echobase.info.downloadFiles=Télécharger l'application ou des fichiers d'imports -echobase.info.echoBaseForge=Gestion du projet echobase.info.echoR=Projet EchoR echobase.info.exportDb.archive=Il s'agit du nom de l'archive, l'extension <strong>.echobase</strong> sera automatiquement rajoutée. +echobase.info.exportDb.failed=L'export de la base de données a échoué +echobase.info.exportDb.succeded=L'export de la base de données a réussi echobase.info.import.failed=L'import a échoué -echobase.info.import.succeded=L'import a réussi +echobase.info.importData.failed=L'import des données a échoué +echobase.info.importData.succeded=L'import des données a réussi +echobase.info.importDb.failed=L'import de la base de données a échoué +echobase.info.importDb.succeded=L'import de la base de données a réussi echobase.info.license=Licence AGPL V3 echobase.info.new.sqlQuery.inprogress=Nouvelle requête en cours de création echobase.info.new.workingDbConfiguration.inprogress=Nouvelle configuration de base de travail en cours de création @@ -240,6 +244,8 @@ echobase.info.no.voyagee.found=Aucune campagne à exporter echobase.info.no.workingDbConfiguration.saved=Aucune configuration de base de travail enregistrée echobase.info.no.workingDbConfiguration.selected=Sélectionner une configuration pour ensuite vous y connecter +echobase.info.removeData.failed=La suppresion de l'import a échoué +echobase.info.removeData.succeded=La suppresion de l'import a réussi en %s echobase.info.reportBug=Rapport de bug echobase.info.sqlQuery.not.modifiable=Vous ne disposez pas des droits nécessaires pour modifier la requête sélectionnée echobase.info.update.user.password=Pour ne pas modifier le mot de passe laisser ce champs vide. @@ -282,22 +288,22 @@ echobase.label.workingDbConfigurations=Bases de travail enregistrées echobase.label.workingDbSelected=Base de travail sélectionnée <strong>%s</strong> echobase.legend.connectionToDb.detail=Informations détaillées de connexion à la base de données +echobase.legend.createEmbedded.resume=Résumé de la création d'une application embarquée echobase.legend.dbeditor.edit=Edition de '%s' echobase.legend.dbeditor.show=Visualisation de '%s' echobase.legend.embeddedApplication.configuration=Configuration de l'application embarquée echobase.legend.exportDb.configuration.files=Configuration de l'export echobase.legend.exportDb.configuration.selectExportDbMode=Choix du mode d'export +echobase.legend.exportDb.resume=Résumé de l'export de base echobase.legend.importData.configuration.selectImportType=Sélection du type d'import echobase.legend.importData.configure=Configurer l'import echobase.legend.importData.createMission=Caractéristiques de la mission -echobase.legend.importData.result.resume=Résultats +echobase.legend.importData.result.resume=Résultats de l'import de données echobase.legend.importDb.configuration=Configuration de l'import -echobase.legend.importDb.configuration.files=Choix du fichier à importer (fichier .echobase) -echobase.legend.importDb.configuration.freeMode=Configuration import "libre" -echobase.legend.importDb.configuration.legacyVoyageMode=Configuration import "données" -echobase.legend.importDb.configuration.referentialMode=Configuration import "référentiel" echobase.legend.importDb.configuration.selectImportDbMode=Choix du mode d'import +echobase.legend.importDb.resume=Résumé de l'import de base de données echobase.legend.libreOfficeQuery=Traduire une requête SQL issue de Libre Office +echobase.legend.removeData.resume=Résumé de la suppression d'un import echobase.legend.sqlQuery.configuration=Définition de la requête echobase.legend.sqlQuery.result=Résultats de la requête echobase.legend.workingDbConfiguration.create=Création d'une configuration de base de travail @@ -313,9 +319,13 @@ echobase.menu.removeData=Supprimer des données echobase.menu.users=Gérer les utilisateurs echobase.menu.viewData=Visualiser les données +echobase.message.createEmbedded.result=La création de l'application embarqué a réussi en %s +echobase.message.download.link=Si le téléchargement n'a pas démarré automatiquement, suivez ce lien \: +echobase.message.exportDb.result=L'export de la base a réussi en %s +echobase.message.importData.result=Import de données réussi en %s \:\n%s echobase.message.no.row.selected=Aucune donnée sélectionnée echobase.message.noEntrySelection=Pas de champ sélectionné -echobase.message.removeData.result=Résultat de la suppression de l'import %s +echobase.message.removeData.result=La suppression de l'import s'est déroule avec succès en %s \:\n%s echobase.message.warnEmbeddedApplicationInProgress=Merci de ne pas fermer la fenêtre pour pouvoir accéder aux résultats de la création de l'application embarquée echobase.message.warnExportInProgress=Merci de ne pas fermer la fenêtre pour pouvoir accéder aux résultats de l'export echobase.message.warnImportInProgress=Merci de ne pas fermer la fenêtre pour pouvoir accéder aux résultats de l'import @@ -354,4 +364,3 @@ echobase.tooltip.disconnectWorkingDb=Changer de base de travail echobase.tooltip.logout=Se déconnecter echobase.tooltip.selectWorkingDb=Sélectionner une base de travail -ehobase.message.removeData.result=Import supprimé avec succès en %s Added: trunk/echobase-ui/src/main/webapp/WEB-INF/includes/actionResult.jsp =================================================================== --- trunk/echobase-ui/src/main/webapp/WEB-INF/includes/actionResult.jsp (rev 0) +++ trunk/echobase-ui/src/main/webapp/WEB-INF/includes/actionResult.jsp 2012-09-12 11:03:43 UTC (rev 652) @@ -0,0 +1,50 @@ +<%-- + #%L + EchoBase :: UI + + $Id$ + $HeadURL: http://svn.forge.codelutin.com/svn/echobase/trunk/echobase-ui/src/main/webap... $ + %% + Copyright (C) 2011 Ifremer, Codelutin + %% + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + #L% + --%> +<%@page contentType="text/html" pageEncoding="UTF-8" %> +<%@ taglib prefix="s" uri="/struts-tags" %> + +<br/> +<fieldset> + <legend> + <s:property value="actionResumeTitle"/> + </legend> + + <s:if test="error != null"> + <s:text name="echobase.common.actionError"/> + <strong> + <s:property value="error.message"/> + </strong> + <pre id="errorStack"> + <code> + <s:property value="errorStack"/> + </code> + </pre> + </s:if> + <s:else> + <pre> + <s:property value="result"/> + </pre> + </s:else> +</fieldset> + Property changes on: trunk/echobase-ui/src/main/webapp/WEB-INF/includes/actionResult.jsp ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native Deleted: trunk/echobase-ui/src/main/webapp/WEB-INF/includes/importDataResults.jsp =================================================================== --- trunk/echobase-ui/src/main/webapp/WEB-INF/includes/importDataResults.jsp 2012-09-12 11:02:33 UTC (rev 651) +++ trunk/echobase-ui/src/main/webapp/WEB-INF/includes/importDataResults.jsp 2012-09-12 11:03:43 UTC (rev 652) @@ -1,48 +0,0 @@ -<%-- - #%L - EchoBase :: UI - - $Id$ - $HeadURL$ - %% - Copyright (C) 2011 Ifremer, Codelutin - %% - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. - #L% - --%> -<%@page contentType="text/html" pageEncoding="UTF-8" %> -<%@ taglib prefix="s" uri="/struts-tags" %> - -<br/> -<fieldset> - <legend><s:text name="echobase.legend.importData.result.resume"/></legend> - - <s:if test="hasActionErrors()"> - <s:text name="echobase.common.importError"/> - <strong> - <s:property value="error.message"/> - </strong> - <pre id="errorStack"> - <code> - <s:property value="errorStack"/> - </code> - </pre> - </s:if> - <s:else> - <pre> - <s:property value="result"/> - </pre> - </s:else> -</fieldset> - Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/embeddedApplication/result.jsp =================================================================== --- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/embeddedApplication/result.jsp 2012-09-12 11:02:33 UTC (rev 651) +++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/embeddedApplication/result.jsp 2012-09-12 11:03:43 UTC (rev 652) @@ -37,11 +37,6 @@ </script> <title><s:text name="echobase.title.embeddedApplicationResult"/></title> -<div> - La création de l'application embarquée a réussi en <s:property - value="model.actionTime"/>. -</div> - <div class="cleanBoth help"> <s:a href="http://maven-site.forge.codelutin.com/echobase/embedded.html" target="doc"> @@ -49,10 +44,11 @@ </s:a> </div> <br/> -<br/> +<%@ include file="/WEB-INF/includes/actionResult.jsp" %> + <div> - Si le téléchargement n'a pas démarré automatiquement, suivez ce lien : + <s:text name="echobase.message.download.link"/> <a href="${downloadUrl}"> <s:text name="echobase.action.downloadEmbeddedApplicationFile"/> </a> Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/exportDb/result.jsp =================================================================== --- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/exportDb/result.jsp 2012-09-12 11:02:33 UTC (rev 651) +++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/exportDb/result.jsp 2012-09-12 11:03:43 UTC (rev 652) @@ -37,9 +37,10 @@ </script> <title><s:text name="echobase.title.exportDbResult"/></title> +<%@ include file="/WEB-INF/includes/actionResult.jsp" %> + <div> - L'export de la base complête a réussi en <s:property - value="model.actionTime"/>. + L'export de la base complête a réussi en <s:property value="model.actionTime"/>. </div> <br/> Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/resultAcousticImport.jsp =================================================================== --- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/resultAcousticImport.jsp 2012-09-12 11:02:33 UTC (rev 651) +++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/resultAcousticImport.jsp 2012-09-12 11:03:43 UTC (rev 652) @@ -29,4 +29,4 @@ <s:text name="echobase.common.importType.acoustic"/> </title> -<%@ include file="/WEB-INF/includes/importDataResults.jsp" %> +<%@ include file="/WEB-INF/includes/actionResult.jsp" %> Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/resultCatchesImport.jsp =================================================================== --- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/resultCatchesImport.jsp 2012-09-12 11:02:33 UTC (rev 651) +++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/resultCatchesImport.jsp 2012-09-12 11:03:43 UTC (rev 652) @@ -29,4 +29,4 @@ <s:text name="echobase.common.importType.catches"/> </title> -<%@ include file="/WEB-INF/includes/importDataResults.jsp" %> +<%@ include file="/WEB-INF/includes/actionResult.jsp" %> Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/resultCommonImport.jsp =================================================================== --- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/resultCommonImport.jsp 2012-09-12 11:02:33 UTC (rev 651) +++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/resultCommonImport.jsp 2012-09-12 11:03:43 UTC (rev 652) @@ -28,4 +28,4 @@ <s:text name="echobase.common.importType.common"/> </title> -<%@ include file="/WEB-INF/includes/importDataResults.jsp" %> \ No newline at end of file +<%@ include file="/WEB-INF/includes/actionResult.jsp" %> \ No newline at end of file Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/resultOperationImport.jsp =================================================================== --- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/resultOperationImport.jsp 2012-09-12 11:02:33 UTC (rev 651) +++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/resultOperationImport.jsp 2012-09-12 11:03:43 UTC (rev 652) @@ -29,4 +29,4 @@ <s:text name="echobase.common.importType.operation"/> </title> -<%@ include file="/WEB-INF/includes/importDataResults.jsp" %> +<%@ include file="/WEB-INF/includes/actionResult.jsp" %> Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/resultResultsImport.jsp =================================================================== --- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/resultResultsImport.jsp 2012-09-12 11:02:33 UTC (rev 651) +++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/resultResultsImport.jsp 2012-09-12 11:03:43 UTC (rev 652) @@ -33,4 +33,4 @@ ( <s:property value="%{getText(model.importType.i18nKey)}"/> ) </h4> -<%@ include file="/WEB-INF/includes/importDataResults.jsp" %> +<%@ include file="/WEB-INF/includes/actionResult.jsp" %> Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importDb/result.jsp =================================================================== --- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importDb/result.jsp 2012-09-12 11:02:33 UTC (rev 651) +++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importDb/result.jsp 2012-09-12 11:03:43 UTC (rev 652) @@ -26,7 +26,5 @@ <title><s:text name="echobase.title.importDbResult"/></title> -<div> - <s:property value="%{result}"/> -</div> +<%@ include file="/WEB-INF/includes/actionResult.jsp" %> Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/removeData/deleteResult.jsp =================================================================== --- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/removeData/deleteResult.jsp 2012-09-12 11:02:33 UTC (rev 651) +++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/removeData/deleteResult.jsp 2012-09-12 11:03:43 UTC (rev 652) @@ -26,14 +26,7 @@ <title><s:text name="echobase.title.removeDataResult"/></title> -<div> - <s:text name="echobase.message.removeData.result"> - <s:param><s:property value="model.actionTime"/></s:param> - </s:text> - <pre> - <s:property value="result"/> - </pre> -</div> +<%@ include file="/WEB-INF/includes/actionResult.jsp" %> <s:form id="createForm" namespace="/removeData"> <ul class="toolbar floatLeft">