From 6451d24f0987cf8283341750672ba95ee085fc9c Mon Sep 17 00:00:00 2001 From: jprocter Date: Fri, 10 Dec 2010 11:51:16 +0000 Subject: [PATCH] mime types and handler --- src/jalview/ws/io/mime/HttpContentHandler.java | 17 +++ .../ws/io/mime/JalviewMimeContentHandler.java | 146 ++++++++++++++++++++ src/jalview/{ => ws}/io/mime/MimeTypes.java | 2 +- src/jalview/ws/rest/HttpResultSet.java | 9 +- src/jalview/ws/rest/RestJobThread.java | 2 +- 5 files changed, 169 insertions(+), 7 deletions(-) create mode 100644 src/jalview/ws/io/mime/HttpContentHandler.java create mode 100644 src/jalview/ws/io/mime/JalviewMimeContentHandler.java rename src/jalview/{ => ws}/io/mime/MimeTypes.java (98%) diff --git a/src/jalview/ws/io/mime/HttpContentHandler.java b/src/jalview/ws/io/mime/HttpContentHandler.java new file mode 100644 index 0000000..c9a1bd2 --- /dev/null +++ b/src/jalview/ws/io/mime/HttpContentHandler.java @@ -0,0 +1,17 @@ +package jalview.ws.io.mime; + +import java.net.ContentHandler; +import java.net.ContentHandlerFactory; + +public class HttpContentHandler implements ContentHandlerFactory +{ + + @Override + public ContentHandler createContentHandler(String mimetype) + { + + // TODO Auto-generated method stub + return null; + } + +} diff --git a/src/jalview/ws/io/mime/JalviewMimeContentHandler.java b/src/jalview/ws/io/mime/JalviewMimeContentHandler.java new file mode 100644 index 0000000..9cbb4d7 --- /dev/null +++ b/src/jalview/ws/io/mime/JalviewMimeContentHandler.java @@ -0,0 +1,146 @@ +package jalview.ws.io.mime; + +import jalview.io.packed.DataProvider; +import jalview.io.packed.JalviewDataset; + +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.List; + +import org.apache.james.mime4j.MimeException; +import org.apache.james.mime4j.descriptor.BodyDescriptor; +import org.apache.james.mime4j.parser.ContentHandler; +import org.apache.james.mime4j.parser.Field; + +/** + * ContentHandler for parsing mime encoded messages into Jalview objects. + * TODO: complete implementation + * TODO: test implementation + * TODO: hook in to Jalview IO and service response parser. + * @author JimP + * + */ +public class JalviewMimeContentHandler implements ContentHandler +{ + /** + * context for data parsed from multi-part mime document + */ + JalviewDataset context; + + /** + * create a new handler to process a Jalview mime message. + * @param ds + */ + public JalviewMimeContentHandler(JalviewDataset ds) + { + context=ds; + } + /** + * type of data pack being parsed currently + */ + String currentType; + /** + * name of data pack being parsed currently + */ + String currentName; + + /** + * sources for data to be parsed + */ + List dataItems = new ArrayList(); + + @Override + public void body(BodyDescriptor arg0, InputStream arg1) + throws MimeException, IOException + { + + // TODO Auto-generated method stub + + } + + @Override + public void endBodyPart() throws MimeException + { + // TODO Auto-generated method stub + + } + + @Override + public void endHeader() throws MimeException + { + // TODO Auto-generated method stub + + } + + @Override + public void endMessage() throws MimeException + { + // TODO Auto-generated method stub + + } + + @Override + public void endMultipart() throws MimeException + { + // TODO Auto-generated method stub + + } + + @Override + public void epilogue(InputStream arg0) throws MimeException, IOException + { + // TODO Auto-generated method stub + + } + + @Override + public void field(Field arg0) throws MimeException + { + // TODO Auto-generated method stub + + } + + @Override + public void preamble(InputStream arg0) throws MimeException, IOException + { + // TODO Auto-generated method stub + + } + + @Override + public void raw(InputStream arg0) throws MimeException, IOException + { + // TODO Auto-generated method stub + + } + + @Override + public void startBodyPart() throws MimeException + { + // TODO Auto-generated method stub + + } + + @Override + public void startHeader() throws MimeException + { + // TODO Auto-generated method stub + + } + + @Override + public void startMessage() throws MimeException + { + // TODO Auto-generated method stub + + } + + @Override + public void startMultipart(BodyDescriptor arg0) throws MimeException + { + // TODO Auto-generated method stub + + } + +} diff --git a/src/jalview/io/mime/MimeTypes.java b/src/jalview/ws/io/mime/MimeTypes.java similarity index 98% rename from src/jalview/io/mime/MimeTypes.java rename to src/jalview/ws/io/mime/MimeTypes.java index 90265dc..d62d077 100644 --- a/src/jalview/io/mime/MimeTypes.java +++ b/src/jalview/ws/io/mime/MimeTypes.java @@ -1,4 +1,4 @@ -package jalview.io.mime; +package jalview.ws.io.mime; import jalview.io.packed.DataProvider.JvDataType; diff --git a/src/jalview/ws/rest/HttpResultSet.java b/src/jalview/ws/rest/HttpResultSet.java index bfef0cc..b99d538 100644 --- a/src/jalview/ws/rest/HttpResultSet.java +++ b/src/jalview/ws/rest/HttpResultSet.java @@ -1,6 +1,9 @@ package jalview.ws.rest; -import java.io.BufferedInputStream; +import jalview.bin.Cache; +import jalview.io.FileParse; +import jalview.ws.io.mime.JalviewMimeContentHandler; + import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; @@ -14,10 +17,6 @@ import org.apache.james.mime4j.MimeException; import org.apache.james.mime4j.parser.ContentHandler; import org.apache.james.mime4j.parser.MimeStreamParser; -import jalview.bin.Cache; -import jalview.io.FileParse; -import jalview.io.mime.JalviewMimeContentHandler; - /** * data source instantiated from the response of an httpclient request. * diff --git a/src/jalview/ws/rest/RestJobThread.java b/src/jalview/ws/rest/RestJobThread.java index ba3d6b5..bd71813 100644 --- a/src/jalview/ws/rest/RestJobThread.java +++ b/src/jalview/ws/rest/RestJobThread.java @@ -178,7 +178,7 @@ public class RestJobThread extends AWSThread throws Exception { StringBuffer respText = new StringBuffer(); - // con.setContentHandlerFactory(new jalview.io.mime.HttpContentHandler()); + // con.setContentHandlerFactory(new jalview.ws.io.mime.HttpContentHandler()); HttpRequestBase request = null; String messages = ""; if (stg == Stage.SUBMIT) -- 1.7.10.2