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/23 11:38:24 UTC
[16/17] incubator-taverna-plugin-bioinformatics git commit: Revert
"temporarily empty repository"
Revert "temporarily empty repository"
This reverts commit e13e3b7419f7c67ddf3c3e4184a59686639484cd.
Project: http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/commit/a87b4151
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/tree/a87b4151
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/diff/a87b4151
Branch: refs/heads/master
Commit: a87b4151c95077f7d75496abc5a9588a3a6bf129
Parents: e13e3b7
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Fri Feb 20 16:38:11 2015 +0000
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Fri Feb 20 16:38:11 2015 +0000
----------------------------------------------------------------------
pom.xml | 41 +
taverna-biomart-activity-ui/pom.xml | 94 +
.../BiomartActivityConfigurationAction.java | 74 +
.../actions/BiomartConfigurationPanel.java | 134 +
.../menu/BiomartConfigurationMenuAction.java | 68 +
.../BiomartActivityIcon.java | 59 +
.../BiomartServiceDescription.java | 146 +
.../BiomartServiceProvider.java | 147 +
.../BiomartServiceProviderConfig.java | 36 +
.../views/BiomartActivityContextualView.java | 117 +
.../views/BiomartActivityViewFactory.java | 86 +
...rvicedescriptions.ServiceDescriptionProvider | 1 +
.../net.sf.taverna.t2.ui.menu.MenuComponent | 1 +
...a.t2.workbench.activityicons.ActivityIconSPI | 1 +
...ntextualviews.activity.ContextualViewFactory | 1 +
.../spring/biomart-activity-ui-context-osgi.xml | 30 +
.../spring/biomart-activity-ui-context.xml | 29 +
.../src/main/resources/biomart.png | Bin 0 -> 3175 bytes
.../TestBiomartActivityContextualView.java | 94 +
.../src/test/resources/biomart-query.xml | 24 +
taverna-biomart-activity/pom.xml | 77 +
.../t2/activities/biomart/BiomartActivity.java | 351 ++
.../BiomartActivityConfigurationBean.java | 47 +
.../biomart/BiomartActivityFactory.java | 144 +
.../biomart/BiomartActivityHealthChecker.java | 76 +
...averna.t2.workflowmodel.health.HealthChecker | 1 +
.../spring/biomart-activity-context-osgi.xml | 15 +
.../spring/biomart-activity-context.xml | 13 +
.../src/main/resources/schema.json | 19 +
.../biomart/BiomartActivityFactoryTest.java | 65 +
.../src/test/resources/biomart-query.xml | 17 +
taverna-biomart-martservice/pom.xml | 105 +
.../org/biomart/martservice/DatasetLink.java | 220 ++
.../org/biomart/martservice/MartDataset.java | 342 ++
.../java/org/biomart/martservice/MartQuery.java | 436 +++
.../org/biomart/martservice/MartRegistry.java | 96 +
.../org/biomart/martservice/MartService.java | 709 ++++
.../martservice/MartServiceException.java | 86 +
.../biomart/martservice/MartServiceUtils.java | 725 ++++
.../martservice/MartServiceXMLHandler.java | 390 ++
.../biomart/martservice/MartURLLocation.java | 422 +++
.../org/biomart/martservice/ResultReceiver.java | 61 +
.../martservice/ResultReceiverException.java | 85 +
.../config/QueryConfigController.java | 388 ++
.../martservice/config/QueryConfigUtils.java | 598 +++
.../config/event/QueryComponentAdapter.java | 109 +
.../config/event/QueryComponentEvent.java | 120 +
.../config/event/QueryComponentListener.java | 104 +
.../config/ui/ConfigDisplayObject.java | 125 +
.../martservice/config/ui/ExpandableBox.java | 204 +
.../martservice/config/ui/MartServiceIcons.java | 104 +
.../ui/MartServiceQueryConfigUIFactory.java | 3543 ++++++++++++++++++
.../martservice/config/ui/MinimalLayout.java | 158 +
.../martservice/config/ui/QueryComponent.java | 342 ++
.../config/ui/QueryConfigUIFactory.java | 345 ++
.../biomart/martservice/query/Attribute.java | 198 +
.../org/biomart/martservice/query/Dataset.java | 309 ++
.../org/biomart/martservice/query/Filter.java | 243 ++
.../org/biomart/martservice/query/Link.java | 181 +
.../org/biomart/martservice/query/Query.java | 555 +++
.../martservice/query/QueryListener.java | 108 +
.../martservice/query/QueryXMLHandler.java | 332 ++
.../biomart/martservice/config/ui/contract.gif | Bin 0 -> 90 bytes
.../biomart/martservice/config/ui/expand.gif | Bin 0 -> 93 bytes
.../martservice/config/ui/gene_schematic.gif | Bin 0 -> 734 bytes
.../config/ui/gene_schematic_3utr.gif | Bin 0 -> 717 bytes
.../config/ui/gene_schematic_5utr.gif | Bin 0 -> 722 bytes
.../config/ui/gene_schematic_cdna.gif | Bin 0 -> 743 bytes
.../config/ui/gene_schematic_coding.gif | Bin 0 -> 760 bytes
.../ui/gene_schematic_coding_gene_flank.gif | Bin 0 -> 715 bytes
.../gene_schematic_coding_transcript_flank.gif | Bin 0 -> 765 bytes
.../config/ui/gene_schematic_gene_exon.gif | Bin 0 -> 504 bytes
.../ui/gene_schematic_gene_exon_intron.gif | Bin 0 -> 710 bytes
.../config/ui/gene_schematic_gene_flank.gif | Bin 0 -> 710 bytes
.../config/ui/gene_schematic_peptide.gif | Bin 0 -> 760 bytes
.../ui/gene_schematic_transcript_exon.gif | Bin 0 -> 920 bytes
.../gene_schematic_transcript_exon_intron.gif | Bin 0 -> 716 bytes
.../ui/gene_schematic_transcript_flank.gif | Bin 0 -> 751 bytes
.../biomart/martservice/MartDatasetTest.java | 335 ++
.../biomart/martservice/MartRegistryTest.java | 113 +
.../martservice/MartServiceUtilsTest.java | 65 +
.../martservice/MartServiceXMLHandlerTest.java | 218 ++
.../martservice/MartURLLocationTest.java | 255 ++
.../config/event/QueryComponentEventTest.java | 131 +
.../config/ui/MartServiceIconsTest.java | 77 +
.../martservice/query/AttributeTest.java | 164 +
.../biomart/martservice/query/DatasetTest.java | 308 ++
.../biomart/martservice/query/FilterTest.java | 242 ++
.../biomart/martservice/query/QueryTest.java | 303 ++
taverna-biomoby-activity-ui/pom.xml | 86 +
.../biomoby/actions/AddParserActionHelper.java | 280 ++
.../BioMobyObjectTreeCustomRenderer.java | 97 +
.../BioMobyServiceTreeCustomRenderer.java | 86 +
.../biomoby/actions/BiomobyActionHelper.java | 852 +++++
.../BiomobyActivityConfigurationAction.java | 60 +
.../actions/BiomobyObjectActionHelper.java | 787 ++++
.../biomoby/actions/BiomobyScavengerDialog.java | 136 +
.../actions/MobyObjectDetailsAction.java | 83 +
.../biomoby/actions/MobyObjectTreeNode.java | 50 +
.../activities/biomoby/actions/MobyPanel.java | 136 +
.../biomoby/actions/MobyParserAction.java | 70 +
.../actions/MobyServiceDetailsAction.java | 65 +
.../biomoby/actions/MobyServiceTreeNode.java | 42 +
.../activities/biomoby/actions/PopupThread.java | 34 +
.../biomoby/actions/SimpleActionFrame.java | 46 +
.../BiomobyDatatypeDescription.java | 143 +
.../edits/AddBiomobyCollectionDataTypeEdit.java | 60 +
.../edits/AddBiomobyConsumingServiceEdit.java | 236 ++
.../biomoby/edits/AddBiomobyDataTypeEdit.java | 207 +
.../biomoby/edits/AddMobyParseDatatypeEdit.java | 220 ++
.../biomoby/edits/AddUpstreamObjectEdit.java | 216 ++
.../menu/BiomobyActivityDetailsMenuAction.java | 40 +
.../menu/BiomobyActivityParserMenuAction.java | 41 +
.../menu/ConfigureBiomobyMenuAction.java | 52 +
.../biomoby/query/BiomobyActivityIcon.java | 36 +
.../biomoby/query/BiomobyActivityItem.java | 94 +
.../query/BiomobyObjectActivityIcon.java | 32 +
.../query/BiomobyObjectActivityItem.java | 76 +
.../biomoby/query/BiomobyQueryHelper.java | 270 ++
.../t2/activities/biomoby/query/CacheImpl.java | 568 +++
.../BiomobyServiceDescription.java | 137 +
.../BiomobyServiceProvider.java | 121 +
.../BiomobyServiceProviderConfig.java | 37 +
.../biomoby/ui/AddBiomobyDialogue.java | 94 +
.../biomoby/ui/BiomobyObjectTree.java | 635 ++++
.../activities/biomoby/ui/DatatypeMenuItem.java | 196 +
.../view/BiomobyActivityContextualView.java | 106 +
.../BiomobyActivityContextualViewFactory.java | 50 +
.../biomoby/view/BiomobyConfigView.java | 108 +
.../BiomobyObjectActivityContextualView.java | 95 +
...mobyObjectActivityContextualViewFactory.java | 67 +
.../view/MobyParseDatatypeContextualView.java | 62 +
.../MobyParseDatatypeContextualViewFactory.java | 69 +
.../src/main/resources/Add24.gif | Bin 0 -> 470 bytes
.../src/main/resources/Cut24.gif | Bin 0 -> 1193 bytes
.../src/main/resources/Information24.gif | Bin 0 -> 1328 bytes
...averna.t2.partition.PartitionAlgorithmSetSPI | 1 +
...sf.taverna.t2.partition.PropertyExtractorSPI | 1 +
.../net.sf.taverna.t2.partition.QueryFactory | 1 +
...rvicedescriptions.ServiceDescriptionProvider | 1 +
.../net.sf.taverna.t2.ui.menu.MenuComponent | 5 +
...a.t2.workbench.activityicons.ActivityIconSPI | 2 +
...ntextualviews.activity.ContextualViewFactory | 3 +
.../spring/biomoby-activity-ui-context-osgi.xml | 28 +
.../spring/biomoby-activity-ui-context.xml | 42 +
.../src/main/resources/Search24.gif | Bin 0 -> 820 bytes
.../src/main/resources/authority.png | Bin 0 -> 481 bytes
.../src/main/resources/biomoby_object.png | Bin 0 -> 981 bytes
.../src/main/resources/collection.png | Bin 0 -> 628 bytes
.../src/main/resources/input.png | Bin 0 -> 489 bytes
.../src/main/resources/moby.png | Bin 0 -> 981 bytes
.../src/main/resources/moby_small.gif | Bin 0 -> 787 bytes
.../src/main/resources/output.png | Bin 0 -> 511 bytes
.../src/main/resources/parse.png | Bin 0 -> 227 bytes
.../src/main/resources/registry.gif | Bin 0 -> 935 bytes
.../src/main/resources/service.png | Bin 0 -> 441 bytes
.../view/BiomobyContextualViewFactoryTest.java | 49 +
taverna-biomoby-activity/pom.xml | 142 +
.../t2/activities/biomoby/BiomobyActivity.java | 1319 +++++++
.../BiomobyActivityConfigurationBean.java | 142 +
.../biomoby/BiomobyActivityFactory.java | 49 +
.../biomoby/BiomobyActivityHealthChecker.java | 45 +
.../t2/activities/biomoby/BiomobyCache.java | 78 +
.../biomoby/BiomobyObjectActivity.java | 545 +++
.../BiomobyObjectActivityConfigurationBean.java | 81 +
.../biomoby/BiomobyObjectActivityFactory.java | 49 +
.../BiomobyObjectActivityHealthChecker.java | 57 +
.../biomoby/ExecuteAsyncCgiService.java | 517 +++
.../biomoby/ExecuteAsyncMobyService.java | 695 ++++
.../activities/biomoby/ExecuteCgiService.java | 70 +
.../activities/biomoby/ExecuteMobyService.java | 38 +
.../activities/biomoby/GetOntologyThread.java | 59 +
.../biomoby/MobyParseDatatypeActivity.java | 417 +++
...yParseDatatypeActivityConfigurationBean.java | 81 +
.../MobyParseDatatypeActivityFactory.java | 49 +
.../MobyParseDatatypeActivityHealthChecker.java | 58 +
.../t2/activities/biomoby/ParseMobyXML.java | 192 +
.../activities/biomoby/RetrieveWsdlThread.java | 57 +
.../t2/activities/biomoby/XMLUtilities.java | 1927 ++++++++++
...averna.t2.workflowmodel.health.HealthChecker | 3 +
.../spring/biomoby-activity-context-osgi.xml | 17 +
.../spring/biomoby-activity-context.xml | 14 +
.../BiomobyActivityHealthCheckerTest.java | 45 +
.../BiomobyObjectActivityHealthCheckerTest.java | 45 +
...yParseDatatypeActivityHealthCheckerTest.java | 45 +
taverna-ncbi-activity-ui/pom.xml | 49 +
.../spring/ncbi-activity-ui-context-osgi.xml | 9 +
.../spring/ncbi-activity-ui-context.xml | 6 +
.../src/main/resources/ncbi_services | 0
.../src/main/resources/wsdl.png | Bin 0 -> 748 bytes
taverna-soaplab-activity-ui/pom.xml | 103 +
.../SoaplabActivityConfigurationAction.java | 68 +
.../actions/SoaplabConfigurationPanel.java | 183 +
.../ConfigureSoaplabActivityMenuAction.java | 54 +
.../MissingSoaplabException.java | 63 +
.../SoaplabActivityIcon.java | 60 +
.../servicedescriptions/SoaplabCategory.java | 80 +
.../SoaplabScavengerAgent.java | 144 +
.../SoaplabServiceDescription.java | 131 +
.../SoaplabServiceProvider.java | 183 +
.../SoaplabServiceProviderConfig.java | 38 +
.../views/SoaplabActivityContextualView.java | 156 +
.../views/SoaplabActivityViewFactory.java | 73 +
...rvicedescriptions.ServiceDescriptionProvider | 1 +
.../net.sf.taverna.t2.ui.menu.MenuComponent | 1 +
...a.t2.workbench.activityicons.ActivityIconSPI | 1 +
...ntextualviews.activity.ContextualViewFactory | 1 +
.../spring/soaplab-activity-ui-context-osgi.xml | 28 +
.../spring/soaplab-activity-ui-context.xml | 27 +
.../main/resources/analysis_metadata_2_html.xsl | 96 +
.../src/main/resources/soaplab.png | Bin 0 -> 701 bytes
.../TestSoaplabActivityContextualView.java | 61 +
taverna-soaplab-activity/pom.xml | 80 +
.../sf/taverna/t2/activities/soaplab/Soap.java | 82 +
.../t2/activities/soaplab/SoaplabActivity.java | 413 ++
.../SoaplabActivityConfigurationBean.java | 119 +
.../soaplab/SoaplabActivityFactory.java | 216 ++
.../soaplab/SoaplabActivityHealthChecker.java | 66 +
...averna.t2.workflowmodel.health.HealthChecker | 1 +
.../spring/soaplab-activity-context-osgi.xml | 15 +
.../spring/soaplab-activity-context.xml | 12 +
.../src/main/resources/schema.json | 40 +
.../SoaplabActivityConfigurationBeanTest.java | 92 +
.../activities/soaplab/SoaplabActivityTest.java | 127 +
224 files changed, 32788 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/blob/a87b4151/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..5102f18
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,41 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.taverna</groupId>
+ <artifactId>taverna-parent</artifactId>
+ <version>1-incubating-SNAPSHOT</version>
+ </parent>
+ <groupId>org.apache.taverna.bioinformatics</groupId>
+ <artifactId>taverna-plugin-bioinformatics</artifactId>
+ <version>3.1.0-incubating-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <name>Apache Taverna Plugin for Bioinformatics</name>
+ <properties>
+ <taverna.language.version>0.15.0-incubating-SNAPSHOT</taverna.language.version>
+ <taverna.osgi.version>0.2.0-incubating-SNAPSHOT</taverna.osgi.version>
+ <taverna.engine.version>3.1.0-incubating-SNAPSHOT</taverna.engine.version>
+ <taverna.commonactivities.version>2.1.0-incubating-SNAPSHOT</taverna.commonactivities.version>
+ </properties>
+ <modules>
+ <module>taverna-biomart-activity</module>
+ <module>taverna-biomart-activity-ui</module>
+ <module>taverna-biomart-martservice</module>
+ <module>taverna-biomoby-activity</module>
+ <module>taverna-biomoby-activity-ui</module>
+ <module>taverna-ncbi-activity-ui</module>
+ <module>taverna-soaplab-activity</module>
+ <module>taverna-soaplab-activity-ui</module>
+ </modules>
+ <repositories>
+ <repository>
+ <id>taverna-incubating</id>
+ <name>Apache Taverna incubating Repository</name>
+ <url>http://repository.mygrid.org.uk/artifactory/incubator-snapshot-local/</url>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ <snapshots />
+ </repository>
+ </repositories>
+</project>
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/blob/a87b4151/taverna-biomart-activity-ui/pom.xml
----------------------------------------------------------------------
diff --git a/taverna-biomart-activity-ui/pom.xml b/taverna-biomart-activity-ui/pom.xml
new file mode 100644
index 0000000..8465101
--- /dev/null
+++ b/taverna-biomart-activity-ui/pom.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>net.sf.taverna</groupId>
+ <artifactId>taverna-parent</artifactId>
+ <version>3.0.1-SNAPSHOT</version>
+ </parent>
+ <groupId>net.sf.taverna.t2.ui-activities</groupId>
+ <artifactId>biomart-activity-ui</artifactId>
+ <version>2.0-SNAPSHOT</version>
+ <packaging>bundle</packaging>
+ <name>Taverna 2 Biomart Activity UI</name>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <configuration>
+ <instructions>
+ <Import-Package>net.sf.taverna.t2.ui.menu,*</Import-Package>
+ </instructions>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <dependencies>
+ <dependency>
+ <groupId>net.sf.taverna.t2.activities</groupId>
+ <artifactId>biomart-activity</artifactId>
+ <version>${t2.activities.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>net.sf.taverna.t2.ui-api</groupId>
+ <artifactId>activity-icons-api</artifactId>
+ <version>${t2.ui.api.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>net.sf.taverna.t2.ui-api</groupId>
+ <artifactId>activity-palette-api</artifactId>
+ <version>${t2.ui.api.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>net.sf.taverna.t2.ui-api</groupId>
+ <artifactId>contextual-views-api</artifactId>
+ <version>${t2.ui.api.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>net.sf.taverna.t2.ui-api</groupId>
+ <artifactId>activity-tools</artifactId>
+ <version>${t2.ui.api.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>uk.org.taverna.configuration</groupId>
+ <artifactId>taverna-app-configuration-api</artifactId>
+ <version>${taverna.configuration.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>${junit.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>net.sf.taverna.t2.ui-impl</groupId>
+ <artifactId>configuration-impl</artifactId>
+ <version>${t2.ui.impl.version}</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <repositories>
+ <repository>
+ <releases />
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ <id>mygrid-repository</id>
+ <name>myGrid Repository</name>
+ <url>http://www.mygrid.org.uk/maven/repository
+ </url>
+ </repository>
+ <repository>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ <snapshots />
+ <id>mygrid-snapshot-repository</id>
+ <name>myGrid Snapshot Repository</name>
+ <url>http://www.mygrid.org.uk/maven/snapshot-repository</url>
+ </repository>
+ </repositories>
+</project>
+
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/blob/a87b4151/taverna-biomart-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomart/actions/BiomartActivityConfigurationAction.java
----------------------------------------------------------------------
diff --git a/taverna-biomart-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomart/actions/BiomartActivityConfigurationAction.java b/taverna-biomart-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomart/actions/BiomartActivityConfigurationAction.java
new file mode 100644
index 0000000..a0b51e7
--- /dev/null
+++ b/taverna-biomart-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomart/actions/BiomartActivityConfigurationAction.java
@@ -0,0 +1,74 @@
+/*******************************************************************************
+ * 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.actions;
+
+import java.awt.Frame;
+import java.awt.event.ActionEvent;
+
+import javax.swing.Action;
+
+import net.sf.taverna.t2.servicedescriptions.ServiceDescriptionRegistry;
+import net.sf.taverna.t2.workbench.activityicons.ActivityIconManager;
+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.ActivityConfigurationAction;
+import net.sf.taverna.t2.workbench.ui.views.contextualviews.activity.ActivityConfigurationDialog;
+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 BiomartActivityConfigurationAction extends ActivityConfigurationAction {
+
+ public static final String CONFIGURE_BIOMART = "Configure Biomart query";
+ private final EditManager editManager;
+ private final FileManager fileManager;
+ private final ApplicationConfiguration applicationConfiguration;
+ private final ServiceRegistry serviceRegistry;
+
+ public BiomartActivityConfigurationAction(Activity activity, Frame owner,
+ EditManager editManager, FileManager fileManager, ActivityIconManager activityIconManager,
+ ApplicationConfiguration applicationConfiguration, ServiceDescriptionRegistry serviceDescriptionRegistry,
+ ServiceRegistry serviceRegistry) {
+ super(activity, activityIconManager, serviceDescriptionRegistry);
+ this.editManager = editManager;
+ this.fileManager = fileManager;
+ this.applicationConfiguration = applicationConfiguration;
+ this.serviceRegistry = serviceRegistry;
+ putValue(Action.NAME, CONFIGURE_BIOMART);
+ }
+
+ public void actionPerformed(ActionEvent action) {
+ ActivityConfigurationDialog currentDialog = ActivityConfigurationAction.getDialog(getActivity());
+ if (currentDialog != null) {
+ currentDialog.toFront();
+ return;
+ }
+
+ final BiomartConfigurationPanel configurationPanel = new BiomartConfigurationPanel(
+ getActivity(), applicationConfiguration, serviceRegistry);
+ final ActivityConfigurationDialog dialog = new ActivityConfigurationDialog(
+ getActivity(), configurationPanel, editManager);
+
+ ActivityConfigurationAction.setDialog(getActivity(), dialog, fileManager);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/blob/a87b4151/taverna-biomart-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomart/actions/BiomartConfigurationPanel.java
----------------------------------------------------------------------
diff --git a/taverna-biomart-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomart/actions/BiomartConfigurationPanel.java b/taverna-biomart-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomart/actions/BiomartConfigurationPanel.java
new file mode 100644
index 0000000..2b6f662
--- /dev/null
+++ b/taverna-biomart-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomart/actions/BiomartConfigurationPanel.java
@@ -0,0 +1,134 @@
+/*******************************************************************************
+ * 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.actions;
+
+import java.awt.Dimension;
+import java.io.File;
+import java.io.IOException;
+import java.io.StringReader;
+import java.net.URI;
+
+import javax.swing.Box;
+import javax.swing.BoxLayout;
+import javax.swing.JLabel;
+
+import net.sf.taverna.t2.workbench.ui.views.contextualviews.activity.ActivityConfigurationPanel;
+
+import org.apache.log4j.Logger;
+import org.biomart.martservice.MartQuery;
+import org.biomart.martservice.MartService;
+import org.biomart.martservice.MartServiceException;
+import org.biomart.martservice.MartServiceXMLHandler;
+import org.biomart.martservice.config.QueryConfigController;
+import org.biomart.martservice.config.ui.MartServiceQueryConfigUIFactory;
+import org.biomart.martservice.config.ui.QueryConfigUIFactory;
+import org.jdom.Document;
+import org.jdom.Element;
+import org.jdom.JDOMException;
+import org.jdom.input.SAXBuilder;
+import org.jdom.output.XMLOutputter;
+
+import uk.org.taverna.commons.services.ServiceRegistry;
+import uk.org.taverna.configuration.app.ApplicationConfiguration;
+import uk.org.taverna.scufl2.api.activity.Activity;
+
+public class BiomartConfigurationPanel extends ActivityConfigurationPanel {
+ private static Logger logger = Logger.getLogger(BiomartConfigurationPanel.class);
+
+ private static final long serialVersionUID = 1884045346293327621L;
+
+ public static final URI ACTIVITY_TYPE = URI.create("http://ns.taverna.org.uk/2010/activity/biomart");
+
+ private String configurationString;
+
+ private MartQuery biomartQuery;
+
+ private static XMLOutputter outputter = new XMLOutputter();
+
+ private final ApplicationConfiguration applicationConfiguration;
+
+ private final ServiceRegistry serviceRegistry;
+
+ public BiomartConfigurationPanel(Activity activity, ApplicationConfiguration applicationConfiguration,
+ ServiceRegistry serviceRegistry) {
+ super(activity);
+ this.applicationConfiguration = applicationConfiguration;
+ this.serviceRegistry = serviceRegistry;
+ initialise();
+ }
+
+ protected void initialise() {
+ super.initialise();
+ removeAll();
+
+ configurationString = getProperty("martQuery");
+ Element martQuery = null;
+ try {
+ martQuery = new SAXBuilder().build(new StringReader(configurationString)).getRootElement();
+ } catch (JDOMException | IOException e) {
+ logger.warn(e);
+ }
+ setLayout(new BoxLayout(this,BoxLayout.Y_AXIS));
+
+ biomartQuery = MartServiceXMLHandler.elementToMartQuery(martQuery, null);
+ MartService service = biomartQuery.getMartService();
+
+ File homeRoot=applicationConfiguration.getApplicationHomeDir();
+ if (homeRoot==null) {
+ logger.error("unable to determine application home for biomart cache");
+ homeRoot=new File(System.getProperty("java.io.tmpdir"));
+ }
+ File cache=new File(homeRoot,"t2-biomart-activity");
+ service.setCacheDirectory(new File(cache,"cache"));
+ logger.info("Biomart is using cache directory:"+cache.getAbsolutePath());
+
+ QueryConfigController controller = new QueryConfigController(biomartQuery);
+ try {
+ QueryConfigUIFactory queryConfigUIFactory = new MartServiceQueryConfigUIFactory(
+ service, controller, biomartQuery.getMartDataset());
+ add(queryConfigUIFactory.getDatasetConfigUI());
+ add(Box.createGlue());
+ } catch (MartServiceException e) {
+ add(new JLabel("Error reading configuration properties"));
+ add(new JLabel(e.getMessage()));
+ add(Box.createGlue());
+ }
+ this.setPreferredSize(new Dimension(900,500));
+ this.validate();
+ }
+
+ public Element getQuery() {
+ return MartServiceXMLHandler.martQueryToElement(biomartQuery, null);
+ }
+
+ @Override
+ public void noteConfiguration() {
+ setProperty("martQuery", outputter.outputString(new Document(getQuery())));
+ configureInputPorts(serviceRegistry);
+ configureOutputPorts(serviceRegistry);
+ }
+
+ @Override
+ public boolean checkValues() {
+ // TODO Not yet done
+ return true;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/blob/a87b4151/taverna-biomart-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomart/menu/BiomartConfigurationMenuAction.java
----------------------------------------------------------------------
diff --git a/taverna-biomart-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomart/menu/BiomartConfigurationMenuAction.java b/taverna-biomart-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomart/menu/BiomartConfigurationMenuAction.java
new file mode 100644
index 0000000..775ce95
--- /dev/null
+++ b/taverna-biomart-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomart/menu/BiomartConfigurationMenuAction.java
@@ -0,0 +1,68 @@
+package net.sf.taverna.t2.activities.biomart.menu;
+
+import java.net.URI;
+
+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.ui.menu.ContextualMenuComponent;
+import net.sf.taverna.t2.ui.menu.MenuComponent;
+import net.sf.taverna.t2.workbench.activityicons.ActivityIconManager;
+import net.sf.taverna.t2.workbench.activitytools.AbstractConfigureActivityMenuAction;
+import net.sf.taverna.t2.workbench.edits.EditManager;
+import net.sf.taverna.t2.workbench.file.FileManager;
+import uk.org.taverna.commons.services.ServiceRegistry;
+import uk.org.taverna.configuration.app.ApplicationConfiguration;
+
+public class BiomartConfigurationMenuAction extends AbstractConfigureActivityMenuAction implements
+ MenuComponent, ContextualMenuComponent {
+
+ private static final URI BIOMART_ACTIVITY = URI
+ .create("http://ns.taverna.org.uk/2010/activity/biomart");
+ private EditManager editManager;
+ private FileManager fileManager;
+ private ActivityIconManager activityIconManager;
+ private ApplicationConfiguration applicationConfiguration;
+ private ServiceDescriptionRegistry serviceDescriptionRegistry;
+ private ServiceRegistry serviceRegistry;
+
+ public BiomartConfigurationMenuAction() {
+ super(BIOMART_ACTIVITY);
+ }
+
+ @Override
+ protected Action createAction() {
+ BiomartActivityConfigurationAction configAction = new BiomartActivityConfigurationAction(
+ findActivity(), getParentFrame(), editManager, fileManager, activityIconManager,
+ applicationConfiguration, serviceDescriptionRegistry, serviceRegistry);
+ configAction.putValue(Action.NAME, BiomartActivityConfigurationAction.CONFIGURE_BIOMART);
+ addMenuDots(configAction);
+ return configAction;
+ }
+
+ 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 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/a87b4151/taverna-biomart-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomart/servicedescriptions/BiomartActivityIcon.java
----------------------------------------------------------------------
diff --git a/taverna-biomart-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomart/servicedescriptions/BiomartActivityIcon.java b/taverna-biomart-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomart/servicedescriptions/BiomartActivityIcon.java
new file mode 100644
index 0000000..845665e
--- /dev/null
+++ b/taverna-biomart-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomart/servicedescriptions/BiomartActivityIcon.java
@@ -0,0 +1,59 @@
+/*******************************************************************************
+ * 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.servicedescriptions;
+
+import java.net.URI;
+
+import javax.swing.Icon;
+import javax.swing.ImageIcon;
+
+import net.sf.taverna.t2.workbench.activityicons.ActivityIconSPI;
+
+/**
+ *
+ * @author Alex Nenadic
+ * @author Alan R Williams
+ *
+ */
+public class BiomartActivityIcon implements ActivityIconSPI {
+
+ private static final URI BIOMART_ACTIVITY = URI.create("http://ns.taverna.org.uk/2010/activity/biomart");
+
+ static Icon icon = null;
+
+ public int canProvideIconScore(URI activityType) {
+ if (BIOMART_ACTIVITY.equals(activityType))
+ return DEFAULT_ICON + 1;
+ else
+ return NO_ICON;
+ }
+
+ public Icon getIcon(URI activityType) {
+ return getBiomartIcon();
+ }
+
+ public static Icon getBiomartIcon() {
+ if (icon == null) {
+ icon = new ImageIcon(BiomartActivityIcon.class.getResource("/biomart.png"));
+ }
+ return icon;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/blob/a87b4151/taverna-biomart-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomart/servicedescriptions/BiomartServiceDescription.java
----------------------------------------------------------------------
diff --git a/taverna-biomart-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomart/servicedescriptions/BiomartServiceDescription.java b/taverna-biomart-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomart/servicedescriptions/BiomartServiceDescription.java
new file mode 100644
index 0000000..ca50019
--- /dev/null
+++ b/taverna-biomart-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomart/servicedescriptions/BiomartServiceDescription.java
@@ -0,0 +1,146 @@
+/* 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.servicedescriptions;
+
+import java.net.URI;
+import java.util.Arrays;
+import java.util.List;
+
+import javax.swing.Icon;
+
+import net.sf.taverna.t2.servicedescriptions.ServiceDescription;
+
+import org.jdom.Document;
+import org.jdom.Element;
+import org.jdom.output.XMLOutputter;
+
+import uk.org.taverna.scufl2.api.configurations.Configuration;
+
+import com.fasterxml.jackson.databind.node.ObjectNode;
+
+/**
+ * @author alanrw
+ * @author David Withers
+ */
+public class BiomartServiceDescription extends ServiceDescription {
+
+ public static final URI ACTIVITY_TYPE = URI.create("http://ns.taverna.org.uk/2010/activity/biomart");
+
+ private String url;
+ private String dataset;
+ private String location;
+
+ private static final String BIOMART = "Biomart @ ";
+ private Element martQuery;
+
+ public Element getMartQuery() {
+ return martQuery;
+ }
+
+ /**
+ * @return the url
+ */
+ public String getUrl() {
+ return url;
+ }
+
+ /**
+ * @param url
+ * the url to set
+ */
+ public void setUrl(String url) {
+ this.url = url;
+ }
+
+ /**
+ * @return the dataset
+ */
+ public String getDataset() {
+ return dataset;
+ }
+
+ /**
+ * @param dataset
+ * the dataset to set
+ */
+ public void setDataset(String dataset) {
+ this.dataset = dataset;
+ }
+
+ /**
+ * @return the location
+ */
+ public String getLocation() {
+ return location;
+ }
+
+ /**
+ * @param location
+ * the location to set
+ */
+ public void setLocation(String location) {
+ this.location = location;
+ }
+
+ public void setMartQuery(Element martQuery) {
+ this.martQuery = martQuery;
+ }
+
+ @Override
+ public URI getActivityType() {
+ return ACTIVITY_TYPE;
+ }
+
+ @Override
+ public Configuration getActivityConfiguration() {
+ Configuration configuration = new Configuration();
+ configuration.setType(ACTIVITY_TYPE.resolve("#Config"));
+ String queryText = new XMLOutputter().outputString(new Document(martQuery));
+ ((ObjectNode) configuration.getJson()).put("martQuery", queryText);
+ return configuration;
+ }
+
+ @Override
+ public Icon getIcon() {
+ return BiomartActivityIcon.getBiomartIcon();
+ }
+
+ @Override
+ public String getName() {
+ return dataset;
+ }
+
+ @Override
+ public List<? extends Comparable<?>> getPath() {
+ List<String> result;
+ result = Arrays.asList(BIOMART + url, location);
+ return result;
+ }
+
+ @Override
+ protected List<Object> getIdentifyingData() {
+ return Arrays.<Object> asList(getUrl(), getLocation(), getDataset());
+ }
+
+ @Override
+ public boolean isTemplateService() {
+ return true;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/blob/a87b4151/taverna-biomart-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomart/servicedescriptions/BiomartServiceProvider.java
----------------------------------------------------------------------
diff --git a/taverna-biomart-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomart/servicedescriptions/BiomartServiceProvider.java b/taverna-biomart-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomart/servicedescriptions/BiomartServiceProvider.java
new file mode 100644
index 0000000..712e8d8
--- /dev/null
+++ b/taverna-biomart-activity-ui/src/main/java/net/sf/taverna/t2/activities/biomart/servicedescriptions/BiomartServiceProvider.java
@@ -0,0 +1,147 @@
+/**
+ *
+ */
+package net.sf.taverna.t2.activities.biomart.servicedescriptions;
+
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import javax.swing.Icon;
+
+import net.sf.taverna.t2.servicedescriptions.AbstractConfigurableServiceProvider;
+import net.sf.taverna.t2.servicedescriptions.ServiceDescription;
+import net.sf.taverna.t2.servicedescriptions.ServiceDescriptionRegistry;
+
+import org.biomart.martservice.MartDataset;
+import org.biomart.martservice.MartQuery;
+import org.biomart.martservice.MartRegistry;
+import org.biomart.martservice.MartService;
+import org.biomart.martservice.MartServiceException;
+import org.biomart.martservice.MartServiceXMLHandler;
+import org.biomart.martservice.MartURLLocation;
+
+/**
+ * @author alanrw
+ * @author David Withers
+ */
+public class BiomartServiceProvider extends AbstractConfigurableServiceProvider<BiomartServiceProviderConfig> {
+
+ private static final String TAVERNA = "taverna";
+ private static final String BIOMART_SERVICE = "Biomart service";
+
+ private static final URI providerId = URI
+ .create("http://taverna.sf.net/2010/service-provider/biomart");
+
+ private ServiceDescriptionRegistry serviceDescriptionRegistry;
+
+ public BiomartServiceProvider() {
+ super(new BiomartServiceProviderConfig("http://somehost/biomart"));
+ }
+
+ public void findServiceDescriptionsAsync(
+ FindServiceDescriptionsCallBack callBack) {
+ List<ServiceDescription> descriptions = new ArrayList<ServiceDescription>();
+ String url = serviceProviderConfig.getUrl();
+ callBack.status("About to parse biomart:" + url);
+ try {
+ MartService martService = MartService
+ .getMartService(getBiomartServiceLocation(url));
+ martService.setRequestId(TAVERNA);
+ MartRegistry registry = martService.getRegistry();
+ MartURLLocation[] martURLLocations = registry.getMartURLLocations();
+ for (MartURLLocation martURLLocation : martURLLocations) {
+ if (martURLLocation.isVisible()) {
+
+ MartDataset[] datasets = martService
+ .getDatasets(martURLLocation);
+ Arrays.sort(datasets, MartDataset.getDisplayComparator());
+ for (MartDataset dataset : datasets) {
+ if (dataset.isVisible()) {
+ BiomartServiceDescription item = new BiomartServiceDescription();
+ item.setUrl(martService.getLocation());
+ item.setLocation(martURLLocation.getDisplayName());
+ item.setDataset(dataset.getName());
+ item.setDescription(dataset.getDisplayName());
+ MartQuery biomartQuery = new MartQuery(martService,
+ dataset, TAVERNA);
+ item.setMartQuery(MartServiceXMLHandler.martQueryToElement(biomartQuery, null));
+ descriptions.add(item);
+ }
+ }
+ if (descriptions.size() > 0) {
+ callBack.partialResults(descriptions);
+ descriptions.clear();
+ }
+ }
+ }
+ callBack.finished();
+ }
+ catch (MartServiceException e) {
+ callBack.fail("Failed to load Biomart from " + url, e);
+ }
+ }
+
+ public Icon getIcon() {
+ return BiomartActivityIcon.getBiomartIcon();
+ }
+
+ public String getName() {
+ return BIOMART_SERVICE;
+ }
+
+ /**
+ * Attempts to construct a valid MartService URL from the location given.
+ *
+ * @param biomartLocation
+ * @return a (hopefully) valid MartService URL
+ */
+ private String getBiomartServiceLocation(String biomartLocation) {
+ StringBuffer sb = new StringBuffer();
+ if (biomartLocation.endsWith("martservice")) {
+ sb.append(biomartLocation);
+ } else if (biomartLocation.endsWith("martview")) {
+ sb.append(biomartLocation.substring(0, biomartLocation
+ .lastIndexOf("martview")));
+ sb.append("martservice");
+ } else if (biomartLocation.endsWith("/")) {
+ sb.append(biomartLocation);
+ sb.append("martservice");
+ } else {
+ sb.append(biomartLocation);
+ sb.append("/martservice");
+ }
+ return sb.toString();
+ }
+
+ public List<BiomartServiceProviderConfig> getDefaultConfigurations() {
+
+ List<BiomartServiceProviderConfig> defaults = new ArrayList<BiomartServiceProviderConfig>();
+
+ // If defaults have failed to load from a configuration file then load them here.
+ if (!serviceDescriptionRegistry.isDefaultSystemConfigurableProvidersLoaded()){
+ defaults.add(new BiomartServiceProviderConfig(
+ "http://www.biomart.org/biomart/martservice"));
+ } // else return an empty list
+
+ return defaults;
+
+ }
+
+ @Override
+ protected List<? extends Object> getIdentifyingData() {
+ List<String> result;
+ result = Arrays.asList(getConfiguration().getUrl());
+ return result;
+ }
+
+ public String getId() {
+ return providerId.toString();
+ }
+
+ public void setServiceDescriptionRegistry(ServiceDescriptionRegistry serviceDescriptionRegistry) {
+ this.serviceDescriptionRegistry = serviceDescriptionRegistry;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/blob/a87b4151/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/a87b4151/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/a87b4151/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/a87b4151/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/a87b4151/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/a87b4151/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/a87b4151/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/a87b4151/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/a87b4151/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/a87b4151/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/a87b4151/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/a87b4151/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
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/blob/a87b4151/taverna-biomart-activity/pom.xml
----------------------------------------------------------------------
diff --git a/taverna-biomart-activity/pom.xml b/taverna-biomart-activity/pom.xml
new file mode 100644
index 0000000..2662e59
--- /dev/null
+++ b/taverna-biomart-activity/pom.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>net.sf.taverna</groupId>
+ <artifactId>taverna-parent</artifactId>
+ <version>3.0.1-SNAPSHOT</version>
+ </parent>
+ <groupId>net.sf.taverna.t2.activities</groupId>
+ <version>2.0.1-SNAPSHOT</version>
+ <artifactId>biomart-activity</artifactId>
+ <packaging>bundle</packaging>
+ <name>Taverna 2 Biomart Activity.</name>
+ <dependencies>
+ <dependency>
+ <groupId>org.biomart</groupId>
+ <artifactId>martservice</artifactId>
+ <version>2.0.1-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>net.sf.taverna.t2.core</groupId>
+ <artifactId>workflowmodel-api</artifactId>
+ <version>${t2.core.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>net.sf.taverna.t2.core</groupId>
+ <artifactId>reference-api</artifactId>
+ <version>${t2.core.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-databind</artifactId>
+ <version>${jackson-databind.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>${junit.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>net.sf.taverna.t2.activities</groupId>
+ <artifactId>activity-test-utils</artifactId>
+ <version>${t2.activities.version}</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <repositories>
+ <repository>
+ <releases />
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ <id>mygrid-repository</id>
+ <name>myGrid Repository</name>
+ <url>http://www.mygrid.org.uk/maven/repository</url>
+ </repository>
+ <repository>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ <snapshots />
+ <id>mygrid-snapshot-repository</id>
+ <name>myGrid Snapshot Repository</name>
+ <url>http://www.mygrid.org.uk/maven/snapshot-repository</url>
+ </repository>
+ </repositories>
+ <scm>
+ <connection>scm:git:https://github.com/taverna/taverna-biomart-activity.git</connection>
+ <developerConnection>scm:git:ssh://git@github.com/taverna/taverna-biomart-activity.git</developerConnection>
+ <url>https://github.com/taverna/taverna-biomart-activity/</url>
+ <tag>HEAD</tag>
+ </scm>
+</project>
+