From cd1004ddbcb1f2aa57ca8781ded6c56dd776ae21 Mon Sep 17 00:00:00 2001 From: =?utf8?q?David=20=E2=80=98Bombe=E2=80=99=20Roden?= Date: Fri, 5 Nov 2010 11:29:10 +0100 Subject: [PATCH] Prevent reloading of a Sone after it has been deleted. --- src/main/java/net/pterodactylus/sone/core/Core.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) 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. */ -- 2.7.4