Author: oching
Date: Sun Aug 1 03:04:06 2010
New Revision: 981121
URL: http://svn.apache.org/viewvc?rev=981121&view=rev
Log:
[MRM-1397] reflect in the staging repo changes made in the configuration of the
managed repo it is attached to
submitted by Patti Arachchige Eshan Sudharaka
Modified:
archiva/branches/archiva-MRM-980/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/MergeAction.java
archiva/branches/archiva-MRM-980/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryAction.java
archiva/branches/archiva-MRM-980/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/EditManagedRepositoryAction.java
archiva/branches/archiva-MRM-980/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/editRepository.jsp
archiva/branches/archiva-MRM-980/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/mergeExcludeConflicts.jsp
archiva/branches/archiva-MRM-980/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryActionTest.java
archiva/branches/archiva-MRM-980/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/EditManagedRepositoryActionTest.java
Modified:
archiva/branches/archiva-MRM-980/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/MergeAction.java
URL:
http://svn.apache.org/viewvc/archiva/branches/archiva-MRM-980/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/MergeAction.java?rev=981121&r1=981120&r2=981121&view=diff
==============================================================================
---
archiva/branches/archiva-MRM-980/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/MergeAction.java
(original)
+++
archiva/branches/archiva-MRM-980/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/MergeAction.java
Sun Aug 1 03:04:06 2010
@@ -33,6 +33,9 @@ import org.apache.maven.archiva.configur
import org.apache.maven.archiva.configuration.ArchivaConfiguration;
import java.util.List;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
/**
* @plexus.component role="com.opensymphony.xwork2.Action"
role-hint="mergeAction" instantiation-strategy="per-lookup"
@@ -71,6 +74,8 @@ public class MergeAction
private List<ArtifactMetadata> conflictSourceArtifacts;
+ private List<ArtifactMetadata> conflictSourceArtifactsToBeDisplayed;
+
public String getConflicts()
{
targetRepoId = repoid + "-stage";
@@ -165,6 +170,7 @@ public class MergeAction
targetRepoId = repoid + "-stage";
conflictSourceArtifacts = repositoryMerger.getConflictsartifacts(
targetRepoId, repoid );
this.repository = new ManagedRepositoryConfiguration();
+ setConflictSourceArtifactsToBeDisplayed( conflictSourceArtifacts );
}
public String getTargetRepoId()
@@ -196,5 +202,29 @@ public class MergeAction
{
this.conflictSourceArtifacts = conflictSourceArtifacts;
}
+
+ public List<ArtifactMetadata> getConflictSourceArtifactsToBeDisplayed()
+ {
+ return conflictSourceArtifactsToBeDisplayed;
+ }
+
+ public void setConflictSourceArtifactsToBeDisplayed(
List<ArtifactMetadata> conflictSourceArtifacts )
+ throws Exception
+ {
+ this.conflictSourceArtifactsToBeDisplayed = new
ArrayList<ArtifactMetadata>();
+ HashMap<String, ArtifactMetadata> map = new HashMap<String,
ArtifactMetadata>();
+ for ( ArtifactMetadata metadata : conflictSourceArtifacts )
+ {
+ String metadataId = metadata.getNamespace() +
metadata.getProject() + metadata.getProjectVersion() + metadata.getVersion();
+ map.put( metadataId, metadata );
+ }
+ Iterator iterator = map.keySet().iterator();
+
+ while ( iterator.hasNext() )
+ {
+ conflictSourceArtifactsToBeDisplayed.add( map.get(iterator.next()
));
+ }
+
+ }
}
Modified:
archiva/branches/archiva-MRM-980/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryAction.java
URL:
http://svn.apache.org/viewvc/archiva/branches/archiva-MRM-980/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryAction.java?rev=981121&r1=981120&r2=981121&view=diff
==============================================================================
---
archiva/branches/archiva-MRM-980/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryAction.java
(original)
+++
archiva/branches/archiva-MRM-980/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryAction.java
Sun Aug 1 03:04:06 2010
@@ -45,6 +45,8 @@ public class DeleteManagedRepositoryActi
{
private ManagedRepositoryConfiguration repository;
+ private ManagedRepositoryConfiguration stagingRepository;
+
private String repoid;
/**
@@ -62,6 +64,7 @@ public class DeleteManagedRepositoryActi
if ( StringUtils.isNotBlank( repoid ) )
{
this.repository =
archivaConfiguration.getConfiguration().findManagedRepositoryById( repoid );
+ this.stagingRepository =
archivaConfiguration.getConfiguration().findManagedRepositoryById( repoid
+"-stage");
}
}
@@ -87,8 +90,9 @@ public class DeleteManagedRepositoryActi
}
private String deleteRepository( boolean deleteContents )
- {
+ {
ManagedRepositoryConfiguration existingRepository = repository;
+ ManagedRepositoryConfiguration attachedStagingRepo = stagingRepository;
if ( existingRepository == null )
{
addActionError( "A repository with that id does not exist" );
@@ -103,12 +107,23 @@ public class DeleteManagedRepositoryActi
cleanupRepositoryData( existingRepository );
removeRepository( repoid, configuration );
triggerAuditEvent( repoid, null, AuditEvent.DELETE_MANAGED_REPO );
+ if(attachedStagingRepo !=null)
+ {
+ cleanupRepositoryData( attachedStagingRepo );
+ removeRepository( repoid +"-stage", configuration );
+ triggerAuditEvent(repoid +"-stage", null,
AuditEvent.DELETE_MANAGED_REPO );
+
+ }
result = saveConfiguration( configuration );
if ( result.equals( SUCCESS ) )
{
if ( deleteContents )
{
+ if(attachedStagingRepo !=null)
+ {
+ removeContents( attachedStagingRepo );
+ }
removeContents( existingRepository );
}
}
@@ -154,7 +169,7 @@ public class DeleteManagedRepositoryActi
{
archivaConfiguration.getConfiguration().findRepositoryGroupById( repoGroup
).removeRepository( cleanupRepository.getId() );
}
- }
+ }
}
}
Modified:
archiva/branches/archiva-MRM-980/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/EditManagedRepositoryAction.java
URL:
http://svn.apache.org/viewvc/archiva/branches/archiva-MRM-980/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/EditManagedRepositoryAction.java?rev=981121&r1=981120&r2=981121&view=diff
==============================================================================
---
archiva/branches/archiva-MRM-980/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/EditManagedRepositoryAction.java
(original)
+++
archiva/branches/archiva-MRM-980/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/EditManagedRepositoryAction.java
Sun Aug 1 03:04:06 2010
@@ -47,6 +47,8 @@ public class EditManagedRepositoryAction
*/
private ManagedRepositoryConfiguration repository;
+ private ManagedRepositoryConfiguration stagingRepository;
+
private String repoid;
private final String action = "editRepository";
@@ -63,6 +65,7 @@ public class EditManagedRepositoryAction
if ( StringUtils.isNotBlank( repoid ) )
{
repository =
archivaConfiguration.getConfiguration().findManagedRepositoryById( repoid );
+ stagingRepository =
archivaConfiguration.getConfiguration().findManagedRepositoryById( repoid +
"-stage" );
}
else if ( repository != null )
{
@@ -92,7 +95,6 @@ public class EditManagedRepositoryAction
{
ManagedRepositoryConfiguration existingConfig =
archivaConfiguration.getConfiguration().findManagedRepositoryById(
repository.getId() );
-
boolean resetStats = false;
// check if the location was changed
@@ -117,6 +119,10 @@ public class EditManagedRepositoryAction
// We are in edit mode, remove the old repository configuration.
removeRepository( repository.getId(), configuration );
+ if ( stagingRepository != null )
+ {
+ removeRepository( stagingRepository.getId(), configuration );
+ }
// Save the repository configuration.
String result;
@@ -126,15 +132,23 @@ public class EditManagedRepositoryAction
triggerAuditEvent( repository.getId(), null,
AuditEvent.MODIFY_MANAGED_REPO );
addRepositoryRoles( repository );
+ //update changes of the staging repo
if ( stageNeeded )
{
- ManagedRepositoryConfiguration stagingRepository =
getStageRepoConfig();
-// if(new File( stagingRepository.getLocation()).exists())
+
+ stagingRepository = getStageRepoConfig( configuration );
addRepository( stagingRepository, configuration );
- triggerAuditEvent( stagingRepository.getId(), null,
AuditEvent.ADD_MANAGED_REPO );
addRepositoryRoles( stagingRepository );
}
+ //delete staging repo when we dont need it
+ if ( !stageNeeded )
+ {
+ stagingRepository = getStageRepoConfig(configuration);
+ removeRepository( stagingRepository.getId(), configuration );
+ removeContents( stagingRepository );
+ removeRepositoryRoles( stagingRepository );
+ }
result = saveConfiguration( configuration );
if ( resetStats )
@@ -156,9 +170,27 @@ public class EditManagedRepositoryAction
return result;
}
- private ManagedRepositoryConfiguration getStageRepoConfig()
+ private ManagedRepositoryConfiguration getStageRepoConfig( Configuration
configuration )
+ {
+ for ( ManagedRepositoryConfiguration repoConf :
configuration.getManagedRepositories() )
+ {
+ if ( repoConf.getId().equals( repository.getId() + "-stage" ) )
+ {
+ stagingRepository = repoConf;
+ removeRepository( repoConf .getId() , configuration);
+ updateStagingRepository( stagingRepository );
+ return stagingRepository;
+ }
+ }
+
+ stagingRepository = new ManagedRepositoryConfiguration();
+ updateStagingRepository( stagingRepository );
+
+ return stagingRepository;
+ }
+
+ private void updateStagingRepository( ManagedRepositoryConfiguration
stagingRepository )
{
- ManagedRepositoryConfiguration stagingRepository = new
ManagedRepositoryConfiguration();
stagingRepository.setId( repository.getId() + "-stage" );
stagingRepository.setLayout( repository.getLayout() );
stagingRepository.setName( repository.getName() + "-stage" );
@@ -174,9 +206,8 @@ public class EditManagedRepositoryAction
stagingRepository.setRetentionCount( repository.getRetentionCount() );
stagingRepository.setScanned( repository.isScanned() );
stagingRepository.setSnapshots( repository.isSnapshots() );
- return stagingRepository;
}
-
+
@Override
public void validate()
{
@@ -191,7 +222,7 @@ public class EditManagedRepositoryAction
private void resetStatistics()
{
repositoryStatisticsManager.deleteStatistics( repository.getId() );
- }
+ }
public String getRepoid()
{
@@ -232,4 +263,14 @@ public class EditManagedRepositoryAction
{
this.repositoryStatisticsManager = repositoryStatisticsManager;
}
+
+ public ManagedRepositoryConfiguration getStagingRepository()
+ {
+ return stagingRepository;
+ }
+
+ public void setStagingRepository( ManagedRepositoryConfiguration
stagingRepository )
+ {
+ this.stagingRepository = stagingRepository;
+ }
}
Modified:
archiva/branches/archiva-MRM-980/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/editRepository.jsp
URL:
http://svn.apache.org/viewvc/archiva/branches/archiva-MRM-980/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/editRepository.jsp?rev=981121&r1=981120&r2=981121&view=diff
==============================================================================
---
archiva/branches/archiva-MRM-980/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/editRepository.jsp
(original)
+++
archiva/branches/archiva-MRM-980/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/editRepository.jsp
Sun Aug 1 03:04:06 2010
@@ -39,7 +39,17 @@
<s:hidden name="repository.id"/>
<s:label label="ID" name="repository.id" />
<%@ include file="/WEB-INF/jsp/admin/include/repositoryForm.jspf" %>
- <s:checkbox name="stageNeeded" value="stageNeeded" label="Create stage
repository"/>
+
+ <c:set var="stats" value="${stagingRepository == null}"/>
+ <jsp:useBean id="stats" type="java.lang.Boolean" scope="page"/>
+ <c:if
+ test='<%= !stats.booleanValue() %>'>
+ <s:checkbox name="stageNeeded" value="true" label="Create stage
repository"/>
+ </c:if>
+ <c:if
+ test='<%= stats.booleanValue() %>'>
+ <s:checkbox name="stageNeeded" value="false" label="Create stage
repository"/>
+ </c:if>
<s:submit value="Update Repository"/>
</s:form>
Modified:
archiva/branches/archiva-MRM-980/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/mergeExcludeConflicts.jsp
URL:
http://svn.apache.org/viewvc/archiva/branches/archiva-MRM-980/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/mergeExcludeConflicts.jsp?rev=981121&r1=981120&r2=981121&view=diff
==============================================================================
---
archiva/branches/archiva-MRM-980/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/mergeExcludeConflicts.jsp
(original)
+++
archiva/branches/archiva-MRM-980/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/mergeExcludeConflicts.jsp
Sun Aug 1 03:04:06 2010
@@ -54,10 +54,11 @@
<strong>WARNING: The following are the artifacts in
conflict.</strong>
</p>
</div>
- <c:forEach items="${conflictSourceArtifacts}" var="artifact">
+ <c:forEach items="${conflictSourceArtifactsToBeDisplayed}"
var="artifact">
<tr>
<td>Artifact Id :</td>
- <td><code>${artifact.id}</code></td>
+ <%--<td><code>${artifact.id}</code></td>--%>
+ <td align="left"> <code>${artifact.namespace} ${" "}
${artifact.project} ${" "} ${artifact.version}</code></td>
</tr>
</c:forEach>
<tr>
Modified:
archiva/branches/archiva-MRM-980/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryActionTest.java
URL:
http://svn.apache.org/viewvc/archiva/branches/archiva-MRM-980/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryActionTest.java?rev=981121&r1=981120&r2=981121&view=diff
==============================================================================
---
archiva/branches/archiva-MRM-980/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryActionTest.java
(original)
+++
archiva/branches/archiva-MRM-980/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryActionTest.java
Sun Aug 1 03:04:06 2010
@@ -48,7 +48,7 @@ import java.util.Collections;
import java.util.List;
/**
- * DeleteManagedRepositoryActionTest
+ * DeleteManagedRepositoryActionTest
*
* @version $Id$
*/
@@ -64,7 +64,7 @@ public class DeleteManagedRepositoryActi
private MockControl archivaConfigurationControl;
private ArchivaConfiguration archivaConfiguration;
-
+
private static final String REPO_ID = "repo-ident";
private File location;
@@ -79,11 +79,11 @@ public class DeleteManagedRepositoryActi
super.setUp();
action = new DeleteManagedRepositoryAction();
-
+
archivaConfigurationControl = MockControl.createControl(
ArchivaConfiguration.class );
archivaConfiguration = (ArchivaConfiguration)
archivaConfigurationControl.getMock();
action.setArchivaConfiguration( archivaConfiguration );
-
+
roleManagerControl = MockControl.createControl( RoleManager.class );
roleManager = (RoleManager) roleManagerControl.getMock();
action.setRoleManager( roleManager );
@@ -122,6 +122,11 @@ public class DeleteManagedRepositoryActi
archivaConfiguration.getConfiguration();
archivaConfigurationControl.setReturnValue( configuration );
+
+ Configuration stageRepoConfiguration = new Configuration();
+ stageRepoConfiguration.addManagedRepository( createSatingRepository()
);
+ archivaConfigurationControl.setReturnValue( stageRepoConfiguration );
+
archivaConfigurationControl.replay();
action.setRepoid( REPO_ID );
@@ -131,10 +136,10 @@ public class DeleteManagedRepositoryActi
ManagedRepositoryConfiguration repository = action.getRepository();
assertNotNull( repository );
assertRepositoryEquals( repository, createRepository() );
-
+
String status = action.execute();
assertEquals( Action.SUCCESS, status );
-
+
repository = action.getRepository();
assertRepositoryEquals( repository, createRepository() );
assertEquals( Collections.singletonList( originalRepository ),
configuration.getManagedRepositories() );
@@ -148,7 +153,7 @@ public class DeleteManagedRepositoryActi
repositoryStatisticsManagerControl.replay();
prepareRoleManagerMock();
-
+
Configuration configuration = prepDeletionTest( createRepository(), 4
);
MockControl control = mockAuditListeners();
@@ -196,15 +201,15 @@ public class DeleteManagedRepositoryActi
repositoryStatisticsManagerControl.replay();
prepareRoleManagerMock();
-
- Configuration configuration = prepDeletionTest( createRepository(), 4
);
-
+
+ Configuration configuration = prepDeletionTest( createRepository(), 4
);
+
MockControl control = mockAuditListeners();
MockControl metadataRepositoryControl = mockMetadataRepository();
String status = action.deleteContents();
-
+
assertEquals( Action.SUCCESS, status );
assertTrue( configuration.getManagedRepositories().isEmpty() );
@@ -215,7 +220,7 @@ public class DeleteManagedRepositoryActi
control.verify();
metadataRepositoryControl.verify();
}
-
+
public void testDeleteRepositoryAndAssociatedProxyConnectors()
throws Exception
{
@@ -230,11 +235,11 @@ public class DeleteManagedRepositoryActi
prepareRoleManagerMock();
assertEquals( 1, configuration.getProxyConnectors().size() );
-
+
MockControl control = mockAuditListeners();
MockControl metadataRepositoryControl = mockMetadataRepository();
String status = action.deleteContents();
-
+
assertEquals( Action.SUCCESS, status );
assertTrue( configuration.getManagedRepositories().isEmpty() );
@@ -246,7 +251,7 @@ public class DeleteManagedRepositoryActi
control.verify();
metadataRepositoryControl.verify();
}
-
+
public void testDeleteRepositoryCancelled()
throws Exception
{
@@ -254,7 +259,7 @@ public class DeleteManagedRepositoryActi
ManagedRepositoryConfiguration originalRepository = createRepository();
Configuration configuration = prepDeletionTest( originalRepository, 3
);
-
+
String status = action.execute();
assertEquals( Action.SUCCESS, status );
@@ -266,36 +271,8 @@ public class DeleteManagedRepositoryActi
repositoryStatisticsManagerControl.verify();
}
-
- public void testDeleteRepositoryAndReposUnderRepoGroup()
- throws Exception
- {
- repositoryStatisticsManager.deleteStatistics( REPO_ID );
- repositoryStatisticsManagerControl.replay();
-
- Configuration configuration = prepDeletionTest( createRepository(), 5
);
- List<String> repoIds = new ArrayList<String>();
- repoIds.add( REPO_ID );
- configuration.addRepositoryGroup( createRepoGroup( repoIds,
"repo.group" ) );
-
- prepareRoleManagerMock();
-
- assertEquals( 1, configuration.getRepositoryGroups().size() );
-
- MockControl control = mockAuditListeners();
- MockControl metadataRepositoryControl = mockMetadataRepository();
- String status = action.deleteContents();
- assertEquals( Action.SUCCESS, status );
-
- assertTrue( configuration.getManagedRepositories().isEmpty() );
- assertEquals( 0, configuration.getRepositoryGroups().get( 0
).getRepositories().size() );
- assertFalse( location.exists() );
- repositoryStatisticsManagerControl.verify();
- control.verify();
- metadataRepositoryControl.verify();
- }
private Configuration prepDeletionTest( ManagedRepositoryConfiguration
originalRepository, int expectCountGetConfig )
throws RegistryException, IndeterminateConfigurationException
@@ -307,6 +284,11 @@ public class DeleteManagedRepositoryActi
archivaConfiguration.getConfiguration();
archivaConfigurationControl.setReturnValue( configuration,
expectCountGetConfig );
+ Configuration stageRepoConfiguration = new Configuration();
+ stageRepoConfiguration.addManagedRepository( createSatingRepository()
);
+ archivaConfigurationControl.setReturnValue( stageRepoConfiguration );
+
+
archivaConfiguration.save( configuration );
archivaConfigurationControl.replay();
@@ -363,16 +345,33 @@ public class DeleteManagedRepositoryActi
return r;
}
+ private ManagedRepositoryConfiguration createSatingRepository()
+ {
+ ManagedRepositoryConfiguration r = new
ManagedRepositoryConfiguration();
+ r.setId( REPO_ID +"-stage" );
+ 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 RemoteRepositoryConfiguration createRemoteRepository(String id,
String url)
{
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();
@@ -387,10 +386,10 @@ public class DeleteManagedRepositoryActi
RepositoryGroupConfiguration repoGroup = new
RepositoryGroupConfiguration();
repoGroup.setId( repoGroupId );
repoGroup.setRepositories( repoIds );
-
+
return repoGroup;
}
-
+
private void prepareRoleManagerMock()
throws RoleManagerException
{
Modified:
archiva/branches/archiva-MRM-980/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/EditManagedRepositoryActionTest.java
URL:
http://svn.apache.org/viewvc/archiva/branches/archiva-MRM-980/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/EditManagedRepositoryActionTest.java?rev=981121&r1=981120&r2=981121&view=diff
==============================================================================
---
archiva/branches/archiva-MRM-980/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/EditManagedRepositoryActionTest.java
(original)
+++
archiva/branches/archiva-MRM-980/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/EditManagedRepositoryActionTest.java
Sun Aug 1 03:04:06 2010
@@ -95,6 +95,10 @@ public class EditManagedRepositoryAction
archivaConfiguration.getConfiguration();
archivaConfigurationControl.setReturnValue( configuration );
+ Configuration stageRepoConfiguration = new Configuration();
+ stageRepoConfiguration.addManagedRepository( createStagingRepository()
);
+ archivaConfigurationControl.setReturnValue( stageRepoConfiguration );
+
archivaConfigurationControl.replay();
action.setRepoid( REPO_ID );
@@ -116,10 +120,18 @@ public class EditManagedRepositoryAction
{
roleManager.templatedRoleExists(
ArchivaRoleConstants.TEMPLATE_REPOSITORY_OBSERVER, REPO_ID );
roleManagerControl.setReturnValue( false );
+
+ roleManager.templatedRoleExists(
ArchivaRoleConstants.TEMPLATE_REPOSITORY_OBSERVER, REPO_ID +"-stage" );
+ roleManagerControl.setReturnValue( false );
+
roleManager.createTemplatedRole(
ArchivaRoleConstants.TEMPLATE_REPOSITORY_OBSERVER, REPO_ID );
roleManagerControl.setVoidCallable();
roleManager.templatedRoleExists(
ArchivaRoleConstants.TEMPLATE_REPOSITORY_MANAGER, REPO_ID );
roleManagerControl.setReturnValue( false );
+
+ roleManager.templatedRoleExists(
ArchivaRoleConstants.TEMPLATE_REPOSITORY_MANAGER, REPO_ID +"-stage");
+ roleManagerControl.setReturnValue( false );
+
roleManager.createTemplatedRole(
ArchivaRoleConstants.TEMPLATE_REPOSITORY_MANAGER, REPO_ID );
roleManagerControl.setVoidCallable();
@@ -128,6 +140,10 @@ public class EditManagedRepositoryAction
Configuration configuration = createConfigurationForEditing(
createRepository() );
archivaConfiguration.getConfiguration();
archivaConfigurationControl.setReturnValue( configuration );
+
+ Configuration stageRepoConfiguration = new Configuration();
+ stageRepoConfiguration.addManagedRepository( createStagingRepository()
);
+ archivaConfigurationControl.setReturnValue( stageRepoConfiguration );
archivaConfigurationControl.setReturnValue( configuration );
archivaConfigurationControl.setReturnValue( configuration );
@@ -167,10 +183,18 @@ public class EditManagedRepositoryAction
{
roleManager.templatedRoleExists(
ArchivaRoleConstants.TEMPLATE_REPOSITORY_OBSERVER, REPO_ID );
roleManagerControl.setReturnValue( false );
+
+ roleManager.templatedRoleExists(
ArchivaRoleConstants.TEMPLATE_REPOSITORY_OBSERVER, REPO_ID +"-stage");
+ roleManagerControl.setReturnValue( false );
+
roleManager.createTemplatedRole(
ArchivaRoleConstants.TEMPLATE_REPOSITORY_OBSERVER, REPO_ID );
roleManagerControl.setVoidCallable();
roleManager.templatedRoleExists(
ArchivaRoleConstants.TEMPLATE_REPOSITORY_MANAGER, REPO_ID );
roleManagerControl.setReturnValue( false );
+
+ roleManager.templatedRoleExists(
ArchivaRoleConstants.TEMPLATE_REPOSITORY_MANAGER, REPO_ID +"-stage");
+ roleManagerControl.setReturnValue( false );
+
roleManager.createTemplatedRole(
ArchivaRoleConstants.TEMPLATE_REPOSITORY_MANAGER, REPO_ID );
roleManagerControl.setVoidCallable();
@@ -179,6 +203,11 @@ public class EditManagedRepositoryAction
Configuration configuration = createConfigurationForEditing(
createRepository() );
archivaConfiguration.getConfiguration();
archivaConfigurationControl.setReturnValue( configuration );
+ Configuration stageRepoConfiguration = new Configuration();
+ stageRepoConfiguration.addManagedRepository( createStagingRepository()
);
+ archivaConfigurationControl.setReturnValue( stageRepoConfiguration );
+
+
archivaConfigurationControl.setReturnValue( configuration );
archivaConfigurationControl.setReturnValue( configuration );
@@ -230,9 +259,11 @@ public class EditManagedRepositoryAction
}
private Configuration createConfigurationForEditing(
ManagedRepositoryConfiguration repositoryConfiguration )
+ throws Exception
{
Configuration configuration = new Configuration();
configuration.addManagedRepository( repositoryConfiguration );
+// configuration.addManagedRepository( createStagingRepository() );
return configuration;
}
@@ -245,6 +276,15 @@ public class EditManagedRepositoryAction
return r;
}
+ private ManagedRepositoryConfiguration createStagingRepository()
+ throws IOException
+ {
+ ManagedRepositoryConfiguration r = new
ManagedRepositoryConfiguration();
+ r.setId( REPO_ID + "-stage" );
+ populateStagingRepository( r );
+ return r;
+ }
+
private void populateRepository( ManagedRepositoryConfiguration repository
)
throws IOException
{
@@ -260,4 +300,19 @@ public class EditManagedRepositoryAction
repository.setScanned( false );
repository.setDeleteReleasedSnapshots( true );
}
+ private void populateStagingRepository( ManagedRepositoryConfiguration
repository )
+ throws IOException
+ {
+ repository.setId( REPO_ID + "-stage");
+ repository.setName( "repo name" );
+ repository.setLocation( location.getCanonicalPath() );
+ 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 );
+ }
}