private final String type;
private final ActorContext actorContext;
+ private SchemaContext schemaContext;
+
+
/**
* Executor used to run FutureTask's
Object result = actorContext.executeShardOperation(Shard.DEFAULT_NAME,
new RegisterChangeListener(path, dataChangeListenerActor.path(),
- AsyncDataBroker.DataChangeScope.BASE),
+ AsyncDataBroker.DataChangeScope.BASE).toSerializable(),
ActorContext.ASK_DURATION
);
- RegisterChangeListenerReply reply = (RegisterChangeListenerReply) result;
+ RegisterChangeListenerReply reply = RegisterChangeListenerReply.fromSerializable(actorContext.getActorSystem(),result);
return new DataChangeListenerRegistrationProxy(actorContext.actorSelection(reply.getListenerRegistrationPath()), listener, dataChangeListenerActor);
}
@Override
public DOMStoreTransactionChain createTransactionChain() {
- return new TransactionChainProxy(actorContext, executor);
+ return new TransactionChainProxy(actorContext, executor, schemaContext);
}
@Override
public DOMStoreReadTransaction newReadOnlyTransaction() {
return new TransactionProxy(actorContext, TransactionProxy.TransactionType.READ_ONLY,
- executor);
+ executor, schemaContext);
}
@Override
public DOMStoreWriteTransaction newWriteOnlyTransaction() {
return new TransactionProxy(actorContext, TransactionProxy.TransactionType.WRITE_ONLY,
- executor);
+ executor, schemaContext);
}
@Override
public DOMStoreReadWriteTransaction newReadWriteTransaction() {
return new TransactionProxy(actorContext, TransactionProxy.TransactionType.READ_WRITE,
- executor);
+ executor, schemaContext);
}
@Override public void onGlobalContextUpdated(SchemaContext schemaContext) {
+ this.schemaContext = schemaContext;
actorContext.getShardManager().tell(
new UpdateSchemaContext(schemaContext), null);
}