X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fde%2Ftodesbaum%2Fjsite%2Fapplication%2FUpdateChecker.java;h=11be944a1b66bff55b487eff20bbb6a26b62f011;hb=9345fa0d76206882d59a84515199da9d96cc1a3e;hp=c49f166cf70dc12d89347faffafa9a0a9c494ae9;hpb=0e88169c3e8decfcd99f39f5ecf3a85df50c3fca;p=jSite.git diff --git a/src/main/java/de/todesbaum/jsite/application/UpdateChecker.java b/src/main/java/de/todesbaum/jsite/application/UpdateChecker.java index c49f166..11be944 100644 --- a/src/main/java/de/todesbaum/jsite/application/UpdateChecker.java +++ b/src/main/java/de/todesbaum/jsite/application/UpdateChecker.java @@ -26,6 +26,7 @@ import java.util.Properties; import java.util.logging.Level; import java.util.logging.Logger; +import net.pterodactylus.util.io.Closer; import de.todesbaum.jsite.main.Main; import de.todesbaum.jsite.main.Version; import de.todesbaum.util.freenet.fcp2.Client; @@ -35,7 +36,6 @@ import de.todesbaum.util.freenet.fcp2.Message; import de.todesbaum.util.freenet.fcp2.Persistence; import de.todesbaum.util.freenet.fcp2.ReturnType; import de.todesbaum.util.freenet.fcp2.Verbosity; -import de.todesbaum.util.io.Closer; /** * Checks for newer versions of jSite. @@ -51,7 +51,7 @@ public class UpdateChecker implements Runnable { private static int counter = 0; /** The edition for the update check URL. */ - private static final int UPDATE_EDITION = 17; + private static final int UPDATE_EDITION = 18; /** The URL for update checks. */ private static final String UPDATE_KEY = "USK@e3myoFyp5avg6WYN16ImHri6J7Nj8980Fm~aQe4EX1U,QvbWT0ImE0TwLODTl7EoJx2NBnwDxTbLTE6zkB-eGPs,AQACAAE"; @@ -180,7 +180,7 @@ public class UpdateChecker implements Runnable { * The edition number * @return The URI for the update file for the given edition */ - private String constructUpdateKey(int edition) { + private static String constructUpdateKey(int edition) { return UPDATE_KEY + "/jSite/" + edition + "/jSite.properties"; } @@ -191,18 +191,33 @@ public class UpdateChecker implements Runnable { /** * {@inheritDoc} */ + @Override public void run() { - Connection connection = freenetInterface.getConnection("jSite-" + ++counter + "-UpdateChecker"); - try { - connection.connect(); - } catch (IOException e1) { - e1.printStackTrace(); - } - Client client = new Client(connection); - boolean checkNow = false; int currentEdition = lastUpdateEdition; while (!shouldStop()) { - checkNow = false; + + /* try to connect. */ + Client client; + while (true) { + Connection connection = freenetInterface.getConnection("jSite-" + ++counter + "-UpdateChecker"); + try { + connection.connect(); + logger.log(Level.INFO, "Connected to " + freenetInterface.getNode() + "."); + client = new Client(connection); + break; + } catch (IOException ioe1) { + logger.log(Level.INFO, "Could not connect to " + freenetInterface.getNode() + ".", ioe1); + } + if (!connection.isConnected()) { + try { + Thread.sleep(60 * 1000); + } catch (InterruptedException ie1) { + /* ignore, we’re looping. */ + } + } + } + + boolean checkNow = false; logger.log(Level.FINE, "Trying " + constructUpdateKey(currentEdition)); ClientGet clientGet = new ClientGet("get-update-key"); clientGet.setUri(constructUpdateKey(currentEdition));