diff --git a/jams-common/src/main/java/net/jami/jams/common/updater/AppUpdater.java b/jams-common/src/main/java/net/jami/jams/common/updater/AppUpdater.java index f147116393689436a16b4a03d371ca3e1d680456..f87c49e8b650ba1c63e5d69d3b0d9dcb1eca7d74 100644 --- a/jams-common/src/main/java/net/jami/jams/common/updater/AppUpdater.java +++ b/jams-common/src/main/java/net/jami/jams/common/updater/AppUpdater.java @@ -4,6 +4,7 @@ public interface AppUpdater { String getLocalVersions(); String getRemoteVersions(); - boolean downloadUpdates(); + void setLicense(); + void doUpdate(); } diff --git a/jams-launcher/src/main/java/launcher/AppStarter.java b/jams-launcher/src/main/java/launcher/AppStarter.java index 161d876f80b0d7df26a80da0a82d712bda43d2b5..790d4c8a6faa0040842073c198f7af4338ffa0be 100644 --- a/jams-launcher/src/main/java/launcher/AppStarter.java +++ b/jams-launcher/src/main/java/launcher/AppStarter.java @@ -64,7 +64,9 @@ public class AppStarter extends Thread { } if(doUpdate.get()){ Server.tomcatLauncher.stopTomcat(); - server = new Server(appUpdater); + //This will trigger a force reload of the lib. + LibraryLoader.loadlibs(System.getProperty("user.dir"),AppStarter.class); + server = ServerLoader.loadServer(appUpdater); this.doUpdate.set(false); } } diff --git a/updater/src/main/java/net/jami/jams/updater/JAMSUpdater.java b/updater/src/main/java/net/jami/jams/updater/JAMSUpdater.java index be19243700b25fe95cf2f0936426af814d29fcde..371c44e0f71f97c63ceb537137f272cc7d186b5e 100644 --- a/updater/src/main/java/net/jami/jams/updater/JAMSUpdater.java +++ b/updater/src/main/java/net/jami/jams/updater/JAMSUpdater.java @@ -31,7 +31,18 @@ public class JAMSUpdater implements AppUpdater { } @Override - public boolean downloadUpdates() { - return updateDownloader.doUpdate(); + public void setLicense() { + //Trigger reading the license from disk. + } + + @Override + public void doUpdate() { + //Some logic here about replacing the existing files. + + //Notify back up-stream to the launcher that we want the update to happen. + doUpdate.set(true); + synchronized (doUpdate){ + doUpdate.notify(); + } } }