1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 | import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.xpath.XPath; import javax.xml.xpath.XPathConstants; import javax.xml.xpath.XPathExpression; import javax.xml.xpath.XPathFactory; import org.apache.http.HttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.params.BasicHttpParams; import org.apache.http.params.HttpConnectionParams; import org.apache.http.params.HttpParams; import org.w3c.dom.Document; public class updater { public static void main(String[] args) throws IOException { try{ DefaultHttpClient httpclient = ClientMaker(); HttpGet get = new HttpGet("http://www.myserver.com/path/to/Version.xml"); HttpResponse response = httpclient.execute(get); InputStream in = response.getEntity().getContent(); DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = domFactory.newDocumentBuilder(); Document doc = builder.parse(in); //Parse the Xml. XPathFactory factory = XPathFactory.newInstance(); XPath xpath = factory.newXPath(); XPathExpression expr = xpath.compile("//version/number/text()"); String result = (String) expr.evaluate(doc, XPathConstants.STRING); System.out.println(result); File f = new File("C:\\Users\\Damien\\Documents\\Eclipse\\MyOutput\\bin\\Version.xml"); in = new FileInputStream(f) ; doc = builder.parse(in); expr=xpath.compile("//version/number/text()"); String result2 = (String) expr.evaluate(doc, XPathConstants.STRING); System.out.println(result2); if(Integer.parseInt(result) < Integer.parseInt(result2)){ HttpGet get2 = new HttpGet("http://www.myserver.com/path/to/MyJar.jar"); HttpResponse response2 = httpclient.execute(get2); InputStream in2 = response2.getEntity().getContent(); File f2 = new File("C:\\Users\\Damien\\Documents\\Eclipse\\path\\to\\MyJar.jar"); OutputStream fos = new FileOutputStream(f2); byte buf[] = new byte[1024]; int len; while ((len = in2.read(buf)) > 0) { fos.write(buf, 0, len); } fos.close(); in.close(); } Process p = Runtime.getRuntime().exec("cmd.exe /C javaw -jar C:\\Users\\Damien\\Documents\\Eclipse\\path\\to\\MyJar.jar"); p.waitFor(); p.destroy(); }catch(Exception e){ e.printStackTrace(); } } public static DefaultHttpClient ClientMaker() { int connectiontimeout = 30000; // 1 second int sockettimeout = 1000; HttpParams httpparameters = new BasicHttpParams(); HttpConnectionParams.setConnectionTimeout(httpparameters, connectiontimeout); HttpConnectionParams.setSoTimeout(httpparameters, connectiontimeout); DefaultHttpClient httpclient = new DefaultHttpClient(httpparameters); return httpclient; } } |
aW1wb3J0IGphdmEuaW8uRmlsZTsKaW1wb3J0IGphdmEuaW8uRmlsZUlucHV0U3RyZWFtOwppbXBvcnQgamF2YS5pby5GaWxlT3V0cHV0U3RyZWFtOwppbXBvcnQgamF2YS5pby5JT0V4Y2VwdGlvbjsKaW1wb3J0IGphdmEuaW8uSW5wdXRTdHJlYW07CmltcG9ydCBqYXZhLmlvLk91dHB1dFN0cmVhbTsKCmltcG9ydCBqYXZheC54bWwucGFyc2Vycy5Eb2N1bWVudEJ1aWxkZXI7CmltcG9ydCBqYXZheC54bWwucGFyc2Vycy5Eb2N1bWVudEJ1aWxkZXJGYWN0b3J5OwppbXBvcnQgamF2YXgueG1sLnhwYXRoLlhQYXRoOwppbXBvcnQgamF2YXgueG1sLnhwYXRoLlhQYXRoQ29uc3RhbnRzOwppbXBvcnQgamF2YXgueG1sLnhwYXRoLlhQYXRoRXhwcmVzc2lvbjsKaW1wb3J0IGphdmF4LnhtbC54cGF0aC5YUGF0aEZhY3Rvcnk7CgppbXBvcnQgb3JnLmFwYWNoZS5odHRwLkh0dHBSZXNwb25zZTsKaW1wb3J0IG9yZy5hcGFjaGUuaHR0cC5jbGllbnQubWV0aG9kcy5IdHRwR2V0OwppbXBvcnQgb3JnLmFwYWNoZS5odHRwLmltcGwuY2xpZW50LkRlZmF1bHRIdHRwQ2xpZW50OwppbXBvcnQgb3JnLmFwYWNoZS5odHRwLnBhcmFtcy5CYXNpY0h0dHBQYXJhbXM7CmltcG9ydCBvcmcuYXBhY2hlLmh0dHAucGFyYW1zLkh0dHBDb25uZWN0aW9uUGFyYW1zOwppbXBvcnQgb3JnLmFwYWNoZS5odHRwLnBhcmFtcy5IdHRwUGFyYW1zOwoKaW1wb3J0IG9yZy53M2MuZG9tLkRvY3VtZW50OwoKCnB1YmxpYyBjbGFzcyB1cGRhdGVyIHsKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBJT0V4Y2VwdGlvbiB7CgkJdHJ5ewoJCQlEZWZhdWx0SHR0cENsaWVudCBodHRwY2xpZW50ID0gQ2xpZW50TWFrZXIoKTsKCQkJSHR0cEdldCBnZXQgPSBuZXcgSHR0cEdldCgiaHR0cDovL3d3dy5teXNlcnZlci5jb20vcGF0aC90by9WZXJzaW9uLnhtbCIpOwoJCQlIdHRwUmVzcG9uc2UgcmVzcG9uc2UgPSBodHRwY2xpZW50LmV4ZWN1dGUoZ2V0KTsKCQkJSW5wdXRTdHJlYW0gaW4gPSByZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRDb250ZW50KCk7CgoJCQlEb2N1bWVudEJ1aWxkZXJGYWN0b3J5IGRvbUZhY3RvcnkgPSBEb2N1bWVudEJ1aWxkZXJGYWN0b3J5Lm5ld0luc3RhbmNlKCk7CgkJCURvY3VtZW50QnVpbGRlciBidWlsZGVyID0gZG9tRmFjdG9yeS5uZXdEb2N1bWVudEJ1aWxkZXIoKTsKCQkJRG9jdW1lbnQgZG9jID0gYnVpbGRlci5wYXJzZShpbik7CgoJCQkvL1BhcnNlIHRoZSBYbWwuCgkJCVhQYXRoRmFjdG9yeSBmYWN0b3J5ID0gWFBhdGhGYWN0b3J5Lm5ld0luc3RhbmNlKCk7CgkJCVhQYXRoIHhwYXRoID0gZmFjdG9yeS5uZXdYUGF0aCgpOwoJCQlYUGF0aEV4cHJlc3Npb24gZXhwciA9IHhwYXRoLmNvbXBpbGUoIi8vdmVyc2lvbi9udW1iZXIvdGV4dCgpIik7CgkJCVN0cmluZyByZXN1bHQgPSAoU3RyaW5nKSBleHByLmV2YWx1YXRlKGRvYywgWFBhdGhDb25zdGFudHMuU1RSSU5HKTsKCQkJU3lzdGVtLm91dC5wcmludGxuKHJlc3VsdCk7CgoJCQlGaWxlIGYgPSBuZXcgRmlsZSgiQzpcXFVzZXJzXFxEYW1pZW5cXERvY3VtZW50c1xcRWNsaXBzZVxcTXlPdXRwdXRcXGJpblxcVmVyc2lvbi54bWwiKTsKCQkJaW4gPSBuZXcgRmlsZUlucHV0U3RyZWFtKGYpIDsKCQkJZG9jID0gYnVpbGRlci5wYXJzZShpbik7CgkJCWV4cHI9eHBhdGguY29tcGlsZSgiLy92ZXJzaW9uL251bWJlci90ZXh0KCkiKTsKCQkJU3RyaW5nIHJlc3VsdDIgPSAoU3RyaW5nKSBleHByLmV2YWx1YXRlKGRvYywgWFBhdGhDb25zdGFudHMuU1RSSU5HKTsKCQkJU3lzdGVtLm91dC5wcmludGxuKHJlc3VsdDIpOwoKCgkJCWlmKEludGVnZXIucGFyc2VJbnQocmVzdWx0KSA8IEludGVnZXIucGFyc2VJbnQocmVzdWx0MikpewoJCQkJSHR0cEdldCBnZXQyID0gbmV3IEh0dHBHZXQoImh0dHA6Ly93d3cubXlzZXJ2ZXIuY29tL3BhdGgvdG8vTXlKYXIuamFyIik7IAoJCQkJSHR0cFJlc3BvbnNlIHJlc3BvbnNlMiA9IGh0dHBjbGllbnQuZXhlY3V0ZShnZXQyKTsKCQkJCUlucHV0U3RyZWFtIGluMiA9IHJlc3BvbnNlMi5nZXRFbnRpdHkoKS5nZXRDb250ZW50KCk7CgkJCQlGaWxlIGYyID0gbmV3IEZpbGUoIkM6XFxVc2Vyc1xcRGFtaWVuXFxEb2N1bWVudHNcXEVjbGlwc2VcXHBhdGhcXHRvXFxNeUphci5qYXIiKTsKCQkJCU91dHB1dFN0cmVhbSBmb3MgPSBuZXcgRmlsZU91dHB1dFN0cmVhbShmMik7CgkJCQlieXRlIGJ1ZltdID0gbmV3IGJ5dGVbMTAyNF07CgkJCQlpbnQgbGVuOwoJCQkJd2hpbGUgKChsZW4gPSBpbjIucmVhZChidWYpKSA+IDApIHsKCQkJCQlmb3Mud3JpdGUoYnVmLCAwLCBsZW4pOwoJCQkJfQoJCQkJZm9zLmNsb3NlKCk7CgkJCQlpbi5jbG9zZSgpOwoJCQl9CgkJCVByb2Nlc3MgcCA9IFJ1bnRpbWUuZ2V0UnVudGltZSgpLmV4ZWMoImNtZC5leGUgL0MgIGphdmF3IC1qYXIgQzpcXFVzZXJzXFxEYW1pZW5cXERvY3VtZW50c1xcRWNsaXBzZVxccGF0aFxcdG9cXE15SmFyLmphciIpOwoJCQlwLndhaXRGb3IoKTsKCQkJcC5kZXN0cm95KCk7CgkJfWNhdGNoKEV4Y2VwdGlvbiBlKXsgZS5wcmludFN0YWNrVHJhY2UoKTsgfQoKCgl9CgoJcHVibGljIHN0YXRpYyBEZWZhdWx0SHR0cENsaWVudCBDbGllbnRNYWtlcigpIHsKCQlpbnQgY29ubmVjdGlvbnRpbWVvdXQgPSAzMDAwMDsgLy8gMSBzZWNvbmQgaW50IHNvY2tldHRpbWVvdXQgPSAxMDAwOwoJCUh0dHBQYXJhbXMgaHR0cHBhcmFtZXRlcnMgPSBuZXcgQmFzaWNIdHRwUGFyYW1zKCk7CgkJSHR0cENvbm5lY3Rpb25QYXJhbXMuc2V0Q29ubmVjdGlvblRpbWVvdXQoaHR0cHBhcmFtZXRlcnMsCgkJCQljb25uZWN0aW9udGltZW91dCk7CgkJSHR0cENvbm5lY3Rpb25QYXJhbXMuc2V0U29UaW1lb3V0KGh0dHBwYXJhbWV0ZXJzLCBjb25uZWN0aW9udGltZW91dCk7CgkJRGVmYXVsdEh0dHBDbGllbnQgaHR0cGNsaWVudCA9IG5ldyBEZWZhdWx0SHR0cENsaWVudChodHRwcGFyYW1ldGVycyk7CgkJcmV0dXJuIGh0dHBjbGllbnQ7Cgl9Cgp9Cg==
Main.java:25: class updater is public, should be declared in a file named updater.java
public class updater {
^
Main.java:15: package org.apache.http does not exist
import org.apache.http.HttpResponse;
^
Main.java:16: package org.apache.http.client.methods does not exist
import org.apache.http.client.methods.HttpGet;
^
Main.java:17: package org.apache.http.impl.client does not exist
import org.apache.http.impl.client.DefaultHttpClient;
^
Main.java:18: package org.apache.http.params does not exist
import org.apache.http.params.BasicHttpParams;
^
Main.java:19: package org.apache.http.params does not exist
import org.apache.http.params.HttpConnectionParams;
^
Main.java:20: package org.apache.http.params does not exist
import org.apache.http.params.HttpParams;
^
Main.java:74: cannot find symbol
symbol : class DefaultHttpClient
location: class updater
public static DefaultHttpClient ClientMaker() {
^
Main.java:28: cannot find symbol
symbol : class DefaultHttpClient
location: class updater
DefaultHttpClient httpclient = ClientMaker();
^
Main.java:29: cannot find symbol
symbol : class HttpGet
location: class updater
HttpGet get = new HttpGet("http://www.myserver.com/path/to/Version.xml");
^
Main.java:29: cannot find symbol
symbol : class HttpGet
location: class updater
HttpGet get = new HttpGet("http://www.myserver.com/path/to/Version.xml");
^
Main.java:30: cannot find symbol
symbol : class HttpResponse
location: class updater
HttpResponse response = httpclient.execute(get);
^
Main.java:53: cannot find symbol
symbol : class HttpGet
location: class updater
HttpGet get2 = new HttpGet("http://www.myserver.com/path/to/MyJar.jar");
^
Main.java:53: cannot find symbol
symbol : class HttpGet
location: class updater
HttpGet get2 = new HttpGet("http://www.myserver.com/path/to/MyJar.jar");
^
Main.java:54: cannot find symbol
symbol : class HttpResponse
location: class updater
HttpResponse response2 = httpclient.execute(get2);
^
Main.java:76: cannot find symbol
symbol : class HttpParams
location: class updater
HttpParams httpparameters = new BasicHttpParams();
^
Main.java:76: cannot find symbol
symbol : class BasicHttpParams
location: class updater
HttpParams httpparameters = new BasicHttpParams();
^
Main.java:77: cannot find symbol
symbol : variable HttpConnectionParams
location: class updater
HttpConnectionParams.setConnectionTimeout(httpparameters,
^
Main.java:79: cannot find symbol
symbol : variable HttpConnectionParams
location: class updater
HttpConnectionParams.setSoTimeout(httpparameters, connectiontimeout);
^
Main.java:80: cannot find symbol
symbol : class DefaultHttpClient
location: class updater
DefaultHttpClient httpclient = new DefaultHttpClient(httpparameters);
^
Main.java:80: cannot find symbol
symbol : class DefaultHttpClient
location: class updater
DefaultHttpClient httpclient = new DefaultHttpClient(httpparameters);
^
21 errors
-
result: Compilation error (maybe you wish to see an example for Java)


