Commit b6627be69222794cc5bcf04ed8d7667b98fe6eac
1 parent
a8594a14
Exists in
master
Improve Exceptions
Showing
6 changed files
with
57 additions
and
74 deletions
Show diff stats
src/main/java/eu/omp/irap/vespa/epntapclient/view/ParamField.java
@@ -27,6 +27,7 @@ import java.util.ArrayList; | @@ -27,6 +27,7 @@ import java.util.ArrayList; | ||
27 | import java.util.HashMap; | 27 | import java.util.HashMap; |
28 | import java.util.List; | 28 | import java.util.List; |
29 | import java.util.Locale; | 29 | import java.util.Locale; |
30 | +import java.util.logging.Level; | ||
30 | import java.util.logging.Logger; | 31 | import java.util.logging.Logger; |
31 | 32 | ||
32 | import javax.swing.BoxLayout; | 33 | import javax.swing.BoxLayout; |
@@ -43,8 +44,7 @@ import com.google.gson.JsonObject; | @@ -43,8 +44,7 @@ import com.google.gson.JsonObject; | ||
43 | import com.google.gson.JsonParser; | 44 | import com.google.gson.JsonParser; |
44 | 45 | ||
45 | import eu.omp.irap.vespa.epntapclient.votable.controller.VOTableConnection; | 46 | import eu.omp.irap.vespa.epntapclient.votable.controller.VOTableConnection; |
46 | -import eu.omp.irap.vespa.epntapclient.votable.controller.VOTableException.BadRequestException; | ||
47 | -import eu.omp.irap.vespa.epntapclient.votable.controller.VOTableException.HTTPRequestException; | 47 | +import eu.omp.irap.vespa.epntapclient.votable.controller.VOTableException.SendQueryException; |
48 | 48 | ||
49 | public abstract class ParamField extends JPanel { | 49 | public abstract class ParamField extends JPanel { |
50 | /** The logger for the class ParamField. */ | 50 | /** The logger for the class ParamField. */ |
@@ -215,13 +215,9 @@ public abstract class ParamField extends JPanel { | @@ -215,13 +215,9 @@ public abstract class ParamField extends JPanel { | ||
215 | this.add(comboBox); | 215 | this.add(comboBox); |
216 | } | 216 | } |
217 | 217 | ||
218 | - private String[] getItems(String begining) { | 218 | + private String[] getItems(String begining) throws SendQueryException { |
219 | StringBuilder resolverResult = null; | 219 | StringBuilder resolverResult = null; |
220 | - try { | ||
221 | - resolverResult = VOTableConnection.sendGet(RESOLVER_URL, "q=\"" + begining + "\""); | ||
222 | - } catch (HTTPRequestException | BadRequestException e) { | ||
223 | - logger.severe("Can not send sersolver query: " + e); | ||
224 | - } | 220 | + resolverResult = VOTableConnection.sendGet(RESOLVER_URL, "q=\"" + begining + "\""); |
225 | JsonObject root = new JsonParser().parse(resolverResult.toString()).getAsJsonObject(); | 221 | JsonObject root = new JsonParser().parse(resolverResult.toString()).getAsJsonObject(); |
226 | int count = Integer.parseInt(root.get("count").toString()); | 222 | int count = Integer.parseInt(root.get("count").toString()); |
227 | String[] targetNames = new String[count]; | 223 | String[] targetNames = new String[count]; |
@@ -242,8 +238,12 @@ public abstract class ParamField extends JPanel { | @@ -242,8 +238,12 @@ public abstract class ParamField extends JPanel { | ||
242 | if (content.length() >= 2) { | 238 | if (content.length() >= 2) { |
243 | lastContent = content; | 239 | lastContent = content; |
244 | comboBox.removeAllItems(); | 240 | comboBox.removeAllItems(); |
245 | - for (String s : getItems(content)) { | ||
246 | - comboBox.addItem(s); | 241 | + try { |
242 | + for (String s : getItems(content)) { | ||
243 | + comboBox.addItem(s); | ||
244 | + } | ||
245 | + } catch (SendQueryException e) { | ||
246 | + logger.log(Level.WARNING, "Can't get table names for the resolver", e); | ||
247 | } | 247 | } |
248 | comboBox.getEditor().setItem(content); | 248 | comboBox.getEditor().setItem(content); |
249 | } | 249 | } |
src/main/java/eu/omp/irap/vespa/epntapclient/votable/VOTableApp.java
@@ -24,6 +24,7 @@ import javax.swing.SwingUtilities; | @@ -24,6 +24,7 @@ import javax.swing.SwingUtilities; | ||
24 | import com.google.gson.Gson; | 24 | import com.google.gson.Gson; |
25 | 25 | ||
26 | import eu.omp.irap.vespa.epntapclient.votable.controller.VOTableController; | 26 | import eu.omp.irap.vespa.epntapclient.votable.controller.VOTableController; |
27 | +import eu.omp.irap.vespa.epntapclient.votable.controller.VOTableException; | ||
27 | 28 | ||
28 | /** | 29 | /** |
29 | * Simple class to have a main function to display a voTable from a XML file. | 30 | * Simple class to have a main function to display a voTable from a XML file. |
@@ -56,10 +57,14 @@ public class VOTableApp { | @@ -56,10 +57,14 @@ public class VOTableApp { | ||
56 | @Override | 57 | @Override |
57 | public void run() { | 58 | public void run() { |
58 | // TODO: Add option to export to CSV and HTML in CLI. | 59 | // TODO: Add option to export to CSV and HTML in CLI. |
59 | - VOTableController voTableControl; | 60 | + VOTableController voTableControl = null; |
60 | logger.info("Lauching VOTable app with arguments:\n " + new Gson().toJson(args)); | 61 | logger.info("Lauching VOTable app with arguments:\n " + new Gson().toJson(args)); |
61 | if (args.length == 1) { | 62 | if (args.length == 1) { |
62 | - voTableControl = new VOTableController(args[0]); | 63 | + try { |
64 | + voTableControl = new VOTableController(args[0]); | ||
65 | + } catch (VOTableException e) { | ||
66 | + System.console().writer().println("Error: " + e.getMessage()); | ||
67 | + } | ||
63 | } else if (args.length == 3) { | 68 | } else if (args.length == 3) { |
64 | voTableControl = new VOTableController(args[0], args[1], args[2]); | 69 | voTableControl = new VOTableController(args[0], args[1], args[2]); |
65 | } else { | 70 | } else { |
src/main/java/eu/omp/irap/vespa/epntapclient/votable/controller/VOTableConnection.java
@@ -32,7 +32,7 @@ import java.util.logging.Logger; | @@ -32,7 +32,7 @@ import java.util.logging.Logger; | ||
32 | 32 | ||
33 | import eu.omp.irap.vespa.epntapclient.utils.Const; | 33 | import eu.omp.irap.vespa.epntapclient.utils.Const; |
34 | import eu.omp.irap.vespa.epntapclient.votable.controller.VOTableException.BadRequestException; | 34 | import eu.omp.irap.vespa.epntapclient.votable.controller.VOTableException.BadRequestException; |
35 | -import eu.omp.irap.vespa.epntapclient.votable.controller.VOTableException.HTTPRequestException; | 35 | +import eu.omp.irap.vespa.epntapclient.votable.controller.VOTableException.SendQueryException; |
36 | 36 | ||
37 | /** | 37 | /** |
38 | * This class provide HTTP connection support to send requests through POST / GET protocols. | 38 | * This class provide HTTP connection support to send requests through POST / GET protocols. |
@@ -59,7 +59,7 @@ public final class VOTableConnection { | @@ -59,7 +59,7 @@ public final class VOTableConnection { | ||
59 | * @return The path of the temporary XML file containing the http response. | 59 | * @return The path of the temporary XML file containing the http response. |
60 | */ | 60 | */ |
61 | public static String sendQuery(String targetURL, String queryLanguage, | 61 | public static String sendQuery(String targetURL, String queryLanguage, |
62 | - String query) throws HTTPRequestException, BadRequestException { | 62 | + String query) throws SendQueryException { |
63 | 63 | ||
64 | SimpleDateFormat ft = new SimpleDateFormat("yyyyMMdd_hhmmss_SSS"); | 64 | SimpleDateFormat ft = new SimpleDateFormat("yyyyMMdd_hhmmss_SSS"); |
65 | String voTablePath = Const.TMP_DIR + "/votable" + ft.format(new Date()) + ".xml"; | 65 | String voTablePath = Const.TMP_DIR + "/votable" + ft.format(new Date()) + ".xml"; |
@@ -71,14 +71,14 @@ public final class VOTableConnection { | @@ -71,14 +71,14 @@ public final class VOTableConnection { | ||
71 | .replace(".", "%2E").replace("-", "%2D").replace("*", "%2A") | 71 | .replace(".", "%2E").replace("-", "%2D").replace("*", "%2A") |
72 | .replace("_", "%5F"); | 72 | .replace("_", "%5F"); |
73 | } catch (UnsupportedEncodingException e) { | 73 | } catch (UnsupportedEncodingException e) { |
74 | - throw new HTTPRequestException("Can not encode URI " + uri, e); | 74 | + throw new SendQueryException("Can not encode URI " + uri, e); |
75 | } | 75 | } |
76 | 76 | ||
77 | logger.info("request: " + uri + "?" + parameters); | 77 | logger.info("request: " + uri + "?" + parameters); |
78 | try { | 78 | try { |
79 | printRequestResult(sendGet(uri, parameters), voTablePath); | 79 | printRequestResult(sendGet(uri, parameters), voTablePath); |
80 | } catch (IOException e) { | 80 | } catch (IOException e) { |
81 | - throw new HTTPRequestException("Can not print the result in a file.", e); | 81 | + throw new SendQueryException("Can not print the result in a file.", e); |
82 | } | 82 | } |
83 | 83 | ||
84 | return voTablePath; | 84 | return voTablePath; |
@@ -92,7 +92,7 @@ public final class VOTableConnection { | @@ -92,7 +92,7 @@ public final class VOTableConnection { | ||
92 | * @throws BadRequestException If the | 92 | * @throws BadRequestException If the |
93 | */ | 93 | */ |
94 | public static StringBuilder sendGet(String url, String urlParameters) | 94 | public static StringBuilder sendGet(String url, String urlParameters) |
95 | - throws HTTPRequestException, BadRequestException { | 95 | + throws SendQueryException { |
96 | String inputLine; | 96 | String inputLine; |
97 | StringBuilder response = new StringBuilder(); | 97 | StringBuilder response = new StringBuilder(); |
98 | URL obj; | 98 | URL obj; |
@@ -101,7 +101,7 @@ public final class VOTableConnection { | @@ -101,7 +101,7 @@ public final class VOTableConnection { | ||
101 | try { | 101 | try { |
102 | obj = new URL(uri); | 102 | obj = new URL(uri); |
103 | } catch (MalformedURLException e) { | 103 | } catch (MalformedURLException e) { |
104 | - throw new HTTPRequestException("The uri " + uri + "is not correctly formated", e); | 104 | + throw new SendQueryException("The URI " + uri + " is not formated correctly.", e); |
105 | } | 105 | } |
106 | 106 | ||
107 | HttpURLConnection con; | 107 | HttpURLConnection con; |
@@ -110,7 +110,7 @@ public final class VOTableConnection { | @@ -110,7 +110,7 @@ public final class VOTableConnection { | ||
110 | con = (HttpURLConnection) obj.openConnection(); | 110 | con = (HttpURLConnection) obj.openConnection(); |
111 | con.setRequestMethod("GET"); | 111 | con.setRequestMethod("GET"); |
112 | } catch (IOException e) { | 112 | } catch (IOException e) { |
113 | - throw new HTTPRequestException("Can not open HTTP GET connection with uri " + uri, e); | 113 | + throw new SendQueryException("Can not open HTTP GET connection with uri " + uri, e); |
114 | } | 114 | } |
115 | 115 | ||
116 | con.setRequestProperty("User-Agent", USER_AGENT); | 116 | con.setRequestProperty("User-Agent", USER_AGENT); |
@@ -119,12 +119,11 @@ public final class VOTableConnection { | @@ -119,12 +119,11 @@ public final class VOTableConnection { | ||
119 | try { | 119 | try { |
120 | code = con.getResponseCode(); | 120 | code = con.getResponseCode(); |
121 | } catch (IOException e) { | 121 | } catch (IOException e) { |
122 | - throw new HTTPRequestException("Can not get the HTTP response code", e); | 122 | + throw new SendQueryException("Can not get the HTTP response code", e); |
123 | } | 123 | } |
124 | 124 | ||
125 | - if (code != HttpURLConnection.HTTP_OK | ||
126 | - && code != HttpURLConnection.HTTP_BAD_REQUEST) { | ||
127 | - throw new HTTPRequestException("The server returned a bad response code: " + code); | 125 | + if (code != HttpURLConnection.HTTP_OK && code != HttpURLConnection.HTTP_BAD_REQUEST) { |
126 | + throw new SendQueryException("The server returned a bad response code: " + code); | ||
128 | } | 127 | } |
129 | 128 | ||
130 | try (BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()))) { | 129 | try (BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()))) { |
@@ -140,10 +139,10 @@ public final class VOTableConnection { | @@ -140,10 +139,10 @@ public final class VOTableConnection { | ||
140 | } | 139 | } |
141 | in.close(); | 140 | in.close(); |
142 | } catch (IOException e2) { | 141 | } catch (IOException e2) { |
143 | - throw new HTTPRequestException("Can not get the error stream.", e2); | 142 | + throw new SendQueryException("Can not get the error stream.", e2); |
144 | } | 143 | } |
145 | if (code != HttpURLConnection.HTTP_BAD_REQUEST) { | 144 | if (code != HttpURLConnection.HTTP_BAD_REQUEST) { |
146 | - throw new HTTPRequestException( | 145 | + throw new SendQueryException( |
147 | "The server returned a bad response code (not 200 neither 400).", e1); | 146 | "The server returned a bad response code (not 200 neither 400).", e1); |
148 | } | 147 | } |
149 | } | 148 | } |
src/main/java/eu/omp/irap/vespa/epntapclient/votable/controller/VOTableController.java
@@ -19,8 +19,8 @@ package eu.omp.irap.vespa.epntapclient.votable.controller; | @@ -19,8 +19,8 @@ package eu.omp.irap.vespa.epntapclient.votable.controller; | ||
19 | import java.io.IOException; | 19 | import java.io.IOException; |
20 | import java.util.logging.Logger; | 20 | import java.util.logging.Logger; |
21 | 21 | ||
22 | +import eu.omp.irap.vespa.epntapclient.votable.controller.VOTableException.ErrorInVOTableException; | ||
22 | import eu.omp.irap.vespa.epntapclient.votable.controller.VOTableException.VOTableCantFillVoTableException; | 23 | import eu.omp.irap.vespa.epntapclient.votable.controller.VOTableException.VOTableCantFillVoTableException; |
23 | -import eu.omp.irap.vespa.epntapclient.votable.controller.VOTableException.VOTableNotValidQueryException; | ||
24 | import eu.omp.irap.vespa.epntapclient.votable.controller.VOTableException.VOTableParsingException; | 24 | import eu.omp.irap.vespa.epntapclient.votable.controller.VOTableException.VOTableParsingException; |
25 | import eu.omp.irap.vespa.epntapclient.votable.controller.VOTableException.VOTableSeveralResourcesException; | 25 | import eu.omp.irap.vespa.epntapclient.votable.controller.VOTableException.VOTableSeveralResourcesException; |
26 | import eu.omp.irap.vespa.epntapclient.votable.controller.VOTableException.VOTableSeveralTablesException; | 26 | import eu.omp.irap.vespa.epntapclient.votable.controller.VOTableException.VOTableSeveralTablesException; |
@@ -92,31 +92,31 @@ public class VOTableController { | @@ -92,31 +92,31 @@ public class VOTableController { | ||
92 | * @param voTablePath The path of the VOTable file. | 92 | * @param voTablePath The path of the VOTable file. |
93 | * @throws VOTableParsingException | 93 | * @throws VOTableParsingException |
94 | * @throws VOTableSeveralResourcesException | 94 | * @throws VOTableSeveralResourcesException |
95 | - * @throws VOTableNotValidQueryException | 95 | + * @throws ErrorInVOTableException |
96 | * @throws VOTableSeveralTablesException | 96 | * @throws VOTableSeveralTablesException |
97 | * @throws VOTableCantFillVoTableException | 97 | * @throws VOTableCantFillVoTableException |
98 | * @throws VOTableException Can not fill the VOTable data in the JTable. | 98 | * @throws VOTableException Can not fill the VOTable data in the JTable. |
99 | */ | 99 | */ |
100 | public void fillTable(String voTablePath) | 100 | public void fillTable(String voTablePath) |
101 | throws VOTableParsingException, VOTableSeveralResourcesException, | 101 | throws VOTableParsingException, VOTableSeveralResourcesException, |
102 | - VOTableNotValidQueryException, VOTableSeveralTablesException, | 102 | + ErrorInVOTableException, VOTableSeveralTablesException, |
103 | VOTableCantFillVoTableException { | 103 | VOTableCantFillVoTableException { |
104 | 104 | ||
105 | voTable = VOTableParser.parseVOTable(voTablePath); | 105 | voTable = VOTableParser.parseVOTable(voTablePath); |
106 | 106 | ||
107 | // TODO: Handle the case when there are more than 1 resource or table. | 107 | // TODO: Handle the case when there are more than 1 resource or table. |
108 | if (voTable.getRESOURCE().size() > 1) { | 108 | if (voTable.getRESOURCE().size() > 1) { |
109 | - throw new VOTableSeveralResourcesException(); | 109 | + throw new VOTableSeveralResourcesException(voTablePath); |
110 | } | 110 | } |
111 | 111 | ||
112 | // TODO: Iterate over all potential ERROR tags | 112 | // TODO: Iterate over all potential ERROR tags |
113 | if ("ERROR".equals(voTable.getRESOURCE().get(0).getINFO().get(0).getValueAttribute())) { | 113 | if ("ERROR".equals(voTable.getRESOURCE().get(0).getINFO().get(0).getValueAttribute())) { |
114 | String errorInfo = voTable.getRESOURCE().get(0).getINFO().get(0).getValue(); | 114 | String errorInfo = voTable.getRESOURCE().get(0).getINFO().get(0).getValue(); |
115 | - throw new VOTableNotValidQueryException(errorInfo); | 115 | + throw new ErrorInVOTableException(errorInfo); |
116 | } | 116 | } |
117 | 117 | ||
118 | if (voTable.getRESOURCE().get(0).getLINKAndTABLEOrRESOURCE().size() > 1) { | 118 | if (voTable.getRESOURCE().get(0).getLINKAndTABLEOrRESOURCE().size() > 1) { |
119 | - throw new VOTableSeveralTablesException(); | 119 | + throw new VOTableSeveralTablesException(voTablePath); |
120 | } | 120 | } |
121 | 121 | ||
122 | Table table = (Table) (voTable.getRESOURCE().get(0).getLINKAndTABLEOrRESOURCE().get(0)); | 122 | Table table = (Table) (voTable.getRESOURCE().get(0).getLINKAndTABLEOrRESOURCE().get(0)); |
src/main/java/eu/omp/irap/vespa/epntapclient/votable/controller/VOTableException.java
@@ -25,86 +25,65 @@ import java.util.logging.Logger; | @@ -25,86 +25,65 @@ import java.util.logging.Logger; | ||
25 | * @author N. Jourdane | 25 | * @author N. Jourdane |
26 | */ | 26 | */ |
27 | @SuppressWarnings({ "javadoc", "serial" }) | 27 | @SuppressWarnings({ "javadoc", "serial" }) |
28 | -public class VOTableException extends Exception { | 28 | +public abstract class VOTableException extends Exception { |
29 | /** The logger for the class VOTableException. */ | 29 | /** The logger for the class VOTableException. */ |
30 | private static final Logger logger = Logger.getLogger(VOTableException.class.getName()); | 30 | private static final Logger logger = Logger.getLogger(VOTableException.class.getName()); |
31 | 31 | ||
32 | - /** The log message displayed when errors appends. */ | ||
33 | - private static final String ERROR_MSG = "-- error --\n%1s\nbecause:\n%2s\n-- end of error --\n"; | ||
34 | - | ||
35 | - public VOTableException() { | ||
36 | - logger.warning("A VOTable error occured."); | ||
37 | - } | ||
38 | - | ||
39 | public VOTableException(String message) { | 32 | public VOTableException(String message) { |
40 | - logger.warning(message); | 33 | + super(message); |
41 | } | 34 | } |
42 | 35 | ||
43 | public VOTableException(String message, Exception e) { | 36 | public VOTableException(String message, Exception e) { |
44 | - logger.warning(String.format(ERROR_MSG, message, e.getMessage())); | ||
45 | - } | ||
46 | - | ||
47 | - public VOTableException(Exception e) { | ||
48 | - logger.warning(e.getMessage()); | 37 | + super(message, e); |
49 | } | 38 | } |
50 | 39 | ||
51 | - public static class HTTPRequestException extends VOTableException { | ||
52 | - public HTTPRequestException(String message) { | ||
53 | - logger.warning(message); | 40 | + public static class SendQueryException extends VOTableException { |
41 | + public SendQueryException(String message) { | ||
42 | + super("Can not send the query: " + message); | ||
54 | } | 43 | } |
55 | 44 | ||
56 | - public HTTPRequestException(String message, Exception e) { | ||
57 | - logger.warning(String.format(ERROR_MSG, message, e.getMessage())); | 45 | + public SendQueryException(String message, Exception e) { |
46 | + super("Can not send the query: " + message + " because " + e.getMessage(), e); | ||
58 | } | 47 | } |
59 | } | 48 | } |
60 | 49 | ||
61 | public static class VOTableParsingException extends VOTableException { | 50 | public static class VOTableParsingException extends VOTableException { |
62 | public VOTableParsingException(String message, Exception e) { | 51 | public VOTableParsingException(String message, Exception e) { |
63 | - logger.warning(String.format(ERROR_MSG, message, e.getMessage())); | 52 | + super("Can not parse the VOTable: " + message + " because " + e.getMessage(), e); |
64 | } | 53 | } |
65 | } | 54 | } |
66 | 55 | ||
67 | - // view.displayError("VOTable with more than one resource are not yet supported.\n" | ||
68 | - // "See VOTable file for more informations: " + voTablePath); | ||
69 | public static class VOTableSeveralResourcesException extends VOTableException { | 56 | public static class VOTableSeveralResourcesException extends VOTableException { |
70 | - public VOTableSeveralResourcesException() { | ||
71 | - super(); | 57 | + public VOTableSeveralResourcesException(String voTablePath) { |
58 | + super("VOTable with more than one resource are not yet supported. \n" | ||
59 | + + "See VOTable file for more informations: " + voTablePath); | ||
72 | } | 60 | } |
73 | } | 61 | } |
74 | 62 | ||
75 | - // view.displayError("VOTable with more than one table are not yet supported.\n" | ||
76 | - // "See VOTable file for more informations: " + voTablePath); | ||
77 | public static class VOTableSeveralTablesException extends VOTableException { | 63 | public static class VOTableSeveralTablesException extends VOTableException { |
78 | - public VOTableSeveralTablesException() { | ||
79 | - super(); | 64 | + public VOTableSeveralTablesException(String voTablePath) { |
65 | + super("VOTable with more than one resource are not yet supported. \n" | ||
66 | + + "See VOTable file for more informations: " + voTablePath); | ||
80 | } | 67 | } |
81 | } | 68 | } |
82 | 69 | ||
83 | - // "Can not fill the VOTable data in the JTable." | ||
84 | public static class VOTableCantFillVoTableException extends VOTableException { | 70 | public static class VOTableCantFillVoTableException extends VOTableException { |
85 | public VOTableCantFillVoTableException(IOException e) { | 71 | public VOTableCantFillVoTableException(IOException e) { |
86 | - super(); | 72 | + super("Can not fill the VOTable data in the JTable: " + e.getMessage(), e); |
87 | } | 73 | } |
88 | } | 74 | } |
89 | 75 | ||
90 | // The query is not valid. | 76 | // The query is not valid. |
91 | - public static class VOTableNotValidQueryException extends VOTableException { | ||
92 | - public VOTableNotValidQueryException(String errorInfo) { | ||
93 | - super(); | 77 | + public static class ErrorInVOTableException extends VOTableException { |
78 | + public ErrorInVOTableException(String errorInfo) { | ||
79 | + super("There is an error in the VOTable:\n" + errorInfo | ||
80 | + + "\nPlease check your ADQL query."); | ||
94 | } | 81 | } |
95 | } | 82 | } |
96 | 83 | ||
97 | public static class BadRequestException extends VOTableException { | 84 | public static class BadRequestException extends VOTableException { |
98 | - private final String info; | ||
99 | - | ||
100 | public BadRequestException(String message, String info) { | 85 | public BadRequestException(String message, String info) { |
101 | super(message); | 86 | super(message); |
102 | - this.info = info; | ||
103 | - logger.warning(message + "\nDetails: " + info); | ||
104 | - } | ||
105 | - | ||
106 | - public String getInfo() { | ||
107 | - return info; | ||
108 | } | 87 | } |
109 | } | 88 | } |
110 | 89 |
src/main/java/eu/omp/irap/vespa/epntapclient/votable/controller/VOTableParser.java
@@ -70,8 +70,8 @@ public final class VOTableParser { | @@ -70,8 +70,8 @@ public final class VOTableParser { | ||
70 | public static VOTABLE parseVOTable(String voTablePath) throws VOTableParsingException { | 70 | public static VOTABLE parseVOTable(String voTablePath) throws VOTableParsingException { |
71 | try { | 71 | try { |
72 | changeVOTableSchemaLocation(voTablePath); | 72 | changeVOTableSchemaLocation(voTablePath); |
73 | - } catch (IOException e1) { | ||
74 | - throw new VOTableParsingException("Can not change the VOTable schema location.", e1); | 73 | + } catch (IOException e) { |
74 | + throw new VOTableParsingException("Can not change the VOTable schema location.", e); | ||
75 | } | 75 | } |
76 | 76 | ||
77 | // TODO: Change the name of the 2nd INFO tag instead of editing the XSD file. | 77 | // TODO: Change the name of the 2nd INFO tag instead of editing the XSD file. |