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 18:39:26 UTC

svn commit: r477267 - /forrest/trunk/whiteboard/forrest2/src/core/org/apache/forrest/core/document/DocumentFactory.java

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;