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" />