Fix GisClientImple Add client.connect to the constructor
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/7b90c737 Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/tree/7b90c737 Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/diff/7b90c737 Branch: refs/heads/taverna2 Commit: 7b90c7377c9571a816068d799cdcc91dd37a0a7c Parents: 03f5964 Author: edikaradumi <[email protected]> Authored: Tue Aug 2 22:44:20 2016 +0100 Committer: edikaradumi <[email protected]> Committed: Tue Aug 2 22:44:20 2016 +0100 ---------------------------------------------------------------------- .../gis/client/impl/GisClientNorthImpl.java | 41 +++++++++++++------- 1 file changed, 27 insertions(+), 14 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-gis/blob/7b90c737/apache-taverna-plugin-gis-client/src/main/java/org/apache/taverna/gis/client/impl/GisClientNorthImpl.java ---------------------------------------------------------------------- diff --git a/apache-taverna-plugin-gis-client/src/main/java/org/apache/taverna/gis/client/impl/GisClientNorthImpl.java b/apache-taverna-plugin-gis-client/src/main/java/org/apache/taverna/gis/client/impl/GisClientNorthImpl.java index 485a119..ed92332 100644 --- a/apache-taverna-plugin-gis-client/src/main/java/org/apache/taverna/gis/client/impl/GisClientNorthImpl.java +++ b/apache-taverna-plugin-gis-client/src/main/java/org/apache/taverna/gis/client/impl/GisClientNorthImpl.java @@ -37,7 +37,9 @@ import net.opengis.ows.x11.LanguageStringType; import net.opengis.wps.x100.CapabilitiesDocument; import net.opengis.wps.x100.InputDescriptionType; import net.opengis.wps.x100.OutputDescriptionType; +import net.opengis.wps.x100.ProcessBriefType; import net.opengis.wps.x100.ProcessDescriptionType; +import net.opengis.wps.x100.WPSCapabilitiesType; // TODO: Change name to a more descriptive one like GisServiceParser public class GisClientNorthImpl implements IGisClient { @@ -49,10 +51,6 @@ public class GisClientNorthImpl implements IGisClient { public GisClientNorthImpl(String serviceURL) { this.serviceURI = URI.create(serviceURL); wpsClient = WPSClientSession.getInstance(); - } - - @Override - public String GetServiceCapabilities(URI serviceURI) { try { wpsClient.connect(serviceURI.toString()); @@ -60,19 +58,17 @@ public class GisClientNorthImpl implements IGisClient { // TODO Auto-generated catch block e.printStackTrace(); } + + } + + @Override + public String getServiceCapabilities(URI serviceURI) { CapabilitiesDocument capabilities = wpsClient.getWPSCaps(serviceURI.toString()); LanguageStringType[] serviceAbstract = capabilities.getCapabilities().getServiceIdentification() .getTitleArray(); - // - // ProcessBriefType[] processList = capabilities.getCapabilities() - // .getProcessOfferings().getProcessArray(); - // - // for (ProcessBriefType process : processList) { - // System.out.println(process.getIdentifier().getStringValue()); - // } - // return capabilities; + if (serviceAbstract != null && serviceAbstract.length > 0) return serviceAbstract[0].getStringValue(); else @@ -80,7 +76,7 @@ public class GisClientNorthImpl implements IGisClient { } @Override - public HashMap<String, Integer> GetProcessInputPorts(String processID) { + public HashMap<String, Integer> getProcessInputPorts(String processID) { HashMap<String, Integer> inputPorts = new HashMap<String, Integer>(); ProcessDescriptionType processDescription = null; @@ -110,7 +106,7 @@ public class GisClientNorthImpl implements IGisClient { } @Override - public HashMap<String, Integer> GetProcessOutputPorts(String processID) { + public HashMap<String, Integer> getProcessOutputPorts(String processID) { HashMap<String, Integer> outputPorts = new HashMap<String, Integer>(); ProcessDescriptionType processDescription = null; @@ -217,4 +213,21 @@ public class GisClientNorthImpl implements IGisClient { return outputPorts; } + @Override + public List<String> getProcessList() { + List<String> results = new ArrayList<String>(); + + WPSCapabilitiesType wpsCapabilities = wpsClient.getWPSCaps(serviceURI.toString()).getCapabilities(); + + ProcessBriefType[] processList = wpsCapabilities.getProcessOfferings().getProcessArray(); + + for( ProcessBriefType process: processList) + { + results.add(process.getIdentifier().getStringValue()); + } + + return results; + + } + }
