🎨 Replace DefaultOwnIdentity with Kotlin version
authorDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Wed, 9 Oct 2019 17:15:34 +0000 (19:15 +0200)
committerDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Wed, 9 Oct 2019 17:15:34 +0000 (19:15 +0200)
src/main/java/net/pterodactylus/sone/freenet/wot/DefaultOwnIdentity.java [deleted file]
src/main/kotlin/net/pterodactylus/sone/freenet/wot/DefaultOwnIdentity.kt [new file with mode: 0644]
src/test/kotlin/net/pterodactylus/sone/freenet/wot/IdentityLoaderTest.kt

diff --git a/src/main/java/net/pterodactylus/sone/freenet/wot/DefaultOwnIdentity.java b/src/main/java/net/pterodactylus/sone/freenet/wot/DefaultOwnIdentity.java
deleted file mode 100644 (file)
index de239db..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Sone - DefaultOwnIdentity.java - Copyright Â© 2010–2019 David Roden
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-package net.pterodactylus.sone.freenet.wot;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-/**
- * An own identity is an identity that the owner of the node has full control
- * over.
- */
-public class DefaultOwnIdentity extends DefaultIdentity implements OwnIdentity {
-
-       /** The insert URI of the identity. */
-       private final String insertUri;
-
-       /**
-        * Creates a new own identity.
-        *
-        * @param id
-        *            The ID of the identity
-        * @param nickname
-        *            The nickname of the identity
-        * @param requestUri
-        *            The request URI of the identity
-        * @param insertUri
-        *            The insert URI of the identity
-        */
-       public DefaultOwnIdentity(String id, String nickname, String requestUri, String insertUri) {
-               super(id, nickname, requestUri);
-               this.insertUri = checkNotNull(insertUri);
-       }
-
-       //
-       // ACCESSORS
-       //
-
-       @Override
-       public String getInsertUri() {
-               return insertUri;
-       }
-
-       @Override
-       public OwnIdentity addContext(String context) {
-               return (OwnIdentity) super.addContext(context);
-       }
-
-       @Override
-       public OwnIdentity removeContext(String context) {
-               return (OwnIdentity) super.removeContext(context);
-       }
-
-       @Override
-       public OwnIdentity setProperty(String name, String value) {
-               return (OwnIdentity) super.setProperty(name, value);
-       }
-
-       @Override
-       public OwnIdentity removeProperty(String name) {
-               return (OwnIdentity) super.removeProperty(name);
-       }
-
-       //
-       // OBJECT METHODS
-       //
-
-       @Override
-       public int hashCode() {
-               return super.hashCode();
-       }
-
-       @Override
-       public boolean equals(Object other) {
-               return super.equals(other);
-       }
-
-}
diff --git a/src/main/kotlin/net/pterodactylus/sone/freenet/wot/DefaultOwnIdentity.kt b/src/main/kotlin/net/pterodactylus/sone/freenet/wot/DefaultOwnIdentity.kt
new file mode 100644 (file)
index 0000000..f330c0a
--- /dev/null
@@ -0,0 +1,38 @@
+/*
+ * Sone - DefaultOwnIdentity.java - Copyright Â© 2010–2019 David Roden
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+package net.pterodactylus.sone.freenet.wot
+
+/**
+ * An own identity is an identity that the owner of the node has full control
+ * over.
+ */
+class DefaultOwnIdentity(id: String, nickname: String, requestUri: String, private val insertUri: String) : DefaultIdentity(id, nickname, requestUri), OwnIdentity {
+
+       override fun getInsertUri(): String {
+               return insertUri
+       }
+
+       override fun addContext(context: String) = super.addContext(context) as OwnIdentity
+
+       override fun removeContext(context: String) = super.removeContext(context) as OwnIdentity
+
+       override fun setProperty(name: String, value: String) = super.setProperty(name, value) as OwnIdentity
+
+       override fun removeProperty(name: String) = super.removeProperty(name) as OwnIdentity
+
+}
index ca11971..07126bb 100644 (file)
@@ -70,7 +70,7 @@ class IdentityLoaderTest {
        private fun createOwnIdentity(id: String, nickname: String, requestUri: String, insertUri: String, contexts: List<String>, properties: Map<String, String>): OwnIdentity =
                        DefaultOwnIdentity(id, nickname, requestUri, insertUri).apply {
                                setContexts(contexts)
-                               this.setProperties(properties)
+                               this.properties = properties
                        }
 
        private fun createIdentity(id: String, nickname: String, requestUri: String, contexts: List<String>, properties: Map<String, String>): Identity =