]> source.dussan.org Git - archiva.git/commitdiff
[MRM-357]: Update Consumers button in Repository Scanning doesn't work
authorJoakim Erdfelt <joakime@apache.org>
Thu, 21 Jun 2007 17:41:21 +0000 (17:41 +0000)
committerJoakim Erdfelt <joakime@apache.org>
Thu, 21 Jun 2007 17:41:21 +0000 (17:41 +0000)
Applying patch from Napoleon Ramirez.

git-svn-id: https://svn.apache.org/repos/asf/maven/archiva/trunk@549567 13f79535-47bb-0310-9956-ffa450edef68

archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/scanning/RepositoryScanningAction.java
archiva-web/archiva-webapp/src/main/resources/xwork.xml
archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/repositoryScanning.jsp

index 2ea6bf601b967f3e794f6db5c93bdfc809a3d3f8..df08dbcf77835a7db4b6c78bf8158eef9e331950 100644 (file)
@@ -73,12 +73,22 @@ public class RepositoryScanningAction
     /**
      * List of {@link AdminRepositoryConsumer} objects for consumers of known content.
      */
-    private List knownContentConsumers = new ArrayList();
+    private List knownContentConsumers;
+    
+    /**
+     * List of enabled {@link AdminRepositoryConsumer} objects for consumers of known content.
+     */
+    private List enabledKnownContentConsumers;
 
     /**
      * List of {@link AdminRepositoryConsumer} objects for consumers of invalid/unknown content.
      */
-    private List invalidContentConsumers = new ArrayList();
+    private List invalidContentConsumers;
+    
+    /**
+     * List of enabled {@link AdminRepositoryConsumer} objects for consumers of invalid/unknown content.
+     */
+    private List enabledInvalidContentConsumers;
 
     private String pattern;
 
@@ -183,14 +193,12 @@ public class RepositoryScanningAction
 
         addAdminRepoConsumer = new AddAdminRepoConsumerClosure( reposcanning.getKnownContentConsumers() );
         CollectionUtils.forAllDo( repoconsumerUtil.getAvailableKnownConsumers(), addAdminRepoConsumer );
-        knownContentConsumers.clear();
-        knownContentConsumers.addAll( addAdminRepoConsumer.getList() );
+        this.knownContentConsumers = addAdminRepoConsumer.getList();
         Collections.sort( knownContentConsumers, AdminRepositoryConsumerComparator.getInstance() );
 
         addAdminRepoConsumer = new AddAdminRepoConsumerClosure( reposcanning.getInvalidContentConsumers() );
         CollectionUtils.forAllDo( repoconsumerUtil.getAvailableInvalidConsumers(), addAdminRepoConsumer );
-        invalidContentConsumers.clear();
-        invalidContentConsumers.addAll( addAdminRepoConsumer.getList() );
+        this.invalidContentConsumers = addAdminRepoConsumer.getList();
         Collections.sort( invalidContentConsumers, AdminRepositoryConsumerComparator.getInstance() );
 
         fileTypeIds = new ArrayList();
@@ -232,13 +240,19 @@ public class RepositoryScanningAction
     public String updateInvalidConsumers()
     {
         addActionMessage("Update Invalid Consumers");
-        return INPUT;
+        
+        archivaConfiguration.getConfiguration().getRepositoryScanning().setInvalidContentConsumers( enabledInvalidContentConsumers );
+        
+        return saveConfiguration();
     }
 
     public String updateKnownConsumers()
     {
         addActionMessage("Update Known Consumers");
-        return INPUT;
+        
+        archivaConfiguration.getConfiguration().getRepositoryScanning().setKnownContentConsumers( enabledKnownContentConsumers );
+        
+        return saveConfiguration();
     }
 
     private FileType findFileType( String id )
@@ -272,8 +286,29 @@ public class RepositoryScanningAction
         catch ( RegistryException e )
         {
             addActionError( "Unable to save configuration: " + e.getMessage() );
+            return INPUT;
         }
 
-        return INPUT;
+        return SUCCESS;
+    }
+
+    public List getEnabledInvalidContentConsumers()
+    {
+        return enabledInvalidContentConsumers;
+    }
+
+    public void setEnabledInvalidContentConsumers( List enabledInvalidContentConsumers )
+    {
+        this.enabledInvalidContentConsumers = enabledInvalidContentConsumers;
+    }
+
+    public List getEnabledKnownContentConsumers()
+    {
+        return enabledKnownContentConsumers;
+    }
+
+    public void setEnabledKnownContentConsumers( List enabledKnownContentConsumers )
+    {
+        this.enabledKnownContentConsumers = enabledKnownContentConsumers;
     }
 }
index ad6781a1ff91faa2ee8c9b83e8315790e969e1c0..8bd76ea2c61a40cd5f142312be0339c7de9ae7db 100644 (file)
     
     <action name="repositoryScanning" class="repositoryScanningAction" method="input">
       <result name="input">/WEB-INF/jsp/admin/repositoryScanning.jsp</result>
+      <result name="success" type="redirect-action">
+        <param name="actionName">repositoryScanning</param>
+      </result>
     </action>
     
     <!-- .\ DATABASE \.________________________________________________ -->
index 16fd98470ac68cc2b3420c65c7c95bc180ae44ef..ff5f64df910dfd3a1e5b83a8adfed4e0090010ea 100644 (file)
 
         <tr>
           <td class="${bgcolor}">
-            <ww:checkbox name="enabledKnownConsumer[]" theme="simple" value="${consumer.enabled}" />
+            <input type="checkbox" name="enabledKnownContentConsumers" theme="simple" value="${consumer.id}" <c:if test="${consumer.enabled}">checked</c:if> />
           </td>
           <td class="${bgcolor}">
             <c:if test="${consumer.enabled}">
 
         <tr>
           <td class="${bgcolor}">
-            <ww:checkbox name="enabledUnknownConsumer[]" theme="simple" value="${consumer.enabled}" />
+            <input type="checkbox" name="enabledInvalidContentConsumers" theme="simple" value="${consumer.id}" <c:if test="${consumer.enabled}">checked</c:if> />
           </td>
           <td class="${bgcolor}">
             <c:if test="${consumer.enabled}">