From: David ‘Bombe’ Roden Date: Fri, 5 Nov 2010 10:29:10 +0000 (+0100) Subject: Prevent reloading of a Sone after it has been deleted. X-Git-Tag: 0.2-RC1~18 X-Git-Url: https://git.pterodactylus.net/?a=commitdiff_plain;h=cd1004ddbcb1f2aa57ca8781ded6c56dd776ae21;p=Sone.git Prevent reloading of a Sone after it has been deleted. --- diff --git a/src/main/java/net/pterodactylus/sone/core/Core.java b/src/main/java/net/pterodactylus/sone/core/Core.java index ea76a72..9f76223 100644 --- a/src/main/java/net/pterodactylus/sone/core/Core.java +++ b/src/main/java/net/pterodactylus/sone/core/Core.java @@ -568,6 +568,11 @@ public class Core implements IdentityListener { } identityManager.removeContext((OwnIdentity) sone.getIdentity(), "Sone"); identityManager.removeProperty((OwnIdentity) sone.getIdentity(), "Sone.LatestEdition"); + try { + configuration.getStringValue("Sone/" + sone.getId() + "/Time").setValue(null); + } catch (ConfigurationException ce1) { + logger.log(Level.WARNING, "Could not remove Sone from configuration!", ce1); + } } /** @@ -585,7 +590,11 @@ public class Core implements IdentityListener { /* load Sone. */ String sonePrefix = "Sone/" + sone.getId(); - long soneTime = configuration.getLongValue(sonePrefix + "/Time").getValue((long) 0); + Long soneTime = configuration.getLongValue(sonePrefix + "/Time").getValue(null); + if (soneTime == null) { + logger.log(Level.INFO, "Could not load Sone because there is no Sone has been saved."); + return; + } long soneModificationCounter = configuration.getLongValue(sonePrefix + "/ModificationCounter").getValue((long) 0); /* load profile. */