Author: rgardler
Date: Mon Dec 11 14:07:00 2006
New Revision: 485904
URL: http://svn.apache.org/viewvc?view=rev&rev=485904
Log:
We can only have a single source document (we use AggregateSourceDocument now)
Modified:
forrest/trunk/whiteboard/forrest2/core/src/core/org/apache/forrest/core/Controller.java
Modified:
forrest/trunk/whiteboard/forrest2/core/src/core/org/apache/forrest/core/Controller.java
URL:
http://svn.apache.org/viewvc/forrest/trunk/whiteboard/forrest2/core/src/core/org/apache/forrest/core/Controller.java?view=diff&rev=485904&r1=485903&r2=485904
==============================================================================
---
forrest/trunk/whiteboard/forrest2/core/src/core/org/apache/forrest/core/Controller.java
(original)
+++
forrest/trunk/whiteboard/forrest2/core/src/core/org/apache/forrest/core/Controller.java
Mon Dec 11 14:07:00 2006
@@ -159,7 +159,7 @@
.resolveSourceLocations(requestURI);
this.sourceLocationsCache.put(requestURI, sourceLocs);
- final List<AbstractSourceDocument> sourceDocs = this
+ final AbstractSourceDocument sourceDocs = this
.loadAllSourceDocuments(requestURI, sourceLocs);
final InternalDocument internalDoc = this.processInputPlugins(
@@ -183,22 +183,19 @@
* @throws ProcessingException
*/
private InternalDocument processInputPlugins(URI requestURI,
- final List<AbstractSourceDocument> sourceDocuments)
+ final AbstractSourceDocument sourceDocument)
throws IOException, ProcessingException {
InternalDocument result = null;
- if (sourceDocuments.size() == 0) {
- result = new InternalErrorDocument(requestURI,
+ if (sourceDocument == null) {
+ result = new InternalErrorDocument(sourceDocument,
"Unable to load source document");
} else {
- for (int i = 0; i < sourceDocuments.size(); i++) {
- final AbstractSourceDocument doc =
sourceDocuments.get(i);
- if (doc == null) {
+ if (sourceDocument == null) {
throw new ProcessingException(
"No source document is
available.");
}
- AbstractInputPlugin plugin =
getInputPlugin(doc);
- result = (InternalDocument)
plugin.process(this, doc);
- }
+ AbstractInputPlugin plugin =
getInputPlugin(sourceDocument);
+ result = (InternalDocument)
plugin.process(this, sourceDocument);
}
return result;
}
@@ -272,19 +269,18 @@
* @fixme handle document types other than HTML
* @fixme resource handlers should be provided from a factory class
*/
- private List<AbstractSourceDocument> loadAllSourceDocuments(URI
requestURI,
+ private AbstractSourceDocument loadAllSourceDocuments(URI requestURI,
final List<LocationNode> sourceLocations) throws
MalformedURLException,
ProcessingException {
- final List<AbstractSourceDocument> results = new
ArrayList<AbstractSourceDocument>(
- sourceLocations.size());
+ AbstractSourceDocument result = null;
for (int i = 0; i < sourceLocations.size(); i++) {
final LocationNode location = sourceLocations.get(i);
- AbstractSourceDocument doc =
loadSourceDocument(requestURI,
+ result = loadSourceDocument(requestURI,
location);
- results.add(doc);
+ if (result != null) break;
}
- return results;
+ return result;
}
private AbstractSourceDocument loadSourceDocument(URI requestURI,