From: David ‘Bombe’ Roden Date: Sat, 1 Jan 2011 18:17:58 +0000 (+0100) Subject: Merge branch 'protocol-version' into next X-Git-Tag: 0.3.6.3^2~3 X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=commitdiff_plain;h=0f67f70b9e9e088e280ee530bbd433415028e8e2;hp=9a872c95a624a35552750c7993d03a69ba83f20c Merge branch 'protocol-version' into next --- diff --git a/src/main/java/net/pterodactylus/sone/core/SoneDownloader.java b/src/main/java/net/pterodactylus/sone/core/SoneDownloader.java index fa0063e..4328f02 100644 --- a/src/main/java/net/pterodactylus/sone/core/SoneDownloader.java +++ b/src/main/java/net/pterodactylus/sone/core/SoneDownloader.java @@ -55,6 +55,9 @@ public class SoneDownloader extends AbstractService { /** The logger. */ private static final Logger logger = Logging.getLogger(SoneDownloader.class); + /** The maximum protocol version. */ + private static final int MAX_PROTOCOL_VERSION = 0; + /** The core. */ private final Core core; @@ -221,6 +224,27 @@ public class SoneDownloader extends AbstractService { return null; } + Integer protocolVersion = null; + String soneProtocolVersion = soneXml.getValue("protocol-version", null); + if (soneProtocolVersion != null) { + protocolVersion = Numbers.safeParseInteger(soneProtocolVersion); + } + if (protocolVersion == null) { + logger.log(Level.INFO, "No protocol version found, assuming 0."); + protocolVersion = 0; + } + + if (protocolVersion < 0) { + logger.log(Level.WARNING, "Invalid protocol version: " + protocolVersion + "! Not parsing Sone."); + return null; + } + + /* check for valid versions. */ + if (protocolVersion > MAX_PROTOCOL_VERSION) { + logger.log(Level.WARNING, "Unknown protocol version: " + protocolVersion + "! Not parsing Sone."); + return null; + } + String soneTime = soneXml.getValue("time", null); if (soneTime == null) { /* TODO - mark Sone as bad. */ diff --git a/src/main/resources/templates/insert/sone.xml b/src/main/resources/templates/insert/sone.xml index 4e8cbae..7d3c8aa 100644 --- a/src/main/resources/templates/insert/sone.xml +++ b/src/main/resources/templates/insert/sone.xml @@ -2,6 +2,7 @@ + 0 Sone