/** * {@inheritDoc} * <p> * This method does not clone the results. * </p> * * @see org.modeshape.graph.request.ChangeRequest#clone() */ @Override public CreateNodeRequest clone() { CreateNodeRequest request = new CreateNodeRequest(under, workspaceName, childName, conflictBehavior, properties); request.setActualLocationOfNode(actualLocation); return request; }
/** * {@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()); }
Collection<Property> nodePoperties = readSubgraph.getPropertiesFor(location).values(); CreateNodeRequest create = new CreateNodeRequest(parent, workspaceName, childName, nodePoperties); create.setActualLocationOfNode(location); // set this so we don't have to figure it out process(create); if (create.isCancelled() || create.hasError()) return;
/** * {@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)); }
@Override public void process( CreateNodeRequest request ) { // Just update the actual location ... Location parent = actualLocationOf(request.under()); // just make sure it has a path ... Name name = request.named(); Path childPath = context.getValueFactories().getPathFactory().create(parent.getPath(), name); request.setActualLocationOfNode(Location.create(childPath)); }
Path path = txn.pathFor(workspace, node); Location actualLocation = getActualLocation(workspace, Location.create(path), node); request.setActualLocationOfNode(actualLocation); recordChange(request);
request.setActualLocationOfNode(actualLocation); recordChange(request);
request.setActualLocationOfNode(actualLocation); recordChange(request);
request.setActualLocationOfNode(projectedNode.location()); return;