From 8f1fe3f3dfd2a62e9dbdee2a892c85610e64aa56 Mon Sep 17 00:00:00 2001 From: Derek Hulley Date: Tue, 3 Mar 2009 15:25:22 +0000 Subject: [PATCH] ImporterBootstrap uses Spring's DefaultResourceLoader to load views - Handles file: and classpath: references - Falls back to classloader-based resource search git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13454 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../repo/importer/ImporterBootstrap.java | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/source/java/org/alfresco/repo/importer/ImporterBootstrap.java b/source/java/org/alfresco/repo/importer/ImporterBootstrap.java index 96c006bd3b..fc6c121058 100644 --- a/source/java/org/alfresco/repo/importer/ImporterBootstrap.java +++ b/source/java/org/alfresco/repo/importer/ImporterBootstrap.java @@ -62,6 +62,9 @@ import org.alfresco.util.TempFileProvider; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.context.ApplicationEvent; +import org.springframework.core.io.DefaultResourceLoader; +import org.springframework.core.io.Resource; +import org.springframework.core.io.ResourceLoader; import org.springframework.util.FileCopyUtils; /** @@ -81,7 +84,7 @@ public class ImporterBootstrap extends AbstractLifecycleBean // Logger private static final Log logger = LogFactory.getLog(ImporterBootstrap.class); - private boolean logEnabled = false; +// private boolean logEnabled = false; private boolean allowWrite = true; private boolean useExistingStore = false; @@ -288,13 +291,11 @@ public class ImporterBootstrap extends AbstractLifecycleBean } /** - * Set log - * - * @param logEnabled + * @deprecated Was never used */ public void setLog(boolean logEnabled) { - this.logEnabled = logEnabled; + // Ignore } /** @@ -486,8 +487,9 @@ public class ImporterBootstrap extends AbstractLifecycleBean private Reader getReader(String view, String encoding) { // Get Input Stream - InputStream viewStream = getClass().getClassLoader().getResourceAsStream(view); - if (viewStream == null) + ResourceLoader resourceLoader = new DefaultResourceLoader(getClass().getClassLoader()); + Resource viewResource = resourceLoader.getResource(view); + if (viewResource == null) { throw new ImporterException("Could not find view file " + view); } @@ -495,6 +497,7 @@ public class ImporterBootstrap extends AbstractLifecycleBean // Wrap in buffered reader try { + InputStream viewStream = viewResource.getInputStream(); InputStreamReader inputReader = (encoding == null) ? new InputStreamReader(viewStream) : new InputStreamReader(viewStream, encoding); BufferedReader reader = new BufferedReader(inputReader); return reader; @@ -503,6 +506,10 @@ public class ImporterBootstrap extends AbstractLifecycleBean { throw new ImporterException("Could not create reader for view " + view + " as encoding " + encoding + " is not supported"); } + catch (IOException e) + { + throw new ImporterException("Could not open resource for view " + view); + } } /**