You are viewing a plain text version of this content. The canonical link for it is here.
Posted to svn@forrest.apache.org by rg...@apache.org on 2007/08/30 02:25:55 UTC

svn commit: r570999 - /forrest/trunk/whiteboard/forrest2/core/src/main/org/apache/forrest/core/Controller.java

Author: rgardler
Date: Wed Aug 29 17:25:55 2007
New Revision: 570999

URL: http://svn.apache.org/viewvc?rev=570999&view=rev
Log:
Do a classpath lookup for default config files

Modified:
    forrest/trunk/whiteboard/forrest2/core/src/main/org/apache/forrest/core/Controller.java

Modified: forrest/trunk/whiteboard/forrest2/core/src/main/org/apache/forrest/core/Controller.java
URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/forrest2/core/src/main/org/apache/forrest/core/Controller.java?rev=570999&r1=570998&r2=570999&view=diff
==============================================================================
--- forrest/trunk/whiteboard/forrest2/core/src/main/org/apache/forrest/core/Controller.java (original)
+++ forrest/trunk/whiteboard/forrest2/core/src/main/org/apache/forrest/core/Controller.java Wed Aug 29 17:25:55 2007
@@ -20,6 +20,7 @@
 import java.io.IOException;
 import java.net.MalformedURLException;
 import java.net.URI;
+import java.net.URL;
 import java.net.URISyntaxException;
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -106,22 +107,13 @@
 	 */
 	public Controller(final String locationmapPath, final String contextPath)
 			throws URISyntaxException, SAXException, IOException {
-		final File file = new File(contextPath);
-		if (file.exists()) {
-			log.info("Using Spring Context definition in " + contextPath);
-			this.context = new FileSystemXmlApplicationContext(file.getPath());
-		} else {
-			log.info("Using default spring context definition");
-			this.context = new ClassPathXmlApplicationContext(
-					"defaultForrestContext.xml");
-		}
-		this.initLocationmap(locationmapPath);
+        init(locationmapPath, new File(contextPath));
 	}
 
 	/**
 	 * Create a controller that uses the default location for the locationmap
-	 * definition file and forrest context file. That is "src/locationmap.xml"
-	 * and "src/forrestContext.xml" respectively..
+	 * definition file and forrest context file. That is files in the classpath
+     * called "locationmap.xml" and "forrestContext.xml" respectively.
 	 * 
 	 * @throws URISyntaxException
 	 * @throws IOException
@@ -131,8 +123,25 @@
 	 * 
 	 */
 	public Controller() throws URISyntaxException, SAXException, IOException {
-		this("src/locationmap.xml", "src/forrestContext.xml");
+        URL locationmapURL = this.getClass().getResource("/locationmap.xml");
+        URL contextURL = this.getClass().getResource("/forrestContext.xml");
+        log.debug("Using locationmap at " + locationmapURL);
+        log.debug("Using context at " + contextURL);
+		init(locationmapURL.getPath(), new File(contextURL.getPath()));
 	}
+    
+    public void init(final String locationmapPath, File context) throws URISyntaxException, SAXException, IOException {
+        if (context.exists()) {
+            log.info("Using Spring Context definition in " + context.getPath());
+            this.context = new FileSystemXmlApplicationContext(context.getPath());
+        } else {
+            log.info("Using default spring context definition");
+            this.context = new ClassPathXmlApplicationContext(
+                    "defaultForrestContext.xml");
+        }
+        log.info("Using locationmap at " + locationmapPath);
+        this.initLocationmap(locationmapPath);
+    }
 
 	/**
 	 * Initialises the locationmap for use.