projects
/
Sone.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Move management of Sone following times to database.
[Sone.git]
/
src
/
main
/
java
/
net
/
pterodactylus
/
sone
/
database
/
memory
/
MemoryDatabase.java
diff --git
a/src/main/java/net/pterodactylus/sone/database/memory/MemoryDatabase.java
b/src/main/java/net/pterodactylus/sone/database/memory/MemoryDatabase.java
index
128a4bd
..
2d8d1be
100644
(file)
--- a/
src/main/java/net/pterodactylus/sone/database/memory/MemoryDatabase.java
+++ b/
src/main/java/net/pterodactylus/sone/database/memory/MemoryDatabase.java
@@
-132,6
+132,7
@@
public class MemoryDatabase extends AbstractService implements Database {
private final Map<String, Image> allImages = new HashMap<String, Image>();
private final Multimap<String, Image> soneImages = HashMultimap.create();
private final Map<String, Image> allImages = new HashMap<String, Image>();
private final Multimap<String, Image> soneImages = HashMultimap.create();
+ private final MemorySoneDatabase soneDatabase;
private final MemoryPostDatabase postDatabase;
private final MemoryBookmarkDatabase memoryBookmarkDatabase;
private final MemoryFriendDatabase memoryFriendDatabase;
private final MemoryPostDatabase postDatabase;
private final MemoryBookmarkDatabase memoryBookmarkDatabase;
private final MemoryFriendDatabase memoryFriendDatabase;
@@
-149,6
+150,7
@@
public class MemoryDatabase extends AbstractService implements Database {
this.soneProvider = soneProvider;
this.configuration = configuration;
this.configurationLoader = new ConfigurationLoader(configuration);
this.soneProvider = soneProvider;
this.configuration = configuration;
this.configurationLoader = new ConfigurationLoader(configuration);
+ soneDatabase = new MemorySoneDatabase(configurationLoader);
postDatabase = new MemoryPostDatabase(this, configurationLoader);
memoryBookmarkDatabase =
new MemoryBookmarkDatabase(this, configurationLoader);
postDatabase = new MemoryPostDatabase(this, configurationLoader);
memoryBookmarkDatabase =
new MemoryBookmarkDatabase(this, configurationLoader);
@@
-173,14
+175,14
@@
public class MemoryDatabase extends AbstractService implements Database {
}
@Override
}
@Override
- public Sone registerLocalSone(OwnIdentity ownIdentity) {
- final Sone localSone = loadLocalSone(ownIdentity);
+ public
Local
Sone registerLocalSone(OwnIdentity ownIdentity) {
+ final
Local
Sone localSone = loadLocalSone(ownIdentity);
localSones.add(ownIdentity.getId());
return localSone;
}
localSones.add(ownIdentity.getId());
return localSone;
}
- private Sone loadLocalSone(OwnIdentity ownIdentity) {
-
Sone localSone =
newSoneBuilder().local().from(ownIdentity).build();
+ private
Local
Sone loadLocalSone(OwnIdentity ownIdentity) {
+
LocalSone localSone = (LocalSone)
newSoneBuilder().local().from(ownIdentity).build();
localSone.setLatestEdition(
Optional.fromNullable(
Longs.tryParse(ownIdentity.getProperty(LATEST_EDITION_PROPERTY)))
localSone.setLatestEdition(
Optional.fromNullable(
Longs.tryParse(ownIdentity.getProperty(LATEST_EDITION_PROPERTY)))
@@
-192,7
+194,7
@@
public class MemoryDatabase extends AbstractService implements Database {
return localSone;
}
return localSone;
}
- public void loadSone(Sone sone) {
+ public void loadSone(
Local
Sone sone) {
long soneTime = configurationLoader.getLocalSoneTime(sone.getId());
if (soneTime == -1) {
return;
long soneTime = configurationLoader.getLocalSoneTime(sone.getId());
if (soneTime == -1) {
return;
@@
-461,6
+463,8
@@
public class MemoryDatabase extends AbstractService implements Database {
/** {@inheritDocs} */
@Override
protected void doStart() {
/** {@inheritDocs} */
@Override
protected void doStart() {
+ soneDatabase.start();
+ memoryFriendDatabase.start();
postDatabase.start();
memoryBookmarkDatabase.start();
loadKnownPostReplies();
postDatabase.start();
memoryBookmarkDatabase.start();
loadKnownPostReplies();
@@
-471,6
+475,8
@@
public class MemoryDatabase extends AbstractService implements Database {
@Override
protected void doStop() {
try {
@Override
protected void doStop() {
try {
+ soneDatabase.stop();
+ memoryFriendDatabase.stop();
postDatabase.stop();
memoryBookmarkDatabase.stop();
save();
postDatabase.stop();
memoryBookmarkDatabase.stop();
save();
@@
-501,6
+507,16
@@
public class MemoryDatabase extends AbstractService implements Database {
}
}
}
}
+ @Override
+ public boolean isSoneKnown(Sone sone) {
+ return soneDatabase.isKnownSone(sone.getId());
+ }
+
+ @Override
+ public void setSoneKnown(Sone sone) {
+ soneDatabase.setSoneKnown(sone.getId());
+ }
+
private void storePosts(String soneId, Collection<Post> posts) {
postDatabase.storePosts(soneId, posts);
}
private void storePosts(String soneId, Collection<Post> posts) {
postDatabase.storePosts(soneId, posts);
}
@@
-610,7
+626,7
@@
public class MemoryDatabase extends AbstractService implements Database {
}
@Override
}
@Override
- public Collection<String> getFriends(Sone localSone) {
+ public Collection<String> getFriends(
Local
Sone localSone) {
if (!localSone.isLocal()) {
return Collections.emptySet();
}
if (!localSone.isLocal()) {
return Collections.emptySet();
}
@@
-618,7
+634,12
@@
public class MemoryDatabase extends AbstractService implements Database {
}
@Override
}
@Override
- public boolean isFriend(Sone localSone, String friendSoneId) {
+ public Optional<Long> getSoneFollowingTime(String remoteSoneId) {
+ return memoryFriendDatabase.getSoneFollowingTime(remoteSoneId);
+ }
+
+ @Override
+ public boolean isFriend(LocalSone localSone, String friendSoneId) {
if (!localSone.isLocal()) {
return false;
}
if (!localSone.isLocal()) {
return false;
}
@@
-626,18
+647,12
@@
public class MemoryDatabase extends AbstractService implements Database {
}
@Override
}
@Override
- public void addFriend(Sone localSone, String friendSoneId) {
- if (!localSone.isLocal()) {
- return;
- }
+ public void addFriend(LocalSone localSone, String friendSoneId) {
memoryFriendDatabase.addFriend(localSone.getId(), friendSoneId);
}
@Override
memoryFriendDatabase.addFriend(localSone.getId(), friendSoneId);
}
@Override
- public void removeFriend(Sone localSone, String friendSoneId) {
- if (!localSone.isLocal()) {
- return;
- }
+ public void removeFriend(LocalSone localSone, String friendSoneId) {
memoryFriendDatabase.removeFriend(localSone.getId(), friendSoneId);
}
memoryFriendDatabase.removeFriend(localSone.getId(), friendSoneId);
}