return existingSone.get();
}
boolean newSone = !existingSone.isPresent();
- final Sone sone = newSone ? database.newSoneBuilder().by(identity.getId()).build(Optional.<SoneCreated>absent()) : existingSone.get();
+ final Sone sone = newSone ? database.newSoneBuilder().by(identity.getId()).using(new Client("Sone", SonePlugin.VERSION.toString())).build(Optional.<SoneCreated>absent()) : existingSone.get();
sone.modify().setLatestEdition(Numbers.safeParseLong(identity.getProperty("Sone.LatestEdition"), (long) 0)).update();
if (newSone) {
synchronized (knownSones) {
OwnIdentity ownIdentity = ownIdentityAddedEvent.ownIdentity();
logger.log(Level.FINEST, String.format("Adding OwnIdentity: %s", ownIdentity));
if (ownIdentity.hasContext("Sone")) {
+ database.storeIdentity(ownIdentity);
addLocalSone(ownIdentity);
}
}
Identity identity = identityAddedEvent.identity();
logger.log(Level.FINEST, String.format("Adding Identity: %s", identity));
trustedIdentities.put(identityAddedEvent.ownIdentity(), identity);
+ database.storeIdentity(identity);
addRemoteSone(identity);
}
@Subscribe
public void identityUpdated(IdentityUpdatedEvent identityUpdatedEvent) {
final Identity identity = identityUpdatedEvent.identity();
+ database.storeIdentity(identity);
soneDownloaders.execute(new Runnable() {
@Override