*/
@Override
public void process( VerifyWorkspaceRequest request ) {
ProjectedRequest projectedRequest = federatedRequest.getFirstProjectedRequest();
Location actualLocation = Location.create(getExecutionContext().getValueFactories().getPathFactory().createRootPath());
while (projectedRequest != null) {
VerifyNodeExistsRequest readFromSource = (VerifyNodeExistsRequest)projectedRequest.getRequest();
if (readFromSource.hasError()) {
request.setError(readFromSource.getError());
return;
}
request.setError(null);
if (readFromSource.isCancelled()) {
request.cancel();
return;
}
Location sourceLocation = readFromSource.getActualLocationOfNode();
if (sourceLocation.hasIdProperties()) {
// Accumulate the identification properties ...
for (Property propertyInSource : sourceLocation.getIdProperties()) {
Name name = propertyInSource.getName();
Property existing = actualLocation.getIdProperty(name);
if (existing != null) {
// Merge the property values ...
propertyInSource = merge(existing, propertyInSource, propertyFactory, true);