projects
/
Sone.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Store all albums and images in the database after loading them from the configuration.
[Sone.git]
/
src
/
main
/
java
/
net
/
pterodactylus
/
sone
/
core
/
Core.java
diff --git
a/src/main/java/net/pterodactylus/sone/core/Core.java
b/src/main/java/net/pterodactylus/sone/core/Core.java
index
91bd0cc
..
9e20c00
100644
(file)
--- a/
src/main/java/net/pterodactylus/sone/core/Core.java
+++ b/
src/main/java/net/pterodactylus/sone/core/Core.java
@@
-17,12
+17,15
@@
package net.pterodactylus.sone.core;
package net.pterodactylus.sone.core;
+import static com.google.common.base.Optional.fromNullable;
import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Preconditions.checkNotNull;
import static com.google.common.base.Predicates.not;
import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Preconditions.checkNotNull;
import static com.google.common.base.Predicates.not;
+import static com.google.common.primitives.Longs.tryParse;
import static java.lang.String.format;
import static java.util.logging.Level.WARNING;
import static net.pterodactylus.sone.data.Sone.LOCAL_SONE_FILTER;
import static java.lang.String.format;
import static java.util.logging.Level.WARNING;
import static net.pterodactylus.sone.data.Sone.LOCAL_SONE_FILTER;
+import static net.pterodactylus.sone.data.Sone.toAllAlbums;
import java.net.MalformedURLException;
import java.util.ArrayList;
import java.net.MalformedURLException;
import java.util.ArrayList;
@@
-758,6
+761,8
@@
public class Core extends AbstractService implements SoneProvider, PostProvider,
logger.log(Level.WARNING, "Given Identity is null!");
return null;
}
logger.log(Level.WARNING, "Given Identity is null!");
return null;
}
+ final Long latestEdition = fromNullable(tryParse(
+ identity.getProperty("Sone.LatestEdition"))).or(0L);
synchronized (sones) {
final Sone sone = getRemoteSone(identity.getId(), true);
if (sone.isLocal()) {
synchronized (sones) {
final Sone sone = getRemoteSone(identity.getId(), true);
if (sone.isLocal()) {
@@
-766,7
+771,7
@@
public class Core extends AbstractService implements SoneProvider, PostProvider,
sone.setIdentity(identity);
boolean newSone = sone.getRequestUri() == null;
sone.setRequestUri(SoneUri.create(identity.getRequestUri()));
sone.setIdentity(identity);
boolean newSone = sone.getRequestUri() == null;
sone.setRequestUri(SoneUri.create(identity.getRequestUri()));
- sone.setLatestEdition(
Numbers.safeParseLong(identity.getProperty("Sone.LatestEdition"), (long) 0)
);
+ sone.setLatestEdition(
latestEdition
);
if (newSone) {
synchronized (knownSones) {
newSone = !knownSones.contains(sone.getId());
if (newSone) {
synchronized (knownSones) {
newSone = !knownSones.contains(sone.getId());
@@
-1158,7
+1163,9
@@
public class Core extends AbstractService implements SoneProvider, PostProvider,
/* load avatar. */
String avatarId = configuration.getStringValue(sonePrefix + "/Profile/Avatar").getValue(null);
if (avatarId != null) {
/* load avatar. */
String avatarId = configuration.getStringValue(sonePrefix + "/Profile/Avatar").getValue(null);
if (avatarId != null) {
- profile.setAvatar(getImage(avatarId, false));
+ final Map<String, Image> images =
+ configurationSoneParser.getImages();
+ profile.setAvatar(images.get(avatarId));
}
/* load options. */
}
/* load options. */
@@
-1187,6
+1194,12
@@
public class Core extends AbstractService implements SoneProvider, PostProvider,
sone.getRootAlbum().addAlbum(album);
}
soneInserters.get(sone).setLastInsertFingerprint(lastInsertFingerprint);
sone.getRootAlbum().addAlbum(album);
}
soneInserters.get(sone).setLastInsertFingerprint(lastInsertFingerprint);
+ for (Album album : toAllAlbums.apply(sone)) {
+ database.storeAlbum(album);
+ for (Image image : album.getImages()) {
+ database.storeImage(image);
+ }
+ }
}
synchronized (knownSones) {
for (String friend : friends) {
}
synchronized (knownSones) {
for (String friend : friends) {