You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@taverna.apache.org by st...@apache.org on 2016/08/18 14:04:11 UTC

[2/6] incubator-taverna-workbench git commit: Remove license-incompatible JMol and SeqVista renderers

Remove license-incompatible JMol and SeqVista renderers


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/6a561f4a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/tree/6a561f4a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/diff/6a561f4a

Branch: refs/heads/master
Commit: 6a561f4abc4eb07d146ed8fa9d774350c2d7d169
Parents: 9c4dc59
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Thu Aug 18 12:17:19 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Thu Aug 18 12:17:19 2016 +0100

----------------------------------------------------------------------
 .../apache/taverna/renderers/JMolRenderer.java  | 181 -------------------
 .../taverna/renderers/SeqVistaRenderer.java     | 167 -----------------
 .../org.apache.taverna.renderers.Renderer       |   2 -
 .../spring/renderers-exts-context-osgi.xml      |   2 -
 .../META-INF/spring/renderers-exts-context.xml  |   2 -
 5 files changed, 354 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/6a561f4a/taverna-renderers-exts/src/main/java/org/apache/taverna/renderers/JMolRenderer.java
----------------------------------------------------------------------
diff --git a/taverna-renderers-exts/src/main/java/org/apache/taverna/renderers/JMolRenderer.java b/taverna-renderers-exts/src/main/java/org/apache/taverna/renderers/JMolRenderer.java
deleted file mode 100644
index 5b4adf2..0000000
--- a/taverna-renderers-exts/src/main/java/org/apache/taverna/renderers/JMolRenderer.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2007 The University of Manchester
- *
- *  Modifications to the initial code base are copyright of their
- *  respective authors, or their employers as appropriate.
- *
- *  This program is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public License
- *  as published by the Free Software Foundation; either version 2.1 of
- *  the License, or (at your option) any later version.
- *
- *  This program is distributed in the hope that it will be useful, but
- *  WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- ******************************************************************************/
-package org.apache.taverna.renderers;
-
-import org.apache.taverna.renderers.Renderer;
-import org.apache.taverna.renderers.RendererUtils;
-import org.apache.taverna.renderers.RendererException;
-import java.awt.Dimension;
-import java.awt.Graphics;
-import java.awt.Rectangle;
-import java.nio.file.Path;
-
-import javax.swing.JComponent;
-import javax.swing.JOptionPane;
-import javax.swing.JPanel;
-import javax.swing.JTextArea;
-
-import org.apache.log4j.Logger;
-import org.jmol.adapter.smarter.SmarterJmolAdapter;
-import org.jmol.api.JmolAdapter;
-import org.jmol.api.JmolSimpleViewer;
-import org.jmol.api.JmolViewer;
-import org.jmol.viewer.Viewer;
-
-import org.apache.taverna.databundle.DataBundles;
-
-/**
- * Renders using the Jmol software for chemical structures
- *
- * @author Tom Oinn
- * @author Ian Dunlop
- * @author Alex Nenadic
- */
-public class JMolRenderer implements Renderer {
-
-	private Logger logger = Logger.getLogger(JMolRenderer.class);
-
-	private int MEGABYTE = 1024 * 1024;
-
-	public boolean isTerminal() {
-		return true;
-	}
-
-	@Override
-	public boolean canHandle(String mimeType) {
-		if (mimeType.matches(".*chemical/x-pdb.*")
-				|| mimeType.matches(".*chemical/x-mdl-molfile.*")
-				|| mimeType.matches(".*chemical/x-cml.*")) {
-			return true;
-		}
-
-		return false;
-	}
-
-	static final String proteinScriptString = "wireframe off; spacefill off; select protein; cartoon; colour structure; select ligand; spacefill; colour cpk; select dna; spacefill 0.4; wireframe on; colour cpk;";
-
-	static final String scriptString = "select *; spacefill 0.4; wireframe 0.2; colour cpk;";
-
-	@Override
-	public String getType() {
-		return "Jmol";
-	}
-
-	@Override
-	public JComponent getComponent(Path path) throws RendererException {
-		if (DataBundles.isValue(path) || DataBundles.isReference(path)) {
-			long approximateSizeInBytes = 0;
-			try {
-				approximateSizeInBytes = RendererUtils.getSizeInBytes(path);
-			} catch (Exception ex) {
-				logger.error("Failed to get the size of the data", ex);
-				return new JTextArea(
-						"Failed to get the size of the data (see error log for more details): \n"
-								+ ex.getMessage());
-			}
-
-			if (approximateSizeInBytes > MEGABYTE) {
-				int response = JOptionPane
-						.showConfirmDialog(
-								null,
-								"Result is approximately "
-										+ bytesToMeg(approximateSizeInBytes)
-										+ " MB in size, there could be issues with rendering this inside Taverna\nDo you want to continue?",
-								"Render using Jmol?", JOptionPane.YES_NO_OPTION);
-
-				if (response != JOptionPane.YES_OPTION) {
-					return new JTextArea(
-							"Rendering cancelled due to size of data. Try saving and viewing in an external application.");
-				}
-			}
-
-			String resolve = null;
-			try {
-				// Resolve it as a string
-				resolve = RendererUtils.getString(path);
-			} catch (Exception e) {
-				logger.error("Reference Service failed to render data as string", e);
-				return new JTextArea(
-						"Reference Service failed to render data as string (see error log for more details): \n"
-								+ e.getMessage());
-			}
-			JmolPanel panel = new JmolPanel();
-			JmolSimpleViewer viewer = null;
-			try {
-				viewer = panel.getViewer();
-				viewer.openStringInline(resolve);
-				if (((JmolViewer) viewer).getAtomCount() > 300) {
-					viewer.evalString(proteinScriptString);
-				} else {
-					viewer.evalString(scriptString);
-				}
-			} catch (Exception e) {
-				logger.error("Failed to create Jmol renderer", e);
-				return new JTextArea(
-						"Failed to create Jmol renderer (see error log for more details): \n"
-								+ e.getMessage());
-			}
-			return panel;
-		} else {
-			logger.error("Failed to obtain the data to render: data is not a value or reference");
-			return new JTextArea(
-					"Failed to obtain the data to render: data is not a value or reference");
-		}
-	}
-
-	class JmolPanel extends JPanel {
-		private static final long serialVersionUID = 1L;
-
-		JmolSimpleViewer viewer;
-		JmolAdapter adapter;
-
-		JmolPanel() {
-			adapter = new SmarterJmolAdapter(null);
-			viewer = Viewer.allocateJmolSimpleViewer(this, adapter);
-			// viewer = JmolSimpleViewer.allocateSimpleViewer(this, adapter);
-		}
-
-		public JmolSimpleViewer getViewer() {
-			return viewer;
-		}
-
-		final Dimension currentSize = new Dimension();
-		final Rectangle rectClip = new Rectangle();
-
-		@Override
-		public void paint(Graphics g) {
-			getSize(currentSize);
-			g.getClipBounds(rectClip);
-			viewer.renderScreenImage(g, currentSize, rectClip);
-		}
-	}
-
-	/**
-	 * Work out size of file in megabytes to 1 decimal place
-	 *
-	 * @param bytes
-	 * @return
-	 */
-	private int bytesToMeg(long bytes) {
-		float f = bytes / MEGABYTE;
-		return Math.round(f);
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/6a561f4a/taverna-renderers-exts/src/main/java/org/apache/taverna/renderers/SeqVistaRenderer.java
----------------------------------------------------------------------
diff --git a/taverna-renderers-exts/src/main/java/org/apache/taverna/renderers/SeqVistaRenderer.java b/taverna-renderers-exts/src/main/java/org/apache/taverna/renderers/SeqVistaRenderer.java
deleted file mode 100644
index 9927a11..0000000
--- a/taverna-renderers-exts/src/main/java/org/apache/taverna/renderers/SeqVistaRenderer.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2007 The University of Manchester
- *
- *  Modifications to the initial code base are copyright of their
- *  respective authors, or their employers as appropriate.
- *
- *  This program is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public License
- *  as published by the Free Software Foundation; either version 2.1 of
- *  the License, or (at your option) any later version.
- *
- *  This program is distributed in the hope that it will be useful, but
- *  WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- ******************************************************************************/
-package org.apache.taverna.renderers;
-
-import java.nio.file.Path;
-
-import javax.swing.JComponent;
-import javax.swing.JOptionPane;
-import javax.swing.JTextArea;
-import javax.swing.LookAndFeel;
-import javax.swing.UIManager;
-
-import org.apache.log4j.Logger;
-
-import org.apache.taverna.databundle.DataBundles;
-import cht.svista.SeqVISTA;
-
-/**
- * Uses the SeqVista renderer to draw an EMBL or SwissProt sequence
- *
- * @author Ian Dunlop
- * @author anonymous from T1
- * @author Alex Nenadic
- */
-public class SeqVistaRenderer implements Renderer {
-
-	private Logger logger = Logger.getLogger(SeqVistaRenderer.class);
-
-	private int MEGABYTE = 1024 * 1024;
-
-	private String seqType = "fasta";
-	// 0 = auto, 1 = nucleotide, 2 = protein
-	private int np = 0;
-
-	@Override
-	public boolean canHandle(String mimeType) {
-		if (mimeType.matches(".*chemical/x-swissprot.*")) {
-			seqType = "embl";
-			np = 2;
-			return true;
-		} else if (mimeType.matches(".*chemical/x-embl-dl-nucleotide.*")) {
-			seqType = "embl";
-			np = 1;
-			return true;
-		} else if (mimeType.matches(".*chemical/x-fasta.*")) {
-			seqType = "fasta";
-			np = 0;
-			return true;
-		} else if (mimeType.matches(".*chemical/x-ppd.*")) {
-			seqType = "ppd";
-			return true;
-		} else if (mimeType.matches(".*chemical/seq-na-genbank.*")) {
-			seqType = "auto";
-			np = 1;
-			return true;
-		} else if (mimeType.matches(".*chemical/seq-aa-genpept.*")) {
-			seqType = "auto";
-			np = 2;
-			return true;
-		}
-		return false;
-	}
-
-	@Override
-	public String getType() {
-		return "Seq Vista";
-	}
-
-	@SuppressWarnings("serial")
-	public JComponent getComponent(Path path) throws RendererException {
-		if (DataBundles.isValue(path) || DataBundles.isReference(path)) {
-			long approximateSizeInBytes = 0;
-			try {
-				approximateSizeInBytes = RendererUtils.getSizeInBytes(path);
-			} catch (Exception ex) {
-				logger.error("Failed to get the size of the data", ex);
-				return new JTextArea(
-						"Failed to get the size of the data (see error log for more details): \n"
-								+ ex.getMessage());
-			}
-
-			if (approximateSizeInBytes > MEGABYTE) {
-				int response = JOptionPane
-						.showConfirmDialog(
-								null,
-								"Result is approximately "
-										+ bytesToMeg(approximateSizeInBytes)
-										+ " MB in size, there could be issues with rendering this inside Taverna\nDo you want to continue?",
-								"Render as sequence?", JOptionPane.YES_NO_OPTION);
-
-				if (response != JOptionPane.YES_OPTION) {
-					return new JTextArea(
-							"Rendering cancelled due to size of data. Try saving and viewing in an external application.");
-				}
-			}
-
-			String resolve = null;
-			try {
-				// Resolve it as a string
-				resolve = RendererUtils.getString(path);
-			} catch (Exception e) {
-				logger.error("Reference Service failed to render data as string", e);
-				return new JTextArea(
-						"Reference Service failed to render data as string (see error log for more details): \n"
-								+ e.getMessage());
-			}
-			// Save LAF as SeqVista is messing with it
-			LookAndFeel currentLookAndFeel = UIManager.getLookAndFeel();
-			SeqVISTA vista = new SeqVISTA() {
-				@Override
-				public java.awt.Dimension getPreferredSize() {
-					return new java.awt.Dimension(100, 100);
-				}
-			};
-			// Reset LAF messed up by SeqVista
-			try {
-				UIManager.setLookAndFeel(currentLookAndFeel);
-			} catch (Exception e) {
-				logger.info("Can't reset look and feel to " + currentLookAndFeel
-						+ " after SeqVista renderer messed it up", e);
-			}
-
-			try {
-				vista.loadFromText(resolve, false, seqType, np);
-			} catch (Exception e) {
-				logger.error("Failed to create Sequence Vista renderer", e);
-				return new JTextArea(
-						"Failed to create Sequence Vista renderer (see error log for more details): \n"
-								+ e.getMessage());
-			}
-			return vista;
-		} else {
-			logger.error("Failed to obtain the data to render: data is not a value or reference");
-			return new JTextArea(
-					"Failed to obtain the data to render: data is not a value or reference");
-		}
-	}
-
-	/**
-	 * Work out size of file in megabytes to 1 decimal place
-	 *
-	 * @param bytes
-	 * @return
-	 */
-	private int bytesToMeg(long bytes) {
-		float f = bytes / MEGABYTE;
-		return Math.round(f);
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/6a561f4a/taverna-renderers-exts/src/main/resources/META-INF/services/org.apache.taverna.renderers.Renderer
----------------------------------------------------------------------
diff --git a/taverna-renderers-exts/src/main/resources/META-INF/services/org.apache.taverna.renderers.Renderer b/taverna-renderers-exts/src/main/resources/META-INF/services/org.apache.taverna.renderers.Renderer
index 841b5c4..6dfe7e8 100644
--- a/taverna-renderers-exts/src/main/resources/META-INF/services/org.apache.taverna.renderers.Renderer
+++ b/taverna-renderers-exts/src/main/resources/META-INF/services/org.apache.taverna.renderers.Renderer
@@ -1,5 +1,3 @@
-org.apache.taverna.renderers.JMolRenderer
-org.apache.taverna.renderers.SeqVistaRenderer
 org.apache.taverna.renderers.SVGRenderer
 org.apache.taverna.renderers.PDFRenderer
 org.apache.taverna.renderers.HTMLBrowserRenderer
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/6a561f4a/taverna-renderers-exts/src/main/resources/META-INF/spring/renderers-exts-context-osgi.xml
----------------------------------------------------------------------
diff --git a/taverna-renderers-exts/src/main/resources/META-INF/spring/renderers-exts-context-osgi.xml b/taverna-renderers-exts/src/main/resources/META-INF/spring/renderers-exts-context-osgi.xml
index da6a831..d0808ce 100644
--- a/taverna-renderers-exts/src/main/resources/META-INF/spring/renderers-exts-context-osgi.xml
+++ b/taverna-renderers-exts/src/main/resources/META-INF/spring/renderers-exts-context-osgi.xml
@@ -24,8 +24,6 @@
                       http://www.springframework.org/schema/osgi
                       http://www.springframework.org/schema/osgi/spring-osgi.xsd">
 
-	<service ref="JMolRenderer" interface="org.apache.taverna.renderers.Renderer" />
-	<service ref="SeqVistaRenderer" interface="org.apache.taverna.renderers.Renderer" />
 	<service ref="SVGRenderer" interface="org.apache.taverna.renderers.Renderer" />
 	<service ref="PDFRenderer" interface="org.apache.taverna.renderers.Renderer" />
 	<service ref="HTMLBrowserRenderer" interface="org.apache.taverna.renderers.Renderer" />

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/6a561f4a/taverna-renderers-exts/src/main/resources/META-INF/spring/renderers-exts-context.xml
----------------------------------------------------------------------
diff --git a/taverna-renderers-exts/src/main/resources/META-INF/spring/renderers-exts-context.xml b/taverna-renderers-exts/src/main/resources/META-INF/spring/renderers-exts-context.xml
index 7e44ebf..d433920 100644
--- a/taverna-renderers-exts/src/main/resources/META-INF/spring/renderers-exts-context.xml
+++ b/taverna-renderers-exts/src/main/resources/META-INF/spring/renderers-exts-context.xml
@@ -21,8 +21,6 @@
 	xsi:schemaLocation="http://www.springframework.org/schema/beans
                       http://www.springframework.org/schema/beans/spring-beans.xsd">
 
-	<bean id="JMolRenderer" class="org.apache.taverna.renderers.JMolRenderer" />
-	<bean id="SeqVistaRenderer" class="org.apache.taverna.renderers.SeqVistaRenderer" />
 	<bean id="SVGRenderer" class="org.apache.taverna.renderers.SVGRenderer" />
 	<bean id="PDFRenderer" class="org.apache.taverna.renderers.PDFRenderer" />
 	<bean id="HTMLBrowserRenderer" class="org.apache.taverna.renderers.HTMLBrowserRenderer" />