projects
/
Sone.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
2a9ef0e
)
🚚 Move shells closer to the interfaces
author
David ‘Bombe’ Roden
<bombe@pterodactylus.net>
Sat, 8 Aug 2020 20:30:18 +0000
(22:30 +0200)
committer
David ‘Bombe’ Roden
<bombe@pterodactylus.net>
Sat, 8 Aug 2020 20:30:36 +0000
(22:30 +0200)
src/main/kotlin/net/pterodactylus/sone/data/Post.kt
patch
|
blob
|
history
src/main/kotlin/net/pterodactylus/sone/data/Reply.kt
patch
|
blob
|
history
src/main/kotlin/net/pterodactylus/sone/database/memory/MemoryDatabase.kt
patch
|
blob
|
history
src/main/kotlin/net/pterodactylus/sone/database/memory/MemoryPost.kt
patch
|
blob
|
history
src/main/kotlin/net/pterodactylus/sone/database/memory/MemoryPostReply.kt
patch
|
blob
|
history
diff --git
a/src/main/kotlin/net/pterodactylus/sone/data/Post.kt
b/src/main/kotlin/net/pterodactylus/sone/data/Post.kt
index
d87bd3c
..
5781508
100644
(file)
--- a/
src/main/kotlin/net/pterodactylus/sone/data/Post.kt
+++ b/
src/main/kotlin/net/pterodactylus/sone/data/Post.kt
@@
-1,5
+1,6
@@
package net.pterodactylus.sone.data
package net.pterodactylus.sone.data
+import net.pterodactylus.sone.database.PostBuilder
import java.util.Comparator.comparing
/**
import java.util.Comparator.comparing
/**
@@
-14,3
+15,12
@@
val noFuturePost: (Post) -> Boolean = { it.time <= System.currentTimeMillis() }
*/
@get:JvmName("newestPostFirst")
val newestPostFirst: Comparator<Post> = comparing(Post::getTime).reversed()
*/
@get:JvmName("newestPostFirst")
val newestPostFirst: Comparator<Post> = comparing(Post::getTime).reversed()
+
+data class PostShell(val id: String, val soneId: String, val recipientId: String?, val time: Long, val text: String) {
+
+ fun build(postBuilder: PostBuilder) =
+ postBuilder.withId(id).from(soneId).let { if (recipientId != null) it.to(recipientId) else it }.withTime(time).withText(text).build()
+
+}
+
+fun Post.toShell() = PostShell(id, sone!!.id, recipient.orNull()?.id, time, text)
diff --git
a/src/main/kotlin/net/pterodactylus/sone/data/Reply.kt
b/src/main/kotlin/net/pterodactylus/sone/data/Reply.kt
index
cfc940a
..
d570f48
100644
(file)
--- a/
src/main/kotlin/net/pterodactylus/sone/data/Reply.kt
+++ b/
src/main/kotlin/net/pterodactylus/sone/data/Reply.kt
@@
-17,6
+17,7
@@
package net.pterodactylus.sone.data
package net.pterodactylus.sone.data
+import net.pterodactylus.sone.database.PostReplyBuilder
import java.util.Comparator.comparing
/**
import java.util.Comparator.comparing
/**
@@
-32,3
+33,13
@@
val newestReplyFirst: Comparator<Reply<*>> =
*/
val noFutureReply: (Reply<*>) -> Boolean =
{ it.getTime() <= System.currentTimeMillis() }
*/
val noFutureReply: (Reply<*>) -> Boolean =
{ it.getTime() <= System.currentTimeMillis() }
+
+data class PostReplyShell(val id: String, val soneId: String, val postId: String, val time: Long, val text: String) {
+
+ fun build(postReplyBuilder: PostReplyBuilder): PostReply {
+ return postReplyBuilder.withId(id).from(soneId).to(postId).withTime(time).withText(text).build()
+ }
+
+}
+
+fun PostReply.toShell() = PostReplyShell(id, sone.id, postId, time, text)
diff --git
a/src/main/kotlin/net/pterodactylus/sone/database/memory/MemoryDatabase.kt
b/src/main/kotlin/net/pterodactylus/sone/database/memory/MemoryDatabase.kt
index
e2281ac
..
2ab0938
100644
(file)
--- a/
src/main/kotlin/net/pterodactylus/sone/database/memory/MemoryDatabase.kt
+++ b/
src/main/kotlin/net/pterodactylus/sone/database/memory/MemoryDatabase.kt
@@
-29,12
+29,15
@@
import net.pterodactylus.sone.data.Album
import net.pterodactylus.sone.data.Image
import net.pterodactylus.sone.data.Post
import net.pterodactylus.sone.data.PostReply
import net.pterodactylus.sone.data.Image
import net.pterodactylus.sone.data.Post
import net.pterodactylus.sone.data.PostReply
+import net.pterodactylus.sone.data.PostReplyShell
+import net.pterodactylus.sone.data.PostShell
import net.pterodactylus.sone.data.Sone
import net.pterodactylus.sone.data.allAlbums
import net.pterodactylus.sone.data.allImages
import net.pterodactylus.sone.data.impl.AlbumBuilderImpl
import net.pterodactylus.sone.data.impl.ImageBuilderImpl
import net.pterodactylus.sone.data.newestReplyFirst
import net.pterodactylus.sone.data.Sone
import net.pterodactylus.sone.data.allAlbums
import net.pterodactylus.sone.data.allImages
import net.pterodactylus.sone.data.impl.AlbumBuilderImpl
import net.pterodactylus.sone.data.impl.ImageBuilderImpl
import net.pterodactylus.sone.data.newestReplyFirst
+import net.pterodactylus.sone.data.toShell
import net.pterodactylus.sone.database.AlbumBuilder
import net.pterodactylus.sone.database.Database
import net.pterodactylus.sone.database.DatabaseException
import net.pterodactylus.sone.database.AlbumBuilder
import net.pterodactylus.sone.database.Database
import net.pterodactylus.sone.database.DatabaseException
@@
-62,10
+65,10
@@
class MemoryDatabase @Inject constructor(private val configuration: Configuratio
private val writeLock: WriteLock by lazy { lock.writeLock() }
private val configurationLoader = ConfigurationLoader(configuration)
private val allSones = mutableMapOf<String, Sone>()
private val writeLock: WriteLock by lazy { lock.writeLock() }
private val configurationLoader = ConfigurationLoader(configuration)
private val allSones = mutableMapOf<String, Sone>()
- private val allPosts = mutableMapOf<String,
MemoryPost.
Shell>()
- private val sonePosts: Multimap<String,
MemoryPost.Shell> = HashMultimap.create<String, MemoryPost.
Shell>()
+ private val allPosts = mutableMapOf<String,
Post
Shell>()
+ private val sonePosts: Multimap<String,
PostShell> = HashMultimap.create<String, Post
Shell>()
private val knownPosts = mutableSetOf<String>()
private val knownPosts = mutableSetOf<String>()
- private val allPostReplies = mutableMapOf<String,
MemoryPostReply.
Shell>()
+ private val allPostReplies = mutableMapOf<String,
PostReply
Shell>()
private val sonePostReplies: Multimap<String, PostReply> = TreeMultimap.create<String, PostReply>(Comparator { leftString, rightString -> leftString.compareTo(rightString) }, newestReplyFirst)
private val knownPostReplies = mutableSetOf<String>()
private val allAlbums = mutableMapOf<String, Album>()
private val sonePostReplies: Multimap<String, PostReply> = TreeMultimap.create<String, PostReply>(Comparator { leftString, rightString -> leftString.compareTo(rightString) }, newestReplyFirst)
private val knownPostReplies = mutableSetOf<String>()
private val allAlbums = mutableMapOf<String, Album>()
diff --git
a/src/main/kotlin/net/pterodactylus/sone/database/memory/MemoryPost.kt
b/src/main/kotlin/net/pterodactylus/sone/database/memory/MemoryPost.kt
index
b3664c2
..
d12ab5f
100644
(file)
--- a/
src/main/kotlin/net/pterodactylus/sone/database/memory/MemoryPost.kt
+++ b/
src/main/kotlin/net/pterodactylus/sone/database/memory/MemoryPost.kt
@@
-17,6
+17,7
@@
package net.pterodactylus.sone.database.memory
import net.pterodactylus.sone.data.Post
package net.pterodactylus.sone.database.memory
import net.pterodactylus.sone.data.Post
+import net.pterodactylus.sone.data.PostShell
import net.pterodactylus.sone.data.Sone
import net.pterodactylus.sone.database.PostBuilder
import net.pterodactylus.sone.database.SoneProvider
import net.pterodactylus.sone.data.Sone
import net.pterodactylus.sone.database.PostBuilder
import net.pterodactylus.sone.database.SoneProvider
@@
-60,13
+61,4
@@
class MemoryPost(
override fun toString() = "${javaClass.name}[id=$id,sone=$soneId,recipient=$recipientId,time=$time,text=$text]"
override fun toString() = "${javaClass.name}[id=$id,sone=$soneId,recipient=$recipientId,time=$time,text=$text]"
- data class Shell(val id: String, val soneId: String, val recipientId: String?, val time: Long, val text: String) {
-
- fun build(postBuilder: PostBuilder) =
- postBuilder.withId(id).from(soneId).let { if (recipientId != null) it.to(recipientId) else it }.withTime(time).withText(text).build()
-
- }
-
}
}
-
-fun Post.toShell() = MemoryPost.Shell(id, sone!!.id, recipient.orNull()?.id, time, text)
diff --git
a/src/main/kotlin/net/pterodactylus/sone/database/memory/MemoryPostReply.kt
b/src/main/kotlin/net/pterodactylus/sone/database/memory/MemoryPostReply.kt
index
67b44b7
..
f555924
100644
(file)
--- a/
src/main/kotlin/net/pterodactylus/sone/database/memory/MemoryPostReply.kt
+++ b/
src/main/kotlin/net/pterodactylus/sone/database/memory/MemoryPostReply.kt
@@
-19,6
+19,7
@@
package net.pterodactylus.sone.database.memory
import com.google.common.base.Optional
import net.pterodactylus.sone.data.Post
import net.pterodactylus.sone.data.PostReply
import com.google.common.base.Optional
import net.pterodactylus.sone.data.Post
import net.pterodactylus.sone.data.PostReply
+import net.pterodactylus.sone.data.PostReplyShell
import net.pterodactylus.sone.database.PostReplyBuilder
import net.pterodactylus.sone.database.SoneProvider
import net.pterodactylus.sone.utils.asOptional
import net.pterodactylus.sone.database.PostReplyBuilder
import net.pterodactylus.sone.database.SoneProvider
import net.pterodactylus.sone.utils.asOptional
@@
-68,14
+69,4
@@
class MemoryPostReply(
'}'
}
'}'
}
- class Shell(val id: String, val soneId: String, val postId: String, val time: Long, val text: String) {
-
- fun build(postReplyBuilder: PostReplyBuilder): PostReply {
- return postReplyBuilder.withId(id).from(soneId).to(postId).withTime(time).withText(text).build()
- }
-
- }
-
}
}
-
-fun PostReply.toShell() = MemoryPostReply.Shell(id, sone.id, postId, time, text)