You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@taverna.apache.org by st...@apache.org on 2016/08/12 13:12:50 UTC
[02/46] incubator-taverna-plugin-gis git commit: added current source
code
added current source code
Project: http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/commit/7e06e81f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/tree/7e06e81f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/diff/7e06e81f
Branch: refs/heads/taverna2
Commit: 7e06e81f774bcff23caf3c73b08e6740c28ae6e5
Parents:
Author: edikaradumi <ed...@gmail.com>
Authored: Sun Jul 10 13:00:21 2016 +0100
Committer: edikaradumi <ed...@gmail.com>
Committed: Sun Jul 10 13:00:21 2016 +0100
----------------------------------------------------------------------
.project | 17 ++
.settings/org.eclipse.core.resources.prefs | 2 +
.settings/org.eclipse.m2e.core.prefs | 4 +
.../.classpath | 31 +++
apache-taverna-plugin-gis-activity-ui/.project | 23 ++
.../.settings/org.eclipse.core.resources.prefs | 5 +
.../.settings/org.eclipse.jdt.core.prefs | 5 +
.../.settings/org.eclipse.m2e.core.prefs | 4 +
apache-taverna-plugin-gis-activity-ui/pom.xml | 133 ++++++++++
.../gis/ui/config/GisConfigurationPanel.java | 118 +++++++++
.../gis/ui/config/GisConfigureAction.java | 40 +++
.../gis/ui/menu/GisConfigureMenuAction.java | 27 ++
.../gis/ui/serviceprovider/GisServiceDesc.java | 121 +++++++++
.../gis/ui/serviceprovider/GisServiceIcon.java | 32 +++
.../ui/serviceprovider/GisServiceProvider.java | 162 ++++++++++++
.../GisServiceProviderConfig.java | 31 +++
.../ui/view/GisActivityContextViewFactory.java | 22 ++
.../taverna/gis/ui/view/GisContextualView.java | 68 +++++
...rvicedescriptions.ServiceDescriptionProvider | 1 +
.../net.sf.taverna.t2.ui.menu.MenuComponent | 1 +
...a.t2.workbench.activityicons.ActivityIconSPI | 1 +
...ntextualviews.activity.ContextualViewFactory | 1 +
.../src/main/resources/exampleIcon.png | Bin 0 -> 3654 bytes
.../ui/TavernaWorkbenchWithExamplePlugin.java | 21 ++
.../target/classes/META-INF/MANIFEST.MF | 5 +
.../pom.properties | 7 +
.../pom.xml | 133 ++++++++++
...rvicedescriptions.ServiceDescriptionProvider | 1 +
.../net.sf.taverna.t2.ui.menu.MenuComponent | 1 +
...a.t2.workbench.activityicons.ActivityIconSPI | 1 +
...ntextualviews.activity.ContextualViewFactory | 1 +
.../target/classes/exampleIcon.png | Bin 0 -> 3654 bytes
.../gis/ui/config/GisConfigurationPanel.class | Bin 0 -> 3360 bytes
.../gis/ui/config/GisConfigureAction.class | Bin 0 -> 2449 bytes
.../gis/ui/menu/GisConfigureMenuAction.class | Bin 0 -> 1330 bytes
.../gis/ui/serviceprovider/GisServiceDesc.class | Bin 0 -> 3967 bytes
.../gis/ui/serviceprovider/GisServiceIcon.class | Bin 0 -> 1538 bytes
.../ui/serviceprovider/GisServiceProvider.class | Bin 0 -> 7063 bytes
.../GisServiceProviderConfig.class | Bin 0 -> 1294 bytes
.../ui/view/GisActivityContextViewFactory.class | Bin 0 -> 1501 bytes
.../taverna/gis/ui/view/GisContextualView.class | Bin 0 -> 2207 bytes
.../ui/TavernaWorkbenchWithExamplePlugin.class | Bin 0 -> 616 bytes
apache-taverna-plugin-gis-activity/.classpath | 31 +++
apache-taverna-plugin-gis-activity/.project | 23 ++
.../.settings/org.eclipse.core.resources.prefs | 5 +
.../.settings/org.eclipse.jdt.core.prefs | 5 +
.../.settings/org.eclipse.m2e.core.prefs | 4 +
apache-taverna-plugin-gis-activity/pom.xml | 45 ++++
.../org/apache/taverna/gis/GisActivity.java | 248 +++++++++++++++++++
.../gis/GisActivityConfigurationBean.java | 52 ++++
.../taverna/gis/GisActivityHealthChecker.java | 61 +++++
...averna.t2.workflowmodel.health.HealthChecker | 1 +
.../org/apache/taverna/gis/GisActivityTest.java | 118 +++++++++
.../target/classes/META-INF/MANIFEST.MF | 5 +
.../pom.properties | 7 +
.../apache-taverna-plugin-gis-activity/pom.xml | 45 ++++
...averna.t2.workflowmodel.health.HealthChecker | 1 +
.../org/apache/taverna/gis/GisActivity$1.class | Bin 0 -> 6765 bytes
.../org/apache/taverna/gis/GisActivity.class | Bin 0 -> 4153 bytes
.../gis/GisActivityConfigurationBean.class | Bin 0 -> 1006 bytes
.../taverna/gis/GisActivityHealthChecker.class | Bin 0 -> 2896 bytes
.../apache/taverna/gis/GisActivityTest.class | Bin 0 -> 5180 bytes
.../wps_config.xml | 212 ++++++++++++++++
apache-taverna-plugin-gis-plugin/.project | 17 ++
.../.settings/org.eclipse.core.resources.prefs | 2 +
.../.settings/org.eclipse.m2e.core.prefs | 4 +
apache-taverna-plugin-gis-plugin/pom.xml | 41 +++
pom.xml | 144 +++++++++++
68 files changed, 2090 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/blob/7e06e81f/.project
----------------------------------------------------------------------
diff --git a/.project b/.project
new file mode 100644
index 0000000..5049237
--- /dev/null
+++ b/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>apache-taverna-plugin-gis</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.m2e.core.maven2Builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.m2e.core.maven2Nature</nature>
+ </natures>
+</projectDescription>
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/blob/7e06e81f/.settings/org.eclipse.core.resources.prefs
----------------------------------------------------------------------
diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/blob/7e06e81f/.settings/org.eclipse.m2e.core.prefs
----------------------------------------------------------------------
diff --git a/.settings/org.eclipse.m2e.core.prefs b/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/blob/7e06e81f/apache-taverna-plugin-gis-activity-ui/.classpath
----------------------------------------------------------------------
diff --git a/apache-taverna-plugin-gis-activity-ui/.classpath b/apache-taverna-plugin-gis-activity-ui/.classpath
new file mode 100644
index 0000000..698778f
--- /dev/null
+++ b/apache-taverna-plugin-gis-activity-ui/.classpath
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" output="target/classes" path="src/main/java">
+ <attributes>
+ <attribute name="optional" value="true"/>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
+ <attributes>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="src" output="target/test-classes" path="src/test/java">
+ <attributes>
+ <attribute name="optional" value="true"/>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7">
+ <attributes>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
+ <attributes>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="output" path="target/classes"/>
+</classpath>
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/blob/7e06e81f/apache-taverna-plugin-gis-activity-ui/.project
----------------------------------------------------------------------
diff --git a/apache-taverna-plugin-gis-activity-ui/.project b/apache-taverna-plugin-gis-activity-ui/.project
new file mode 100644
index 0000000..f53dd10
--- /dev/null
+++ b/apache-taverna-plugin-gis-activity-ui/.project
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>apache-taverna-plugin-gis-activity-ui</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.m2e.core.maven2Builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.m2e.core.maven2Nature</nature>
+ </natures>
+</projectDescription>
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/blob/7e06e81f/apache-taverna-plugin-gis-activity-ui/.settings/org.eclipse.core.resources.prefs
----------------------------------------------------------------------
diff --git a/apache-taverna-plugin-gis-activity-ui/.settings/org.eclipse.core.resources.prefs b/apache-taverna-plugin-gis-activity-ui/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..839d647
--- /dev/null
+++ b/apache-taverna-plugin-gis-activity-ui/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,5 @@
+eclipse.preferences.version=1
+encoding//src/main/java=UTF-8
+encoding//src/main/resources=UTF-8
+encoding//src/test/java=UTF-8
+encoding/<project>=UTF-8
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/blob/7e06e81f/apache-taverna-plugin-gis-activity-ui/.settings/org.eclipse.jdt.core.prefs
----------------------------------------------------------------------
diff --git a/apache-taverna-plugin-gis-activity-ui/.settings/org.eclipse.jdt.core.prefs b/apache-taverna-plugin-gis-activity-ui/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..ec4300d
--- /dev/null
+++ b/apache-taverna-plugin-gis-activity-ui/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,5 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.source=1.7
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/blob/7e06e81f/apache-taverna-plugin-gis-activity-ui/.settings/org.eclipse.m2e.core.prefs
----------------------------------------------------------------------
diff --git a/apache-taverna-plugin-gis-activity-ui/.settings/org.eclipse.m2e.core.prefs b/apache-taverna-plugin-gis-activity-ui/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/apache-taverna-plugin-gis-activity-ui/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/blob/7e06e81f/apache-taverna-plugin-gis-activity-ui/pom.xml
----------------------------------------------------------------------
diff --git a/apache-taverna-plugin-gis-activity-ui/pom.xml b/apache-taverna-plugin-gis-activity-ui/pom.xml
new file mode 100644
index 0000000..0d82976
--- /dev/null
+++ b/apache-taverna-plugin-gis-activity-ui/pom.xml
@@ -0,0 +1,133 @@
+<?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>org.apache.taverna.gis</groupId>
+ <artifactId>apache-taverna-plugin-gis</artifactId>
+ <version>0.0.1-incubating-SNAPSHOT</version>
+ </parent>
+ <artifactId>apache-taverna-plugin-gis-activity-ui</artifactId>
+ <name>Gis Taverna activity UI bindings</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>apache-taverna-plugin-gis-activity</artifactId>
+ <version>0.0.1-incubating-SNAPSHOT</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>menu-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-impl</groupId>
+ <artifactId>activity-tools</artifactId>
+ <version>${t2.ui.impl.version}</version>
+ </dependency>
+
+ <!-- Workbench runtime for testing from IDE, remove if not using TavernaWorkbenchWithExamplePlugin.main() -->
+ <dependency>
+ <groupId>net.sf.taverna.t2.taverna-workbench</groupId>
+ <artifactId>workbench-dev</artifactId>
+ <version>${t2.workbench.version}</version>
+ <scope>test</scope>
+
+ <exclusions>
+
+ <!-- Disable various activities that are not relevant to testing our
+ example activity. If you want to re-enable for instance WSDL activity, remember
+ to comment out the exclusion for both wsdl-activity-ui and wsdl-activity
+ further down. -->
+ <exclusion>
+ <groupId>net.sf.taverna.t2.ui-activities</groupId>
+ <artifactId>apiconsumer-activity-ui</artifactId>
+ </exclusion>
+
+ <exclusion>
+ <groupId>net.sf.taverna.t2.ui-activities</groupId>
+ <artifactId>biomoby-activity-ui</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>net.sf.taverna.t2.ui-activities</groupId>
+ <artifactId>biomart-activity-ui</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>net.sf.taverna.t2.ui-activities</groupId>
+ <artifactId>soaplab-activity-ui</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>net.sf.taverna.t2.ui-activities</groupId>
+ <artifactId>ncbi-activity-ui</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>net.sf.taverna.t2.ui-activities</groupId>
+ <artifactId>rshell-activity-ui</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>net.sf.taverna.t2.ui-activities</groupId>
+ <artifactId>spreadsheet-import-activity-ui</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>net.sf.taverna.t2.ui-activities</groupId>
+ <artifactId>wsdl-activity-ui</artifactId>
+ </exclusion>
+
+ <!-- .. and the t2.activities counterparts -->
+ <exclusion>
+ <groupId>net.sf.taverna.t2.activities</groupId>
+ <artifactId>apiconsumer-activity</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>net.sf.taverna.t2.activities</groupId>
+ <artifactId>biomoby-activity</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>net.sf.taverna.t2.activities</groupId>
+ <artifactId>biomart-activity</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>net.sf.taverna.t2.activities</groupId>
+ <artifactId>soaplab-activity</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>net.sf.taverna.t2.activities</groupId>
+ <artifactId>ncbi-activity</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>net.sf.taverna.t2.activities</groupId>
+ <artifactId>rshell-activity</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>net.sf.taverna.t2.activities</groupId>
+ <artifactId>spreadsheet-import-activity</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>net.sf.taverna.t2.activities</groupId>
+ <artifactId>wsdl-activity</artifactId>
+ </exclusion>
+ <!-- Perspectives pulling in too many dependencies -->
+ <exclusion>
+ <!-- fails due to direct dependency to WSDL -->
+ <groupId>net.sf.taverna.t2.ui-exts</groupId>
+ <artifactId>perspective-biocatalogue</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>net.sf.taverna.t2.ui-exts</groupId>
+ <artifactId>perspective-myexperiment</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ </dependencies>
+</project>
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/blob/7e06e81f/apache-taverna-plugin-gis-activity-ui/src/main/java/org/apache/taverna/gis/ui/config/GisConfigurationPanel.java
----------------------------------------------------------------------
diff --git a/apache-taverna-plugin-gis-activity-ui/src/main/java/org/apache/taverna/gis/ui/config/GisConfigurationPanel.java b/apache-taverna-plugin-gis-activity-ui/src/main/java/org/apache/taverna/gis/ui/config/GisConfigurationPanel.java
new file mode 100644
index 0000000..2980ffd
--- /dev/null
+++ b/apache-taverna-plugin-gis-activity-ui/src/main/java/org/apache/taverna/gis/ui/config/GisConfigurationPanel.java
@@ -0,0 +1,118 @@
+package org.apache.taverna.gis.ui.config;
+
+import java.awt.GridLayout;
+import java.net.URI;
+
+import javax.swing.JLabel;
+import javax.swing.JOptionPane;
+import javax.swing.JTextField;
+
+import net.sf.taverna.t2.workbench.ui.views.contextualviews.activity.ActivityConfigurationPanel;
+
+import org.apache.taverna.gis.GisActivity;
+import org.apache.taverna.gis.GisActivityConfigurationBean;
+
+
+@SuppressWarnings("serial")
+public class GisConfigurationPanel
+ extends
+ ActivityConfigurationPanel<GisActivity,
+ GisActivityConfigurationBean> {
+
+ private GisActivity activity;
+ private GisActivityConfigurationBean configBean;
+
+ private JTextField fieldString;
+ private JTextField fieldURI;
+
+ public GisConfigurationPanel(GisActivity activity) {
+ this.activity = activity;
+ initGui();
+ }
+
+ protected void initGui() {
+ removeAll();
+ setLayout(new GridLayout(0, 2));
+
+ // FIXME: Create GUI depending on activity configuration bean
+ JLabel labelString = new JLabel("Example string:");
+ add(labelString);
+ fieldString = new JTextField(20);
+ add(fieldString);
+ labelString.setLabelFor(fieldString);
+
+ JLabel labelURI = new JLabel("Example URI:");
+ add(labelURI);
+ fieldURI = new JTextField(25);
+ add(fieldURI);
+ labelURI.setLabelFor(fieldURI);
+
+ // Populate fields from activity configuration bean
+ refreshConfiguration();
+ }
+
+ /**
+ * Check that user values in UI are valid
+ */
+ @Override
+ public boolean checkValues() {
+ try {
+ URI.create(fieldURI.getText());
+ } catch (IllegalArgumentException ex) {
+ JOptionPane.showMessageDialog(this, ex.getCause().getMessage(),
+ "Invalid URI", JOptionPane.ERROR_MESSAGE);
+ // Not valid, return false
+ return false;
+ }
+ // All valid, return true
+ return true;
+ }
+
+ /**
+ * Return configuration bean generated from user interface last time
+ * noteConfiguration() was called.
+ */
+ @Override
+ public GisActivityConfigurationBean getConfiguration() {
+ // Should already have been made by noteConfiguration()
+ return configBean;
+ }
+
+ /**
+ * Check if the user has changed the configuration from the original
+ */
+ @Override
+ public boolean isConfigurationChanged() {
+ String originalString = configBean.getProcessIdentifier();
+ String originalUri = configBean.getOgcServiceUri().toASCIIString();
+ // true (changed) unless all fields match the originals
+ return ! (originalString.equals(fieldString.getText())
+ && originalUri.equals(fieldURI.getText()));
+ }
+
+ /**
+ * Prepare a new configuration bean from the UI, to be returned with
+ * getConfiguration()
+ */
+ @Override
+ public void noteConfiguration() {
+ configBean = new GisActivityConfigurationBean();
+
+ // FIXME: Update bean fields from your UI elements
+ configBean.setProcessIdentifier(fieldString.getText());
+ configBean.setOgcServiceUri(URI.create(fieldURI.getText()));
+ }
+
+ /**
+ * Update GUI from a changed configuration bean (perhaps by undo/redo).
+ *
+ */
+ @Override
+ public void refreshConfiguration() {
+ configBean = activity.getConfiguration();
+
+ // FIXME: Update UI elements from your bean fields
+ fieldString.setText(configBean.getProcessIdentifier());
+ fieldURI.setText(configBean.getOgcServiceUri().toASCIIString());
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/blob/7e06e81f/apache-taverna-plugin-gis-activity-ui/src/main/java/org/apache/taverna/gis/ui/config/GisConfigureAction.java
----------------------------------------------------------------------
diff --git a/apache-taverna-plugin-gis-activity-ui/src/main/java/org/apache/taverna/gis/ui/config/GisConfigureAction.java b/apache-taverna-plugin-gis-activity-ui/src/main/java/org/apache/taverna/gis/ui/config/GisConfigureAction.java
new file mode 100644
index 0000000..cc900ba
--- /dev/null
+++ b/apache-taverna-plugin-gis-activity-ui/src/main/java/org/apache/taverna/gis/ui/config/GisConfigureAction.java
@@ -0,0 +1,40 @@
+package org.apache.taverna.gis.ui.config;
+
+import java.awt.Frame;
+import java.awt.event.ActionEvent;
+
+import net.sf.taverna.t2.workbench.ui.actions.activity.ActivityConfigurationAction;
+import net.sf.taverna.t2.workbench.ui.views.contextualviews.activity.ActivityConfigurationDialog;
+
+import org.apache.taverna.gis.GisActivity;
+import org.apache.taverna.gis.GisActivityConfigurationBean;
+
+@SuppressWarnings("serial")
+public class GisConfigureAction
+ extends
+ ActivityConfigurationAction<GisActivity,
+ GisActivityConfigurationBean> {
+
+ public GisConfigureAction(GisActivity activity, Frame owner) {
+ super(activity);
+ }
+
+ @SuppressWarnings("unchecked")
+ public void actionPerformed(ActionEvent e) {
+ ActivityConfigurationDialog<GisActivity, GisActivityConfigurationBean> currentDialog = ActivityConfigurationAction
+ .getDialog(getActivity());
+ if (currentDialog != null) {
+ currentDialog.toFront();
+ return;
+ }
+ GisConfigurationPanel panel = new GisConfigurationPanel(
+ getActivity());
+ ActivityConfigurationDialog<GisActivity,
+ GisActivityConfigurationBean> dialog = new ActivityConfigurationDialog<GisActivity, GisActivityConfigurationBean>(
+ getActivity(), panel);
+
+ ActivityConfigurationAction.setDialog(getActivity(), dialog);
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/blob/7e06e81f/apache-taverna-plugin-gis-activity-ui/src/main/java/org/apache/taverna/gis/ui/menu/GisConfigureMenuAction.java
----------------------------------------------------------------------
diff --git a/apache-taverna-plugin-gis-activity-ui/src/main/java/org/apache/taverna/gis/ui/menu/GisConfigureMenuAction.java b/apache-taverna-plugin-gis-activity-ui/src/main/java/org/apache/taverna/gis/ui/menu/GisConfigureMenuAction.java
new file mode 100644
index 0000000..5bc372d
--- /dev/null
+++ b/apache-taverna-plugin-gis-activity-ui/src/main/java/org/apache/taverna/gis/ui/menu/GisConfigureMenuAction.java
@@ -0,0 +1,27 @@
+package org.apache.taverna.gis.ui.menu;
+
+import javax.swing.Action;
+
+import net.sf.taverna.t2.workbench.activitytools.AbstractConfigureActivityMenuAction;
+import org.apache.taverna.gis.GisActivity;
+import org.apache.taverna.gis.ui.config.GisConfigureAction;
+
+public class GisConfigureMenuAction extends
+ AbstractConfigureActivityMenuAction<GisActivity> {
+
+ public GisConfigureMenuAction() {
+ super(GisActivity.class);
+ }
+
+ @Override
+ protected Action createAction() {
+ GisActivity a = findActivity();
+ Action result = null;
+ result = new GisConfigureAction(findActivity(),
+ getParentFrame());
+ result.putValue(Action.NAME, "Configure example service");
+ addMenuDots(result);
+ return result;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/blob/7e06e81f/apache-taverna-plugin-gis-activity-ui/src/main/java/org/apache/taverna/gis/ui/serviceprovider/GisServiceDesc.java
----------------------------------------------------------------------
diff --git a/apache-taverna-plugin-gis-activity-ui/src/main/java/org/apache/taverna/gis/ui/serviceprovider/GisServiceDesc.java b/apache-taverna-plugin-gis-activity-ui/src/main/java/org/apache/taverna/gis/ui/serviceprovider/GisServiceDesc.java
new file mode 100644
index 0000000..fdae85b
--- /dev/null
+++ b/apache-taverna-plugin-gis-activity-ui/src/main/java/org/apache/taverna/gis/ui/serviceprovider/GisServiceDesc.java
@@ -0,0 +1,121 @@
+package org.apache.taverna.gis.ui.serviceprovider;
+
+import java.net.URI;
+import java.util.Arrays;
+import java.util.List;
+
+import javax.swing.Icon;
+
+import net.sf.taverna.t2.servicedescriptions.ServiceDescription;
+import net.sf.taverna.t2.workflowmodel.processor.activity.Activity;
+import net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean;
+import net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean;
+
+import org.apache.taverna.gis.GisActivity;
+import org.apache.taverna.gis.GisActivityConfigurationBean;
+
+public class GisServiceDesc extends ServiceDescription<GisActivityConfigurationBean> {
+
+ /**
+ * The subclass of Activity which should be instantiated when adding a service
+ * for this description
+ */
+ @Override
+ public Class<? extends Activity<GisActivityConfigurationBean>> getActivityClass() {
+ return GisActivity.class;
+ }
+
+ /**
+ * The configuration bean which is to be used for configuring the instantiated activity.
+ * Making this bean will typically require some of the fields set on this service
+ * description, like an endpoint URL or method name.
+ *
+ */
+ @Override
+ public GisActivityConfigurationBean getActivityConfiguration() {
+ GisActivityConfigurationBean bean = new GisActivityConfigurationBean();
+ bean.setOgcServiceUri(ogcServiceUri);
+ bean.setProcessIdentifier(processIdentifier);
+
+ bean.setInputPortDefinitions(inputPortDefinitions);
+ bean.setOutputPortDefinitions(outputPortDefinitions);
+
+ return bean;
+ }
+
+ /**
+ * An icon to represent this service description in the service palette.
+ */
+ @Override
+ public Icon getIcon() {
+ return GisServiceIcon.getIcon();
+ }
+
+ /**
+ * The display name that will be shown in service palette and will
+ * be used as a template for processor name when added to workflow.
+ */
+ @Override
+ public String getName() {
+ return processIdentifier;
+ }
+
+ /**
+ * The path to this service description in the service palette. Folders
+ * will be created for each element of the returned path.
+ */
+ @Override
+ public List<String> getPath() {
+ // For deeper paths you may return several strings
+ return Arrays.asList("GIS", "WPS " + getOgcServiceUri());
+ }
+
+ /**
+ * Return a list of data values uniquely identifying this service
+ * description (to avoid duplicates). Include only primary key like fields,
+ * ie. ignore descriptions, icons, etc.
+ */
+ @Override
+ protected List<? extends Object> getIdentifyingData() {
+ // FIXME: Use your fields instead of example fields
+ return Arrays.<Object>asList(ogcServiceUri, processIdentifier);
+ }
+
+
+ // FIXME: Replace example fields and getters/setters with any required
+ // and optional fields. (All fields are searchable in the Service palette,
+ // for instance try a search for exampleString:3)
+ private URI ogcServiceUri;
+ private String processIdentifier;
+ private List<ActivityInputPortDefinitionBean> inputPortDefinitions;
+ private List<ActivityOutputPortDefinitionBean> outputPortDefinitions;
+
+ public URI getOgcServiceUri() {
+ return ogcServiceUri;
+ }
+ public void setOgcServiceUri(URI ogcServiceUri) {
+ this.ogcServiceUri = ogcServiceUri;
+ }
+ public String getProcessIdentifier() {
+ return processIdentifier;
+ }
+ public void setProcessIdentifier(String processIdentifier) {
+ this.processIdentifier = processIdentifier;
+ }
+
+ public List<ActivityInputPortDefinitionBean> getInputPortDefinitions() {
+ return inputPortDefinitions;
+ }
+
+ public void setInputPortDefinitions(List<ActivityInputPortDefinitionBean> inputPortDefinitions) {
+ this.inputPortDefinitions = inputPortDefinitions;
+ }
+
+ public List<ActivityOutputPortDefinitionBean> getOutputPortDefinitions() {
+ return outputPortDefinitions;
+ }
+
+ public void setOutputPortDefinitions(List<ActivityOutputPortDefinitionBean> outputPortDefinitions) {
+ this.outputPortDefinitions = outputPortDefinitions;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/blob/7e06e81f/apache-taverna-plugin-gis-activity-ui/src/main/java/org/apache/taverna/gis/ui/serviceprovider/GisServiceIcon.java
----------------------------------------------------------------------
diff --git a/apache-taverna-plugin-gis-activity-ui/src/main/java/org/apache/taverna/gis/ui/serviceprovider/GisServiceIcon.java b/apache-taverna-plugin-gis-activity-ui/src/main/java/org/apache/taverna/gis/ui/serviceprovider/GisServiceIcon.java
new file mode 100644
index 0000000..2c3a1b0
--- /dev/null
+++ b/apache-taverna-plugin-gis-activity-ui/src/main/java/org/apache/taverna/gis/ui/serviceprovider/GisServiceIcon.java
@@ -0,0 +1,32 @@
+package org.apache.taverna.gis.ui.serviceprovider;
+
+import javax.swing.Icon;
+import javax.swing.ImageIcon;
+
+import net.sf.taverna.t2.workbench.activityicons.ActivityIconSPI;
+import net.sf.taverna.t2.workflowmodel.processor.activity.Activity;
+import org.apache.taverna.gis.GisActivity;
+
+public class GisServiceIcon implements ActivityIconSPI {
+
+ private static Icon icon;
+
+ public int canProvideIconScore(Activity<?> activity) {
+ if (activity instanceof GisActivity) {
+ return DEFAULT_ICON;
+ }
+ return NO_ICON;
+ }
+
+ public Icon getIcon(Activity<?> activity) {
+ return getIcon();
+ }
+
+ public static Icon getIcon() {
+ if (icon == null) {
+ icon = new ImageIcon(GisServiceIcon.class.getResource("/exampleIcon.png"));
+ }
+ return icon;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/blob/7e06e81f/apache-taverna-plugin-gis-activity-ui/src/main/java/org/apache/taverna/gis/ui/serviceprovider/GisServiceProvider.java
----------------------------------------------------------------------
diff --git a/apache-taverna-plugin-gis-activity-ui/src/main/java/org/apache/taverna/gis/ui/serviceprovider/GisServiceProvider.java b/apache-taverna-plugin-gis-activity-ui/src/main/java/org/apache/taverna/gis/ui/serviceprovider/GisServiceProvider.java
new file mode 100644
index 0000000..d252201
--- /dev/null
+++ b/apache-taverna-plugin-gis-activity-ui/src/main/java/org/apache/taverna/gis/ui/serviceprovider/GisServiceProvider.java
@@ -0,0 +1,162 @@
+package org.apache.taverna.gis.ui.serviceprovider;
+
+import java.io.IOException;
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import javax.swing.Icon;
+
+import org.n52.wps.client.WPSClientSession;
+
+import net.opengis.wps.x100.InputDescriptionType;
+import net.opengis.wps.x100.OutputDescriptionType;
+import net.opengis.wps.x100.ProcessDescriptionType;
+import net.sf.taverna.t2.servicedescriptions.AbstractConfigurableServiceProvider;
+import net.sf.taverna.t2.servicedescriptions.ConfigurableServiceProvider;
+import net.sf.taverna.t2.servicedescriptions.ServiceDescription;
+import net.sf.taverna.t2.servicedescriptions.ServiceDescriptionProvider;
+import net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean;
+import net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean;
+
+public class GisServiceProvider extends AbstractConfigurableServiceProvider<GisServiceProviderConfig>
+ implements ConfigurableServiceProvider<GisServiceProviderConfig> {
+
+ public GisServiceProvider() {
+ super(new GisServiceProviderConfig());
+ }
+
+ private static final URI providerId = URI
+ .create("http://cs.man.ac.uk/2016/service-provider/apache-taverna-plugin-gis");
+
+ /**
+ * Do the actual search for services. Return using the callBack parameter.
+ */
+ @SuppressWarnings("unchecked")
+ public void findServiceDescriptionsAsync(FindServiceDescriptionsCallBack callBack) {
+ // Use callback.status() for long-running searches
+ callBack.status("Resolving GIS services");
+
+ List<ServiceDescription> results = new ArrayList<ServiceDescription>();
+
+ // FIXME: Implement the actual service search/lookup instead
+ // of dummy for-loop
+
+ GisServiceDesc service = new GisServiceDesc();
+ // Populate the service description bean
+ service.setOgcServiceUri(getConfiguration().getOgcServiceUri());
+ service.setProcessIdentifier(getConfiguration().getProcessIdentifier());
+
+ // TODO: Optional: set description (Set a better description
+ service.setDescription(getConfiguration().getProcessIdentifier());
+
+ // TODO: Exctract in separate method
+ // Get input ports
+
+ WPSClientSession wpsClient = WPSClientSession.getInstance();
+
+ ProcessDescriptionType processDescription;
+ try {
+ processDescription = wpsClient
+ .getProcessDescription(getConfiguration().getOgcServiceUri().toString(), getConfiguration().getProcessIdentifier());
+
+ InputDescriptionType[] inputList = processDescription.getDataInputs()
+ .getInputArray();
+
+ List<ActivityInputPortDefinitionBean> inputPortDefinitions = new ArrayList<ActivityInputPortDefinitionBean>();
+
+ for (InputDescriptionType input : inputList) {
+ ActivityInputPortDefinitionBean newInputPort = new ActivityInputPortDefinitionBean();
+ newInputPort.setName(input.getIdentifier().getStringValue());
+ newInputPort.setDepth(0);
+ newInputPort.setAllowsLiteralValues(true);
+ newInputPort.setHandledReferenceSchemes(null);
+ newInputPort.setTranslatedElementType(String.class);
+
+ inputPortDefinitions.add(newInputPort);
+
+ }
+
+ service.setInputPortDefinitions(inputPortDefinitions);
+
+
+ // Get output ports
+
+ OutputDescriptionType[] outputList = processDescription.getProcessOutputs().getOutputArray();
+ List<ActivityOutputPortDefinitionBean> outputPortDefinitions = new ArrayList<ActivityOutputPortDefinitionBean>();
+
+ for( OutputDescriptionType output : outputList )
+ {
+ ActivityOutputPortDefinitionBean newOutputPort = new ActivityOutputPortDefinitionBean();
+ newOutputPort.setName(output.getIdentifier().getStringValue());
+ newOutputPort.setDepth(0);
+
+ outputPortDefinitions.add(newOutputPort);
+
+ }
+
+ service.setOutputPortDefinitions(outputPortDefinitions);
+
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+ results.add(service);
+
+ // partialResults() can also be called several times from inside
+ // for-loop if the full search takes a long time
+ callBack.partialResults(results);
+
+
+
+
+ // No more results will be coming
+ callBack.finished();
+ }
+
+ /**
+ * Icon for service provider
+ */
+ public Icon getIcon() {
+ return GisServiceIcon.getIcon();
+ }
+
+ /**
+ * Name of service provider, appears in right click for 'Remove service
+ * provider'
+ */
+ public String getName() {
+ return "Geospatial Web Services";
+ }
+
+ @Override
+ public String toString() {
+ return "Geospatial Web Services " + getConfiguration().getProcessIdentifier();
+ }
+
+ public String getId() {
+ return providerId.toASCIIString();
+ }
+
+ @Override
+ protected List<? extends Object> getIdentifyingData() {
+ return Arrays.asList(getConfiguration().getOgcServiceUri(), getConfiguration().getProcessIdentifier());
+ }
+
+
+ @Override
+ public List<GisServiceProviderConfig> getDefaultConfigurations(){
+
+ GisServiceProviderConfig myConfig = new GisServiceProviderConfig();
+
+ myConfig.setOgcServiceUri(URI.create("http://localhost:8080/geoserver/ows"));
+ myConfig.setProcessIdentifier("gs:StringConcatWPS");
+
+ return Arrays.asList(myConfig);
+
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/blob/7e06e81f/apache-taverna-plugin-gis-activity-ui/src/main/java/org/apache/taverna/gis/ui/serviceprovider/GisServiceProviderConfig.java
----------------------------------------------------------------------
diff --git a/apache-taverna-plugin-gis-activity-ui/src/main/java/org/apache/taverna/gis/ui/serviceprovider/GisServiceProviderConfig.java b/apache-taverna-plugin-gis-activity-ui/src/main/java/org/apache/taverna/gis/ui/serviceprovider/GisServiceProviderConfig.java
new file mode 100644
index 0000000..7b58a15
--- /dev/null
+++ b/apache-taverna-plugin-gis-activity-ui/src/main/java/org/apache/taverna/gis/ui/serviceprovider/GisServiceProviderConfig.java
@@ -0,0 +1,31 @@
+package org.apache.taverna.gis.ui.serviceprovider;
+
+import java.net.URI;
+
+import net.sf.taverna.t2.lang.beans.PropertyAnnotation;
+
+public class GisServiceProviderConfig {
+ private URI ogcServiceUri = URI.create("http://localhost:8080/geoserver/ows");
+ private String processIdentifier = "gs:StringConcatWPS";
+
+ // TODO: Display name not working, hide getClass
+
+ @PropertyAnnotation(displayName="OGC Web Service URI", preferred=true)
+ public URI getOgcServiceUri() {
+ return ogcServiceUri;
+ }
+ public void setOgcServiceUri(URI ogcServiceUri) {
+ this.ogcServiceUri = ogcServiceUri;
+ }
+
+ // TODO: Display name not working
+
+ @PropertyAnnotation(displayName="Process Identifier")
+ public String getProcessIdentifier() {
+ return processIdentifier;
+ }
+ public void setProcessIdentifier(String processIdentifier) {
+ this.processIdentifier = processIdentifier;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/blob/7e06e81f/apache-taverna-plugin-gis-activity-ui/src/main/java/org/apache/taverna/gis/ui/view/GisActivityContextViewFactory.java
----------------------------------------------------------------------
diff --git a/apache-taverna-plugin-gis-activity-ui/src/main/java/org/apache/taverna/gis/ui/view/GisActivityContextViewFactory.java b/apache-taverna-plugin-gis-activity-ui/src/main/java/org/apache/taverna/gis/ui/view/GisActivityContextViewFactory.java
new file mode 100644
index 0000000..f2c7f4e
--- /dev/null
+++ b/apache-taverna-plugin-gis-activity-ui/src/main/java/org/apache/taverna/gis/ui/view/GisActivityContextViewFactory.java
@@ -0,0 +1,22 @@
+package org.apache.taverna.gis.ui.view;
+
+import java.util.Arrays;
+import java.util.List;
+
+import net.sf.taverna.t2.workbench.ui.views.contextualviews.ContextualView;
+import net.sf.taverna.t2.workbench.ui.views.contextualviews.activity.ContextualViewFactory;
+
+import org.apache.taverna.gis.GisActivity;
+
+public class GisActivityContextViewFactory implements
+ ContextualViewFactory<GisActivity> {
+
+ public boolean canHandle(Object selection) {
+ return selection instanceof GisActivity;
+ }
+
+ public List<ContextualView> getViews(GisActivity selection) {
+ return Arrays.<ContextualView>asList(new GisContextualView(selection));
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/blob/7e06e81f/apache-taverna-plugin-gis-activity-ui/src/main/java/org/apache/taverna/gis/ui/view/GisContextualView.java
----------------------------------------------------------------------
diff --git a/apache-taverna-plugin-gis-activity-ui/src/main/java/org/apache/taverna/gis/ui/view/GisContextualView.java b/apache-taverna-plugin-gis-activity-ui/src/main/java/org/apache/taverna/gis/ui/view/GisContextualView.java
new file mode 100644
index 0000000..78df434
--- /dev/null
+++ b/apache-taverna-plugin-gis-activity-ui/src/main/java/org/apache/taverna/gis/ui/view/GisContextualView.java
@@ -0,0 +1,68 @@
+package org.apache.taverna.gis.ui.view;
+
+import java.awt.Frame;
+
+import javax.swing.Action;
+import javax.swing.JComponent;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+
+import net.sf.taverna.t2.workbench.ui.views.contextualviews.ContextualView;
+
+import org.apache.taverna.gis.GisActivity;
+import org.apache.taverna.gis.GisActivityConfigurationBean;
+import org.apache.taverna.gis.ui.config.GisConfigureAction;
+
+@SuppressWarnings("serial")
+public class GisContextualView extends ContextualView {
+ private final GisActivity activity;
+ private JLabel description = new JLabel("ads");
+
+ public GisContextualView(GisActivity activity) {
+ this.activity = activity;
+ initView();
+ }
+
+ @Override
+ public JComponent getMainFrame() {
+ JPanel jPanel = new JPanel();
+ jPanel.add(description);
+ refreshView();
+ return jPanel;
+ }
+
+ @Override
+ public String getViewTitle() {
+ GisActivityConfigurationBean configuration = activity
+ .getConfiguration();
+ return "Gis service " + configuration.getProcessIdentifier();
+ }
+
+ /**
+ * Typically called when the activity configuration has changed.
+ */
+ @Override
+ public void refreshView() {
+ GisActivityConfigurationBean configuration = activity
+ .getConfiguration();
+ description.setText("Gis service " + configuration.getOgcServiceUri()
+ + " - " + configuration.getProcessIdentifier());
+ // TODO: Might also show extra service information looked
+ // up dynamically from endpoint/registry
+ }
+
+ /**
+ * View position hint
+ */
+ @Override
+ public int getPreferredPosition() {
+ // We want to be on top
+ return 100;
+ }
+
+ @Override
+ public Action getConfigureAction(final Frame owner) {
+ return new GisConfigureAction(activity, owner);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/blob/7e06e81f/apache-taverna-plugin-gis-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.servicedescriptions.ServiceDescriptionProvider
----------------------------------------------------------------------
diff --git a/apache-taverna-plugin-gis-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.servicedescriptions.ServiceDescriptionProvider b/apache-taverna-plugin-gis-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.servicedescriptions.ServiceDescriptionProvider
new file mode 100644
index 0000000..82952f3
--- /dev/null
+++ b/apache-taverna-plugin-gis-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.servicedescriptions.ServiceDescriptionProvider
@@ -0,0 +1 @@
+org.apache.taverna.gis.ui.serviceprovider.GisServiceProvider
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/blob/7e06e81f/apache-taverna-plugin-gis-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.ui.menu.MenuComponent
----------------------------------------------------------------------
diff --git a/apache-taverna-plugin-gis-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.ui.menu.MenuComponent b/apache-taverna-plugin-gis-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.ui.menu.MenuComponent
new file mode 100644
index 0000000..ae4e8cb
--- /dev/null
+++ b/apache-taverna-plugin-gis-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.ui.menu.MenuComponent
@@ -0,0 +1 @@
+org.apache.taverna.gis.ui.menu.GisConfigureMenuAction
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/blob/7e06e81f/apache-taverna-plugin-gis-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.activityicons.ActivityIconSPI
----------------------------------------------------------------------
diff --git a/apache-taverna-plugin-gis-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.activityicons.ActivityIconSPI b/apache-taverna-plugin-gis-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.activityicons.ActivityIconSPI
new file mode 100644
index 0000000..3865625
--- /dev/null
+++ b/apache-taverna-plugin-gis-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.activityicons.ActivityIconSPI
@@ -0,0 +1 @@
+org.apache.taverna.gis.ui.serviceprovider.GisServiceIcon
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/blob/7e06e81f/apache-taverna-plugin-gis-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.ui.views.contextualviews.activity.ContextualViewFactory
----------------------------------------------------------------------
diff --git a/apache-taverna-plugin-gis-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.ui.views.contextualviews.activity.ContextualViewFactory b/apache-taverna-plugin-gis-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.ui.views.contextualviews.activity.ContextualViewFactory
new file mode 100644
index 0000000..4a0f6e3
--- /dev/null
+++ b/apache-taverna-plugin-gis-activity-ui/src/main/resources/META-INF/services/net.sf.taverna.t2.workbench.ui.views.contextualviews.activity.ContextualViewFactory
@@ -0,0 +1 @@
+ org.apache.taverna.gis.ui.view.GisActivityContextViewFactory
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/blob/7e06e81f/apache-taverna-plugin-gis-activity-ui/src/main/resources/exampleIcon.png
----------------------------------------------------------------------
diff --git a/apache-taverna-plugin-gis-activity-ui/src/main/resources/exampleIcon.png b/apache-taverna-plugin-gis-activity-ui/src/main/resources/exampleIcon.png
new file mode 100644
index 0000000..3ef7be4
Binary files /dev/null and b/apache-taverna-plugin-gis-activity-ui/src/main/resources/exampleIcon.png differ
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/blob/7e06e81f/apache-taverna-plugin-gis-activity-ui/src/test/java/org/apache/taverna/gis/ui/TavernaWorkbenchWithExamplePlugin.java
----------------------------------------------------------------------
diff --git a/apache-taverna-plugin-gis-activity-ui/src/test/java/org/apache/taverna/gis/ui/TavernaWorkbenchWithExamplePlugin.java b/apache-taverna-plugin-gis-activity-ui/src/test/java/org/apache/taverna/gis/ui/TavernaWorkbenchWithExamplePlugin.java
new file mode 100644
index 0000000..ced2f43
--- /dev/null
+++ b/apache-taverna-plugin-gis-activity-ui/src/test/java/org/apache/taverna/gis/ui/TavernaWorkbenchWithExamplePlugin.java
@@ -0,0 +1,21 @@
+package org.apache.taverna.gis.ui;
+
+import net.sf.taverna.t2.workbench.dev.DeveloperWorkbench;
+
+/**
+ * Run with parameters:
+ *
+ * -Xmx300m -XX:MaxPermSize=140m
+ * -Dsun.swing.enableImprovedDragGesture
+ * -Dtaverna.startup=.
+ *
+ * NOTE: Do not save any workflows made using this test mode, as the plugin
+ * information will be missing from the workflow file, and it will not open
+ * in a Taverna run normally.
+ *
+ */
+public class TavernaWorkbenchWithExamplePlugin {
+ public static void main(String[] args) throws Exception {
+ DeveloperWorkbench.main(args);
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/blob/7e06e81f/apache-taverna-plugin-gis-activity-ui/target/classes/META-INF/MANIFEST.MF
----------------------------------------------------------------------
diff --git a/apache-taverna-plugin-gis-activity-ui/target/classes/META-INF/MANIFEST.MF b/apache-taverna-plugin-gis-activity-ui/target/classes/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..3d9fc4f
--- /dev/null
+++ b/apache-taverna-plugin-gis-activity-ui/target/classes/META-INF/MANIFEST.MF
@@ -0,0 +1,5 @@
+Manifest-Version: 1.0
+Built-By: edi
+Build-Jdk: 1.8.0_92
+Created-By: Maven Integration for Eclipse
+
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/blob/7e06e81f/apache-taverna-plugin-gis-activity-ui/target/classes/META-INF/maven/org.apache.taverna.gis/apache-taverna-plugin-gis-activity-ui/pom.properties
----------------------------------------------------------------------
diff --git a/apache-taverna-plugin-gis-activity-ui/target/classes/META-INF/maven/org.apache.taverna.gis/apache-taverna-plugin-gis-activity-ui/pom.properties b/apache-taverna-plugin-gis-activity-ui/target/classes/META-INF/maven/org.apache.taverna.gis/apache-taverna-plugin-gis-activity-ui/pom.properties
new file mode 100644
index 0000000..51aaad8
--- /dev/null
+++ b/apache-taverna-plugin-gis-activity-ui/target/classes/META-INF/maven/org.apache.taverna.gis/apache-taverna-plugin-gis-activity-ui/pom.properties
@@ -0,0 +1,7 @@
+#Generated by Maven Integration for Eclipse
+#Sun Jul 10 12:53:50 BST 2016
+version=0.0.1-incubating-SNAPSHOT
+groupId=org.apache.taverna.gis
+m2e.projectName=apache-taverna-plugin-gis-activity-ui
+m2e.projectLocation=D\:\\UniManchester\\MScDissertation\\ApacheTavernaPluginGIS\\apache-taverna-plugin-gis\\apache-taverna-plugin-gis-activity-ui
+artifactId=apache-taverna-plugin-gis-activity-ui
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/blob/7e06e81f/apache-taverna-plugin-gis-activity-ui/target/classes/META-INF/maven/org.apache.taverna.gis/apache-taverna-plugin-gis-activity-ui/pom.xml
----------------------------------------------------------------------
diff --git a/apache-taverna-plugin-gis-activity-ui/target/classes/META-INF/maven/org.apache.taverna.gis/apache-taverna-plugin-gis-activity-ui/pom.xml b/apache-taverna-plugin-gis-activity-ui/target/classes/META-INF/maven/org.apache.taverna.gis/apache-taverna-plugin-gis-activity-ui/pom.xml
new file mode 100644
index 0000000..0d82976
--- /dev/null
+++ b/apache-taverna-plugin-gis-activity-ui/target/classes/META-INF/maven/org.apache.taverna.gis/apache-taverna-plugin-gis-activity-ui/pom.xml
@@ -0,0 +1,133 @@
+<?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>org.apache.taverna.gis</groupId>
+ <artifactId>apache-taverna-plugin-gis</artifactId>
+ <version>0.0.1-incubating-SNAPSHOT</version>
+ </parent>
+ <artifactId>apache-taverna-plugin-gis-activity-ui</artifactId>
+ <name>Gis Taverna activity UI bindings</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>apache-taverna-plugin-gis-activity</artifactId>
+ <version>0.0.1-incubating-SNAPSHOT</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>menu-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-impl</groupId>
+ <artifactId>activity-tools</artifactId>
+ <version>${t2.ui.impl.version}</version>
+ </dependency>
+
+ <!-- Workbench runtime for testing from IDE, remove if not using TavernaWorkbenchWithExamplePlugin.main() -->
+ <dependency>
+ <groupId>net.sf.taverna.t2.taverna-workbench</groupId>
+ <artifactId>workbench-dev</artifactId>
+ <version>${t2.workbench.version}</version>
+ <scope>test</scope>
+
+ <exclusions>
+
+ <!-- Disable various activities that are not relevant to testing our
+ example activity. If you want to re-enable for instance WSDL activity, remember
+ to comment out the exclusion for both wsdl-activity-ui and wsdl-activity
+ further down. -->
+ <exclusion>
+ <groupId>net.sf.taverna.t2.ui-activities</groupId>
+ <artifactId>apiconsumer-activity-ui</artifactId>
+ </exclusion>
+
+ <exclusion>
+ <groupId>net.sf.taverna.t2.ui-activities</groupId>
+ <artifactId>biomoby-activity-ui</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>net.sf.taverna.t2.ui-activities</groupId>
+ <artifactId>biomart-activity-ui</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>net.sf.taverna.t2.ui-activities</groupId>
+ <artifactId>soaplab-activity-ui</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>net.sf.taverna.t2.ui-activities</groupId>
+ <artifactId>ncbi-activity-ui</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>net.sf.taverna.t2.ui-activities</groupId>
+ <artifactId>rshell-activity-ui</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>net.sf.taverna.t2.ui-activities</groupId>
+ <artifactId>spreadsheet-import-activity-ui</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>net.sf.taverna.t2.ui-activities</groupId>
+ <artifactId>wsdl-activity-ui</artifactId>
+ </exclusion>
+
+ <!-- .. and the t2.activities counterparts -->
+ <exclusion>
+ <groupId>net.sf.taverna.t2.activities</groupId>
+ <artifactId>apiconsumer-activity</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>net.sf.taverna.t2.activities</groupId>
+ <artifactId>biomoby-activity</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>net.sf.taverna.t2.activities</groupId>
+ <artifactId>biomart-activity</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>net.sf.taverna.t2.activities</groupId>
+ <artifactId>soaplab-activity</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>net.sf.taverna.t2.activities</groupId>
+ <artifactId>ncbi-activity</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>net.sf.taverna.t2.activities</groupId>
+ <artifactId>rshell-activity</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>net.sf.taverna.t2.activities</groupId>
+ <artifactId>spreadsheet-import-activity</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>net.sf.taverna.t2.activities</groupId>
+ <artifactId>wsdl-activity</artifactId>
+ </exclusion>
+ <!-- Perspectives pulling in too many dependencies -->
+ <exclusion>
+ <!-- fails due to direct dependency to WSDL -->
+ <groupId>net.sf.taverna.t2.ui-exts</groupId>
+ <artifactId>perspective-biocatalogue</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>net.sf.taverna.t2.ui-exts</groupId>
+ <artifactId>perspective-myexperiment</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ </dependencies>
+</project>
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/blob/7e06e81f/apache-taverna-plugin-gis-activity-ui/target/classes/META-INF/services/net.sf.taverna.t2.servicedescriptions.ServiceDescriptionProvider
----------------------------------------------------------------------
diff --git a/apache-taverna-plugin-gis-activity-ui/target/classes/META-INF/services/net.sf.taverna.t2.servicedescriptions.ServiceDescriptionProvider b/apache-taverna-plugin-gis-activity-ui/target/classes/META-INF/services/net.sf.taverna.t2.servicedescriptions.ServiceDescriptionProvider
new file mode 100644
index 0000000..82952f3
--- /dev/null
+++ b/apache-taverna-plugin-gis-activity-ui/target/classes/META-INF/services/net.sf.taverna.t2.servicedescriptions.ServiceDescriptionProvider
@@ -0,0 +1 @@
+org.apache.taverna.gis.ui.serviceprovider.GisServiceProvider
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/blob/7e06e81f/apache-taverna-plugin-gis-activity-ui/target/classes/META-INF/services/net.sf.taverna.t2.ui.menu.MenuComponent
----------------------------------------------------------------------
diff --git a/apache-taverna-plugin-gis-activity-ui/target/classes/META-INF/services/net.sf.taverna.t2.ui.menu.MenuComponent b/apache-taverna-plugin-gis-activity-ui/target/classes/META-INF/services/net.sf.taverna.t2.ui.menu.MenuComponent
new file mode 100644
index 0000000..ae4e8cb
--- /dev/null
+++ b/apache-taverna-plugin-gis-activity-ui/target/classes/META-INF/services/net.sf.taverna.t2.ui.menu.MenuComponent
@@ -0,0 +1 @@
+org.apache.taverna.gis.ui.menu.GisConfigureMenuAction
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/blob/7e06e81f/apache-taverna-plugin-gis-activity-ui/target/classes/META-INF/services/net.sf.taverna.t2.workbench.activityicons.ActivityIconSPI
----------------------------------------------------------------------
diff --git a/apache-taverna-plugin-gis-activity-ui/target/classes/META-INF/services/net.sf.taverna.t2.workbench.activityicons.ActivityIconSPI b/apache-taverna-plugin-gis-activity-ui/target/classes/META-INF/services/net.sf.taverna.t2.workbench.activityicons.ActivityIconSPI
new file mode 100644
index 0000000..3865625
--- /dev/null
+++ b/apache-taverna-plugin-gis-activity-ui/target/classes/META-INF/services/net.sf.taverna.t2.workbench.activityicons.ActivityIconSPI
@@ -0,0 +1 @@
+org.apache.taverna.gis.ui.serviceprovider.GisServiceIcon
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/blob/7e06e81f/apache-taverna-plugin-gis-activity-ui/target/classes/META-INF/services/net.sf.taverna.t2.workbench.ui.views.contextualviews.activity.ContextualViewFactory
----------------------------------------------------------------------
diff --git a/apache-taverna-plugin-gis-activity-ui/target/classes/META-INF/services/net.sf.taverna.t2.workbench.ui.views.contextualviews.activity.ContextualViewFactory b/apache-taverna-plugin-gis-activity-ui/target/classes/META-INF/services/net.sf.taverna.t2.workbench.ui.views.contextualviews.activity.ContextualViewFactory
new file mode 100644
index 0000000..4a0f6e3
--- /dev/null
+++ b/apache-taverna-plugin-gis-activity-ui/target/classes/META-INF/services/net.sf.taverna.t2.workbench.ui.views.contextualviews.activity.ContextualViewFactory
@@ -0,0 +1 @@
+ org.apache.taverna.gis.ui.view.GisActivityContextViewFactory
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/blob/7e06e81f/apache-taverna-plugin-gis-activity-ui/target/classes/exampleIcon.png
----------------------------------------------------------------------
diff --git a/apache-taverna-plugin-gis-activity-ui/target/classes/exampleIcon.png b/apache-taverna-plugin-gis-activity-ui/target/classes/exampleIcon.png
new file mode 100644
index 0000000..3ef7be4
Binary files /dev/null and b/apache-taverna-plugin-gis-activity-ui/target/classes/exampleIcon.png differ
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/blob/7e06e81f/apache-taverna-plugin-gis-activity-ui/target/classes/org/apache/taverna/gis/ui/config/GisConfigurationPanel.class
----------------------------------------------------------------------
diff --git a/apache-taverna-plugin-gis-activity-ui/target/classes/org/apache/taverna/gis/ui/config/GisConfigurationPanel.class b/apache-taverna-plugin-gis-activity-ui/target/classes/org/apache/taverna/gis/ui/config/GisConfigurationPanel.class
new file mode 100644
index 0000000..4590625
Binary files /dev/null and b/apache-taverna-plugin-gis-activity-ui/target/classes/org/apache/taverna/gis/ui/config/GisConfigurationPanel.class differ
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/blob/7e06e81f/apache-taverna-plugin-gis-activity-ui/target/classes/org/apache/taverna/gis/ui/config/GisConfigureAction.class
----------------------------------------------------------------------
diff --git a/apache-taverna-plugin-gis-activity-ui/target/classes/org/apache/taverna/gis/ui/config/GisConfigureAction.class b/apache-taverna-plugin-gis-activity-ui/target/classes/org/apache/taverna/gis/ui/config/GisConfigureAction.class
new file mode 100644
index 0000000..72da81a
Binary files /dev/null and b/apache-taverna-plugin-gis-activity-ui/target/classes/org/apache/taverna/gis/ui/config/GisConfigureAction.class differ
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/blob/7e06e81f/apache-taverna-plugin-gis-activity-ui/target/classes/org/apache/taverna/gis/ui/menu/GisConfigureMenuAction.class
----------------------------------------------------------------------
diff --git a/apache-taverna-plugin-gis-activity-ui/target/classes/org/apache/taverna/gis/ui/menu/GisConfigureMenuAction.class b/apache-taverna-plugin-gis-activity-ui/target/classes/org/apache/taverna/gis/ui/menu/GisConfigureMenuAction.class
new file mode 100644
index 0000000..5d294c4
Binary files /dev/null and b/apache-taverna-plugin-gis-activity-ui/target/classes/org/apache/taverna/gis/ui/menu/GisConfigureMenuAction.class differ
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/blob/7e06e81f/apache-taverna-plugin-gis-activity-ui/target/classes/org/apache/taverna/gis/ui/serviceprovider/GisServiceDesc.class
----------------------------------------------------------------------
diff --git a/apache-taverna-plugin-gis-activity-ui/target/classes/org/apache/taverna/gis/ui/serviceprovider/GisServiceDesc.class b/apache-taverna-plugin-gis-activity-ui/target/classes/org/apache/taverna/gis/ui/serviceprovider/GisServiceDesc.class
new file mode 100644
index 0000000..3794861
Binary files /dev/null and b/apache-taverna-plugin-gis-activity-ui/target/classes/org/apache/taverna/gis/ui/serviceprovider/GisServiceDesc.class differ
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/blob/7e06e81f/apache-taverna-plugin-gis-activity-ui/target/classes/org/apache/taverna/gis/ui/serviceprovider/GisServiceIcon.class
----------------------------------------------------------------------
diff --git a/apache-taverna-plugin-gis-activity-ui/target/classes/org/apache/taverna/gis/ui/serviceprovider/GisServiceIcon.class b/apache-taverna-plugin-gis-activity-ui/target/classes/org/apache/taverna/gis/ui/serviceprovider/GisServiceIcon.class
new file mode 100644
index 0000000..b27147a
Binary files /dev/null and b/apache-taverna-plugin-gis-activity-ui/target/classes/org/apache/taverna/gis/ui/serviceprovider/GisServiceIcon.class differ
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/blob/7e06e81f/apache-taverna-plugin-gis-activity-ui/target/classes/org/apache/taverna/gis/ui/serviceprovider/GisServiceProvider.class
----------------------------------------------------------------------
diff --git a/apache-taverna-plugin-gis-activity-ui/target/classes/org/apache/taverna/gis/ui/serviceprovider/GisServiceProvider.class b/apache-taverna-plugin-gis-activity-ui/target/classes/org/apache/taverna/gis/ui/serviceprovider/GisServiceProvider.class
new file mode 100644
index 0000000..8b23394
Binary files /dev/null and b/apache-taverna-plugin-gis-activity-ui/target/classes/org/apache/taverna/gis/ui/serviceprovider/GisServiceProvider.class differ
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/blob/7e06e81f/apache-taverna-plugin-gis-activity-ui/target/classes/org/apache/taverna/gis/ui/serviceprovider/GisServiceProviderConfig.class
----------------------------------------------------------------------
diff --git a/apache-taverna-plugin-gis-activity-ui/target/classes/org/apache/taverna/gis/ui/serviceprovider/GisServiceProviderConfig.class b/apache-taverna-plugin-gis-activity-ui/target/classes/org/apache/taverna/gis/ui/serviceprovider/GisServiceProviderConfig.class
new file mode 100644
index 0000000..06b88e8
Binary files /dev/null and b/apache-taverna-plugin-gis-activity-ui/target/classes/org/apache/taverna/gis/ui/serviceprovider/GisServiceProviderConfig.class differ
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/blob/7e06e81f/apache-taverna-plugin-gis-activity-ui/target/classes/org/apache/taverna/gis/ui/view/GisActivityContextViewFactory.class
----------------------------------------------------------------------
diff --git a/apache-taverna-plugin-gis-activity-ui/target/classes/org/apache/taverna/gis/ui/view/GisActivityContextViewFactory.class b/apache-taverna-plugin-gis-activity-ui/target/classes/org/apache/taverna/gis/ui/view/GisActivityContextViewFactory.class
new file mode 100644
index 0000000..5e6e7d3
Binary files /dev/null and b/apache-taverna-plugin-gis-activity-ui/target/classes/org/apache/taverna/gis/ui/view/GisActivityContextViewFactory.class differ
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/blob/7e06e81f/apache-taverna-plugin-gis-activity-ui/target/classes/org/apache/taverna/gis/ui/view/GisContextualView.class
----------------------------------------------------------------------
diff --git a/apache-taverna-plugin-gis-activity-ui/target/classes/org/apache/taverna/gis/ui/view/GisContextualView.class b/apache-taverna-plugin-gis-activity-ui/target/classes/org/apache/taverna/gis/ui/view/GisContextualView.class
new file mode 100644
index 0000000..033ba91
Binary files /dev/null and b/apache-taverna-plugin-gis-activity-ui/target/classes/org/apache/taverna/gis/ui/view/GisContextualView.class differ
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/blob/7e06e81f/apache-taverna-plugin-gis-activity-ui/target/test-classes/org/apache/taverna/gis/ui/TavernaWorkbenchWithExamplePlugin.class
----------------------------------------------------------------------
diff --git a/apache-taverna-plugin-gis-activity-ui/target/test-classes/org/apache/taverna/gis/ui/TavernaWorkbenchWithExamplePlugin.class b/apache-taverna-plugin-gis-activity-ui/target/test-classes/org/apache/taverna/gis/ui/TavernaWorkbenchWithExamplePlugin.class
new file mode 100644
index 0000000..3a8bf16
Binary files /dev/null and b/apache-taverna-plugin-gis-activity-ui/target/test-classes/org/apache/taverna/gis/ui/TavernaWorkbenchWithExamplePlugin.class differ
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/blob/7e06e81f/apache-taverna-plugin-gis-activity/.classpath
----------------------------------------------------------------------
diff --git a/apache-taverna-plugin-gis-activity/.classpath b/apache-taverna-plugin-gis-activity/.classpath
new file mode 100644
index 0000000..698778f
--- /dev/null
+++ b/apache-taverna-plugin-gis-activity/.classpath
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" output="target/classes" path="src/main/java">
+ <attributes>
+ <attribute name="optional" value="true"/>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
+ <attributes>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="src" output="target/test-classes" path="src/test/java">
+ <attributes>
+ <attribute name="optional" value="true"/>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7">
+ <attributes>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
+ <attributes>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="output" path="target/classes"/>
+</classpath>
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/blob/7e06e81f/apache-taverna-plugin-gis-activity/.project
----------------------------------------------------------------------
diff --git a/apache-taverna-plugin-gis-activity/.project b/apache-taverna-plugin-gis-activity/.project
new file mode 100644
index 0000000..3681ef8
--- /dev/null
+++ b/apache-taverna-plugin-gis-activity/.project
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>apache-taverna-plugin-gis-activity</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.m2e.core.maven2Builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.m2e.core.maven2Nature</nature>
+ </natures>
+</projectDescription>
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/blob/7e06e81f/apache-taverna-plugin-gis-activity/.settings/org.eclipse.core.resources.prefs
----------------------------------------------------------------------
diff --git a/apache-taverna-plugin-gis-activity/.settings/org.eclipse.core.resources.prefs b/apache-taverna-plugin-gis-activity/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..839d647
--- /dev/null
+++ b/apache-taverna-plugin-gis-activity/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,5 @@
+eclipse.preferences.version=1
+encoding//src/main/java=UTF-8
+encoding//src/main/resources=UTF-8
+encoding//src/test/java=UTF-8
+encoding/<project>=UTF-8
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/blob/7e06e81f/apache-taverna-plugin-gis-activity/.settings/org.eclipse.jdt.core.prefs
----------------------------------------------------------------------
diff --git a/apache-taverna-plugin-gis-activity/.settings/org.eclipse.jdt.core.prefs b/apache-taverna-plugin-gis-activity/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..ec4300d
--- /dev/null
+++ b/apache-taverna-plugin-gis-activity/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,5 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.source=1.7
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/blob/7e06e81f/apache-taverna-plugin-gis-activity/.settings/org.eclipse.m2e.core.prefs
----------------------------------------------------------------------
diff --git a/apache-taverna-plugin-gis-activity/.settings/org.eclipse.m2e.core.prefs b/apache-taverna-plugin-gis-activity/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/apache-taverna-plugin-gis-activity/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/blob/7e06e81f/apache-taverna-plugin-gis-activity/pom.xml
----------------------------------------------------------------------
diff --git a/apache-taverna-plugin-gis-activity/pom.xml b/apache-taverna-plugin-gis-activity/pom.xml
new file mode 100644
index 0000000..bae1259
--- /dev/null
+++ b/apache-taverna-plugin-gis-activity/pom.xml
@@ -0,0 +1,45 @@
+<?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>org.apache.taverna.gis</groupId>
+ <artifactId>apache-taverna-plugin-gis</artifactId>
+ <version>0.0.1-incubating-SNAPSHOT</version>
+ </parent>
+ <artifactId>apache-taverna-plugin-gis-activity</artifactId>
+ <name>Gis Taverna activity</name>
+
+ <repositories>
+ <repository>
+ <id>n52-releases</id>
+ <name>52n Releases</name>
+ <url>http://52north.org/maven/repo/releases</url>
+ <releases>
+ <enabled>true</enabled>
+ </releases>
+ <snapshots>
+ <enabled>true</enabled>
+ </snapshots>
+ </repository>
+ </repositories>
+
+ <dependencies>
+ <dependency>
+ <groupId>net.sf.taverna.t2.core</groupId>
+ <artifactId>workflowmodel-api</artifactId>
+ <version>${t2.core.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>net.sf.taverna.t2.activities</groupId>
+ <artifactId>activity-test-utils</artifactId>
+ <version>${t2.activities.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.n52.wps</groupId>
+ <artifactId>52n-wps-client-lib</artifactId>
+ <version>3.3.1</version>
+ </dependency>
+ </dependencies>
+</project>
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/blob/7e06e81f/apache-taverna-plugin-gis-activity/src/main/java/org/apache/taverna/gis/GisActivity.java
----------------------------------------------------------------------
diff --git a/apache-taverna-plugin-gis-activity/src/main/java/org/apache/taverna/gis/GisActivity.java b/apache-taverna-plugin-gis-activity/src/main/java/org/apache/taverna/gis/GisActivity.java
new file mode 100644
index 0000000..fc69c28
--- /dev/null
+++ b/apache-taverna-plugin-gis-activity/src/main/java/org/apache/taverna/gis/GisActivity.java
@@ -0,0 +1,248 @@
+package org.apache.taverna.gis;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.geotools.ows.ServiceException;
+import org.n52.wps.client.ExecuteRequestBuilder;
+import org.n52.wps.client.ExecuteResponseAnalyser;
+import org.n52.wps.client.WPSClientException;
+import org.n52.wps.client.WPSClientSession;
+import org.n52.wps.io.data.IData;
+import org.n52.wps.io.data.binding.complex.GTVectorDataBinding;
+
+import net.opengis.wps.x100.DataType;
+import net.opengis.wps.x100.ExecuteDocument;
+import net.opengis.wps.x100.ExecuteResponseDocument;
+import net.opengis.wps.x100.OutputDataType;
+import net.opengis.wps.x100.ProcessDescriptionType;
+import net.sf.taverna.t2.invocation.InvocationContext;
+import net.sf.taverna.t2.reference.ReferenceService;
+import net.sf.taverna.t2.reference.T2Reference;
+import net.sf.taverna.t2.workflowmodel.processor.activity.AbstractAsynchronousActivity;
+import net.sf.taverna.t2.workflowmodel.processor.activity.ActivityConfigurationException;
+import net.sf.taverna.t2.workflowmodel.processor.activity.AsynchronousActivity;
+import net.sf.taverna.t2.workflowmodel.processor.activity.AsynchronousActivityCallback;
+import net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean;
+import net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean;
+
+public class GisActivity extends AbstractAsynchronousActivity<GisActivityConfigurationBean>
+ implements AsynchronousActivity<GisActivityConfigurationBean> {
+
+ /*
+ * Best practice: Keep port names as constants to avoid misspelling. This
+ * would not apply if port names are looked up dynamically from the service
+ * operation, like done for WSDL services.
+ */
+
+ private GisActivityConfigurationBean configBean;
+
+ @Override
+ public void configure(GisActivityConfigurationBean configBean) throws ActivityConfigurationException {
+
+ // TODO: Should I call HealthChecker here??
+ // Any pre-config sanity checks
+ if (configBean.getOgcServiceUri().equals("")) {
+ throw new ActivityConfigurationException("Geospatial web service URI can't be empty");
+ }
+ // Store for getConfiguration(), but you could also make
+ // getConfiguration() return a new bean from other sources
+ this.configBean = configBean;
+
+ // OPTIONAL:
+ // Do any server-side lookups and configuration, like resolving WSDLs
+
+ // myClient = new MyClient(configBean.getExampleUri());
+ // this.service = myClient.getService(configBean.getExampleString());
+
+ // REQUIRED: (Re)create input/output ports depending on configuration
+ configurePorts();
+ }
+
+ protected void configurePorts() {
+ // In case we are being reconfigured - remove existing ports first
+ // to avoid duplicates
+ removeInputs();
+ removeOutputs();
+
+ // FIXME: Replace with your input and output port definitions
+
+ for(ActivityInputPortDefinitionBean inputPort : configBean.getInputPortDefinitions())
+ {
+ addInput(inputPort.getName(),inputPort.getDepth(),inputPort.getAllowsLiteralValues(),inputPort.getHandledReferenceSchemes(), inputPort.getTranslatedElementType());
+ }
+
+// // Hard coded input port, expecting a single String
+// addInput(IN_FIRSTNAME, 0, true, null, String.class);
+
+ //
+ // // Optional ports depending on configuration
+ // if (configBean.getExampleString().equals("specialCase")) {
+ // // depth 1, ie. list of binary byte[] arrays
+ // addInput(IN_EXTRA_DATA, 1, true, null, byte[].class);
+ // addOutput(OUT_REPORT, 0);
+ // }
+
+ for(ActivityOutputPortDefinitionBean outputPort : configBean.getOutputPortDefinitions())
+ {
+ addOutput(outputPort.getName(),outputPort.getDepth());
+ }
+
+// // Single value output port (depth 0)
+// addOutput(OUT_FULLNAME, 0);
+// // // Output port with list of values (depth 1)
+// // addOutput(OUT_MORE_OUTPUTS, 1);
+
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public void executeAsynch(final Map<String, T2Reference> inputs, final AsynchronousActivityCallback callback) {
+ // Don't execute service directly now, request to be run ask to be run
+ // from thread pool and return asynchronously
+ callback.requestRun(new Runnable() {
+
+ public void run() {
+ InvocationContext context = callback.getContext();
+ ReferenceService referenceService = context.getReferenceService();
+// // Resolve inputs
+// String firstNameInput = (String) referenceService.renderIdentifier(inputs.get(IN_FIRSTNAME), String.class, context);
+// String lastNameInput = (String) referenceService.renderIdentifier(inputs.get(IN_LASTNAME), String.class, context);
+
+ // // Support our configuration-dependendent input
+ // boolean optionalPorts =
+ // configBean.getExampleString().equals("specialCase");
+ //
+ // List<byte[]> special = null;
+ // // We'll also allow IN_EXTRA_DATA to be optionally not
+ // provided
+ // if (optionalPorts && inputs.containsKey(IN_EXTRA_DATA)) {
+ // // Resolve as a list of byte[]
+ // special = (List<byte[]>) referenceService.renderIdentifier(
+ // inputs.get(IN_EXTRA_DATA), byte[].class, context);
+ // }
+
+ // TODO: Do the actual service invocation
+ // try {
+ // results = this.service.invoke(firstInput, special)
+ // } catch (ServiceException ex) {
+ // callback.fail("Could not invoke Gis service " +
+ // configBean.getExampleUri(),
+ // ex);
+ // // Make sure we don't call callback.receiveResult later
+ // return;
+ // }
+
+// String wpsURL = "http://localhost:8080/geoserver/ows";
+//
+// String processID = "gs:StringConcatWPS";
+
+ // Register outputs
+ Map<String, T2Reference> outputs = null;
+
+ try {
+
+ WPSClientSession wpsClient = WPSClientSession.getInstance();
+
+ ProcessDescriptionType processDescription = wpsClient.getProcessDescription(configBean.getOgcServiceUri().toString(), configBean.getProcessIdentifier());
+ // configBean.getWpsUri().toString(),
+ // configBean.getProcessBrief().getIdentifier().getStringValue());
+
+ ExecuteRequestBuilder executeBuilder = new ExecuteRequestBuilder(processDescription);
+
+ for (ActivityInputPortDefinitionBean activityInputPort : configBean.getInputPortDefinitions()) {
+ String portValue = (String) referenceService.renderIdentifier(inputs.get(activityInputPort.getName()), String.class, context);
+ executeBuilder.addLiteralData(activityInputPort.getName(), portValue);
+ }
+
+// executeBuilder.addLiteralData(IN_FIRSTNAME, (String) firstNameInput);
+// executeBuilder.addLiteralData(IN_LASTNAME, (String) lastNameInput);
+
+ // execute request
+ ExecuteDocument execute = executeBuilder.getExecute();
+ // wpsClient.retrieveExecuteResponseViaPOST(configBean.getWpsUri().toString(),
+ // execute, false);
+ execute.getExecute().setService("WPS");
+ Object responseObject = null;
+ try {
+ responseObject = wpsClient.execute(configBean.getOgcServiceUri().toString(), execute);
+ } catch (WPSClientException e) {
+ // if the an error return from service
+ callback.fail(e.getServerException().xmlText());
+ }
+
+ // Register outputs
+ outputs = new HashMap<String, T2Reference>();
+ T2Reference simpleRef = null;
+
+ if (responseObject instanceof ExecuteResponseDocument) {
+ ExecuteResponseDocument response = (ExecuteResponseDocument) responseObject;
+ ExecuteResponseAnalyser analyser = new ExecuteResponseAnalyser(
+ execute, response, processDescription);
+
+ for(OutputDataType output : response.getExecuteResponse().getProcessOutputs().getOutputArray())
+ {
+
+ DataType data = output.getData();
+
+ if (data.isSetLiteralData())
+ {
+ simpleRef = referenceService.register(data.getLiteralData().getStringValue(), 0, true, context);
+
+ outputs.put(output.getIdentifier().getStringValue(), simpleRef);
+ }
+
+ }
+
+ }
+
+
+ } catch (WPSClientException e) {
+ callback.fail(e.getMessage());
+// } catch (ServiceException e) {
+// callback.fail(e.getMessage());
+ } catch (IOException e) {
+ callback.fail(e.getMessage());
+ }
+
+// // Register outputs
+// Map<String, T2Reference> outputs = new HashMap<String, T2Reference>();
+// String simpleValue = "simple";
+// T2Reference simpleRef = referenceService.register(simpleValue, 0, true, context);
+// outputs.put(OUT_SIMPLE_OUTPUT, simpleRef);
+
+ // // For list outputs, only need to register the top level list
+ // List<String> moreValues = new ArrayList<String>();
+ // moreValues.add("Value 1");
+ // moreValues.add("Value 2");
+ // T2Reference moreRef = referenceService.register(moreValues,
+ // 1, true, context);
+ // outputs.put(OUT_MORE_OUTPUTS, moreRef);
+ //
+ // if (optionalPorts) {
+ // // Populate our optional output port
+ // // NOTE: Need to return output values for all defined output
+ // ports
+ // String report = "Everything OK";
+ // outputs.put(OUT_REPORT, referenceService.register(report,
+ // 0, true, context));
+ // }
+
+ // return map of output data, with empty index array as this is
+ // the only and final result (this index parameter is used if
+ // pipelining output)
+ callback.receiveResult(outputs, new int[0]);
+ }
+ });
+ }
+
+ @Override
+ public GisActivityConfigurationBean getConfiguration() {
+ return this.configBean;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/blob/7e06e81f/apache-taverna-plugin-gis-activity/src/main/java/org/apache/taverna/gis/GisActivityConfigurationBean.java
----------------------------------------------------------------------
diff --git a/apache-taverna-plugin-gis-activity/src/main/java/org/apache/taverna/gis/GisActivityConfigurationBean.java b/apache-taverna-plugin-gis-activity/src/main/java/org/apache/taverna/gis/GisActivityConfigurationBean.java
new file mode 100644
index 0000000..24e3001
--- /dev/null
+++ b/apache-taverna-plugin-gis-activity/src/main/java/org/apache/taverna/gis/GisActivityConfigurationBean.java
@@ -0,0 +1,52 @@
+package org.apache.taverna.gis;
+
+import java.io.Serializable;
+import java.net.URI;
+import java.util.List;
+
+import net.opengis.wps.x100.InputDescriptionType;
+import net.opengis.wps.x100.OutputDescriptionType;
+import net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityPortsDefinitionBean;
+
+/**
+ * Gis activity configuration bean.
+ *
+ */
+public class GisActivityConfigurationBean extends ActivityPortsDefinitionBean implements Serializable {
+
+ /*
+ * TODO: Remove this comment.
+ *
+ * The configuration specifies the variable options and configurations for
+ * an activity that has been added to a workflow. For instance for a WSDL
+ * activity, the configuration contains the URL for the WSDL together with
+ * the method name. String constant configurations contain the string that
+ * is to be returned, while Beanshell script configurations contain both the
+ * scripts and the input/output ports (by subclassing
+ * ActivityPortsDefinitionBean).
+ *
+ * Configuration beans are serialised as XML (currently by using XMLBeans)
+ * when Taverna is saving the workflow definitions. Therefore the
+ * configuration beans need to follow the JavaBeans style and only have
+ * fields of 'simple' types such as Strings, integers, etc. Other beans can
+ * be referenced as well, as long as they are part of the same plugin.
+ */
+
+ // TODO: Remove the example fields and getters/setters and add your own
+ private URI ogcServiceUri;
+ private String processIdentifier;
+
+ public URI getOgcServiceUri() {
+ return ogcServiceUri;
+ }
+ public void setOgcServiceUri(URI ogcServiceUri) {
+ this.ogcServiceUri = ogcServiceUri;
+ }
+ public String getProcessIdentifier() {
+ return processIdentifier;
+ }
+ public void setProcessIdentifier(String processIdentifier) {
+ this.processIdentifier = processIdentifier;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/blob/7e06e81f/apache-taverna-plugin-gis-activity/src/main/java/org/apache/taverna/gis/GisActivityHealthChecker.java
----------------------------------------------------------------------
diff --git a/apache-taverna-plugin-gis-activity/src/main/java/org/apache/taverna/gis/GisActivityHealthChecker.java b/apache-taverna-plugin-gis-activity/src/main/java/org/apache/taverna/gis/GisActivityHealthChecker.java
new file mode 100644
index 0000000..86e78f8
--- /dev/null
+++ b/apache-taverna-plugin-gis-activity/src/main/java/org/apache/taverna/gis/GisActivityHealthChecker.java
@@ -0,0 +1,61 @@
+package org.apache.taverna.gis;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import net.sf.taverna.t2.visit.VisitReport;
+import net.sf.taverna.t2.visit.VisitReport.Status;
+import net.sf.taverna.t2.workflowmodel.health.HealthCheck;
+import net.sf.taverna.t2.workflowmodel.health.HealthChecker;
+
+/**
+ * Gis health checker
+ *
+ */
+public class GisActivityHealthChecker implements
+ HealthChecker<GisActivity> {
+
+ public boolean canVisit(Object o) {
+ // Return True if we can visit the object. We could do
+ // deeper (but not time consuming) checks here, for instance
+ // if the health checker only deals with GisActivity where
+ // a certain configuration option is enabled.
+ return o instanceof GisActivity;
+ }
+
+ public boolean isTimeConsuming() {
+ // Return true if the health checker does a network lookup
+ // or similar time consuming checks, in which case
+ // it would only be performed when using File->Validate workflow
+ // or File->Run.
+ return false;
+ }
+
+ public VisitReport visit(GisActivity activity, List<Object> ancestry) {
+ GisActivityConfigurationBean config = activity.getConfiguration();
+
+ // We'll build a list of subreports
+ List<VisitReport> subReports = new ArrayList<VisitReport>();
+
+ if (!config.getOgcServiceUri().isAbsolute()) {
+ // Report Severe problems we know won't work
+ VisitReport report = new VisitReport(HealthCheck.getInstance(),
+ activity, "Example URI must be absolute", HealthCheck.INVALID_URL,
+ Status.SEVERE);
+ subReports.add(report);
+ }
+
+ if (config.getProcessIdentifier().equals("")) {
+ // Warning on possible problems
+ subReports.add(new VisitReport(HealthCheck.getInstance(), activity,
+ "Example string empty", HealthCheck.NO_CONFIGURATION,
+ Status.WARNING));
+ }
+
+ // The default explanation here will be used if the subreports list is
+ // empty
+ return new VisitReport(HealthCheck.getInstance(), activity,
+ "Gis service OK", HealthCheck.NO_PROBLEM, subReports);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/blob/7e06e81f/apache-taverna-plugin-gis-activity/src/main/resources/META-INF/services/net.sf.taverna.t2.workflowmodel.health.HealthChecker
----------------------------------------------------------------------
diff --git a/apache-taverna-plugin-gis-activity/src/main/resources/META-INF/services/net.sf.taverna.t2.workflowmodel.health.HealthChecker b/apache-taverna-plugin-gis-activity/src/main/resources/META-INF/services/net.sf.taverna.t2.workflowmodel.health.HealthChecker
new file mode 100644
index 0000000..158ab09
--- /dev/null
+++ b/apache-taverna-plugin-gis-activity/src/main/resources/META-INF/services/net.sf.taverna.t2.workflowmodel.health.HealthChecker
@@ -0,0 +1 @@
+org.apache.taverna.gis.GisActivityHealthChecker