public Location getLocation() { Location parentLoc = Location.create(parent); CreateNodeRequest request = requests.createNode(parentLoc, workspaceName, childName, this.properties.iterator()); return request.getActualLocationOfNode(); }
public Node getNode() { Location parentLoc = Location.create(parent); CreateNodeRequest request = requests.createNode(parentLoc, workspaceName, childName, this.properties.iterator()); return getNodeAt(request.getActualLocationOfNode()); }
/** * {@inheritDoc} * * @see org.modeshape.graph.request.processor.RequestProcessor#process(org.modeshape.graph.request.CreateNodeRequest) */ @Override public void process( CreateNodeRequest request ) { CreateNodeRequest source = (CreateNodeRequest)federatedRequest.getFirstProjectedRequest().getRequest(); if (checkErrorOrCancel(request, source)) return; request.setActualLocationOfNode(source.getActualLocationOfNode()); }
/** * {@inheritDoc} * * @see org.modeshape.graph.request.processor.RequestProcessor#process(org.modeshape.graph.request.CreateNodeRequest) */ @Override public void process( CreateNodeRequest request ) { ProjectedRequest projected = federatedRequest.getFirstProjectedRequest(); // Check the projection first ... if (checkErrorOrCancel(request, federatedRequest)) return; Request projectedRequest = projected.getRequest(); // Check the error on the projected request ... if (checkErrorOrCancel(request, projectedRequest)) return; // No error, so project the results back to the federated repository ... Location sourceLocation = null; if (RequestType.CREATE_NODE == projectedRequest.getType()) { CreateNodeRequest source = (CreateNodeRequest)projectedRequest; sourceLocation = source.getActualLocationOfNode(); } else if (RequestType.READ_NODE == projectedRequest.getType()) { // In this case, the original request was to create the node only if it was missing, // but we knew it already exists because the parent was a placeholder and the child // mapped to an existing proxy node. Therefore, record the location... ReadNodeRequest source = (ReadNodeRequest)projectedRequest; sourceLocation = source.getActualLocationOfNode(); } request.setActualLocationOfNode(projectToFederated(request.under(), projected.getProjection(), sourceLocation, request)); }
Location locationAfter = createRequest.getActualLocationOfNode();