Author: rgardler
Date: Mon Nov 20 09:39:25 2006
New Revision: 477267
URL: http://svn.apache.org/viewvc?view=rev&rev=477267
Log:
- Make a stab at guessing HTML documents
- throw an exception if we can't work out the type o fthe source document
Modified:
forrest/trunk/whiteboard/forrest2/src/core/org/apache/forrest/core/document/DocumentFactory.java
Modified:
forrest/trunk/whiteboard/forrest2/src/core/org/apache/forrest/core/document/DocumentFactory.java
URL:
http://svn.apache.org/viewvc/forrest/trunk/whiteboard/forrest2/src/core/org/apache/forrest/core/document/DocumentFactory.java?view=diff&rev=477267&r1=477266&r2=477267
==============================================================================
---
forrest/trunk/whiteboard/forrest2/src/core/org/apache/forrest/core/document/DocumentFactory.java
(original)
+++
forrest/trunk/whiteboard/forrest2/src/core/org/apache/forrest/core/document/DocumentFactory.java
Mon Nov 20 09:39:25 2006
@@ -21,6 +21,8 @@
import java.io.InputStream;
import java.io.InputStreamReader;
+import org.apache.forrest.core.exception.ProcessingException;
+
/**
* The document factory creates instances of various types of document.
*
@@ -39,9 +41,10 @@
* @throws IOException
* If there is a problem reading the document content from
the
* InputStream
+ * @throws ProcessingException
*/
public static AbstractSourceDocument getSourceDocumentFor(
- final InputStream is) throws IOException {
+ final InputStream is) throws IOException,
ProcessingException {
return readFile(is);
}
@@ -52,9 +55,10 @@
* the reader used to read the rest of the data.
*
* @param is
+ * @throws ProcessingException
*/
private static AbstractSourceDocument readFile(final InputStream is)
- throws java.io.IOException {
+ throws java.io.IOException, ProcessingException {
AbstractSourceDocument doc = null;
final StringBuffer fileData = new StringBuffer(1024);
final BufferedReader reader = new BufferedReader(new
InputStreamReader(
@@ -78,9 +82,11 @@
if (fileData.toString().contains("<?xml")) {
doc = new
XMLSourceDocument(fileData.toString(), reader,
"application/xml");
- } else {
+ } if
(fileData.toString().toLowerCase().contains("<html>")) {
doc = new
DefaultSourceDocument(fileData.toString(), reader,
- null);
+ "html");
+ } else {
+ throw new ProcessingException("Unable to
determine the source document type");
}
}
return doc;