Only refuse to set creation time if it’s different from the current one.
authorDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Sun, 19 Jan 2014 13:14:57 +0000 (14:14 +0100)
committerDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Sun, 19 Jan 2014 13:14:57 +0000 (14:14 +0100)
src/main/java/net/pterodactylus/sone/data/ImageImpl.java

index 1309a80..447bb82 100644 (file)
@@ -202,7 +202,7 @@ public class ImageImpl implements Image {
                        @Override
                        public Image update() throws IllegalStateException {
                                checkState(!sone.isPresent() || (ImageImpl.this.sone == null) || sone.get().equals(ImageImpl.this.sone), "can not change Sone once set");
-                               checkState(!creationTime.isPresent() || (ImageImpl.this.creationTime == 0), "can not change creation time once set");
+                               checkState(!creationTime.isPresent() || ((ImageImpl.this.creationTime == 0) || (ImageImpl.this.creationTime == creationTime.get())), "can not change creation time once set");
                                checkState(!key.isPresent() || (ImageImpl.this.key == null) || key.get().equals(ImageImpl.this.key), "can not change key once set");
                                checkState(!width.isPresent() || (ImageImpl.this.width == 0) || width.get().equals(ImageImpl.this.width), "can not change width once set");
                                checkState(!height.isPresent() || (ImageImpl.this.height == 0) || height.get().equals(ImageImpl.this.height), "can not change height once set");