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;
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);
/** {@inheritDocs} */
@Override
protected void doStart() {
+ soneDatabase.start();
postDatabase.start();
memoryBookmarkDatabase.start();
loadKnownPostReplies();
@Override
protected void doStop() {
try {
+ soneDatabase.stop();
postDatabase.stop();
memoryBookmarkDatabase.stop();
save();
}
}
+ @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);
}
}
@Override
- public Collection<String> getFriends(Sone localSone) {
+ public Collection<String> getFriends(LocalSone localSone) {
if (!localSone.isLocal()) {
return Collections.emptySet();
}
}
@Override
- public boolean isFriend(Sone localSone, String friendSoneId) {
+ public boolean isFriend(LocalSone localSone, String friendSoneId) {
if (!localSone.isLocal()) {
return false;
}
}
@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
- public void removeFriend(Sone localSone, String friendSoneId) {
- if (!localSone.isLocal()) {
- return;
- }
+ public void removeFriend(LocalSone localSone, String friendSoneId) {
memoryFriendDatabase.removeFriend(localSone.getId(), friendSoneId);
}