X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fws%2Frest%2FHttpResultSet.java;h=bff39c1982b130e8f8e49ae2bed25956d52a4b19;hb=a1984b1c8c273ed33c7ce9283039f4027dcae2de;hp=c36028754b834b2e456c206f85ebe2557236f752;hpb=6b032f32d377a8bd5f12f2bd67d19bb80580a960;p=jalview.git diff --git a/src/jalview/ws/rest/HttpResultSet.java b/src/jalview/ws/rest/HttpResultSet.java index c360287..bff39c1 100644 --- a/src/jalview/ws/rest/HttpResultSet.java +++ b/src/jalview/ws/rest/HttpResultSet.java @@ -1,11 +1,32 @@ +/* + * 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.rest; import jalview.bin.Cache; import jalview.io.FileParse; import jalview.io.packed.DataProvider; +import jalview.io.packed.DataProvider.JvDataType; import jalview.io.packed.ParsePackedSet; import jalview.io.packed.SimpleDataProvider; -import jalview.io.packed.DataProvider.JvDataType; +import jalview.util.MessageManager; import jalview.ws.io.mime.JalviewMimeContentHandler; import java.io.BufferedReader; @@ -20,7 +41,6 @@ import org.apache.http.HttpResponse; import org.apache.http.client.methods.HttpRequestBase; import org.apache.http.entity.mime.MultipartEntity; import org.apache.james.mime4j.MimeException; -import org.apache.james.mime4j.parser.ContentHandler; import org.apache.james.mime4j.parser.MimeStreamParser; /** @@ -30,7 +50,7 @@ import org.apache.james.mime4j.parser.MimeStreamParser; * */ -public class HttpResultSet extends FileParse +public class HttpResultSet extends FileParse implements AutoCloseable { private HttpRequestBase cachedRequest; @@ -69,7 +89,7 @@ public class HttpResultSet extends FileParse */ public List createResultDataProviders() { - List dp = new ArrayList(); + List dp = new ArrayList<>(); for (JvDataType type : restJob.rsd.getResultDataTypes()) { dp.add(new SimpleDataProvider(type, this, null)); @@ -79,19 +99,20 @@ public class HttpResultSet extends FileParse /** * parses the results of the service output. + * * @return the result of ParsePackedSet.getAlignment() * @throws Exception * @throws Error */ public Object[] parseResultSet() throws Exception, Error { - List dp = new ArrayList(); + List dp = new ArrayList<>(); Object[] results = null; if (en == null) { - throw new Error( - "Implementation Error: need to have an HttpResponse to process."); + throw new Error(MessageManager.getString( + "error.implementation_error_need_to_have_httpresponse")); } jalview.io.packed.JalviewDataset ds = restJob.newJalviewDataset(); // Decide how we deal with content. @@ -110,7 +131,7 @@ public class HttpResultSet extends FileParse { error = true; errormessage = "Couldn't parse message from web service."; - Cache.log.warn("Failed to parse MIME multipart content", me); + Cache.warn("Failed to parse MIME multipart content", me); en.consumeContent(); } return new ParsePackedSet().getAlignment(ds, @@ -133,23 +154,23 @@ public class HttpResultSet extends FileParse if (!(en instanceof MultipartEntity)) { // assume content is simple text stream that can be read from - String enc = (en.getContentEncoding() == null) ? null : en - .getContentEncoding().getValue(); + String enc = (en.getContentEncoding() == null) ? null + : en.getContentEncoding().getValue(); if (en.getContentType() != null) { - Cache.log.debug("Result Type: " + en.getContentType().toString()); + Cache.debug("Result Type: " + en.getContentType().toString()); } else { - Cache.log.debug("No Result Type Specified."); + Cache.debug("No Result Type Specified."); } if (enc == null || enc.length() < 1) { - Cache.log.debug("Assuming 'Default' Result Encoding."); + Cache.debug("Assuming 'Default' Result Encoding."); } else { - Cache.log.debug("Result Encoded as : " + enc); + Cache.debug("Result Encoded as : " + enc); } // attempt to identify file and construct an appropriate DataSource // identifier for it. @@ -163,7 +184,7 @@ public class HttpResultSet extends FileParse : new InputStreamReader(en.getContent()); } catch (UnsupportedEncodingException e) { - Cache.log.error("Can't handle encoding '" + enc + Cache.error("Can't handle encoding '" + enc + "' for response from webservice.", e); en.consumeContent(); error = true; @@ -179,7 +200,7 @@ public class HttpResultSet extends FileParse } @Override - protected void finalize() throws Throwable + public void close() { dataIn = null; cachedRequest = null; @@ -194,7 +215,8 @@ public class HttpResultSet extends FileParse } catch (Error ex) { } - super.finalize(); + // no finalize for FileParse + // super.close(); } /** @@ -203,9 +225,10 @@ public class HttpResultSet extends FileParse */ public String getUrl() { - try { + try + { return cachedRequest.getURI().toURL().toString(); - } catch (Exception x) + } catch (Exception x) { x.printStackTrace(); return null;