You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by jo...@apache.org on 2007/10/20 00:48:01 UTC

svn commit: r586635 - in /maven/archiva/trunk/archiva-web/archiva-webapp/src: main/java/org/apache/maven/archiva/web/action/admin/repositories/ test/java/org/apache/maven/archiva/web/action/admin/repositories/

Author: joakime
Date: Fri Oct 19 15:47:43 2007
New Revision: 586635

URL: http://svn.apache.org/viewvc?rev=586635&view=rev
Log:
[MRM-520] Proxy Connectors are not deleted with the deletion of a Repository.
Added ability of delete (managed|remote) repository action to clear out the associated proxy connector.
Added tests.


Modified:
    maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/AbstractRepositoriesAdminAction.java
    maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryAction.java
    maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteRemoteRepositoryAction.java
    maven/archiva/trunk/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryActionTest.java
    maven/archiva/trunk/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteRemoteRepositoryActionTest.java

Modified: maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/AbstractRepositoriesAdminAction.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/AbstractRepositoriesAdminAction.java?rev=586635&r1=586634&r2=586635&view=diff
==============================================================================
--- maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/AbstractRepositoriesAdminAction.java (original)
+++ maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/AbstractRepositoriesAdminAction.java Fri Oct 19 15:47:43 2007
@@ -23,6 +23,7 @@
 import org.apache.maven.archiva.configuration.Configuration;
 import org.apache.maven.archiva.configuration.IndeterminateConfigurationException;
 import org.apache.maven.archiva.configuration.InvalidConfigurationException;
+import org.apache.maven.archiva.configuration.ProxyConnectorConfiguration;
 import org.apache.maven.archiva.security.ArchivaRoleConstants;
 import org.codehaus.plexus.redback.rbac.Resource;
 import org.codehaus.plexus.redback.xwork.interceptor.SecureAction;
@@ -32,6 +33,8 @@
 import org.codehaus.plexus.xwork.action.PlexusActionSupport;
 
 import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * Abstract AdminRepositories Action base.
@@ -100,5 +103,15 @@
         }
 
         return SUCCESS;
+    }
+
+    /**
+     * Get the list of ProxyConnectors that are present in the configuration.
+     * 
+     * @return a new list of ProxyConnectors present in the configuration.
+     */
+    protected List<ProxyConnectorConfiguration> getProxyConnectors()
+    {
+        return new ArrayList<ProxyConnectorConfiguration>( archivaConfiguration.getConfiguration().getProxyConnectors() );
     }
 }

Modified: maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryAction.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryAction.java?rev=586635&r1=586634&r2=586635&view=diff
==============================================================================
--- maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryAction.java (original)
+++ maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryAction.java Fri Oct 19 15:47:43 2007
@@ -24,9 +24,11 @@
 import org.apache.commons.lang.StringUtils;
 import org.apache.maven.archiva.configuration.Configuration;
 import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
+import org.apache.maven.archiva.configuration.ProxyConnectorConfiguration;
 import org.codehaus.plexus.redback.role.RoleManagerException;
 
 import java.io.IOException;
