X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fcore%2FCore.java;h=1f89196cb17115d12f146c75c42cf34bca2d72e9;hb=41f892668a236e46c5ac5f3e9b901a4c2dbec6de;hp=4561b6d3d7f4499a689c5e69de6dc4894191fa0f;hpb=9e51cdd24c4de3629254ac75a70f21183daf1c3f;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/core/Core.java b/src/main/java/net/pterodactylus/sone/core/Core.java index 4561b6d..1f89196 100644 --- a/src/main/java/net/pterodactylus/sone/core/Core.java +++ b/src/main/java/net/pterodactylus/sone/core/Core.java @@ -84,7 +84,7 @@ public class Core implements IdentityListener { private final CoreListenerManager coreListenerManager = new CoreListenerManager(this); /** The configuration. */ - private final Configuration configuration; + private Configuration configuration; /** The identity manager. */ private final IdentityManager identityManager; @@ -190,6 +190,18 @@ public class Core implements IdentityListener { // /** + * Sets the configuration to use. This will automatically save the current + * configuration to the given configuration. + * + * @param configuration + * The new configuration to use + */ + public void setConfiguration(Configuration configuration) { + this.configuration = configuration; + saveConfiguration(); + } + + /** * Returns the options used by the core. * * @return The options of the core @@ -735,6 +747,7 @@ public class Core implements IdentityListener { --edition; } logger.log(Level.INFO, "Finished restoring Sone from Freenet, starting Inserter…"); + saveSone(sone); coreListenerManager.fireRescuedSone(sone); soneInserter.start(); } @@ -850,7 +863,9 @@ public class Core implements IdentityListener { } } synchronized (storedSone) { - storedSone.setTime(sone.getTime()); + if (!soneRescueMode || (sone.getTime() > storedSone.getTime())) { + storedSone.setTime(sone.getTime()); + } storedSone.setClient(sone.getClient()); storedSone.setProfile(sone.getProfile()); if (soneRescueMode) { @@ -872,7 +887,7 @@ public class Core implements IdentityListener { storedSone.setLikePostIds(sone.getLikedPostIds()); storedSone.setLikeReplyIds(sone.getLikedReplyIds()); } - storedSone.setLatestEdition(sone.getRequestUri().getEdition()); + storedSone.setLatestEdition(sone.getLatestEdition()); } } } @@ -1365,6 +1380,9 @@ public class Core implements IdentityListener { configuration.getStringValue("KnownReplies/" + replyCounter + "/ID").setValue(null); } + /* now save it. */ + configuration.save(); + } catch (ConfigurationException ce1) { logger.log(Level.SEVERE, "Could not store configuration!", ce1); }