private void loadUpdatesFromV1Registry() {
logger.info("Starting new round of replication from v1 to v2");
registry.forSnapshot(Interests.forFullRegistry(), Source.matcherFor(Source.Origin.LOCAL))
.filter(new Func1<InstanceInfo, Boolean>() {
@Override
public Boolean call(InstanceInfo instanceInfo) {
return !instanceInfo.getId().equals(self.getId());
}
})
.toMap(new Func1<InstanceInfo, String>() {
@Override
public String call(InstanceInfo instanceInfo) {
return instanceInfo.getId();
}
})
.subscribe(new Subscriber<Map<String, InstanceInfo>>() {
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
logger.warn("Error generating snapshot of registry", e);
}
@Override
public void onNext(Map<String, InstanceInfo> currentSnapshot) {
diff(currentSnapshot);
}
});
}