X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=inline;f=src%2Fjalview%2Fws%2Fjws2%2Fjabaws2%2FJws2Instance.java;h=e092192d400e7d6860749eef09a7c554c4bad614;hb=feeb56fc2f3d7c40a46466ff52c7663cc96d6c70;hp=a4a2a21555e99b0f4ae2678a2880214b8ba09353;hpb=b57a02c25e335d033c97f8a6bacd6b54f62bd2b6;p=jalview.git diff --git a/src/jalview/ws/jws2/jabaws2/Jws2Instance.java b/src/jalview/ws/jws2/jabaws2/Jws2Instance.java index a4a2a21..e092192 100644 --- a/src/jalview/ws/jws2/jabaws2/Jws2Instance.java +++ b/src/jalview/ws/jws2/jabaws2/Jws2Instance.java @@ -1,7 +1,28 @@ +/* + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors + * + * This file is part of Jalview. + * + * Jalview is free software: you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation, either version 3 + * of the License, or (at your option) any later version. + * + * Jalview 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. + */ package jalview.ws.jws2.jabaws2; import jalview.gui.AlignFrame; import jalview.gui.Desktop; +import jalview.util.MessageManager; import jalview.ws.jws2.JabaParamStore; import jalview.ws.jws2.MsaWSClient; import jalview.ws.jws2.SequenceAnnotationWSClient; @@ -17,7 +38,7 @@ import compbio.data.msa.SequenceAnnotation; import compbio.metadata.PresetManager; import compbio.metadata.RunnerConfig; -public class Jws2Instance +public class Jws2Instance implements AutoCloseable { public String hosturl; @@ -31,6 +52,20 @@ public class Jws2Instance public String docUrl; + /** + * + * @param hosturl + * Service endpoint + * @param serviceType + * Category for this service's analysis + * @param action + * text describing their action that service performs (eg 'aligning', + * 'analysing') + * @param description + * Description from JABAWS registry + * @param service + * JABAWS registry ID for service + */ public Jws2Instance(String hosturl, String serviceType, String action, String description, JABAService service) { @@ -122,27 +157,26 @@ public class Jws2Instance { return ((SequenceAnnotation) service).getRunnerOptions(); } - throw new Error( - "Implementation Error: Runner Config not available for a JABAWS service of type " - + serviceType + " (" + service.getClass() + ")"); + throw new Error(MessageManager.formatMessage( + "error.implementation_error_runner_config_not_available", + new String[] + { serviceType, service.getClass().toString() })); } @Override - protected void finalize() throws Throwable + public void close() { if (service != null) { try { - Closeable svc = (Closeable) service; - service = null; - svc.close(); - } catch (Exception e) + ((Closeable) service).close(); + } catch (Throwable t) { + // ignore } - ; } - super.finalize(); + // super.finalize(); } public ParamDatastoreI getParamStore() @@ -156,6 +190,8 @@ public class Jws2Instance : null)); } catch (Exception ex) { + System.err.println("Unexpected exception creating JabaParamStore."); + ex.printStackTrace(); } } @@ -167,7 +203,8 @@ public class Jws2Instance // this is only valid for Jaba 1.0 - this formula might have to change! return hosturl + (hosturl.lastIndexOf("/") == (hosturl.length() - 1) ? "" - : "/") + serviceType; + : "/") + + serviceType; } private boolean hasParams = false, lookedForParams = false; @@ -205,4 +242,11 @@ public class Jws2Instance { return "java:" + serviceType; } -} \ No newline at end of file + + jalview.ws.uimodel.AlignAnalysisUIText aaui; + + public jalview.ws.uimodel.AlignAnalysisUIText getAlignAnalysisUI() + { + return aaui; + } +}