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 2015/02/17 12:47:03 UTC

[36/50] [abbrv] incubator-taverna-plugin-bioinformatics git commit: taverna-biomart-activity-ui/

http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/blob/54aa18b5/taverna-biomart-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomart/servicedescriptions/BiomartServiceProviderConfig.java
----------------------------------------------------------------------
diff --git a/taverna-biomart-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomart/servicedescriptions/BiomartServiceProviderConfig.java b/taverna-biomart-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomart/servicedescriptions/BiomartServiceProviderConfig.java
new file mode 100644
index 0000000..9891fae
--- /dev/null
+++ b/taverna-biomart-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomart/servicedescriptions/BiomartServiceProviderConfig.java
@@ -0,0 +1,36 @@
+/**
+ * 
+ */
+package net.sf.taverna.t2.activities.biomart.servicedescriptions;
+
+import net.sf.taverna.t2.lang.beans.PropertyAnnotated;
+import net.sf.taverna.t2.lang.beans.PropertyAnnotation;
+
+/**
+ * @author alanrw
+ *
+ */
+public class BiomartServiceProviderConfig  extends PropertyAnnotated {
+
+	private String url;
+	
+	public BiomartServiceProviderConfig() {
+	}
+
+	public BiomartServiceProviderConfig(String url) {
+		this.url = url.trim();
+	}
+
+	@PropertyAnnotation(displayName = "Biomart location", preferred = true)
+	public String getUrl() {
+		return url;
+	}
+
+	public void setUrl(String url) {
+		this.url = url.trim();
+	}
+
+	public String toString() {
+		return getUrl();
+	}
+}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/blob/54aa18b5/taverna-biomart-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomart/views/BiomartActivityContextualView.java
----------------------------------------------------------------------
diff --git a/taverna-biomart-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomart/views/BiomartActivityContextualView.java b/taverna-biomart-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomart/views/BiomartActivityContextualView.java
new file mode 100644
index 0000000..87a2294
--- /dev/null
+++ b/taverna-biomart-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomart/views/BiomartActivityContextualView.java
@@ -0,0 +1,117 @@
+/*******************************************************************************
+ * 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 net.sf.taverna.t2.activities.biomart.views;
+
+import java.awt.Frame;
+import java.io.IOException;
+import java.io.StringReader;
+
+import javax.swing.Action;
+
+import net.sf.taverna.t2.activities.biomart.actions.BiomartActivityConfigurationAction;
+import net.sf.taverna.t2.servicedescriptions.ServiceDescriptionRegistry;
+import net.sf.taverna.t2.workbench.activityicons.ActivityIconManager;
+import net.sf.taverna.t2.workbench.configuration.colour.ColourManager;
+import net.sf.taverna.t2.workbench.edits.EditManager;
+import net.sf.taverna.t2.workbench.file.FileManager;
+import net.sf.taverna.t2.workbench.ui.actions.activity.HTMLBasedActivityContextualView;
+
+import org.biomart.martservice.MartQuery;
+import org.biomart.martservice.MartServiceXMLHandler;
+import org.biomart.martservice.query.Attribute;
+import org.biomart.martservice.query.Filter;
+import org.jdom.Element;
+import org.jdom.JDOMException;
+import org.jdom.input.SAXBuilder;
+
+import uk.org.taverna.commons.services.ServiceRegistry;
+import uk.org.taverna.configuration.app.ApplicationConfiguration;
+import uk.org.taverna.scufl2.api.activity.Activity;
+
+@SuppressWarnings("serial")
+public class BiomartActivityContextualView extends HTMLBasedActivityContextualView {
+
+	private final EditManager editManager;
+	private final FileManager fileManager;
+	private final ActivityIconManager activityIconManager;
+	private final ApplicationConfiguration applicationConfiguration;
+	private final ServiceDescriptionRegistry serviceDescriptionRegistry;
+	private final ServiceRegistry serviceRegistry;
+
+	public BiomartActivityContextualView(Activity activity, EditManager editManager,
+			FileManager fileManager, ActivityIconManager activityIconManager,
+			ColourManager colourManager, ApplicationConfiguration applicationConfiguration,
+			ServiceDescriptionRegistry serviceDescriptionRegistry, ServiceRegistry serviceRegistry) {
+		super(activity, colourManager);
+		this.editManager = editManager;
+		this.fileManager = fileManager;
+		this.activityIconManager = activityIconManager;
+		this.applicationConfiguration = applicationConfiguration;
+		this.serviceDescriptionRegistry = serviceDescriptionRegistry;
+		this.serviceRegistry = serviceRegistry;
+	}
+
+	@Override
+	protected String getRawTableRowsHtml() {
+		String queryText = getConfigBean().getJson().get("martQuery").textValue();
+		Element martQuery = null;
+		try {
+			martQuery = new SAXBuilder().build(new StringReader(queryText)).getRootElement();
+		} catch (JDOMException | IOException e) {
+		}
+		MartQuery q = MartServiceXMLHandler.elementToMartQuery(martQuery, null);
+		String html = "<tr><td>URL</td><td>" + q.getMartService().getLocation() + "</td></tr>";
+		html += "<tr><td>Location</td><td>"
+				+ q.getMartDataset().getMartURLLocation().getDisplayName() + "</td></tr>";
+		boolean firstFilter = true;
+		for (Filter filter : q.getQuery().getFilters()) {
+			html += firstFilter ? "<tr><td>Filter</td><td>" : "<tr><td></td></td>";
+			firstFilter = false;
+			html += filter.getName() + "</td></tr>";
+		}
+		boolean firstAttribute = true;
+		for (Attribute attribute : q.getQuery().getAttributes()) {
+			html += firstAttribute ? "<tr><td>Attribute</td><td>" : "<tr><td></td><td>";
+			firstAttribute = false;
+			html += attribute.getName() + "</td></tr>";
+		}
+		html += "<tr><td>Dataset</td><td>" + q.getMartDataset().getDisplayName() + "</td></tr>";
+		return html;
+	}
+
+	@Override
+	public String getViewTitle() {
+		return "Biomart service";
+	}
+
+	@Override
+	public Action getConfigureAction(Frame owner) {
+		return new BiomartActivityConfigurationAction(getActivity(), owner, editManager,
+				fileManager, activityIconManager, applicationConfiguration,
+				serviceDescriptionRegistry, serviceRegistry);
+	}
+
+	@Override
+	public int getPreferredPosition() {
+		return 100;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/blob/54aa18b5/taverna-biomart-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomart/views/BiomartActivityViewFactory.java
----------------------------------------------------------------------
diff --git a/taverna-biomart-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomart/views/BiomartActivityViewFactory.java b/taverna-biomart-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomart/views/BiomartActivityViewFactory.java
new file mode 100644
index 0000000..ad8321a
--- /dev/null
+++ b/taverna-biomart-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomart/views/BiomartActivityViewFactory.java
@@ -0,0 +1,86 @@
+/*******************************************************************************
+ * 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 net.sf.taverna.t2.activities.biomart.views;
+
+import java.util.Arrays;
+import java.util.List;
+
+import net.sf.taverna.t2.activities.biomart.servicedescriptions.BiomartServiceDescription;
+import net.sf.taverna.t2.servicedescriptions.ServiceDescriptionRegistry;
+import net.sf.taverna.t2.workbench.activityicons.ActivityIconManager;
+import net.sf.taverna.t2.workbench.configuration.colour.ColourManager;
+import net.sf.taverna.t2.workbench.edits.EditManager;
+import net.sf.taverna.t2.workbench.file.FileManager;
+import net.sf.taverna.t2.workbench.ui.views.contextualviews.ContextualView;
+import net.sf.taverna.t2.workbench.ui.views.contextualviews.activity.ContextualViewFactory;
+import uk.org.taverna.commons.services.ServiceRegistry;
+import uk.org.taverna.configuration.app.ApplicationConfiguration;
+import uk.org.taverna.scufl2.api.activity.Activity;
+
+public class BiomartActivityViewFactory implements ContextualViewFactory<Activity> {
+
+	private EditManager editManager;
+	private FileManager fileManager;
+	private ActivityIconManager activityIconManager;
+	private ColourManager colourManager;
+	private ApplicationConfiguration applicationConfiguration;
+	private ServiceDescriptionRegistry serviceDescriptionRegistry;
+	private ServiceRegistry serviceRegistry;
+
+	public boolean canHandle(Object object) {
+		return object instanceof Activity && ((Activity) object).getType().equals(BiomartServiceDescription.ACTIVITY_TYPE);
+	}
+
+	public List<ContextualView> getViews(Activity activity) {
+		return Arrays.asList(new ContextualView[] { new BiomartActivityContextualView(activity,
+				editManager, fileManager, activityIconManager, colourManager,
+				applicationConfiguration, serviceDescriptionRegistry, serviceRegistry) });
+	}
+
+	public void setEditManager(EditManager editManager) {
+		this.editManager = editManager;
+	}
+
+	public void setFileManager(FileManager fileManager) {
+		this.fileManager = fileManager;
+	}
+
+	public void setActivityIconManager(ActivityIconManager activityIconManager) {
+		this.activityIconManager = activityIconManager;
+	}
+
+	public void setColourManager(ColourManager colourManager) {
+		this.colourManager = colourManager;
+	}
+
+	public void setApplicationConfiguration(ApplicationConfiguration applicationConfiguration) {
+		this.applicationConfiguration = applicationConfiguration;
+	}
+
+	public void setServiceDescriptionRegistry(ServiceDescriptionRegistry serviceDescriptionRegistry) {
+		this.serviceDescriptionRegistry = serviceDescriptionRegistry;
+	}
+
+	public void setServiceRegistry(ServiceRegistry serviceRegistry) {
+		this.serviceRegistry = serviceRegistry;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/blob/54aa18b5/taverna-biomart-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.servicedescriptions.ServiceDescriptionProvider
----------------------------------------------------------------------
diff --git a/taverna-biomart-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.servicedescriptions.ServiceDescriptionProvider b/taverna-biomart-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.servicedescriptions.ServiceDescriptionProvider
new file mode 100644
index 0000000..637d76a
--- /dev/null
+++ b/taverna-biomart-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.servicedescriptions.ServiceDescriptionProvider
@@ -0,0 +1 @@
+net.sf.taverna.t2.activities.biomart.servicedescriptions.BiomartServiceProvider

http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/blob/54aa18b5/taverna-biomart-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.ui.menu.MenuComponent
----------------------------------------------------------------------
diff --git a/taverna-biomart-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.ui.menu.MenuComponent b/taverna-biomart-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.ui.menu.MenuComponent
new file mode 100644
index 0000000..dbff4b7
--- /dev/null
+++ b/taverna-biomart-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.ui.menu.MenuComponent
@@ -0,0 +1 @@
+net.sf.taverna.t2.activities.biomart.menu.BiomartConfigurationMenuAction

http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/blob/54aa18b5/taverna-biomart-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.activityicons.ActivityIconSPI
----------------------------------------------------------------------
diff --git a/taverna-biomart-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.activityicons.ActivityIconSPI b/taverna-biomart-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.activityicons.ActivityIconSPI
new file mode 100644
index 0000000..e8506ef
--- /dev/null
+++ b/taverna-biomart-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.activityicons.ActivityIconSPI
@@ -0,0 +1 @@
+net.sf.taverna.t2.activities.biomart.servicedescriptions.BiomartActivityIcon
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/blob/54aa18b5/taverna-biomart-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.ui.views.contextualviews.activity.ContextualViewFactory
----------------------------------------------------------------------
diff --git a/taverna-biomart-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.ui.views.contextualviews.activity.ContextualViewFactory b/taverna-biomart-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.ui.views.contextualviews.activity.ContextualViewFactory
new file mode 100644
index 0000000..355b9ef
--- /dev/null
+++ b/taverna-biomart-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.ui.views.contextualviews.activity.ContextualViewFactory
@@ -0,0 +1 @@
+net.sf.taverna.t2.activities.biomart.views.BiomartActivityViewFactory
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/blob/54aa18b5/taverna-biomart-activity-ui/src/main/resources/META-INF/spring/biomart-activity-ui-context-osgi.xml
----------------------------------------------------------------------
diff --git a/taverna-biomart-activity-ui/src/main/resources/META-INF/spring/biomart-activity-ui-context-osgi.xml b/taverna-biomart-activity-ui/src/main/resources/META-INF/spring/biomart-activity-ui-context-osgi.xml
new file mode 100644
index 0000000..e5ea96b
--- /dev/null
+++ b/taverna-biomart-activity-ui/src/main/resources/META-INF/spring/biomart-activity-ui-context-osgi.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans:beans xmlns="http://www.springframework.org/schema/osgi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xmlns:beans="http://www.springframework.org/schema/beans"
+	xsi:schemaLocation="http://www.springframework.org/schema/beans
+                      http://www.springframework.org/schema/beans/spring-beans.xsd
+                      http://www.springframework.org/schema/osgi
+                      http://www.springframework.org/schema/osgi/spring-osgi.xsd">
+
+	<service ref="BiomartActivityIcon" interface="net.sf.taverna.t2.workbench.activityicons.ActivityIconSPI" />
+
+	<service ref="BiomartServiceProvider">
+		<interfaces>
+			<beans:value>net.sf.taverna.t2.servicedescriptions.ServiceDescriptionProvider</beans:value>
+			<beans:value>net.sf.taverna.t2.servicedescriptions.ConfigurableServiceProvider</beans:value>
+		</interfaces>
+	</service>
+
+	<service ref="BiomartConfigurationMenuAction" auto-export="interfaces" />
+
+	<service ref="BiomartActivityViewFactory" interface="net.sf.taverna.t2.workbench.ui.views.contextualviews.activity.ContextualViewFactory" />
+
+	<reference id="editManager" interface="net.sf.taverna.t2.workbench.edits.EditManager" />
+	<reference id="fileManager" interface="net.sf.taverna.t2.workbench.file.FileManager" />
+	<reference id="activityIconManager" interface="net.sf.taverna.t2.workbench.activityicons.ActivityIconManager" />
+	<reference id="colourManager" interface="net.sf.taverna.t2.workbench.configuration.colour.ColourManager" />
+	<reference id="serviceDescriptionRegistry" interface="net.sf.taverna.t2.servicedescriptions.ServiceDescriptionRegistry"/>
+	<reference id="applicationConfiguration" interface="uk.org.taverna.configuration.app.ApplicationConfiguration" />
+	<reference id="serviceRegistry" interface="uk.org.taverna.commons.services.ServiceRegistry" />
+
+</beans:beans>

http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/blob/54aa18b5/taverna-biomart-activity-ui/src/main/resources/META-INF/spring/biomart-activity-ui-context.xml
----------------------------------------------------------------------
diff --git a/taverna-biomart-activity-ui/src/main/resources/META-INF/spring/biomart-activity-ui-context.xml b/taverna-biomart-activity-ui/src/main/resources/META-INF/spring/biomart-activity-ui-context.xml
new file mode 100644
index 0000000..21b43b2
--- /dev/null
+++ b/taverna-biomart-activity-ui/src/main/resources/META-INF/spring/biomart-activity-ui-context.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://www.springframework.org/schema/beans
+                      http://www.springframework.org/schema/beans/spring-beans.xsd">
+
+	<bean id="BiomartActivityIcon" class="net.sf.taverna.t2.activities.biomart.servicedescriptions.BiomartActivityIcon" />
+
+	<bean id="BiomartServiceProvider" class="net.sf.taverna.t2.activities.biomart.servicedescriptions.BiomartServiceProvider">
+			<property name="serviceDescriptionRegistry" ref="serviceDescriptionRegistry" />
+	</bean>
+
+	<bean id="BiomartConfigurationMenuAction" class="net.sf.taverna.t2.activities.biomart.menu.BiomartConfigurationMenuAction">
+			<property name="editManager" ref="editManager" />
+			<property name="fileManager" ref="fileManager" />
+			<property name="activityIconManager" ref="activityIconManager" />
+			<property name="applicationConfiguration" ref="applicationConfiguration" />
+			<property name="serviceRegistry" ref="serviceRegistry" />
+	</bean>
+
+	<bean id="BiomartActivityViewFactory" class="net.sf.taverna.t2.activities.biomart.views.BiomartActivityViewFactory">
+			<property name="editManager" ref="editManager" />
+			<property name="fileManager" ref="fileManager" />
+			<property name="activityIconManager" ref="activityIconManager" />
+			<property name="colourManager" ref="colourManager" />
+			<property name="applicationConfiguration" ref="applicationConfiguration" />
+			<property name="serviceRegistry" ref="serviceRegistry" />
+	</bean>
+
+</beans>

http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/blob/54aa18b5/taverna-biomart-activity-ui/src/main/resources/biomart.png
----------------------------------------------------------------------
diff --git a/taverna-biomart-activity-ui/src/main/resources/biomart.png b/taverna-biomart-activity-ui/src/main/resources/biomart.png
new file mode 100644
index 0000000..a969908
Binary files /dev/null and b/taverna-biomart-activity-ui/src/main/resources/biomart.png differ

http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/blob/54aa18b5/taverna-biomart-activity-ui/src/test/java/net/sf/taverna/t2/biomart/views/TestBiomartActivityContextualView.java
----------------------------------------------------------------------
diff --git a/taverna-biomart-activity-ui/src/test/java/net/sf/taverna/t2/biomart/views/TestBiomartActivityContextualView.java b/taverna-biomart-activity-ui/src/test/java/net/sf/taverna/t2/biomart/views/TestBiomartActivityContextualView.java
new file mode 100644
index 0000000..04ad076
--- /dev/null
+++ b/taverna-biomart-activity-ui/src/test/java/net/sf/taverna/t2/biomart/views/TestBiomartActivityContextualView.java
@@ -0,0 +1,94 @@
+/*******************************************************************************
+ * 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 net.sf.taverna.t2.biomart.views;
+
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URI;
+
+import net.sf.taverna.t2.activities.biomart.actions.BiomartActivityConfigurationAction;
+import net.sf.taverna.t2.activities.biomart.views.BiomartActivityContextualView;
+
+import org.jdom.Document;
+import org.jdom.Element;
+import org.jdom.input.SAXBuilder;
+import org.jdom.output.XMLOutputter;
+import org.junit.Before;
+import org.junit.Ignore;
+import org.junit.Test;
+
+import uk.org.taverna.scufl2.api.activity.Activity;
+import uk.org.taverna.scufl2.api.configurations.Configuration;
+import uk.org.taverna.scufl2.api.profiles.Profile;
+
+import com.fasterxml.jackson.databind.node.ObjectNode;
+
+public class TestBiomartActivityContextualView {
+	Activity activity;
+
+	@Before
+	public void setup() throws Exception {
+		activity = new Activity();
+		activity.setParent(new Profile());
+
+		Element el = getQueryElement("biomart-query.xml");
+
+		Configuration configuration = new Configuration();
+		configuration.setType(URI.create("http://ns.taverna.org.uk/2010/activity/biomart").resolve("#Config"));
+		String queryText = new XMLOutputter().outputString(new Document(el));
+		((ObjectNode) configuration.getJson()).put("martQuery", queryText);
+
+		configuration.setConfigures(activity);
+	}
+
+	@Test @Ignore
+	public void testConfigurationAction() throws Exception {
+		BiomartActivityContextualView view = new BiomartActivityContextualView(activity, null, null, null, null, null, null, null);
+		assertNotNull("The view should provide a configuration action",view.getConfigureAction(null));
+		assertTrue("The configuration action should be an instance of BiomartActivityConfigurationAction",view.getConfigureAction(null) instanceof BiomartActivityConfigurationAction);
+	}
+
+	private Element getQueryElement(String resourceName) throws Exception {
+		InputStream inStream = TestBiomartActivityContextualView.class
+				.getResourceAsStream("/"+resourceName);
+
+		if (inStream == null)
+			throw new IOException(
+					"Unable to find resource for:"
+							+ resourceName);
+		SAXBuilder builder = new SAXBuilder();
+		return builder.build(inStream).detachRootElement();
+	}
+
+	private void run() throws Exception {
+		setup();
+		BiomartActivityContextualView view = new BiomartActivityContextualView(activity, null, null, null, null, null, null, null);
+		view.setVisible(true);
+	}
+
+	public static void main(String[] args) throws Exception {
+		new TestBiomartActivityContextualView().run();
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/blob/54aa18b5/taverna-biomart-activity-ui/src/test/resources/biomart-query.xml
----------------------------------------------------------------------
diff --git a/taverna-biomart-activity-ui/src/test/resources/biomart-query.xml b/taverna-biomart-activity-ui/src/test/resources/biomart-query.xml
new file mode 100644
index 0000000..0e52a23
--- /dev/null
+++ b/taverna-biomart-activity-ui/src/test/resources/biomart-query.xml
@@ -0,0 +1,24 @@
+<biomart:MartQuery
+	xmlns:biomart="http://org.embl.ebi.escience/xscufl-biomart/0.1alpha">
+	<biomart:MartService
+		location="http://www.biomart.org/biomart/martservice" />
+	<biomart:MartDataset displayName="Homo sapiens genes (NCBI36)"
+		name="hsapiens_gene_ensembl" type="TableSet" initialBatchSize="10"
+		maximumBatchSize="50000" visible="false" interface="default"
+		modified="2006-11-27 12:49:27">
+		<biomart:MartURLLocation database="ensembl_mart_41" default="1"
+			displayName="ENSEMBL 41  (SANGER)" host="www.biomart.org"
+			includeDatasets="" martUser="" name="ensembl"
+			path="/biomart/martservice" port="80" serverVirtualSchema="default"
+			virtualSchema="default" visible="1" />
+	</biomart:MartDataset>
+	<biomart:Query virtualSchemaName="default" count="0" uniqueRows="0"
+		softwareVersion="0.5" requestId="taverna">
+		<biomart:Dataset name="hsapiens_gene_ensembl">
+			<biomart:Attribute name="coding_gene_flank" />
+			<biomart:Attribute name="gene_stable_id" />
+			<biomart:Filter name="ensembl_gene_id" value="" list="true" />
+			<biomart:Filter name="upstream_flank" value="100" />
+		</biomart:Dataset>
+	</biomart:Query>
+</biomart:MartQuery>
\ No newline at end of file