Author: rgardler
Date: Mon Dec 11 14:12:47 2006
New Revision: 485912
URL: http://svn.apache.org/viewvc?view=rev&rev=485912
Log:
- Keep tabs on the source document that created this internal document so that
we have tracability (particularly useful in error messages)
- better error handling in XSLT Plugin
Modified:
forrest/trunk/whiteboard/forrest2/core/src/core/org/apache/forrest/core/plugin/AggregateInputPlugin.java
forrest/trunk/whiteboard/forrest2/core/src/core/org/apache/forrest/core/plugin/PassThroughInputPlugin.java
forrest/trunk/whiteboard/forrest2/core/src/core/org/apache/forrest/core/plugin/XSLTInputPlugin.java
Modified:
forrest/trunk/whiteboard/forrest2/core/src/core/org/apache/forrest/core/plugin/AggregateInputPlugin.java
URL:
http://svn.apache.org/viewvc/forrest/trunk/whiteboard/forrest2/core/src/core/org/apache/forrest/core/plugin/AggregateInputPlugin.java?view=diff&rev=485912&r1=485911&r2=485912
==============================================================================
---
forrest/trunk/whiteboard/forrest2/core/src/core/org/apache/forrest/core/plugin/AggregateInputPlugin.java
(original)
+++
forrest/trunk/whiteboard/forrest2/core/src/core/org/apache/forrest/core/plugin/AggregateInputPlugin.java
Mon Dec 11 14:12:47 2006
@@ -66,12 +66,12 @@
if (startPos > -1 && endPos > -1) {
sb.append(content.substring(startPos + 6,
endPos - 1));
} else {
- throw new ProcessingException("Invalid document
in the aggregate collection");
+ throw new ProcessingException("Invalid document
in the aggregate collection: Document type = " + doc.getType());
}
}
sb.append(getDocumentFooter());
- return new InternalDocument(aggregateDoc.getRequestURI(),
sb.toString());
+ return new
InternalDocument((AbstractSourceDocument)aggregateDoc, sb.toString());
}
private CharSequence getDocumentHeader() {
Modified:
forrest/trunk/whiteboard/forrest2/core/src/core/org/apache/forrest/core/plugin/PassThroughInputPlugin.java
URL:
http://svn.apache.org/viewvc/forrest/trunk/whiteboard/forrest2/core/src/core/org/apache/forrest/core/plugin/PassThroughInputPlugin.java?view=diff&rev=485912&r1=485911&r2=485912
==============================================================================
---
forrest/trunk/whiteboard/forrest2/core/src/core/org/apache/forrest/core/plugin/PassThroughInputPlugin.java
(original)
+++
forrest/trunk/whiteboard/forrest2/core/src/core/org/apache/forrest/core/plugin/PassThroughInputPlugin.java
Mon Dec 11 14:12:47 2006
@@ -19,6 +19,7 @@
import java.io.IOException;
import org.apache.forrest.core.Controller;
+import org.apache.forrest.core.document.AbstractSourceDocument;
import org.apache.forrest.core.document.IDocument;
import org.apache.forrest.core.document.InternalDocument;
@@ -31,7 +32,7 @@
public class PassThroughInputPlugin extends AbstractInputPlugin {
public IDocument process(final Controller controller, final IDocument
doc) throws IOException {
- return new InternalDocument(doc.getRequestURI(),
doc.getContentAsString());
+ return new InternalDocument((AbstractSourceDocument)doc,
doc.getContentAsString());
}
}
Modified:
forrest/trunk/whiteboard/forrest2/core/src/core/org/apache/forrest/core/plugin/XSLTInputPlugin.java
URL:
http://svn.apache.org/viewvc/forrest/trunk/whiteboard/forrest2/core/src/core/org/apache/forrest/core/plugin/XSLTInputPlugin.java?view=diff&rev=485912&r1=485911&r2=485912
==============================================================================
---
forrest/trunk/whiteboard/forrest2/core/src/core/org/apache/forrest/core/plugin/XSLTInputPlugin.java
(original)
+++
forrest/trunk/whiteboard/forrest2/core/src/core/org/apache/forrest/core/plugin/XSLTInputPlugin.java
Mon Dec 11 14:12:47 2006
@@ -33,8 +33,10 @@
import javax.xml.transform.stream.StreamSource;
import org.apache.forrest.core.Controller;
+import org.apache.forrest.core.document.AbstractSourceDocument;
import org.apache.forrest.core.document.IDocument;
import org.apache.forrest.core.document.InternalDocument;
+import org.apache.forrest.core.exception.ProcessingException;
/**
* A plugin that performs an XSLT transformation on a source documents to
create
@@ -68,7 +70,7 @@
}
}
- public IDocument process(final Controller controller, final IDocument
doc) throws IOException {
+ public IDocument process(final Controller controller, final IDocument
doc) throws IOException, ProcessingException {
final TransformerFactory tFactory =
TransformerFactory.newInstance();
try {
@@ -83,19 +85,13 @@
final ByteArrayOutputStream outStream = new
ByteArrayOutputStream();
final StreamResult out = new StreamResult(outStream);
transformer.transform(in, out);
- return new InternalDocument(doc.getRequestURI(),
outStream.toString());
+ return new
InternalDocument((AbstractSourceDocument)doc, outStream.toString());
} catch (final TransformerConfigurationException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- return null;
+ throw new ProcessingException("Unable tocfigure XSL
Transformer", e);
} catch (final TransformerException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- return null;
+ throw new ProcessingException("Unable to transform
source document", e);
} catch (final URISyntaxException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- return null;
+ throw new ProcessingException("URI Syntax exception",
e);
}
}