]> source.dussan.org Git - archiva.git/commitdiff
ensure we remove scannerInstance from the queue in a finally block, minor javascript...
authorOlivier Lamy <olamy@apache.org>
Fri, 9 Mar 2012 22:35:55 +0000 (22:35 +0000)
committerOlivier Lamy <olamy@apache.org>
Fri, 9 Mar 2012 22:35:55 +0000 (22:35 +0000)
git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1299081 13f79535-47bb-0310-9956-ffa450edef68

archiva-modules/archiva-base/archiva-repository-scanner/src/main/java/org/apache/archiva/repository/scanner/DefaultRepositoryScanner.java
archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/utils.js

index b207869471d607da8db88a05d647cf9007b6721a..469321de54c119dd8ae0f3f19a327c074d731393 100644 (file)
@@ -21,11 +21,11 @@ package org.apache.archiva.repository.scanner;
 
 import org.apache.archiva.admin.model.RepositoryAdminException;
 import org.apache.archiva.admin.model.beans.ManagedRepository;
-import org.apache.commons.collections.CollectionUtils;
 import org.apache.archiva.configuration.FileTypes;
 import org.apache.archiva.consumers.InvalidRepositoryContentConsumer;
 import org.apache.archiva.consumers.KnownRepositoryContentConsumer;
 import org.apache.archiva.consumers.RepositoryContentConsumer;
+import org.apache.commons.collections.CollectionUtils;
 import org.codehaus.plexus.util.DirectoryWalker;
 import org.springframework.stereotype.Service;
 
@@ -130,17 +130,23 @@ public class DefaultRepositoryScanner
 
         inProgressScans.add( scannerInstance );
 
-        dirWalker.addDirectoryWalkListener( scannerInstance );
-
-        // Execute scan.
-        dirWalker.scan();
+        RepositoryScanStatistics stats;
+        try
+        {
+            dirWalker.addDirectoryWalkListener( scannerInstance );
 
-        RepositoryScanStatistics stats = scannerInstance.getStatistics();
+            // Execute scan.
+            dirWalker.scan();
 
-        stats.setKnownConsumers( gatherIds( knownContentConsumers ) );
-        stats.setInvalidConsumers( gatherIds( invalidContentConsumers ) );
+            stats = scannerInstance.getStatistics();
 
-        inProgressScans.remove( scannerInstance );
+            stats.setKnownConsumers( gatherIds( knownContentConsumers ) );
+            stats.setInvalidConsumers( gatherIds( invalidContentConsumers ) );
+        }
+        finally
+        {
+            inProgressScans.remove( scannerInstance );
+        }
 
         return stats;
     }
index 815605f927da892ec653c471ba2366df6f89b7cb..5ae75e7300283ef0148b0dd138ac922baf5b36bc 100644 (file)
@@ -289,7 +289,7 @@ customShowError=function(selector, validator, errorMap, errorList) {
   $(selector).find("span.help-inline").remove();
   for ( var i = 0; errorList[i]; i++ ) {
     var error = errorList[i];
-    var field = $(selector).find("#"+error.element.id);// $.isFunction(selector)? selector.find(fieldSelector ).get(0):$(selector).find(selector);
+    var field = $(selector).find("#"+error.element.id);
     field.parents( "div.control-group" ).addClass( "error" );
     field.parent().append( "<span class=\"help-inline\">" + error.message + "</span>" );
   }
@@ -314,10 +314,9 @@ appendTemplateUrl=function(){
 Entry=function(key,value){
   var self=this;
   this.key=ko.observable(key);
-  //this.key.subscribe(function(newValue){self.modified(true)});
   this.value=ko.observable(value);
-  //this.value.subscribe(function(newValue){self.modified(true)});
 }
+
 /**
  * map {"strings":["snapshots","internal"]} to an array
  * @param data
@@ -345,7 +344,10 @@ unifyArray=function(strArray,sorted){
   return sorted?res.sort():res;
 }
 
-// utils
+//------------------------------------
+// utils javascript string extensions
+//------------------------------------
+
 String.prototype.endsWith = function(str) {
   return (this.match(str+"$")==str)
 }
@@ -358,7 +360,10 @@ String.prototype.substringBeforeLast = function(str) {
   return this.substring(0,this.lastIndexOf(str));
 }
 
+//-----------------------------------------
 // extends jquery tmpl to support var def
+//-----------------------------------------
+
 $.extend($.tmpl.tag, {
     "var": {
         open: "var $1;"