// License: GPL. For details, see LICENSE file.
package org.openstreetmap.josm.plugins.tracer2.server;
import static org.openstreetmap.josm.tools.I18n.tr;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.ConnectException;
import java.net.URL;
import javax.swing.JOptionPane;
import org.openstreetmap.josm.Main;
public class Request extends Thread {
static final String URL = "http://localhost:49243/";
public Request() {
}
/**
* Send request to the server.
* @param strUrl request.
* @return Result text.
*/
protected String callServer(String strUrl) {
try {
URL oUrl = new URL(URL + strUrl);
BufferedReader oReader = new BufferedReader(new InputStreamReader(oUrl.openStream()));
StringBuilder oBuilder = new StringBuilder();
String strLine;
while ((strLine = oReader.readLine()) != null) {
oBuilder.append(strLine);
}
return oBuilder.toString();
} catch (ConnectException e) {
JOptionPane.showMessageDialog(Main.parent,
tr("Tracer2Server isn''t running. Please start the Server.\nIf you don''t have the server, please download it from\n{0}.",
"http://sourceforge.net/projects/tracer2server/"), tr("Error"), JOptionPane.ERROR_MESSAGE);
return "";
} catch (Exception e) {
JOptionPane.showMessageDialog(Main.parent, tr("Tracer2Server hasn''t found anything.") + "\n",
tr("Error"), JOptionPane.ERROR_MESSAGE);
return "";
}
}
/**
* Checks errors in response from the server.
* @param strResponse response from the server.
* @return Result text.
*/
protected boolean checkError(String strResponse) {
String strIdentifier = "&traceError=";
if (strResponse.contains(strIdentifier)) {
String strError = strResponse.replaceFirst(strIdentifier, "").trim();
JOptionPane.showMessageDialog(Main.parent, tr("Tracer2Server has detected an error.") + "\n" + strError,
tr("Error"), JOptionPane.ERROR_MESSAGE);
return true;
}
return false;
}
@Override
public void run() {
}
}