Author: roku
Date: Tue Apr 26 12:08:14 2005
New Revision: 164861
URL: http://svn.apache.org/viewcvs?rev=164861&view=rev
Log:
Added support for an empty application context if the default config locations
do not exist.
Modified:
cocoon/blocks/spring-app/trunk/java/org/apache/cocoon/spring/CocoonApplicationContext.java
Modified:
cocoon/blocks/spring-app/trunk/java/org/apache/cocoon/spring/CocoonApplicationContext.java
URL:
http://svn.apache.org/viewcvs/cocoon/blocks/spring-app/trunk/java/org/apache/cocoon/spring/CocoonApplicationContext.java?rev=164861&r1=164860&r2=164861&view=diff
==============================================================================
---
cocoon/blocks/spring-app/trunk/java/org/apache/cocoon/spring/CocoonApplicationContext.java
(original)
+++
cocoon/blocks/spring-app/trunk/java/org/apache/cocoon/spring/CocoonApplicationContext.java
Tue Apr 26 12:08:14 2005
@@ -15,12 +15,15 @@
*/
package org.apache.cocoon.spring;
+import java.io.IOException;
import java.net.MalformedURLException;
+import org.apache.avalon.framework.CascadingRuntimeException;
import org.apache.cocoon.environment.internal.EnvironmentHelper;
import org.apache.excalibur.source.SourceResolver;
import org.springframework.core.io.Resource;
import org.springframework.core.io.UrlResource;
+import org.springframework.web.context.support.ServletContextResource;
import org.springframework.web.context.support.XmlWebApplicationContext;
/**
@@ -73,9 +76,19 @@
/**
* The default location for the context is "conf/applicationContext.xml"
* which is searched relative to the current sitemap.
+ * @return The default config locations if they exist otherwise an empty
array.
*/
protected String[] getDefaultConfigLocations() {
- return new String[] {DEFAULT_SPRING_CONFIG};
+ try {
+ if(resolver.resolveURI(DEFAULT_SPRING_CONFIG).exists()) {
+ return new String[] {DEFAULT_SPRING_CONFIG};
+ }
+ } catch(MalformedURLException e) {
+ throw new CascadingRuntimeException("Malformed URL when resolving
Spring default config location [ " + DEFAULT_SPRING_CONFIG + "]. This is an
unrecoverable programming error. Check the code where this exception was
thrown.", e);
+ } catch(IOException e) {
+ throw new CascadingRuntimeException("Cannot resolve default config
location ["+ DEFAULT_SPRING_CONFIG + "] due to an IOException. See cause for
details.", e);
+ }
+
+ return new String[]{};
}
-
}