TAVERNA-992: Attempt to use Apache Tika for mime type guessing

Project: http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/commit/e50757cc
Tree: 
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/tree/e50757cc
Diff: 
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/diff/e50757cc

Branch: refs/heads/master
Commit: e50757cc2de2e6794ba0925d70f12c70259fbef0
Parents: ebf6fe8
Author: Stian Soiland-Reyes <[email protected]>
Authored: Thu Jul 14 15:37:00 2016 +0100
Committer: Stian Soiland-Reyes <[email protected]>
Committed: Thu Jul 14 15:37:00 2016 +0100

----------------------------------------------------------------------
 .../RenderedProcessorResultComponent.java       | 24 ++++++++++++++------
 1 file changed, 17 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/e50757cc/taverna-results-view/src/main/java/org/apache/taverna/workbench/views/results/processor/RenderedProcessorResultComponent.java
----------------------------------------------------------------------
diff --git 
a/taverna-results-view/src/main/java/org/apache/taverna/workbench/views/results/processor/RenderedProcessorResultComponent.java
 
b/taverna-results-view/src/main/java/org/apache/taverna/workbench/views/results/processor/RenderedProcessorResultComponent.java
index c83dbd5..4e376b1 100644
--- 
a/taverna-results-view/src/main/java/org/apache/taverna/workbench/views/results/processor/RenderedProcessorResultComponent.java
+++ 
b/taverna-results-view/src/main/java/org/apache/taverna/workbench/views/results/processor/RenderedProcessorResultComponent.java
@@ -25,10 +25,9 @@ import static java.awt.BorderLayout.NORTH;
 import static java.awt.event.ItemEvent.SELECTED;
 import static javax.swing.BoxLayout.LINE_AXIS;
 import static javax.swing.SwingUtilities.invokeLater;
-import static org.apache.taverna.results.ResultsUtils;
+import static org.apache.commons.lang.StringEscapeUtils.escapeHtml;
 import static org.apache.taverna.workbench.icons.WorkbenchIcons.refreshIcon;
 import static 
org.apache.taverna.workbench.views.results.processor.ProcessorResultTreeNode.ProcessorResultTreeNodeState.RESULT_REFERENCE;
-import static org.apache.commons.lang.StringEscapeUtils.escapeHtml;
 
 import java.awt.BorderLayout;
 import java.awt.Color;
@@ -66,18 +65,21 @@ import javax.swing.text.JTextComponent;
 import javax.swing.tree.DefaultMutableTreeNode;
 import javax.swing.tree.DefaultTreeCellRenderer;
 
+import org.apache.log4j.Logger;
+import org.apache.taverna.databundle.DataBundles;
+import org.apache.taverna.databundle.ErrorDocument;
 import org.apache.taverna.lang.ui.DialogTextArea;
 import org.apache.taverna.renderers.Renderer;
 import org.apache.taverna.renderers.RendererException;
 import org.apache.taverna.renderers.RendererRegistry;
 import org.apache.taverna.renderers.RendererUtils;
+import org.apache.taverna.scufl2.api.port.OutputWorkflowPort;
 import 
org.apache.taverna.workbench.views.results.saveactions.SaveIndividualResultSPI;
+import org.apache.tika.detect.DefaultDetector;
+import org.apache.tika.detect.Detector;
+import org.apache.tika.metadata.Metadata;
+import org.apache.tika.mime.MediaType;
 
-import org.apache.log4j.Logger;
-
-import org.apache.taverna.databundle.DataBundles;
-import org.apache.taverna.databundle.ErrorDocument;
-import org.apache.taverna.scufl2.api.port.OutputWorkflowPort;
 import eu.medsea.mimeutil.MimeType;
 
 /**
@@ -461,6 +463,14 @@ public class RenderedProcessorResultComponent extends 
JPanel {
                }
        }
 
+       private MediaType getMimeTypes(InputStream inputstream) throws 
IOException {
+               Detector detector = new 
DefaultDetector(DefaultDetector.class.getClassLoader());
+               Metadata metadata = new Metadata();
+               // TODO: propagate relevant metadata
+               MediaType x = detector.detect(inputstream, metadata);
+               return x;
+       }
+
        /**
         * Renders the result panel using the last used renderer.
         */

Reply via email to