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 <[email protected]> Authored: Thu Aug 18 12:17:19 2016 +0100 Committer: Stian Soiland-Reyes <[email protected]> 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" />
