You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2015/04/22 11:58:18 UTC

svn commit: r1675307 - /sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/tasks/CleanUpTask.java

Author: cziegeler
Date: Wed Apr 22 09:58:18 2015
New Revision: 1675307

URL: http://svn.apache.org/r1675307
Log:
SLING-4582 : Maintenance tasks should guard against NPE

Modified:
    sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/tasks/CleanUpTask.java

Modified: sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/tasks/CleanUpTask.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/tasks/CleanUpTask.java?rev=1675307&r1=1675306&r2=1675307&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/tasks/CleanUpTask.java (original)
+++ sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/tasks/CleanUpTask.java Wed Apr 22 09:58:18 2015
@@ -105,35 +105,37 @@ public class CleanUpTask {
             if ( resolver != null ) {
                 try {
                     final Resource parentResource = resolver.getResource(this.configuration.getLocksPath());
-                    final Calendar startDate = Calendar.getInstance();
-                    startDate.add(Calendar.MINUTE, -2);
+                    if ( parentResource != null ) {
+                        final Calendar startDate = Calendar.getInstance();
+                        startDate.add(Calendar.MINUTE, -2);
 
-                    this.lockCleanup(caps, candidates, parentResource, startDate);
-                    final BatchResourceRemover remover = new BatchResourceRemover();
-                    boolean batchRemove = true;
-                    for(final Resource lockResource : candidates) {
-                        if ( caps.isActive() ) {
-                            try {
-                                if ( batchRemove ) {
-                                    remover.delete(lockResource);
-                                } else {
-                                    resolver.delete(lockResource);
-                                    resolver.commit();
+                        this.lockCleanup(caps, candidates, parentResource, startDate);
+                        final BatchResourceRemover remover = new BatchResourceRemover();
+                        boolean batchRemove = true;
+                        for(final Resource lockResource : candidates) {
+                            if ( caps.isActive() ) {
+                                try {
+                                    if ( batchRemove ) {
+                                        remover.delete(lockResource);
+                                    } else {
+                                        resolver.delete(lockResource);
+                                        resolver.commit();
+                                    }
+                                } catch ( final PersistenceException pe) {
+                                    batchRemove = false;
+                                    this.ignoreException(pe);
+                                    resolver.refresh();
                                 }
-                            } catch ( final PersistenceException pe) {
-                                batchRemove = false;
-                                this.ignoreException(pe);
-                                resolver.refresh();
+                            } else {
+                                break;
                             }
-                        } else {
-                            break;
                         }
-                    }
-                    try {
-                        resolver.commit();
-                    } catch ( final PersistenceException pe) {
-                        this.ignoreException(pe);
-                        resolver.refresh();
+                        try {
+                            resolver.commit();
+                        } catch ( final PersistenceException pe) {
+                            this.ignoreException(pe);
+                            resolver.refresh();
+                        }
                     }
                 } finally {
                     resolver.close();