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 2006/11/20 01:03:24 UTC

svn commit: r476984 - in /forrest/trunk/whiteboard/forrest2/src/core/org/apache/forrest/core: Controller.java IController.java

Author: rgardler
Date: Sun Nov 19 16:03:23 2006
New Revision: 476984

URL: http://svn.apache.org/viewvc?view=rev&rev=476984
Log:
Getting the reader may throw a PRocessing Exception

@whitespace

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

Modified: forrest/trunk/whiteboard/forrest2/src/core/org/apache/forrest/core/Controller.java
URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/forrest2/src/core/org/apache/forrest/core/Controller.java?view=diff&rev=476984&r1=476983&r2=476984
==============================================================================
--- forrest/trunk/whiteboard/forrest2/src/core/org/apache/forrest/core/Controller.java (original)
+++ forrest/trunk/whiteboard/forrest2/src/core/org/apache/forrest/core/Controller.java Sun Nov 19 16:03:23 2006
@@ -181,14 +181,15 @@
 		return results;
 	}
 
-	/* (non-Javadoc)
+	/*
+	 * (non-Javadoc)
+	 * 
 	 * @see org.apache.forrest.core.IController#getInputPlugin(org.apache.forrest.core.document.AbstractSourceDocument)
 	 */
 	public AbstractInputPlugin getInputPlugin(final AbstractSourceDocument doc) {
 		AbstractInputPlugin plugin;
 		try {
-			plugin = (AbstractInputPlugin) this.context.getBean(doc
-					.getType());
+			plugin = (AbstractInputPlugin) this.context.getBean(doc.getType());
 		} catch (final NoSuchBeanDefinitionException e) {
 			plugin = new PassThroughInputPlugin();
 		}
@@ -216,16 +217,19 @@
 		}
 
 		BaseOutputPlugin plugin = getOutputPlugin(requestURI);
-		
+
 		return (AbstractOutputDocument) plugin.process(doc);
 	}
 
-	/* (non-Javadoc)
+	/*
+	 * (non-Javadoc)
+	 * 
 	 * @see org.apache.forrest.core.IController#getOutputPlugin(java.net.URI)
 	 */
 	public BaseOutputPlugin getOutputPlugin(final URI requestURI) {
 		BaseOutputPlugin plugin = null;
-		final String[] names = this.context.getBeanNamesForType(BaseOutputPlugin.class);
+		final String[] names = this.context
+				.getBeanNamesForType(BaseOutputPlugin.class);
 		for (int i = 0; i < names.length; i = i + 1) {
 			plugin = (BaseOutputPlugin) this.context.getBean(names[i]);
 			if (plugin.isMatch(requestURI)) {
@@ -244,13 +248,15 @@
 	 * Load each of the source documents.
 	 * 
 	 * @throws MalformedURLException
+	 * @throws ProcessingException
 	 * 
 	 * @fixme cache the resource
 	 * @fixme handle document types other than HTML
 	 * @fixme resource handlers should be provided from a factory class
 	 */
 	private List<AbstractSourceDocument> loadSourceDocuments(
-			final List<Location> sourceLocations) throws MalformedURLException {
+			final List<Location> sourceLocations) throws MalformedURLException,
+			ProcessingException {
 		final List<AbstractSourceDocument> results = new ArrayList<AbstractSourceDocument>(
 				sourceLocations.size());
 
@@ -262,13 +268,24 @@
 		return results;
 	}
 
-	/* (non-Javadoc)
+	/*
+	 * (non-Javadoc)
+	 * 
 	 * @see org.apache.forrest.core.IController#getReader(org.apache.forrest.core.locationMap.Location)
 	 */
-	public IReader getReader(final Location location) {
+	public IReader getReader(final Location location)
+			throws ProcessingException {
 		IReader reader;
-		reader = (IReader) this.context.getBean(location.getSourceURI()
-				.getScheme());
+		try {
+			reader = (IReader) this.context.getBean(location.getScheme());
+		} catch (Exception e) {
+			try {
+				throw new ProcessingException("Unable to get a reader for : "
+						+ location.getSourceURL().toExternalForm(), e);
+			} catch (MalformedURLException e1) {
+				throw new ProcessingException("Unable to get a reader", e1);
+			}
+		}
 		return reader;
 	}
 
@@ -294,7 +311,9 @@
 		return possibleLocs.get(0);
 	}
 
-	/* (non-Javadoc)
+	/*
+	 * (non-Javadoc)
+	 * 
 	 * @see org.apache.forrest.core.IController#getSourceLocations(java.net.URI)
 	 */
 	public List<Location> getSourceLocations(final URI requestURI)
@@ -307,7 +326,9 @@
 		return locs;
 	}
 
-	/* (non-Javadoc)
+	/*
+	 * (non-Javadoc)
+	 * 
 	 * @see org.apache.forrest.core.IController#getSourceDocuments(java.net.URI)
 	 */
 	public List<AbstractSourceDocument> getSourceDocuments(final URI requestURI)
@@ -326,7 +347,9 @@
 		return sources;
 	}
 
-	/* (non-Javadoc)
+	/*
+	 * (non-Javadoc)
+	 * 
 	 * @see org.apache.forrest.core.IController#getInternalDocuments(java.net.URI)
 	 */
 	public List<InternalDocument> getInternalDocuments(final URI requestURI)
@@ -346,7 +369,9 @@
 		return internalDocs;
 	}
 
-	/* (non-Javadoc)
+	/*
+	 * (non-Javadoc)
+	 * 
 	 * @see org.apache.forrest.core.IController#getOutputDocument(java.net.URI)
 	 */
 	public AbstractOutputDocument getOutputDocument(final URI requestURI)

Modified: forrest/trunk/whiteboard/forrest2/src/core/org/apache/forrest/core/IController.java
URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/forrest2/src/core/org/apache/forrest/core/IController.java?view=diff&rev=476984&r1=476983&r2=476984
==============================================================================
--- forrest/trunk/whiteboard/forrest2/src/core/org/apache/forrest/core/IController.java (original)
+++ forrest/trunk/whiteboard/forrest2/src/core/org/apache/forrest/core/IController.java Sun Nov 19 16:03:23 2006
@@ -22,7 +22,7 @@
 
 	public abstract BaseOutputPlugin getOutputPlugin(final URI requestURI);
 
-	public abstract IReader getReader(final Location location);
+	public abstract IReader getReader(final Location location) throws ProcessingException;
 
 	/**
 	 * Get the source URLs for a given request URI.