[dna-commits] DNA SVN: r1539 - in trunk/dna-graph/src/main/java/org/jboss/dna/graph/connector: path/cache and 1 other directory.

dna-commits at lists.jboss.org dna-commits at lists.jboss.org
Wed Jan 6 18:50:23 EST 2010


Author: rhauch
Date: 2010-01-06 18:50:22 -0500 (Wed, 06 Jan 2010)
New Revision: 1539

Modified:
   trunk/dna-graph/src/main/java/org/jboss/dna/graph/connector/federation/JoinRequestProcessor.java
   trunk/dna-graph/src/main/java/org/jboss/dna/graph/connector/path/cache/InMemoryWorkspaceCache.java
Log:
Corrected several compiler warnings for potential null pointers. These warnings were correct.

Modified: trunk/dna-graph/src/main/java/org/jboss/dna/graph/connector/federation/JoinRequestProcessor.java
===================================================================
--- trunk/dna-graph/src/main/java/org/jboss/dna/graph/connector/federation/JoinRequestProcessor.java	2010-01-06 23:49:59 UTC (rev 1538)
+++ trunk/dna-graph/src/main/java/org/jboss/dna/graph/connector/federation/JoinRequestProcessor.java	2010-01-06 23:50:22 UTC (rev 1539)
@@ -838,9 +838,11 @@
     @Override
     public void process( CreateNodeRequest request ) {
         ProjectedRequest projected = federatedRequest.getFirstProjectedRequest();
+        // Check the projection first ...
+        if (checkErrorOrCancel(request, federatedRequest)) return;
 
-        Request projectedRequest = projected == null ? null : projected.getRequest();
-        // Check the error first ...
+        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 ...
@@ -866,8 +868,10 @@
     @Override
     public void process( UpdatePropertiesRequest request ) {
         ProjectedRequest projected = federatedRequest.getFirstProjectedRequest();
+        // Check the projection first ...
+        if (checkErrorOrCancel(request, federatedRequest)) return;
 
-        UpdatePropertiesRequest source = projected == null ? null : (UpdatePropertiesRequest)projected.getRequest();
+        UpdatePropertiesRequest source = (UpdatePropertiesRequest)projected.getRequest();
         if (checkErrorOrCancel(request, source)) return;
         Location sourceLocation = source.getActualLocationOfNode();
         request.setActualLocationOfNode(projectToFederated(request.on(), projected.getProjection(), sourceLocation, request));
@@ -882,8 +886,10 @@
     @Override
     public void process( SetPropertyRequest request ) {
         ProjectedRequest projected = federatedRequest.getFirstProjectedRequest();
+        // Check the projection first ...
+        if (checkErrorOrCancel(request, federatedRequest)) return;
 
-        SetPropertyRequest source = projected == null ? null : (SetPropertyRequest)projected.getRequest();
+        SetPropertyRequest source = (SetPropertyRequest)projected.getRequest();
         if (checkErrorOrCancel(request, source)) return;
         // Set the actual location and created flags ...
         Location sourceLocation = source.getActualLocationOfNode();
@@ -899,8 +905,10 @@
     @Override
     public void process( RemovePropertyRequest request ) {
         ProjectedRequest projected = federatedRequest.getFirstProjectedRequest();
+        // Check the projection first ...
+        if (checkErrorOrCancel(request, federatedRequest)) return;
 
-        SetPropertyRequest source = projected == null ? null : (SetPropertyRequest)projected.getRequest();
+        SetPropertyRequest source = (SetPropertyRequest)projected.getRequest();
         if (checkErrorOrCancel(request, source)) return;
         Location sourceLocation = source.getActualLocationOfNode();
         request.setActualLocationOfNode(projectToFederated(request.from(), projected.getProjection(), sourceLocation, request));
@@ -914,9 +922,11 @@
     @Override
     public void process( DeleteBranchRequest request ) {
         ProjectedRequest projected = federatedRequest.getFirstProjectedRequest();
+        // Check the projection first ...
+        if (checkErrorOrCancel(request, federatedRequest)) return;
 
         // Do an initial check to make sure that there was no error on the source that prevented projection
-        Request projectedSource = projected == null ? null : projected.getRequest();
+        Request projectedSource = projected.getRequest();
         if (checkErrorOrCancel(request, projectedSource)) return;
 
         // Go through the projected requests, and look for the top-most node ...
@@ -954,9 +964,11 @@
     @Override
     public void process( DeleteChildrenRequest request ) {
         ProjectedRequest projected = federatedRequest.getFirstProjectedRequest();
+        // Check the projection first ...
+        if (checkErrorOrCancel(request, federatedRequest)) return;
 
         // Do an initial check to make sure that there was no error on the source that prevented projection
-        Request projectedSource = projected == null ? null : projected.getRequest();
+        Request projectedSource = projected.getRequest();
         if (checkErrorOrCancel(request, projectedSource)) return;
 
         // Go through the projected requests, and look for the top-most node ...
@@ -986,8 +998,10 @@
     @Override
     public void process( RenameNodeRequest request ) {
         ProjectedRequest projected = federatedRequest.getFirstProjectedRequest();
+        // Check the projection first ...
+        if (checkErrorOrCancel(request, federatedRequest)) return;
 
-        RenameNodeRequest source = projected == null ? null : (RenameNodeRequest)projected.getRequest();
+        RenameNodeRequest source = (RenameNodeRequest)projected.getRequest();
         if (checkErrorOrCancel(request, source)) return;
         Location locationBefore = source.getActualLocationBefore();
         Location locationAfter = source.getActualLocationBefore();
@@ -1004,8 +1018,10 @@
     @Override
     public void process( CopyBranchRequest request ) {
         ProjectedRequest projected = federatedRequest.getFirstProjectedRequest();
+        // Check the projection first ...
+        if (checkErrorOrCancel(request, federatedRequest)) return;
 
-        CopyBranchRequest source = projected == null ? null : (CopyBranchRequest)projected.getRequest();
+        CopyBranchRequest source = (CopyBranchRequest)projected.getRequest();
         if (checkErrorOrCancel(request, source)) return;
         Location locationBefore = source.getActualLocationBefore();
         Location locationAfter = source.getActualLocationBefore();
@@ -1022,8 +1038,10 @@
     @Override
     public void process( CloneBranchRequest request ) {
         ProjectedRequest projected = federatedRequest.getFirstProjectedRequest();
+        // Check the projection first ...
+        if (checkErrorOrCancel(request, federatedRequest)) return;
 
-        CloneBranchRequest source = projected == null ? null : (CloneBranchRequest)projected.getRequest();
+        CloneBranchRequest source = (CloneBranchRequest)projected.getRequest();
         if (checkErrorOrCancel(request, source)) return;
         Location locationBefore = source.getActualLocationBefore();
         Location locationAfter = source.getActualLocationBefore();
@@ -1047,8 +1065,10 @@
     @Override
     public void process( MoveBranchRequest request ) {
         ProjectedRequest projected = federatedRequest.getFirstProjectedRequest();
+        // Check the projection first ...
+        if (checkErrorOrCancel(request, federatedRequest)) return;
 
-        MoveBranchRequest source = projected == null ? null : (MoveBranchRequest)projected.getRequest();
+        MoveBranchRequest source = (MoveBranchRequest)projected.getRequest();
         if (checkErrorOrCancel(request, source)) return;
         Location locationBefore = source.getActualLocationBefore();
         Location locationAfter = source.getActualLocationBefore();
@@ -1160,6 +1180,22 @@
     }
 
     protected boolean checkErrorOrCancel( Request request,
+                                          FederatedRequest federatedRequest ) {
+        if (federatedRequest.getFirstProjectedRequest() == null) {
+            Request original = federatedRequest.original();
+            if (original.hasError()) {
+                // No source requests had results ...
+                request.setError(original.getError());
+                return true;
+            }
+            assert original.isCancelled();
+            request.cancel();
+            return true;
+        }
+        return false;
+    }
+
+    protected boolean checkErrorOrCancel( Request request,
                                           Request sourceRequest ) {
         if (sourceRequest.hasError()) {
             request.setError(sourceRequest.getError());

Modified: trunk/dna-graph/src/main/java/org/jboss/dna/graph/connector/path/cache/InMemoryWorkspaceCache.java
===================================================================
--- trunk/dna-graph/src/main/java/org/jboss/dna/graph/connector/path/cache/InMemoryWorkspaceCache.java	2010-01-06 23:49:59 UTC (rev 1538)
+++ trunk/dna-graph/src/main/java/org/jboss/dna/graph/connector/path/cache/InMemoryWorkspaceCache.java	2010-01-06 23:50:22 UTC (rev 1539)
@@ -62,18 +62,18 @@
 
         CacheEntry entry = nodesByPath.get(path);
         if (entry == null) {
-            statistics.misses.getAndIncrement();
+            statistics.incrementMisses();
             return null;
         }
 
         PathNode node = entry.getNode();
         if (node != null) {
-            statistics.hits.getAndIncrement();
+            statistics.incrementHits();
             return node;
         }
 
         nodesByPath.remove(path, entry);
-        statistics.expirations.getAndIncrement();
+        statistics.incrementExpirations();
         return null;
     }
 
@@ -81,8 +81,8 @@
         assert node != null;
 
         if (!policy.shouldCache(node)) return;
-        
-        statistics.writes.getAndIncrement();
+
+        statistics.incrementWrites();
         nodesByPath.put(node.getPath(), new CacheEntry(node));
     }
 
@@ -104,13 +104,17 @@
         this.statistics = null;
     }
 
+    protected PathCachePolicy policy() {
+        return this.policy;
+    }
+
     class CacheEntry {
         private final SoftReference<PathNode> ref;
         private final long expiryTime;
 
         CacheEntry( PathNode node ) {
             ref = new SoftReference<PathNode>(node);
-            expiryTime = System.currentTimeMillis() + (policy.getTimeToLive() * 1000);
+            expiryTime = System.currentTimeMillis() + (policy().getTimeToLive() * 1000);
         }
 
         PathNode getNode() {
@@ -143,5 +147,21 @@
         public long getExpirations() {
             return expirations.get();
         }
+
+        public long incrementWrites() {
+            return writes.getAndIncrement();
+        }
+
+        public long incrementHits() {
+            return hits.getAndIncrement();
+        }
+
+        public long incrementMisses() {
+            return misses.getAndIncrement();
+        }
+
+        public long incrementExpirations() {
+            return expirations.getAndIncrement();
+        }
     }
 }



More information about the dna-commits mailing list