Modified: archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/repositories.jsp URL: http://svn.apache.org/viewvc/archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/repositories.jsp?rev=1185127&r1=1185126&r2=1185127&view=diff ============================================================================== --- archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/repositories.jsp (original) +++ archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/repositories.jsp Mon Oct 17 12:34:20 2011 @@ -271,21 +271,13 @@ <archiva:copy-paste-snippet object="${repository}" wrapper="toggle" /> </td> </tr> - - - <c:set var="str" value="${repository.id}" /> - <jsp:useBean id="str" type="java.lang.String" scope="page"/> - <c:set var="location" value="${repository.location}"/> - <jsp:useBean id="location" type="java.lang.String" scope="page"/> - - <%-- TODO: fix this hard coding - make stage repository configuration more transparent than the actual ManagedRepositoryConfiguration --%> - <c:if test='<%= new File (new File(location ).getParent() ,str + "-stage" ).exists()%>'> - <tr> - <th> - stage repository location - </th> +<c:if test="${repository.stagingRequired}"> + <tr> + <th> + Stage repository location + </th> <td> - ${repository.location}${'-stage'} + ${repository.stagingLocation} </td> </tr> <redback:ifAuthorized permission="archiva-merge-repository" resource="${repository.id}"> @@ -294,22 +286,12 @@ <td> <s:form action="merge" theme="simple"> <s:hidden name="repoid" value="%{#attr.repository.id}"/> - <%--<s:hidden name="repository" value="%{repository}"/>--%> - <table> - <tr> - <td><s:submit id="Merge" value="Merge"/></td> - </tr> - </table> + <s:submit id="Merge" value="Merge"/> </s:form> </td> </tr> </redback:ifAuthorized> - - - </c:if> - - - +</c:if> </table> </div>
Modified: archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/archiva/web/action/UploadActionTest.java URL: http://svn.apache.org/viewvc/archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/archiva/web/action/UploadActionTest.java?rev=1185127&r1=1185126&r2=1185127&view=diff ============================================================================== --- archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/archiva/web/action/UploadActionTest.java (original) +++ archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/archiva/web/action/UploadActionTest.java Mon Oct 17 12:34:20 2011 @@ -846,6 +846,8 @@ public class UploadActionTest verifyProjectMetadataChecksums( repoLocation ); } + // FIXME STAGE: test staging pushes it to the right place + ManagedRepository getManagedRepository() { return new BeanReplicator().replicateBean( this.managedRepository, ManagedRepository.class ); Modified: archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/archiva/web/action/admin/repositories/DeleteManagedRepositoryActionTest.java URL: http://svn.apache.org/viewvc/archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/archiva/web/action/admin/repositories/DeleteManagedRepositoryActionTest.java?rev=1185127&r1=1185126&r2=1185127&view=diff ============================================================================== --- archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/archiva/web/action/admin/repositories/DeleteManagedRepositoryActionTest.java (original) +++ archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/archiva/web/action/admin/repositories/DeleteManagedRepositoryActionTest.java Mon Oct 17 12:34:20 2011 @@ -181,15 +181,6 @@ public class DeleteManagedRepositoryActi archivaConfiguration.getConfiguration(); archivaConfigurationControl.setReturnValue( configuration ); - Configuration stageRepoConfiguration = new Configuration(); - stageRepoConfiguration.addManagedRepository( createStagingRepository() ); - archivaConfigurationControl.setReturnValue( stageRepoConfiguration ); - - - archivaConfiguration.getConfiguration(); - archivaConfigurationControl.setReturnValue( configuration ); - - archivaConfigurationControl.replay(); action.setRepoid( REPO_ID ); @@ -344,13 +335,6 @@ public class DeleteManagedRepositoryActi archivaConfiguration.getConfiguration(); archivaConfigurationControl.setReturnValue( configuration, expectCountGetConfig ); - Configuration stageRepoConfiguration = new Configuration(); - stageRepoConfiguration.addManagedRepository( createStagingRepository() ); - archivaConfigurationControl.setReturnValue( stageRepoConfiguration ); - - archivaConfiguration.save( configuration ); - - // save for staging repo delete archivaConfiguration.save( configuration ); archivaConfigurationControl.replay(); @@ -410,23 +394,6 @@ public class DeleteManagedRepositoryActi return r; } - private ManagedRepositoryConfiguration createStagingRepository() - { - 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(); Modified: archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/archiva/web/action/admin/repositories/EditManagedRepositoryActionTest.java URL: http://svn.apache.org/viewvc/archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/archiva/web/action/admin/repositories/EditManagedRepositoryActionTest.java?rev=1185127&r1=1185126&r2=1185127&view=diff ============================================================================== --- archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/archiva/web/action/admin/repositories/EditManagedRepositoryActionTest.java (original) +++ archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/archiva/web/action/admin/repositories/EditManagedRepositoryActionTest.java Mon Oct 17 12:34:20 2011 @@ -154,9 +154,6 @@ public class EditManagedRepositoryAction archivaConfiguration.getConfiguration(); archivaConfigurationControl.setReturnValue( configuration ); - Configuration stageRepoConfiguration = new Configuration(); - stageRepoConfiguration.addManagedRepository( createStagingRepository() ); - archivaConfigurationControl.setReturnValue( stageRepoConfiguration ); archivaConfigurationControl.replay(); @@ -180,8 +177,6 @@ public class EditManagedRepositoryAction public void testEditRepository() throws Exception { - String stageRepoId = REPO_ID + "-stage"; - roleManager.templatedRoleExists( ArchivaRoleConstants.TEMPLATE_REPOSITORY_OBSERVER, REPO_ID ); roleManagerControl.setReturnValue( false ); roleManager.createTemplatedRole( ArchivaRoleConstants.TEMPLATE_REPOSITORY_OBSERVER, REPO_ID ); @@ -192,16 +187,6 @@ public class EditManagedRepositoryAction roleManager.createTemplatedRole( ArchivaRoleConstants.TEMPLATE_REPOSITORY_MANAGER, REPO_ID ); roleManagerControl.setVoidCallable(); - roleManager.templatedRoleExists( ArchivaRoleConstants.TEMPLATE_REPOSITORY_OBSERVER, stageRepoId ); - roleManagerControl.setReturnValue( false ); - roleManager.createTemplatedRole( ArchivaRoleConstants.TEMPLATE_REPOSITORY_OBSERVER, stageRepoId ); - roleManagerControl.setVoidCallable(); - - roleManager.templatedRoleExists( ArchivaRoleConstants.TEMPLATE_REPOSITORY_MANAGER, stageRepoId ); - roleManagerControl.setReturnValue( false ); - roleManager.createTemplatedRole( ArchivaRoleConstants.TEMPLATE_REPOSITORY_MANAGER, stageRepoId ); - roleManagerControl.setVoidCallable(); - roleManagerControl.replay(); registry.getString( "appserver.base", "${appserver.base}" ); @@ -223,13 +208,6 @@ public class EditManagedRepositoryAction repositoryTaskScheduler.queueTask( task ); repositoryTaskSchedulerControl.setVoidCallable(); - RepositoryTask stageTask = new RepositoryTask(); - stageTask.setRepositoryId( stageRepoId ); - repositoryTaskScheduler.isProcessingRepositoryTask( stageRepoId ); - repositoryTaskSchedulerControl.setReturnValue( false ); - repositoryTaskScheduler.queueTask( stageTask ); - repositoryTaskSchedulerControl.setVoidCallable(); - repositoryTaskSchedulerControl.replay(); Configuration configuration = createConfigurationForEditing( createRepository() ); @@ -241,9 +219,6 @@ public class EditManagedRepositoryAction archivaConfigurationControl.setReturnValue( configuration ); archivaConfigurationControl.setReturnValue( configuration ); - Configuration stageRepoConfiguration = new Configuration(); - stageRepoConfiguration.addManagedRepository( createStagingRepository() ); - archivaConfigurationControl.setReturnValue( stageRepoConfiguration ); archivaConfigurationControl.setReturnValue( configuration ); archivaConfigurationControl.setReturnValue( configuration ); @@ -260,6 +235,7 @@ public class EditManagedRepositoryAction ManagedRepository repository = action.getRepository(); populateRepository( repository ); repository.setName( "new repo name" ); + repository.setStagingRequired( true ); MockControl repositoryStatisticsManagerControl = MockControl.createControl( RepositoryStatisticsManager.class ); RepositoryStatisticsManager repositoryStatisticsManager = @@ -269,10 +245,10 @@ public class EditManagedRepositoryAction // no deletion repositoryStatisticsManagerControl.replay(); + // STAGE FIXME: hardcoded ID new File( "target/test/" + REPO_ID + "-stage" ).mkdirs(); action.setRepository( repository ); - action.setStageNeeded( true ); String status = action.commit(); assertEquals( Action.SUCCESS, status ); @@ -301,6 +277,7 @@ public class EditManagedRepositoryAction roleManager.createTemplatedRole( ArchivaRoleConstants.TEMPLATE_REPOSITORY_MANAGER, REPO_ID ); roleManagerControl.setVoidCallable(); + // STAGE FIXME: hardcoded ID roleManager.templatedRoleExists( ArchivaRoleConstants.TEMPLATE_REPOSITORY_OBSERVER, REPO_ID + "-stage" ); roleManagerControl.setReturnValue( false ); roleManager.createTemplatedRole( ArchivaRoleConstants.TEMPLATE_REPOSITORY_OBSERVER, REPO_ID + "-stage" ); @@ -345,16 +322,9 @@ public class EditManagedRepositoryAction archivaConfigurationControl.setReturnValue( buildEasyConfiguration() ); - Configuration stageRepoConfiguration = buildEasyConfiguration(); - stageRepoConfiguration.addManagedRepository( createStagingRepository() ); - archivaConfigurationControl.setReturnValue( stageRepoConfiguration ); - - archivaConfigurationControl.setReturnValue( configuration ); archivaConfigurationControl.setReturnValue( configuration ); archivaConfiguration.save( configuration ); - configuration.addManagedRepository( stageRepoConfiguration.getManagedRepositories().get( 0 ) ); - archivaConfiguration.save( configuration ); archivaConfiguration.save( configuration ); archivaConfigurationControl.replay(); @@ -367,9 +337,11 @@ public class EditManagedRepositoryAction repositoryStatisticsManager.deleteStatistics( metadataRepository, REPO_ID ); repositoryStatisticsManagerControl.replay(); + // STAGE FIXME: hardcoded ID new File( "target/test/location/" + REPO_ID + "-stage" ).mkdirs(); - action.setStageNeeded( true ); + // FIXME: stage setting needed +// action.setStageNeeded( true ); action.setRepoid( REPO_ID ); action.prepare(); assertEquals( REPO_ID, action.getRepoid() ); @@ -599,29 +571,4 @@ public class EditManagedRepositoryAction populateRepository( r ); return r; } - - private ManagedRepositoryConfiguration createStagingRepository() - throws IOException - { - ManagedRepositoryConfiguration r = new ManagedRepositoryConfiguration(); - r.setId( REPO_ID + "-stage" ); - populateStagingRepository( r ); - return r; - } - - private void populateStagingRepository( ManagedRepositoryConfiguration repository ) - throws IOException - { - repository.setId( REPO_ID + "-stage" ); - repository.setName( "repo name" ); - repository.setLocation( "${appserver.base}/location" ); - 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 ); - } } Modified: archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/archiva/webdav/ArchivaDavResourceFactory.java URL: http://svn.apache.org/viewvc/archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/archiva/webdav/ArchivaDavResourceFactory.java?rev=1185127&r1=1185126&r2=1185127&view=diff ============================================================================== --- archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/archiva/webdav/ArchivaDavResourceFactory.java (original) +++ archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/archiva/webdav/ArchivaDavResourceFactory.java Mon Oct 17 12:34:20 2011 @@ -83,16 +83,16 @@ import org.slf4j.LoggerFactory; import org.springframework.context.ApplicationContext; import org.springframework.stereotype.Service; -import javax.annotation.PostConstruct; -import javax.inject.Inject; -import javax.inject.Named; -import javax.servlet.http.HttpServletResponse; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.util.ArrayList; import java.util.List; +import javax.annotation.PostConstruct; +import javax.inject.Inject; +import javax.inject.Named; +import javax.servlet.http.HttpServletResponse; /** * @@ -253,10 +253,11 @@ public class ArchivaDavResourceFactory } else { - ManagedRepositoryContent managedRepository = null; + ManagedRepositoryContent managedRepository; try { + // STAGE FIXME: replace with pseudo staging repository when needed - good time to switch to new repository API, and probably only use config here managedRepository = repositoryFactory.getManagedRepositoryContent( archivaLocator.getRepositoryId() ); } catch ( RepositoryNotFoundException e ) @@ -315,7 +316,7 @@ public class ArchivaDavResourceFactory } else { - if ( resourcesInAbsolutePath != null && resourcesInAbsolutePath.size() > 1 ) + if ( resourcesInAbsolutePath.size() > 1 ) { // merge the metadata of all repos under group ArchivaRepositoryMetadata mergedMetadata = new ArchivaRepositoryMetadata(); @@ -534,16 +535,19 @@ public class ArchivaDavResourceFactory // check if target repo is enabled for releases // we suppose that release-artifacts can be deployed only to repos enabled for releases - if ( managedRepository.getRepository().isReleases() && !repositoryRequest.isMetadata( resourcePath ) - && !repositoryRequest.isSupportFile( resourcePath ) ) + // also ignore flag for staging repositories, no harm in redeploying there + if ( managedRepository.getRepository().isReleases() && !repositoryRequest.isMetadata( resourcePath ) && + !repositoryRequest.isSupportFile( resourcePath ) && + !managedRepository.getRepository().isStagingRequired() ) { - ArtifactReference artifact = null; + ArtifactReference artifact; try { artifact = managedRepository.toArtifactReference( resourcePath ); if ( !VersionUtil.isSnapshot( artifact.getVersion() ) ) { + // STAGE FIXME: make sure staging was already considered // check if artifact already exists and if artifact re-deployment to the repository is allowed if ( managedRepository.hasContent( artifact ) && managedRepository.getRepository().isBlockRedeployments() ) Modified: archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/ArchivaDavResourceFactoryTest.java URL: http://svn.apache.org/viewvc/archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/ArchivaDavResourceFactoryTest.java?rev=1185127&r1=1185126&r2=1185127&view=diff ============================================================================== --- archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/ArchivaDavResourceFactoryTest.java (original) +++ archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/ArchivaDavResourceFactoryTest.java Mon Oct 17 12:34:20 2011 @@ -141,13 +141,13 @@ public class ArchivaDavResourceFactoryTe { defaultManagedRepositoryAdmin.addManagedRepository( createManagedRepository( RELEASES_REPO, new File( "target/test-classes/" + RELEASES_REPO ).getPath(), - "default" ), false, null ); + "default" ), null ); } if ( defaultManagedRepositoryAdmin.getManagedRepository( INTERNAL_REPO ) == null ) { defaultManagedRepositoryAdmin.addManagedRepository( createManagedRepository( INTERNAL_REPO, new File( "target/test-classes/" + INTERNAL_REPO ).getPath(), - "default" ), false, null ); + "default" ), null ); } RepositoryGroup repoGroupConfig = new RepositoryGroup(); repoGroupConfig.setId( LOCAL_REPO_GROUP ); @@ -335,7 +335,7 @@ public class ArchivaDavResourceFactoryTe defaultManagedRepositoryAdmin.addManagedRepository( createManagedRepository( LOCAL_MIRROR_REPO, new File( "target/test-classes/local-mirror" ).getPath(), - "default" ), false, null ); + "default" ), null ); List<RepositoryGroupConfiguration> repoGroups = new ArrayList<RepositoryGroupConfiguration>(); RepositoryGroupConfiguration repoGroup = new RepositoryGroupConfiguration(); @@ -506,7 +506,7 @@ public class ArchivaDavResourceFactoryTe { defaultManagedRepositoryAdmin.addManagedRepository( createManagedRepository( LEGACY_REPO, new File( "target/test-classes/" + LEGACY_REPO ).getPath(), - "legacy" ), false, null ); + "legacy" ), null ); DavResourceLocator locator = new ArchivaDavResourceLocator( "", "/repository/" + LEGACY_REPO + "/eclipse/maven-metadata.xml", LEGACY_REPO, new ArchivaDavLocatorFactory() ); Modified: archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/main/java/org/apache/archiva/web/xmlrpc/services/AdministrationServiceImpl.java URL: http://svn.apache.org/viewvc/archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/main/java/org/apache/archiva/web/xmlrpc/services/AdministrationServiceImpl.java?rev=1185127&r1=1185126&r2=1185127&view=diff ============================================================================== --- archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/main/java/org/apache/archiva/web/xmlrpc/services/AdministrationServiceImpl.java (original) +++ archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/main/java/org/apache/archiva/web/xmlrpc/services/AdministrationServiceImpl.java Mon Oct 17 12:34:20 2011 @@ -87,8 +87,6 @@ public class AdministrationServiceImpl private RepositoryMerger repositoryMerger; - private static final String STAGE = "-stage"; - private AuditListener auditListener; private RepositorySessionFactory repositorySessionFactory; @@ -360,7 +358,7 @@ public class AdministrationServiceImpl public Boolean addManagedRepository( String repoId, String layout, String name, String location, boolean blockRedeployments, boolean releasesIncluded, - boolean snapshotsIncluded, boolean stageRepoNeeded, String cronExpression, + boolean snapshotsIncluded, boolean stagingRequired, String cronExpression, int daysOlder, int retentionCount, boolean deleteReleasedSnapshots ) throws Exception { @@ -370,8 +368,8 @@ public class AdministrationServiceImpl snapshotsIncluded, releasesIncluded, blockRedeployments, cronExpression, null, false, daysOlder, retentionCount, - deleteReleasedSnapshots, false ); - return managedRepositoryAdmin.addManagedRepository( repository, stageRepoNeeded, getAuditInformation() ); + deleteReleasedSnapshots, stagingRequired ); + return managedRepositoryAdmin.addManagedRepository( repository, getAuditInformation() ); } @@ -495,9 +493,7 @@ public class AdministrationServiceImpl public boolean merge( String repoId, boolean skipConflicts ) throws Exception { - String stagingId = repoId + STAGE; org.apache.archiva.admin.model.beans.ManagedRepository repoConfig; - org.apache.archiva.admin.model.beans.ManagedRepository stagingConfig; repoConfig = managedRepositoryAdmin.getManagedRepository( repoId ); @@ -509,10 +505,11 @@ public class AdministrationServiceImpl MetadataRepository metadataRepository = repositorySession.getRepository(); if ( repoConfig != null ) { - stagingConfig = managedRepositoryAdmin.getManagedRepository( stagingId ); - - if ( stagingConfig != null ) + String stagingId = "foo"; + if ( repoConfig.isStagingRequired() ) { + // STAGE FIXME: duplication with webapp - move all MergeAction to the staging module and have this + // use it - make sure this gets tested List<ArtifactMetadata> sourceArtifacts = metadataRepository.getArtifacts( stagingId ); if ( repoConfig.isReleases() && !repoConfig.isSnapshots() ) @@ -521,7 +518,7 @@ public class AdministrationServiceImpl if ( skipConflicts ) { List<ArtifactMetadata> conflicts = - repositoryMerger.getConflictingArtifacts( metadataRepository, repoId, stagingId ); + repositoryMerger.getConflictingArtifacts( metadataRepository, repoId ); if ( log.isDebugEnabled() ) { @@ -550,7 +547,7 @@ public class AdministrationServiceImpl if ( skipConflicts ) { List<ArtifactMetadata> conflicts = - repositoryMerger.getConflictingArtifacts( metadataRepository, repoId, stagingId ); + repositoryMerger.getConflictingArtifacts( metadataRepository, repoId ); if ( log.isDebugEnabled() ) { @@ -651,7 +648,6 @@ public class AdministrationServiceImpl repositoryMerger.merge( metadataRepository, sourceRepoId, repoid, artifactListWithOutSnapShots ); } - // FIXME find a way to get user id and adress private AuditInformation getAuditInformation() { Modified: archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/test/java/org/apache/archiva/web/xmlrpc/services/AdministrationServiceImplTest.java URL: http://svn.apache.org/viewvc/archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/test/java/org/apache/archiva/web/xmlrpc/services/AdministrationServiceImplTest.java?rev=1185127&r1=1185126&r2=1185127&view=diff ============================================================================== --- archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/test/java/org/apache/archiva/web/xmlrpc/services/AdministrationServiceImplTest.java (original) +++ archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/test/java/org/apache/archiva/web/xmlrpc/services/AdministrationServiceImplTest.java Mon Oct 17 12:34:20 2011 @@ -158,8 +158,6 @@ public class AdministrationServiceImplTe private Registry registry; - private static final String STAGE = "-stage"; - private DefaultManagedRepositoryAdmin managedRepositoryAdmin; private DefaultRemoteRepositoryAdmin remoteRepositoryAdmin; @@ -813,6 +811,7 @@ public class AdministrationServiceImplTe throws Exception { archivaConfigControl.expectAndReturn( archivaConfig.getConfiguration(), config, 1, 5 ); + // STAGE FIXME: verify no staging configControl.expectAndReturn( config.getManagedRepositories(), Arrays.asList( createManagedRepo( "repo", "default", "repo", true, false ) ), 1, @@ -848,18 +847,18 @@ public class AdministrationServiceImplTe ManagedRepositoryConfiguration merge = createManagedRepo( "merge", "default", "merge", true, true ); merge.setLocation( "target/test-repository/merge" ); - ManagedRepositoryConfiguration staging = createStagingRepo( merge ); RepositoryTask task = new RepositoryTask(); task.setScanAll( true ); archivaConfigControl.expectAndReturn( archivaConfig.getConfiguration(), config, 1, 5 ); - configControl.expectAndReturn( config.getManagedRepositories(), Arrays.asList( merge, staging ), 1, 5 ); + configControl.expectAndReturn( config.getManagedRepositories(), Arrays.asList( merge ), 1, 5 ); + // STAGE FIXME: verify no staging - metadataRepositoryControl.expectAndReturn( metadataRepository.getArtifacts( staging.getId() ), sources ); +// metadataRepositoryControl.expectAndReturn( metadataRepository.getArtifacts( staging.getId() ), sources ); repositoryMergerControl.expectAndDefaultReturn( - repositoryMerger.getConflictingArtifacts( metadataRepository, staging.getId(), merge.getId() ), sources ); - repositoryMerger.merge( metadataRepository, staging.getId(), merge.getId() ); + repositoryMerger.getConflictingArtifacts( metadataRepository, merge.getId() ), sources ); +// repositoryMerger.merge( metadataRepository, staging.getId(), merge.getId() ); repositoryMergerControl.setVoidCallable(); repositoryTaskSchedulerControl.expectAndReturn( repositoryTaskScheduler.isProcessingRepositoryTask( "merge" ), false ); @@ -919,15 +918,14 @@ public class AdministrationServiceImplTe ManagedRepositoryConfiguration repo = createManagedRepo( "repo", "default", "repo", true, true ); repo.setLocation( "target/test-repository/one" ); - ManagedRepositoryConfiguration staging = createStagingRepo( repo ); - configControl.expectAndReturn( config.getManagedRepositories(), Arrays.asList( repo, staging ), 1, 5 ); + configControl.expectAndReturn( config.getManagedRepositories(), Arrays.asList( repo ), 1, 5 ); archivaConfigControl.expectAndReturn( archivaConfig.getConfiguration(), config, 1, 5 ); - metadataRepositoryControl.expectAndReturn( metadataRepository.getArtifacts( staging.getId() ), sources ); + // FIXME STAGE: get sources repositoryMergerControl.expectAndDefaultReturn( - repositoryMerger.getConflictingArtifacts( metadataRepository, staging.getId(), repo.getId() ), conflicts ); - repositoryMerger.merge( metadataRepository, staging.getId(), repo.getId(), artifactsWithOutConflicts ); + repositoryMerger.getConflictingArtifacts( metadataRepository, repo.getId() ), conflicts ); + repositoryMerger.merge( metadataRepository, null, repo.getId(), artifactsWithOutConflicts ); repositoryMergerControl.setMatcher( MockControl.ALWAYS_MATCHER ); repositoryMergerControl.setVoidCallable(); repositoryTaskSchedulerControl.expectAndReturn( repositoryTaskScheduler.isProcessingRepositoryTask( "repo" ), @@ -967,6 +965,7 @@ public class AdministrationServiceImplTe String layout = "default"; String name = projId + " Releases"; String releaseLocation = "target/test-repository/" + projId + ".releases"; + // STAGE FIXME: hardcoded ID String stageLocation = releaseLocation + "-stage"; String appserverBase = "target"; @@ -999,6 +998,7 @@ public class AdministrationServiceImplTe roleManager.createTemplatedRole( ArchivaRoleConstants.TEMPLATE_REPOSITORY_MANAGER, repoId ); roleManagerControl.setVoidCallable(); + // STAGE FIXME: hardcoded ID roleManager.templatedRoleExists( ArchivaRoleConstants.TEMPLATE_REPOSITORY_OBSERVER, repoId + "-stage" ); roleManagerControl.setReturnValue( false ); roleManager.createTemplatedRole( ArchivaRoleConstants.TEMPLATE_REPOSITORY_OBSERVER, repoId + "-stage" ); @@ -1033,7 +1033,8 @@ public class AdministrationServiceImplTe repositoryTaskScheduler.queueTask( task ); repositoryTaskSchedulerControl.setVoidCallable(); - //staged repo + //STAGE FIXME: hardcoded id + String STAGE="-stage"; repositoryTaskSchedulerControl.expectAndReturn( repositoryTaskScheduler.isProcessingRepositoryTask( repoId + STAGE ), false ); task = new RepositoryTask(); @@ -1259,19 +1260,6 @@ public class AdministrationServiceImplTe return repoConfig; } - private ManagedRepositoryConfiguration createStagingRepo( ManagedRepositoryConfiguration repoConfig ) - { - ManagedRepositoryConfiguration stagingRepo = new ManagedRepositoryConfiguration(); - stagingRepo.setId( repoConfig.getId() + STAGE ); - stagingRepo.setLayout( repoConfig.getLayout() ); - stagingRepo.setName( repoConfig + STAGE ); - stagingRepo.setReleases( repoConfig.isReleases() ); - stagingRepo.setSnapshots( repoConfig.isSnapshots() ); - stagingRepo.setLocation( repoConfig.getLocation() ); - - return stagingRepo; - } - private AuditEvent createAuditEvent( ManagedRepositoryConfiguration repoConfig ) { AuditEvent auditEvent = new AuditEvent(); Modified: archiva/branches/staging-refactor/archiva-modules/plugins/stage-repository-merge/src/main/java/org/apache/archiva/stagerepository/merge/Maven2RepositoryMerger.java URL: http://svn.apache.org/viewvc/archiva/branches/staging-refactor/archiva-modules/plugins/stage-repository-merge/src/main/java/org/apache/archiva/stagerepository/merge/Maven2RepositoryMerger.java?rev=1185127&r1=1185126&r2=1185127&view=diff ============================================================================== --- archiva/branches/staging-refactor/archiva-modules/plugins/stage-repository-merge/src/main/java/org/apache/archiva/stagerepository/merge/Maven2RepositoryMerger.java (original) +++ archiva/branches/staging-refactor/archiva-modules/plugins/stage-repository-merge/src/main/java/org/apache/archiva/stagerepository/merge/Maven2RepositoryMerger.java Mon Oct 17 12:34:20 2011 @@ -157,6 +157,7 @@ public class Maven2RepositoryMerger // pom file copying String fileName = artifactMetadata.getProject() + "-" + artifactMetadata.getVersion() + ".pom"; + // STAGE FIXME: don't re-parse and construct the path - use the filename we already have // pom file copying // TODO need to use path translator to get the pom file path // String fileName = artifactMetadata.getProject() + "-" + artifactMetadata.getVersion() + ".pom"; @@ -172,10 +173,10 @@ public class Maven2RepositoryMerger String index = artifactPath.substring( lastIndex + 1 ); int last = index.lastIndexOf( '.' ); - File sourcePomFile = new File( sourceRepoPath, artifactPath.substring( 0, lastIndex ) + "/" - + artifactPath.substring( lastIndex + 1 ).substring( 0, last ) + ".pom" ); - File targetPomFile = new File( targetRepoPath, artifactPath.substring( 0, lastIndex ) + "/" - + artifactPath.substring( lastIndex + 1 ).substring( 0, last ) + ".pom" ); + File sourcePomFile = new File( sourceRepoPath, artifactPath.substring( 0, lastIndex ) + "/" + + artifactPath.substring( lastIndex + 1 ).substring( 0, last ) + ".pom" ); + File targetPomFile = new File( targetRepoPath, artifactPath.substring( 0, lastIndex ) + "/" + + artifactPath.substring( lastIndex + 1 ).substring( 0, last ) + ".pom" ); if ( !targetPomFile.exists() && sourcePomFile.exists() ) { @@ -187,15 +188,16 @@ public class Maven2RepositoryMerger { // updating version metadata files - File versionMetaDataFileInSourceRepo = - pathTranslator.toFile( new File( sourceRepoPath ), artifactMetadata.getNamespace(), - artifactMetadata.getProject(), artifactMetadata.getVersion(), - METADATA_FILENAME ); + File versionMetaDataFileInSourceRepo = pathTranslator.toFile( new File( sourceRepoPath ), + artifactMetadata.getNamespace(), + artifactMetadata.getProject(), + artifactMetadata.getVersion(), + METADATA_FILENAME ); if ( versionMetaDataFileInSourceRepo.exists() ) { - String relativePathToVersionMetadataFile = - versionMetaDataFileInSourceRepo.getAbsolutePath().split( sourceRepoPath )[1]; + String relativePathToVersionMetadataFile = versionMetaDataFileInSourceRepo.getAbsolutePath().split( + sourceRepoPath )[1]; File versionMetaDataFileInTargetRepo = new File( targetRepoPath, relativePathToVersionMetadataFile ); if ( !versionMetaDataFileInTargetRepo.exists() ) @@ -215,8 +217,8 @@ public class Maven2RepositoryMerger if ( projectMetadataFileInSourceRepo.exists() ) { - String relativePathToProjectMetadataFile = - projectMetadataFileInSourceRepo.getAbsolutePath().split( sourceRepoPath )[1]; + String relativePathToProjectMetadataFile = projectMetadataFileInSourceRepo.getAbsolutePath().split( + sourceRepoPath )[1]; File projectMetadataFileInTargetRepo = new File( targetRepoPath, relativePathToProjectMetadataFile ); if ( !projectMetadataFileInTargetRepo.exists() ) @@ -234,6 +236,7 @@ public class Maven2RepositoryMerger } + // TODO: replace with another copy method private void copyFile( File sourceFile, File targetFile ) throws IOException { @@ -332,12 +335,11 @@ public class Maven2RepositoryMerger return metadata; } - public List<ArtifactMetadata> getConflictingArtifacts( MetadataRepository metadataRepository, String sourceRepo, - String targetRepo ) + public List<ArtifactMetadata> getConflictingArtifacts( MetadataRepository metadataRepository, String targetRepo ) throws Exception { List<ArtifactMetadata> targetArtifacts = metadataRepository.getArtifacts( targetRepo ); - List<ArtifactMetadata> sourceArtifacts = metadataRepository.getArtifacts( sourceRepo ); + List<ArtifactMetadata> sourceArtifacts = Collections.emptyList(); // STAGE FIXME: metadataRepository.getArtifacts( sourceRepo ); List<ArtifactMetadata> conflictsArtifacts = new ArrayList<ArtifactMetadata>(); for ( ArtifactMetadata targetArtifact : targetArtifacts ) @@ -354,9 +356,6 @@ public class Maven2RepositoryMerger } } - sourceArtifacts.removeAll( conflictsArtifacts ); - Filter<ArtifactMetadata> artifactsWithOutConflicts = new IncludesFilter<ArtifactMetadata>( sourceArtifacts ); -// merge( sourceRepo, targetRepo, artifactsWithOutConflicts ); return conflictsArtifacts; } @@ -364,10 +363,10 @@ public class Maven2RepositoryMerger { boolean isSame = false; - if ( ( sourceArtifact.getNamespace().equals( targetArtifact.getNamespace() ) ) - && ( sourceArtifact.getProject().equals( targetArtifact.getProject() ) ) - && ( sourceArtifact.getId().equals( targetArtifact.getId() ) ) - && ( sourceArtifact.getProjectVersion().equals( targetArtifact.getProjectVersion() ) ) ) + if ( ( sourceArtifact.getNamespace().equals( targetArtifact.getNamespace() ) ) && + ( sourceArtifact.getProject().equals( targetArtifact.getProject() ) ) && ( sourceArtifact.getId().equals( + targetArtifact.getId() ) ) && ( sourceArtifact.getProjectVersion().equals( + targetArtifact.getProjectVersion() ) ) ) { isSame = true; Modified: archiva/branches/staging-refactor/archiva-modules/plugins/stage-repository-merge/src/main/java/org/apache/archiva/stagerepository/merge/RepositoryMerger.java URL: http://svn.apache.org/viewvc/archiva/branches/staging-refactor/archiva-modules/plugins/stage-repository-merge/src/main/java/org/apache/archiva/stagerepository/merge/RepositoryMerger.java?rev=1185127&r1=1185126&r2=1185127&view=diff ============================================================================== --- archiva/branches/staging-refactor/archiva-modules/plugins/stage-repository-merge/src/main/java/org/apache/archiva/stagerepository/merge/RepositoryMerger.java (original) +++ archiva/branches/staging-refactor/archiva-modules/plugins/stage-repository-merge/src/main/java/org/apache/archiva/stagerepository/merge/RepositoryMerger.java Mon Oct 17 12:34:20 2011 @@ -34,7 +34,6 @@ public interface RepositoryMerger Filter<ArtifactMetadata> filter ) throws Exception; - List<ArtifactMetadata> getConflictingArtifacts( MetadataRepository metadataRepository, String sourceRepo, - String targetRepo ) + List<ArtifactMetadata> getConflictingArtifacts( MetadataRepository metadataRepository, String targetRepo ) throws Exception; } \ No newline at end of file Modified: archiva/branches/staging-refactor/archiva-modules/plugins/stage-repository-merge/src/test/java/org/apache/archiva/stagerepository/merge/Maven2RepositoryMergerTest.java URL: http://svn.apache.org/viewvc/archiva/branches/staging-refactor/archiva-modules/plugins/stage-repository-merge/src/test/java/org/apache/archiva/stagerepository/merge/Maven2RepositoryMergerTest.java?rev=1185127&r1=1185126&r2=1185127&view=diff ============================================================================== --- archiva/branches/staging-refactor/archiva-modules/plugins/stage-repository-merge/src/test/java/org/apache/archiva/stagerepository/merge/Maven2RepositoryMergerTest.java (original) +++ archiva/branches/staging-refactor/archiva-modules/plugins/stage-repository-merge/src/test/java/org/apache/archiva/stagerepository/merge/Maven2RepositoryMergerTest.java Mon Oct 17 12:34:20 2011 @@ -149,8 +149,8 @@ public class Maven2RepositoryMergerTest when( metadataRepository.getArtifacts( sourceRepoId ) ).thenReturn( sourceRepoArtifactsList ); when( metadataRepository.getArtifacts( TEST_REPO_ID ) ).thenReturn( targetRepoArtifactsList ); - assertEquals( 1, repositoryMerger.getConflictingArtifacts( metadataRepository, sourceRepoId, - TEST_REPO_ID ).size() ); + // STAGE FIXME: not testing the right thing + assertEquals( 1, repositoryMerger.getConflictingArtifacts( metadataRepository, TEST_REPO_ID ).size() ); verify( metadataRepository ).getArtifacts( TEST_REPO_ID ); }
