/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package modmanager.utility.update; import modmanager.business.ManagerOptions; import modmanager.controller.Manager; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; import java.util.concurrent.Callable; /** * * @author Shirkit */ public class UpdateManager implements Callable<Boolean> { private boolean work() throws MalformedURLException, IOException { Thread.currentThread().setName("UpdateManager"); URL url = new URL(ManagerOptions.MANAGER_CHECK_UPDATE_VERSIONS.trim()); URLConnection connection = url.openConnection(); connection.setConnectTimeout(5000); BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream())); String str = in.readLine(); in.close(); if (str == null || str.trim().toLowerCase().contains("error") || Manager.getInstance().compareModsVersions(str.trim().split(" ")[1], "*-" + ManagerOptions.getInstance().getVersion().split(" ")[1])) { return false; } return true; } public Boolean call() { try { return work(); } catch (Exception e) { try { return work(); } catch (Exception ex) { return false; } } } }