Author: bcarothers
Date: 2009-10-27 16:02:40 -0400 (Tue, 27 Oct 2009)
New Revision: 1311
Modified:
trunk/dna-graph/src/main/java/org/jboss/dna/graph/request/processor/RequestProcessor.java
Log:
DNA-457 Add JSR-170 Locking Optional Feature
The attached patch (DNA-457_fixed_RequestProcessor.patch) corrects the default
RequestProcessor implementation to populate the actual location on the request, looking up
the path for the node if necessary.
Modified:
trunk/dna-graph/src/main/java/org/jboss/dna/graph/request/processor/RequestProcessor.java
===================================================================
---
trunk/dna-graph/src/main/java/org/jboss/dna/graph/request/processor/RequestProcessor.java 2009-10-27
19:12:46 UTC (rev 1310)
+++
trunk/dna-graph/src/main/java/org/jboss/dna/graph/request/processor/RequestProcessor.java 2009-10-27
20:02:40 UTC (rev 1311)
@@ -866,6 +866,21 @@
* @param request the request
*/
public void process( LockBranchRequest request ) {
+ Location actualLocation = request.at();
+ if (!actualLocation.hasPath()) {
+ VerifyNodeExistsRequest nodeExists = new
VerifyNodeExistsRequest(request.at(), request.inWorkspace());
+
+ process(nodeExists);
+
+ if (nodeExists.hasError()) {
+ request.setError(nodeExists.getError());
+ return;
+ }
+
+ actualLocation = nodeExists.getActualLocationOfNode();
+ }
+
+ request.setActualLocation(actualLocation);
}
/**
@@ -879,6 +894,21 @@
* @param request the request
*/
public void process( UnlockBranchRequest request ) {
+ Location actualLocation = request.at();
+ if (!actualLocation.hasPath()) {
+ VerifyNodeExistsRequest nodeExists = new
VerifyNodeExistsRequest(request.at(), request.inWorkspace());
+
+ process(nodeExists);
+
+ if (nodeExists.hasError()) {
+ request.setError(nodeExists.getError());
+ return;
+ }
+
+ actualLocation = nodeExists.getActualLocationOfNode();
+ }
+
+ request.setActualLocation(actualLocation);
}
/**
Show replies by date