+import java.util.List;
 
 /**
  * DeleteManagedRepositoryAction 
@@ -123,7 +125,15 @@
 
         // TODO: [MRM-265] After removing a managed repository - Browse/Search still see it
         
-        // TODO: [MRM-520] Proxy Connectors are not deleted with the deletion of a Repository.
+        // [MRM-520] Proxy Connectors are not deleted with the deletion of a Repository.
+        List<ProxyConnectorConfiguration> proxyConnectors = getProxyConnectors();
+        for ( ProxyConnectorConfiguration proxyConnector : proxyConnectors )
+        {
+            if ( StringUtils.equals( proxyConnector.getSourceRepoId(), cleanupRepository.getId() ) )
+            {
+                archivaConfiguration.getConfiguration().removeProxyConnector( proxyConnector );
+            }
+        }
     }
 
     public ManagedRepositoryConfiguration getRepository()

Modified: maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteRemoteRepositoryAction.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteRemoteRepositoryAction.java?rev=586635&r1=586634&r2=586635&view=diff
==============================================================================
--- maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteRemoteRepositoryAction.java (original)
+++ maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteRemoteRepositoryAction.java Fri Oct 19 15:47:43 2007
@@ -23,8 +23,11 @@
 
 import org.apache.commons.lang.StringUtils;
 import org.apache.maven.archiva.configuration.Configuration;
+import org.apache.maven.archiva.configuration.ProxyConnectorConfiguration;
 import org.apache.maven.archiva.configuration.RemoteRepositoryConfiguration;
 
+import java.util.List;
+
 /**
  * DeleteRemoteRepositoryAction 
  *
@@ -81,7 +84,16 @@
 
     private void cleanupRepositoryData( RemoteRepositoryConfiguration existingRepository )
     {
-        // TODO: [MRM-520] Proxy Connectors are not deleted with the deletion of a Repository.
+        // [MRM-520] Proxy Connectors are not deleted with the deletion of a Repository.
+        
+        List<ProxyConnectorConfiguration> proxyConnectors = getProxyConnectors();
+        for ( ProxyConnectorConfiguration proxyConnector : proxyConnectors )
+        {
+            if ( StringUtils.equals( proxyConnector.getTargetRepoId(), existingRepository.getId() ) )
+            {
+                archivaConfiguration.getConfiguration().removeProxyConnector( proxyConnector );
+            }
+        }
     }
 
     public RemoteRepositoryConfiguration getRepository()

Modified: maven/archiva/trunk/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryActionTest.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryActionTest.java?rev=586635&r1=586634&r2=586635&view=diff
==============================================================================
--- maven/archiva/trunk/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryActionTest.java (original)
+++ maven/archiva/trunk/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryActionTest.java Fri Oct 19 15:47:43 2007
@@ -25,6 +25,8 @@
 import org.apache.maven.archiva.configuration.Configuration;
 import org.apache.maven.archiva.configuration.IndeterminateConfigurationException;
 import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
+import org.apache.maven.archiva.configuration.ProxyConnectorConfiguration;
+import org.apache.maven.archiva.configuration.RemoteRepositoryConfiguration;
 import org.apache.maven.archiva.security.ArchivaRoleConstants;
 import org.codehaus.plexus.PlexusTestCase;
 import org.codehaus.plexus.redback.role.RoleManager;
@@ -120,7 +122,7 @@
     {
         prepareRoleManagerMock();
         
-        Configuration configuration = prepDeletionTest( createRepository(), "delete-entry" );
+        Configuration configuration = prepDeletionTest( createRepository(), 3 );
         String status = action.deleteEntry();
         assertEquals( Action.SUCCESS, status );
 
@@ -134,7 +136,7 @@
     {
         prepareRoleManagerMock();
         
-        Configuration configuration = prepDeletionTest( createRepository(), "delete-contents" );
+        Configuration configuration = prepDeletionTest( createRepository(), 3 );
         String status = action.deleteContents();
         assertEquals( Action.SUCCESS, status );
 
@@ -142,12 +144,33 @@
 
         assertFalse( location.exists() );
     }
+    
+    public void testDeleteRepositoryAndAssociatedProxyConnectors()
+        throws Exception
+    {
+        Configuration configuration = prepDeletionTest( createRepository(), 4 );
+        configuration.addRemoteRepository( createRemoteRepository( "codehaus", "http://repository.codehaus.org" ) );
+        configuration.addRemoteRepository( createRemoteRepository( "java.net", "http://dev.java.net/maven2" ) );
+        configuration.addProxyConnector( createProxyConnector( REPO_ID, "codehaus" ) );
+
+        prepareRoleManagerMock();
+
+        assertEquals( 1, configuration.getProxyConnectors().size() );
+        
+        String status = action.deleteContents();
+        assertEquals( Action.SUCCESS, status );
+
+        assertTrue( configuration.getManagedRepositories().isEmpty() );
+        assertEquals( 0, configuration.getProxyConnectors().size() );
 
+        assertFalse( location.exists() );
+    }
+    
     public void testDeleteRepositoryCancelled()
         throws Exception
     {
         ManagedRepositoryConfiguration originalRepository = createRepository();
-        Configuration configuration = prepDeletionTest( originalRepository, null );
+        Configuration configuration = prepDeletionTest( originalRepository, 3 );
         String status = action.execute();
         assertEquals( Action.SUCCESS, status );
 
@@ -158,7 +181,7 @@
         assertTrue( location.exists() );
     }
 
-    private Configuration prepDeletionTest( ManagedRepositoryConfiguration originalRepository, String mode )
+    private Configuration prepDeletionTest( ManagedRepositoryConfiguration originalRepository, int expectCountGetConfig )
         throws RegistryException, IndeterminateConfigurationException
     {
         location.mkdirs();
@@ -166,9 +189,7 @@
         Configuration configuration = createConfigurationForEditing( originalRepository );
 
         archivaConfiguration.getConfiguration();
-        archivaConfigurationControl.setReturnValue( configuration );
-        archivaConfiguration.getConfiguration();
-        archivaConfigurationControl.setReturnValue( configuration );
+        archivaConfigurationControl.setReturnValue( configuration, expectCountGetConfig );
 
         archivaConfiguration.save( configuration );
         archivaConfigurationControl.replay();
@@ -213,23 +234,36 @@
     {
         ManagedRepositoryConfiguration r = new ManagedRepositoryConfiguration();
         r.setId( REPO_ID );
-        populateRepository( r );
+        r.setName( "repo name" );
+        r.setLocation( location.getAbsolutePath() );
+        r.setLayout( "default" );
+        r.setRefreshCronExpression( "* 0/5 * * * ?" );
+        r.setDaysOlder( 0 );
+        r.setRetentionCount( 0 );
+        r.setReleases( true );
+        r.setSnapshots( true );
+        r.setScanned( false );
+        r.setDeleteReleasedSnapshots( false );
         return r;
     }
 
-    private void populateRepository( ManagedRepositoryConfiguration repository )
+    private RemoteRepositoryConfiguration createRemoteRepository(String id, String url)
     {
-        repository.setId( REPO_ID );
-        repository.setName( "repo name" );
-        repository.setLocation( location.getAbsolutePath() );
-        repository.setLayout( "default" );
-        repository.setRefreshCronExpression( "* 0/5 * * * ?" );
-        repository.setDaysOlder( 31 );
-        repository.setRetentionCount( 20 );
-        repository.setReleases( true );
-        repository.setSnapshots( true );
-        repository.setScanned( false );
-        repository.setDeleteReleasedSnapshots( true );
+        RemoteRepositoryConfiguration r = new RemoteRepositoryConfiguration();
+        r.setId( id );
+        r.setUrl( url );
+        r.setLayout( "default" );
+        
+        return r;
+    }
+    
+    private ProxyConnectorConfiguration createProxyConnector( String managedRepoId, String remoteRepoId )
+    {
+        ProxyConnectorConfiguration connector = new ProxyConnectorConfiguration();
+        connector.setSourceRepoId( managedRepoId );
+        connector.setTargetRepoId( remoteRepoId );
+
+        return connector;
     }
 
     private void prepareRoleManagerMock()

Modified: maven/archiva/trunk/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteRemoteRepositoryActionTest.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteRemoteRepositoryActionTest.java?rev=586635&r1=586634&r2=586635&view=diff
==============================================================================
--- maven/archiva/trunk/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteRemoteRepositoryActionTest.java (original)
+++ maven/archiva/trunk/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteRemoteRepositoryActionTest.java Fri Oct 19 15:47:43 2007
@@ -24,6 +24,8 @@
 import org.apache.maven.archiva.configuration.ArchivaConfiguration;
 import org.apache.maven.archiva.configuration.Configuration;
 import org.apache.maven.archiva.configuration.IndeterminateConfigurationException;
+import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
+import org.apache.maven.archiva.configuration.ProxyConnectorConfiguration;
 import org.apache.maven.archiva.configuration.RemoteRepositoryConfiguration;
 import org.codehaus.plexus.PlexusTestCase;
 import org.codehaus.plexus.registry.RegistryException;
@@ -89,11 +91,12 @@
         throws RegistryException, IndeterminateConfigurationException
     {
         Configuration configuration = createConfigurationForEditing( createRepository() );
+        configuration.addManagedRepository( createManagedRepository( "internal", getTestPath( "target/repo/internal" ) ) );
+        configuration.addManagedRepository( createManagedRepository( "snapshots", getTestPath( "target/repo/snapshots" ) ) );
+        configuration.addProxyConnector( createProxyConnector( "internal", REPO_ID) );
         
         archivaConfiguration.getConfiguration();
-        archivaConfigurationControl.setReturnValue( configuration );
-        archivaConfiguration.getConfiguration();
-        archivaConfigurationControl.setReturnValue( configuration );
+        archivaConfigurationControl.setReturnValue( configuration, 4 );
         
         archivaConfiguration.save( configuration );
         archivaConfigurationControl.replay();
@@ -106,10 +109,13 @@
         assertNotNull( repository );
         assertRepositoryEquals( repository, createRepository() );
         
+        assertEquals( 1, configuration.getProxyConnectors().size() );
+        
         String status = action.delete();
         assertEquals( Action.SUCCESS, status );
 
         assertTrue( configuration.getRemoteRepositories().isEmpty() );
+        assertEquals( 0, configuration.getProxyConnectors().size() );
     }
 
     public void testDeleteRemoteRepositoryCancelled()
@@ -119,9 +125,7 @@
         Configuration configuration = createConfigurationForEditing( originalRepository );
 
         archivaConfiguration.getConfiguration();
-        archivaConfigurationControl.setReturnValue( configuration );
-        archivaConfiguration.getConfiguration();
-        archivaConfigurationControl.setReturnValue( configuration );
+        archivaConfigurationControl.setReturnValue( configuration, 2 );
 
         archivaConfiguration.save( configuration );
         archivaConfigurationControl.replay();
@@ -165,6 +169,32 @@
         assertEquals( expectedRepository.getUrl(), actualRepository.getUrl() );
         assertEquals( expectedRepository.getName(), actualRepository.getName() );
     }
+    
+    private ManagedRepositoryConfiguration createManagedRepository( String string, String testPath )
+    {
+        ManagedRepositoryConfiguration r = new ManagedRepositoryConfiguration();
+        r.setId( REPO_ID );
+        r.setName( "repo name" );
+        r.setLocation( testPath );
+        r.setLayout( "default" );
+        r.setRefreshCronExpression( "* 0/5 * * * ?" );
+        r.setDaysOlder( 0 );
+        r.setRetentionCount( 0 );
+        r.setReleases( true );
+        r.setSnapshots( true );
+        r.setScanned( false );
+        r.setDeleteReleasedSnapshots( false );
+        return r;
+    }
+
+    private ProxyConnectorConfiguration createProxyConnector( String managedRepoId, String remoteRepoId )
+    {
+        ProxyConnectorConfiguration connector = new ProxyConnectorConfiguration();
+        connector.setSourceRepoId( managedRepoId );
+        connector.setTargetRepoId( remoteRepoId );
+
+        return connector;
+    }
 
     private void populateRepository( RemoteRepositoryConfiguration repository )
     {
@@ -174,6 +204,5 @@
         repository.setLayout( "default" );
     }
     
-    // TODO: what if there are proxy connectors attached to a deleted repository?
     // TODO: what about removing proxied content if a proxy is removed?
 }



Re: svn commit: r586635 - in /maven/archiva/trunk/archiva-web/archiva-webapp/src: main/java/org/apache/maven/archiva/web/action/admin/repositories/ test/java/org/apache/maven/archiva/web/action/admin/repositories/

Posted by Brett Porter <br...@apache.org>.
even better :)

On 21/10/2007, at 1:05 AM, Joakim Erdfelt wrote:

> Well, you do have a point there.
> If the passed in repoId matches on either a sourceId or a targetId,  
> then the proxy connector should be deleted.
> wdyt?
>
> - Joakim
>
> Brett Porter wrote:
>> ugh, I obviously need new eyes. two times in a row I've read the  
>> variables back to front :D
>>
>> On 20/10/2007, at 6:41 PM, Brett Porter wrote:
>>
>>> pass the repo id in as a parameter?
>>>
>>> It's not a lot of code, no big deal, it's just that I noticed the  
>>> other was already factored into a method and these classes had  
>>> recently been emphasised as needing to share more code :)
>>>
>>> - Brett
>>>
>>> On 20/10/2007, at 2:07 PM, Joakim Erdfelt wrote:
>>>
>>>> You'd think so, but the rule is different.
>>>> One removes based on connector.sourceId and the other removes  
>>>> based on connector.targetId
>>>> Guess I could bring out the commons-collection's Predicates  
>>>> again to make a common base method. ;-)
>>>>
>>>> - Joakim
>>>>
>>>> Brett Porter wrote:
>>>>>
>>>>> On 20/10/2007, at 8:48 AM, joakime@apache.org wrote:
>>>>>
>>>>>> +        // [MRM-520] Proxy Connectors are not deleted with  
>>>>>> the deletion of a Repository.
>>>>>> +        List<ProxyConnectorConfiguration> proxyConnectors =  
>>>>>> getProxyConnectors();
>>>>>> +        for ( ProxyConnectorConfiguration proxyConnector :  
>>>>>> proxyConnectors )
>>>>>> +        {
>>>>>> +            if ( StringUtils.equals 
>>>>>> ( proxyConnector.getSourceRepoId(), cleanupRepository.getId() ) )
>>>>>> +            {
>>>>>> +                archivaConfiguration.getConfiguration 
>>>>>> ().removeProxyConnector( proxyConnector );
>>>>>> +            }
>>>>>> +        }
>>>>>
>>>>> Shouldn't this duplication be in the common base class?
>>>>>
>>>>> - Brett
>>>>>
>>>>> -- 
>>>>> Brett Porter - brett@apache.org
>>>>> Blog: http://www.devzuz.org/blogs/bporter/
>>>>>
>>>>
>>>>
>>>> -- 
>>>> - Joakim Erdfelt
>>>>  joakim@erdfelt.com
>>>>  Open Source Software (OSS) Developer
>>>
>>> -- 
>>> Brett Porter - brett@apache.org
>>> Blog: http://www.devzuz.org/blogs/bporter/
>>
>> -- 
>> Brett Porter - brett@apache.org
>> Blog: http://www.devzuz.org/blogs/bporter/
>>
>
>
> -- 
> - Joakim Erdfelt
>  joakim@erdfelt.com
>  Open Source Software (OSS) Developer

--
Brett Porter - brett@apache.org
Blog: http://www.devzuz.org/blogs/bporter/

Re: svn commit: r586635 - in /maven/archiva/trunk/archiva-web/archiva-webapp/src: main/java/org/apache/maven/archiva/web/action/admin/repositories/ test/java/org/apache/maven/archiva/web/action/admin/repositories/

Posted by Joakim Erdfelt <jo...@erdfelt.com>.
Well, you do have a point there.
If the passed in repoId matches on either a sourceId or a targetId, then 
the proxy connector should be deleted.
wdyt?

- Joakim

Brett Porter wrote:
> ugh, I obviously need new eyes. two times in a row I've read the 
> variables back to front :D
>
> On 20/10/2007, at 6:41 PM, Brett Porter wrote:
>
>> pass the repo id in as a parameter?
>>
>> It's not a lot of code, no big deal, it's just that I noticed the 
>> other was already factored into a method and these classes had 
>> recently been emphasised as needing to share more code :)
>>
>> - Brett
>>
>> On 20/10/2007, at 2:07 PM, Joakim Erdfelt wrote:
>>
>>> You'd think so, but the rule is different.
>>> One removes based on connector.sourceId and the other removes based 
>>> on connector.targetId
>>> Guess I could bring out the commons-collection's Predicates again to 
>>> make a common base method. ;-)
>>>
>>> - Joakim
>>>
>>> Brett Porter wrote:
>>>>
>>>> On 20/10/2007, at 8:48 AM, joakime@apache.org wrote:
>>>>
>>>>> +        // [MRM-520] Proxy Connectors are not deleted with the 
>>>>> deletion of a Repository.
>>>>> +        List<ProxyConnectorConfiguration> proxyConnectors = 
>>>>> getProxyConnectors();
>>>>> +        for ( ProxyConnectorConfiguration proxyConnector : 
>>>>> proxyConnectors )
>>>>> +        {
>>>>> +            if ( StringUtils.equals( 
>>>>> proxyConnector.getSourceRepoId(), cleanupRepository.getId() ) )
>>>>> +            {
>>>>> +                
>>>>> archivaConfiguration.getConfiguration().removeProxyConnector( 
>>>>> proxyConnector );
>>>>> +            }
>>>>> +        }
>>>>
>>>> Shouldn't this duplication be in the common base class?
>>>>
>>>> - Brett
>>>>
>>>> -- 
>>>> Brett Porter - brett@apache.org
>>>> Blog: http://www.devzuz.org/blogs/bporter/
>>>>
>>>
>>>
>>> -- 
>>> - Joakim Erdfelt
>>>  joakim@erdfelt.com
>>>  Open Source Software (OSS) Developer
>>
>> -- 
>> Brett Porter - brett@apache.org
>> Blog: http://www.devzuz.org/blogs/bporter/
>
> -- 
> Brett Porter - brett@apache.org
> Blog: http://www.devzuz.org/blogs/bporter/
>


-- 
- Joakim Erdfelt
  joakim@erdfelt.com
  Open Source Software (OSS) Developer


Re: svn commit: r586635 - in /maven/archiva/trunk/archiva-web/archiva-webapp/src: main/java/org/apache/maven/archiva/web/action/admin/repositories/ test/java/org/apache/maven/archiva/web/action/admin/repositories/

Posted by Brett Porter <br...@apache.org>.
ugh, I obviously need new eyes. two times in a row I've read the  
variables back to front :D

On 20/10/2007, at 6:41 PM, Brett Porter wrote:

> pass the repo id in as a parameter?
>
> It's not a lot of code, no big deal, it's just that I noticed the  
> other was already factored into a method and these classes had  
> recently been emphasised as needing to share more code :)
>
> - Brett
>
> On 20/10/2007, at 2:07 PM, Joakim Erdfelt wrote:
>
>> You'd think so, but the rule is different.
>> One removes based on connector.sourceId and the other removes  
>> based on connector.targetId
>> Guess I could bring out the commons-collection's Predicates again  
>> to make a common base method. ;-)
>>
>> - Joakim
>>
>> Brett Porter wrote:
>>>
>>> On 20/10/2007, at 8:48 AM, joakime@apache.org wrote:
>>>
>>>> +        // [MRM-520] Proxy Connectors are not deleted with the  
>>>> deletion of a Repository.
>>>> +        List<ProxyConnectorConfiguration> proxyConnectors =  
>>>> getProxyConnectors();
>>>> +        for ( ProxyConnectorConfiguration proxyConnector :  
>>>> proxyConnectors )
>>>> +        {
>>>> +            if ( StringUtils.equals 
>>>> ( proxyConnector.getSourceRepoId(), cleanupRepository.getId() ) )
>>>> +            {
>>>> +                archivaConfiguration.getConfiguration 
>>>> ().removeProxyConnector( proxyConnector );
>>>> +            }
>>>> +        }
>>>
>>> Shouldn't this duplication be in the common base class?
>>>
>>> - Brett
>>>
>>> -- 
>>> Brett Porter - brett@apache.org
>>> Blog: http://www.devzuz.org/blogs/bporter/
>>>
>>
>>
>> -- 
>> - Joakim Erdfelt
>>  joakim@erdfelt.com
>>  Open Source Software (OSS) Developer
>
> --
> Brett Porter - brett@apache.org
> Blog: http://www.devzuz.org/blogs/bporter/

--
Brett Porter - brett@apache.org
Blog: http://www.devzuz.org/blogs/bporter/

Re: svn commit: r586635 - in /maven/archiva/trunk/archiva-web/archiva-webapp/src: main/java/org/apache/maven/archiva/web/action/admin/repositories/ test/java/org/apache/maven/archiva/web/action/admin/repositories/

Posted by Brett Porter <br...@apache.org>.
pass the repo id in as a parameter?

It's not a lot of code, no big deal, it's just that I noticed the  
other was already factored into a method and these classes had  
recently been emphasised as needing to share more code :)

- Brett

On 20/10/2007, at 2:07 PM, Joakim Erdfelt wrote:

> You'd think so, but the rule is different.
> One removes based on connector.sourceId and the other removes based  
> on connector.targetId
> Guess I could bring out the commons-collection's Predicates again  
> to make a common base method. ;-)
>
> - Joakim
>
> Brett Porter wrote:
>>
>> On 20/10/2007, at 8:48 AM, joakime@apache.org wrote:
>>
>>> +        // [MRM-520] Proxy Connectors are not deleted with the  
>>> deletion of a Repository.
>>> +        List<ProxyConnectorConfiguration> proxyConnectors =  
>>> getProxyConnectors();
>>> +        for ( ProxyConnectorConfiguration proxyConnector :  
>>> proxyConnectors )
>>> +        {
>>> +            if ( StringUtils.equals 
>>> ( proxyConnector.getSourceRepoId(), cleanupRepository.getId() ) )
>>> +            {
>>> +                archivaConfiguration.getConfiguration 
>>> ().removeProxyConnector( proxyConnector );
>>> +            }
>>> +        }
>>
>> Shouldn't this duplication be in the common base class?
>>
>> - Brett
>>
>> -- 
>> Brett Porter - brett@apache.org
>> Blog: http://www.devzuz.org/blogs/bporter/
>>
>
>
> -- 
> - Joakim Erdfelt
>  joakim@erdfelt.com
>  Open Source Software (OSS) Developer

--
Brett Porter - brett@apache.org
Blog: http://www.devzuz.org/blogs/bporter/

Re: svn commit: r586635 - in /maven/archiva/trunk/archiva-web/archiva-webapp/src: main/java/org/apache/maven/archiva/web/action/admin/repositories/ test/java/org/apache/maven/archiva/web/action/admin/repositories/

Posted by Joakim Erdfelt <jo...@erdfelt.com>.
You'd think so, but the rule is different.
One removes based on connector.sourceId and the other removes based on 
connector.targetId
Guess I could bring out the commons-collection's Predicates again to 
make a common base method. ;-)

- Joakim

Brett Porter wrote:
>
> On 20/10/2007, at 8:48 AM, joakime@apache.org wrote:
>
>> +        // [MRM-520] Proxy Connectors are not deleted with the 
>> deletion of a Repository.
>> +        List<ProxyConnectorConfiguration> proxyConnectors = 
>> getProxyConnectors();
>> +        for ( ProxyConnectorConfiguration proxyConnector : 
>> proxyConnectors )
>> +        {
>> +            if ( StringUtils.equals( 
>> proxyConnector.getSourceRepoId(), cleanupRepository.getId() ) )
>> +            {
>> +                
>> archivaConfiguration.getConfiguration().removeProxyConnector( 
>> proxyConnector );
>> +            }
>> +        }
>
> Shouldn't this duplication be in the common base class?
>
> - Brett
>
> -- 
> Brett Porter - brett@apache.org
> Blog: http://www.devzuz.org/blogs/bporter/
>


-- 
- Joakim Erdfelt
  joakim@erdfelt.com
  Open Source Software (OSS) Developer


Re: svn commit: r586635 - in /maven/archiva/trunk/archiva-web/archiva-webapp/src: main/java/org/apache/maven/archiva/web/action/admin/repositories/ test/java/org/apache/maven/archiva/web/action/admin/repositories/

Posted by Brett Porter <br...@apache.org>.
On 20/10/2007, at 8:48 AM, joakime@apache.org wrote:

> +        // [MRM-520] Proxy Connectors are not deleted with the  
> deletion of a Repository.
> +        List<ProxyConnectorConfiguration> proxyConnectors =  
> getProxyConnectors();
> +        for ( ProxyConnectorConfiguration proxyConnector :  
> proxyConnectors )
> +        {
> +            if ( StringUtils.equals( proxyConnector.getSourceRepoId 
> (), cleanupRepository.getId() ) )
> +            {
> +                archivaConfiguration.getConfiguration 
> ().removeProxyConnector( proxyConnector );
> +            }
> +        }

Shouldn't this duplication be in the common base class?

- Brett

--
Brett Porter - brett@apache.org
Blog: http://www.devzuz.org/blogs/bporter/