This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository echobase. See http://git.codelutin.com/echobase.git commit e5a8cc1b11fed5f7b7cd8580c72687a61f0d4ba5 Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue Jan 12 20:20:36 2016 +0100 Chargement dans le context applicatif de la taille max d'un upload et propagation dans les actions concernées --- .../echobase/ui/EchoBaseApplicationContext.java | 36 +++++++++++++++++----- .../importData/AbstractConfigureImport.java | 4 +++ .../echobase/ui/actions/importDb/Configure.java | 4 +++ 3 files changed, 37 insertions(+), 7 deletions(-) diff --git a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseApplicationContext.java b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseApplicationContext.java index 10fc11e..70a36d9 100644 --- a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseApplicationContext.java +++ b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseApplicationContext.java @@ -53,6 +53,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.log4j.LogManager; import org.apache.log4j.PropertyConfigurator; +import org.apache.struts2.StrutsConstants; import org.nuiton.i18n.I18n; import org.nuiton.i18n.init.DefaultI18nInitializer; import org.nuiton.topia.persistence.TopiaException; @@ -66,6 +67,8 @@ import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.IOException; +import java.io.InputStream; +import java.net.URL; import java.util.List; import java.util.Locale; import java.util.Map; @@ -135,6 +138,11 @@ public class EchoBaseApplicationContext { */ protected boolean defaultUsersCreated; + /** + * Max upload file size. + */ + protected long uploadFileMaxLength; + public Set<EchoBaseSession> getEchoBaseSessions() { return sessions; } @@ -147,7 +155,7 @@ public class EchoBaseApplicationContext { } if (log.isInfoEnabled()) { log.info("Register user session for [" + - session.getUser().getEmail() + "]"); + session.getUser().getEmail() + "]"); } sessions.add(session); } @@ -158,7 +166,7 @@ public class EchoBaseApplicationContext { Preconditions.checkNotNull(sessions); if (log.isInfoEnabled()) { log.info("Destroy user session for [" + - session.getUser().getEmail() + "]"); + session.getUser().getEmail() + "]"); } // remove session from active ones sessions.remove(session); @@ -192,7 +200,7 @@ public class EchoBaseApplicationContext { initLog(configuration); } catch (IOException e) { Logger.getAnonymousLogger().log(Level.ALL, - "Could not init logger.", e); + "Could not init logger.", e); } if (log.isInfoEnabled()) { @@ -235,6 +243,16 @@ public class EchoBaseApplicationContext { } + URL resource = getClass().getResource("/struts.properties"); + Properties strutsProperties = new Properties(); + try (InputStream inputStream = resource.openStream()) { + strutsProperties.load(inputStream); + } catch (IOException e) { + throw new TopiaException("Could not load struts configuration", e); + } + String property = strutsProperties.getProperty(StrutsConstants.STRUTS_MULTIPART_MAXSIZE); + uploadFileMaxLength = Long.valueOf(property); + log.info("uploadFileMaxLength: " + uploadFileMaxLength); } @@ -333,7 +351,7 @@ public class EchoBaseApplicationContext { // no users in database create the admin user if (log.isInfoEnabled()) { log.info("No user in database, will create default " + - "users."); + "users."); } service.createDefaultUsers(); @@ -343,7 +361,7 @@ public class EchoBaseApplicationContext { if (log.isInfoEnabled()) { log.info("Will try to create default working db " + - "configuration for internal db."); + "configuration for internal db."); } // try to create a default embedded working db configuration serviceContext.newService(WorkingDbConfigurationService.class). @@ -416,7 +434,7 @@ public class EchoBaseApplicationContext { // copy it from class-path if (log.isInfoEnabled()) { log.info("Copy embedded resource " + pilotFileName + - " to directory " + libDirectory); + " to directory " + libDirectory); } EmbeddedApplicationService.copyEmbeddedBinaryFile(pilotFileName, libDirectory); } @@ -430,7 +448,7 @@ public class EchoBaseApplicationContext { // copy it from class-path if (log.isInfoEnabled()) { log.info("Copy embedded war " + embeddedWarFileName + - " to directory " + embeddedWarDirectory); + " to directory " + embeddedWarDirectory); } EmbeddedApplicationService.copyEmbeddedBinaryFile(embeddedWarFileName, embeddedWarDirectory); } @@ -465,4 +483,8 @@ public class EchoBaseApplicationContext { } } + + public long getUploadFileMaxLength() { + return uploadFileMaxLength; + } } diff --git a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/AbstractConfigureImport.java b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/AbstractConfigureImport.java index 6dbbb03..8c8fba9 100644 --- a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/AbstractConfigureImport.java +++ b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/AbstractConfigureImport.java @@ -50,6 +50,10 @@ public abstract class AbstractConfigureImport<M extends AbstractImportConfigurat super(modelType); } + public long getUploadFileMaxLength() { + return getEchoBaseApplicationContext().getUploadFileMaxLength(); + } + @Override protected void prepareExecuteAction(M model) throws IOException { File tempDirectory = FileUtils.getTempDirectory(); diff --git a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importDb/Configure.java b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importDb/Configure.java index 3a644fc..ff29fe6 100644 --- a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importDb/Configure.java +++ b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importDb/Configure.java @@ -55,6 +55,10 @@ public class Configure extends AbstractConfigureAction<ImportDbConfiguration> { return modes; } + public long getUploadFileMaxLength() { + return getEchoBaseApplicationContext().getUploadFileMaxLength(); + } + public Configure() { super(ImportDbConfiguration.class); } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.