You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by br...@apache.org on 2011/10/17 14:34:22 UTC

svn commit: r1185127 [1/2] - in /archiva/branches/staging-refactor/archiva-modules: archiva-base/archiva-configuration/src/main/java/org/apache/archiva/configuration/ archiva-base/archiva-configuration/src/main/mdo/ archiva-base/archiva-consumers/archi...

Author: brett
Date: Mon Oct 17 12:34:20 2011
New Revision: 1185127

URL: http://svn.apache.org/viewvc?rev=1185127&view=rev
Log:
initial work on removing hardcoded staging repositories. Still several tasks to do and some tests are failing in this state

Removed:
    archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/include/mergeActionForm.jspf
Modified:
    archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-configuration/src/main/java/org/apache/archiva/configuration/FileTypes.java
    archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-configuration/src/main/mdo/configuration.mdo
    archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/test/java/org/apache/archiva/consumers/core/repository/CleanupReleasedSnapshotsRepositoryPurgeTest.java
    archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/test/java/org/apache/archiva/consumers/core/repository/RepositoryPurgeConsumerTest.java
    archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/archiva/proxy/AbstractProxyTestCase.java
    archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/archiva/proxy/HttpProxyTransferTest.java
    archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-api/src/main/java/org/apache/archiva/admin/model/beans/ManagedRepository.java
    archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-api/src/main/java/org/apache/archiva/admin/model/managed/ManagedRepositoryAdmin.java
    archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/managed/DefaultManagedRepositoryAdmin.java
    archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/test/java/org/apache/archiva/admin/repository/AbstractRepositoryAdminTest.java
    archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/test/java/org/apache/archiva/admin/repository/group/RepositoryGroupAdminTest.java
    archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/test/java/org/apache/archiva/admin/repository/managed/ManagedRepositoryAdminTest.java
    archiva/branches/staging-refactor/archiva-modules/archiva-scheduler/archiva-scheduler-repository/src/test/java/org/apache/archiva/mock/MockManagedRepositoryAdmin.java
    archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultManagedRepositoriesService.java
    archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/MergingRepositoriesTest.java
    archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractArchivaTest.java
    archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/archiva/web/action/MergeAction.java
    archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/archiva/web/action/UploadAction.java
    archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/archiva/web/action/admin/repositories/AddManagedRepositoryAction.java
    archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/archiva/web/action/admin/repositories/DeleteManagedRepositoryAction.java
    archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/archiva/web/action/admin/repositories/EditManagedRepositoryAction.java
    archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/archiva/web/action/admin/repositories/RepositoriesAction.java
    archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/resources/struts.xml
    archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/addRepository.jsp
    archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/editRepository.jsp
    archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/include/repositoryForm.jspf
    archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/mergeExcludeConflicts.jsp
    archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/repositories.jsp
    archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/archiva/web/action/UploadActionTest.java
    archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/archiva/web/action/admin/repositories/DeleteManagedRepositoryActionTest.java
    archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/archiva/web/action/admin/repositories/EditManagedRepositoryActionTest.java
    archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/archiva/webdav/ArchivaDavResourceFactory.java
    archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/ArchivaDavResourceFactoryTest.java
    archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/main/java/org/apache/archiva/web/xmlrpc/services/AdministrationServiceImpl.java
    archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/test/java/org/apache/archiva/web/xmlrpc/services/AdministrationServiceImplTest.java
    archiva/branches/staging-refactor/archiva-modules/plugins/stage-repository-merge/src/main/java/org/apache/archiva/stagerepository/merge/Maven2RepositoryMerger.java
    archiva/branches/staging-refactor/archiva-modules/plugins/stage-repository-merge/src/main/java/org/apache/archiva/stagerepository/merge/RepositoryMerger.java
    archiva/branches/staging-refactor/archiva-modules/plugins/stage-repository-merge/src/test/java/org/apache/archiva/stagerepository/merge/Maven2RepositoryMergerTest.java

Modified: archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-configuration/src/main/java/org/apache/archiva/configuration/FileTypes.java
URL: http://svn.apache.org/viewvc/archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-configuration/src/main/java/org/apache/archiva/configuration/FileTypes.java?rev=1185127&r1=1185126&r2=1185127&view=diff
==============================================================================
--- archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-configuration/src/main/java/org/apache/archiva/configuration/FileTypes.java (original)
+++ archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-configuration/src/main/java/org/apache/archiva/configuration/FileTypes.java Mon Oct 17 12:34:20 2011
@@ -19,12 +19,12 @@ package org.apache.archiva.configuration
  * under the License.
  */
 
-import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.collections.Predicate;
-import org.apache.commons.configuration.CombinedConfiguration;
 import org.apache.archiva.common.FileTypeUtils;
 import org.apache.archiva.configuration.functors.FiletypeSelectionPredicate;
 import org.apache.archiva.configuration.io.registry.ConfigurationRegistryReader;
+import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.collections.Predicate;
+import org.apache.commons.configuration.CombinedConfiguration;
 import org.codehaus.plexus.registry.Registry;
 import org.codehaus.plexus.registry.RegistryException;
 import org.codehaus.plexus.registry.RegistryListener;
@@ -32,15 +32,15 @@ import org.codehaus.plexus.util.Selector
 import org.codehaus.redback.components.registry.commons.CommonsConfigurationRegistry;
 import org.springframework.stereotype.Service;
 
-import javax.annotation.PostConstruct;
-import javax.inject.Inject;
-import javax.inject.Named;
 import java.lang.reflect.Field;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import javax.annotation.PostConstruct;
+import javax.inject.Inject;
+import javax.inject.Named;
 
 /**
  * FileTypes

Modified: archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-configuration/src/main/mdo/configuration.mdo
URL: http://svn.apache.org/viewvc/archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-configuration/src/main/mdo/configuration.mdo?rev=1185127&r1=1185126&r2=1185127&view=diff
==============================================================================
--- archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-configuration/src/main/mdo/configuration.mdo (original)
+++ archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-configuration/src/main/mdo/configuration.mdo Mon Oct 17 12:34:20 2011
@@ -136,6 +136,7 @@
             The repository scanning configuration.
           </description>
         </field>
+        <!-- TODO: remove? can't seem to use ranges to not generate above 1.3.0 -->
         <field>
           <name>webapp</name>
           <version>1.0.0+</version>
@@ -568,6 +569,15 @@
           </description>
         </field>
         <field>
+          <name>stagingLocation</name>
+          <version>1.4.0+</version>
+          <type>String</type>
+          <required>false</required>
+          <description>
+            The file system location for any attached staging repositories.
+          </description>
+        </field>
+        <field>
           <name>releases</name>
           <version>1.0.0+</version>
           <type>boolean</type>
@@ -596,6 +606,14 @@
           <defaultValue>true</defaultValue>
         </field>
         <field>
+          <name>stagingRequired</name>
+          <version>1.4.0+</version>
+          <type>boolean</type>
+          <description>
+            Whether staging repositories can be created for this repository.
+          </description>
+        </field>
+        <field>
           <name>refreshCronExpression</name>
           <version>1.0.0+</version>
           <type>String</type>

Modified: archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/test/java/org/apache/archiva/consumers/core/repository/CleanupReleasedSnapshotsRepositoryPurgeTest.java
URL: http://svn.apache.org/viewvc/archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/test/java/org/apache/archiva/consumers/core/repository/CleanupReleasedSnapshotsRepositoryPurgeTest.java?rev=1185127&r1=1185126&r2=1185127&view=diff
==============================================================================
--- archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/test/java/org/apache/archiva/consumers/core/repository/CleanupReleasedSnapshotsRepositoryPurgeTest.java (original)
+++ archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/test/java/org/apache/archiva/consumers/core/repository/CleanupReleasedSnapshotsRepositoryPurgeTest.java Mon Oct 17 12:34:20 2011
@@ -99,7 +99,7 @@ public class CleanupReleasedSnapshotsRep
 
         applicationContext.getBean( ManagedRepositoryAdmin.class ).deleteManagedRepository( TEST_REPO_ID, null, false );
         applicationContext.getBean( ManagedRepositoryAdmin.class ).addManagedRepository(
-            getRepoConfiguration( TEST_REPO_ID, TEST_REPO_NAME ), false, null );
+            getRepoConfiguration( TEST_REPO_ID, TEST_REPO_NAME ), null );
 
         String repoRoot = prepareTestRepos();
 
@@ -160,7 +160,7 @@ public class CleanupReleasedSnapshotsRep
 
         applicationContext.getBean( ManagedRepositoryAdmin.class ).deleteManagedRepository( TEST_REPO_ID, null, false );
         applicationContext.getBean( ManagedRepositoryAdmin.class ).addManagedRepository(
-            getRepoConfiguration( TEST_REPO_ID, TEST_REPO_NAME ), false, null );
+            getRepoConfiguration( TEST_REPO_ID, TEST_REPO_NAME ), null );
 
         String repoRoot = prepareTestRepos();
 
@@ -195,10 +195,10 @@ public class CleanupReleasedSnapshotsRep
         */
         applicationContext.getBean( ManagedRepositoryAdmin.class ).deleteManagedRepository( TEST_REPO_ID, null, false );
         applicationContext.getBean( ManagedRepositoryAdmin.class ).addManagedRepository(
-            getRepoConfiguration( TEST_REPO_ID, TEST_REPO_NAME ), false, null );
+            getRepoConfiguration( TEST_REPO_ID, TEST_REPO_NAME ), null );
 
         applicationContext.getBean( ManagedRepositoryAdmin.class ).addManagedRepository(
-            getRepoConfiguration( RELEASES_TEST_REPO_ID, RELEASES_TEST_REPO_NAME ), false, null );
+            getRepoConfiguration( RELEASES_TEST_REPO_ID, RELEASES_TEST_REPO_NAME ), null );
 
         String repoRoot = prepareTestRepos();
 
@@ -248,7 +248,7 @@ public class CleanupReleasedSnapshotsRep
         */
         applicationContext.getBean( ManagedRepositoryAdmin.class ).deleteManagedRepository( TEST_REPO_ID, null, false );
         applicationContext.getBean( ManagedRepositoryAdmin.class ).addManagedRepository(
-            getRepoConfiguration( TEST_REPO_ID, TEST_REPO_NAME ), false, null );
+            getRepoConfiguration( TEST_REPO_ID, TEST_REPO_NAME ), null );
 
         String repoRoot = prepareTestRepos();
 

Modified: archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/test/java/org/apache/archiva/consumers/core/repository/RepositoryPurgeConsumerTest.java
URL: http://svn.apache.org/viewvc/archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/test/java/org/apache/archiva/consumers/core/repository/RepositoryPurgeConsumerTest.java?rev=1185127&r1=1185126&r2=1185127&view=diff
==============================================================================
--- archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/test/java/org/apache/archiva/consumers/core/repository/RepositoryPurgeConsumerTest.java (original)
+++ archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/test/java/org/apache/archiva/consumers/core/repository/RepositoryPurgeConsumerTest.java Mon Oct 17 12:34:20 2011
@@ -196,7 +196,7 @@ public class RepositoryPurgeConsumerTest
         {
             managedRepositoryAdmin.deleteManagedRepository( repoConfiguration.getId(), null, false );
         }
-        managedRepositoryAdmin.addManagedRepository( repoConfiguration, false, null );
+        managedRepositoryAdmin.addManagedRepository( repoConfiguration, null );
     }
 
     private void removeRepoFromConfiguration( String configHint, ManagedRepository repoConfiguration )

Modified: archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/archiva/proxy/AbstractProxyTestCase.java
URL: http://svn.apache.org/viewvc/archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/archiva/proxy/AbstractProxyTestCase.java?rev=1185127&r1=1185126&r2=1185127&view=diff
==============================================================================
--- archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/archiva/proxy/AbstractProxyTestCase.java (original)
+++ archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/archiva/proxy/AbstractProxyTestCase.java Mon Oct 17 12:34:20 2011
@@ -160,7 +160,7 @@ public abstract class AbstractProxyTestC
         ( (DefaultManagedRepositoryAdmin) applicationContext.getBean(
             ManagedRepositoryAdmin.class ) ).setArchivaConfiguration( config );
 
-        applicationContext.getBean( ManagedRepositoryAdmin.class ).addManagedRepository( repoConfig, false, null );
+        applicationContext.getBean( ManagedRepositoryAdmin.class ).addManagedRepository( repoConfig, null );
         //config.getConfiguration().addManagedRepository( repoConfig );
 
         // Setup source repository (using legacy layout)
@@ -180,7 +180,7 @@ public abstract class AbstractProxyTestC
         repoConfig = managedLegacyRepository.getRepository();
 
         //config.getConfiguration().addManagedRepository( repoConfig );
-        applicationContext.getBean( ManagedRepositoryAdmin.class ).addManagedRepository( repoConfig, false, null );
+        applicationContext.getBean( ManagedRepositoryAdmin.class ).addManagedRepository( repoConfig, null );
 
         // Setup target (proxied to) repository.
         saveRemoteRepositoryConfig( ID_PROXIED1, "Proxied Repository 1",

Modified: archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/archiva/proxy/HttpProxyTransferTest.java
URL: http://svn.apache.org/viewvc/archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/archiva/proxy/HttpProxyTransferTest.java?rev=1185127&r1=1185126&r2=1185127&view=diff
==============================================================================
--- archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/archiva/proxy/HttpProxyTransferTest.java (original)
+++ archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-proxy/src/test/java/org/apache/archiva/proxy/HttpProxyTransferTest.java Mon Oct 17 12:34:20 2011
@@ -128,7 +128,7 @@ public class HttpProxyTransferTest
         ManagedRepositoryAdmin managedRepositoryAdmin = applicationContext.getBean( ManagedRepositoryAdmin.class );
         if ( managedRepositoryAdmin.getManagedRepository( repo.getId() ) == null )
         {
-            managedRepositoryAdmin.addManagedRepository( repo, false, null );
+            managedRepositoryAdmin.addManagedRepository( repo, null );
         }
 
         //config.getConfiguration().addManagedRepository( repo );

Modified: archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-api/src/main/java/org/apache/archiva/admin/model/beans/ManagedRepository.java
URL: http://svn.apache.org/viewvc/archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-api/src/main/java/org/apache/archiva/admin/model/beans/ManagedRepository.java?rev=1185127&r1=1185126&r2=1185127&view=diff
==============================================================================
--- archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-api/src/main/java/org/apache/archiva/admin/model/beans/ManagedRepository.java (original)
+++ archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-api/src/main/java/org/apache/archiva/admin/model/beans/ManagedRepository.java Mon Oct 17 12:34:20 2011
@@ -45,15 +45,8 @@ public class ManagedRepository
      */
     private String cronExpression = "0 0 * * * ?";
 
-
-    /**
-     * not need when creating the repo : only available when reading
-     */
-    private ManagedRepository stagingRepository;
-
     private boolean scanned = false;
 
-
     /**
      * default model value
      */
@@ -66,7 +59,8 @@ public class ManagedRepository
 
     private boolean deleteReleasedSnapshots;
 
-    private boolean stageRepoNeeded;
+    // TODO: move to staging plugin and allow custom per-repository configuration from plugins
+    private boolean stagingRequired;
 
     private boolean resetStats;
 
@@ -78,7 +72,7 @@ public class ManagedRepository
     public ManagedRepository( String id, String name, String location, String layout, boolean snapshots,
                               boolean releases, boolean blockRedeployments, String cronExpression, String indexDir,
                               boolean scanned, int daysOlder, int retentionCount, boolean deleteReleasedSnapshots,
-                              boolean stageRepoNeeded )
+                              boolean stagingRequired )
     {
         super( id, name, layout );
 
@@ -92,7 +86,7 @@ public class ManagedRepository
         this.daysOlder = daysOlder;
         this.retentionCount = retentionCount;
         this.deleteReleasedSnapshots = deleteReleasedSnapshots;
-        this.stageRepoNeeded = stageRepoNeeded;
+        this.stagingRequired = stagingRequired;
     }
 
     public String getCronExpression()
@@ -151,16 +145,6 @@ public class ManagedRepository
     }
 
 
-    public ManagedRepository getStagingRepository()
-    {
-        return stagingRepository;
-    }
-
-
-    public void setStagingRepository( ManagedRepository stagingRepository )
-    {
-        this.stagingRepository = stagingRepository;
-    }
 
     public boolean isScanned()
     {
@@ -203,14 +187,14 @@ public class ManagedRepository
         this.deleteReleasedSnapshots = deleteReleasedSnapshots;
     }
 
-    public boolean isStageRepoNeeded()
+    public boolean isStagingRequired()
     {
-        return stageRepoNeeded;
+        return stagingRequired;
     }
 
-    public void setStageRepoNeeded( boolean stageRepoNeeded )
+    public void setStagingRequired( boolean stagingRequired )
     {
-        this.stageRepoNeeded = stageRepoNeeded;
+        this.stagingRequired = stagingRequired;
     }
 
     public boolean isResetStats()
@@ -233,17 +217,15 @@ public class ManagedRepository
         sb.append( ", snapshots=" ).append( snapshots );
         sb.append( ", releases=" ).append( releases );
         sb.append( ", blockRedeployments=" ).append( blockRedeployments );
+        sb.append( ", stagingRequired=" ).append( stagingRequired );
         sb.append( ", cronExpression='" ).append( cronExpression ).append( '\'' );
-        sb.append( ", stagingRepository=" ).append( stagingRepository );
         sb.append( ", scanned=" ).append( scanned );
         sb.append( ", daysOlder=" ).append( daysOlder );
         sb.append( ", retentionCount=" ).append( retentionCount );
         sb.append( ", deleteReleasedSnapshots=" ).append( deleteReleasedSnapshots );
-        sb.append( ", stageRepoNeeded=" ).append( stageRepoNeeded );
+        sb.append( ", stagingRequired=" ).append( stagingRequired );
         sb.append( ", resetStats=" ).append( resetStats );
         sb.append( '}' );
         return sb.toString();
     }
-
-
-}
\ No newline at end of file
+}

Modified: archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-api/src/main/java/org/apache/archiva/admin/model/managed/ManagedRepositoryAdmin.java
URL: http://svn.apache.org/viewvc/archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-api/src/main/java/org/apache/archiva/admin/model/managed/ManagedRepositoryAdmin.java?rev=1185127&r1=1185126&r2=1185127&view=diff
==============================================================================
--- archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-api/src/main/java/org/apache/archiva/admin/model/managed/ManagedRepositoryAdmin.java (original)
+++ archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-api/src/main/java/org/apache/archiva/admin/model/managed/ManagedRepositoryAdmin.java Mon Oct 17 12:34:20 2011
@@ -44,13 +44,12 @@ public interface ManagedRepositoryAdmin
     Boolean deleteManagedRepository( String repositoryId, AuditInformation auditInformation, boolean deleteContent )
         throws RepositoryAdminException;
 
-    Boolean addManagedRepository( ManagedRepository managedRepository, boolean needStageRepo,
-                                  AuditInformation auditInformation )
+    Boolean addManagedRepository( ManagedRepository managedRepository, AuditInformation auditInformation )
         throws RepositoryAdminException;
 
 
-    Boolean updateManagedRepository( ManagedRepository managedRepository, boolean needStageRepo,
-                                     AuditInformation auditInformation, boolean resetStats )
+    Boolean updateManagedRepository( ManagedRepository managedRepository, AuditInformation auditInformation,
+                                     boolean resetStats )
         throws RepositoryAdminException;
 
 

Modified: archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/managed/DefaultManagedRepositoryAdmin.java
URL: http://svn.apache.org/viewvc/archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/managed/DefaultManagedRepositoryAdmin.java?rev=1185127&r1=1185126&r2=1185127&view=diff
==============================================================================
--- archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/managed/DefaultManagedRepositoryAdmin.java (original)
+++ archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/managed/DefaultManagedRepositoryAdmin.java Mon Oct 17 12:34:20 2011
@@ -51,8 +51,6 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
 
-import javax.inject.Inject;
-import javax.inject.Named;
 import java.io.File;
 import java.io.IOException;
 import java.util.ArrayList;
@@ -60,6 +58,8 @@ import java.util.Arrays;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import javax.inject.Inject;
+import javax.inject.Named;
 
 /**
  * FIXME remove all generic Exception to have usefull ones
@@ -77,8 +77,6 @@ public class DefaultManagedRepositoryAdm
 
     private Logger log = LoggerFactory.getLogger( getClass() );
 
-    public static final String STAGE_REPO_ID_END = "-stage";
-
 
     @Inject
     @Named( value = "archivaTaskScheduler#repository" )
@@ -107,13 +105,13 @@ public class DefaultManagedRepositoryAdm
 
         for ( ManagedRepositoryConfiguration repoConfig : managedRepoConfigs )
         {
-            // TODO add staging repo information back too
             ManagedRepository repo =
                 new ManagedRepository( repoConfig.getId(), repoConfig.getName(), repoConfig.getLocation(),
                                        repoConfig.getLayout(), repoConfig.isSnapshots(), repoConfig.isReleases(),
                                        repoConfig.isBlockRedeployments(), repoConfig.getRefreshCronExpression(),
                                        repoConfig.getIndexDir(), repoConfig.isScanned(), repoConfig.getDaysOlder(),
-                                       repoConfig.getRetentionCount(), repoConfig.isDeleteReleasedSnapshots(), false );
+                                       repoConfig.getRetentionCount(), repoConfig.isDeleteReleasedSnapshots(),
+                                       repoConfig.isStagingRequired() );
 
             managedRepos.add( repo );
         }
@@ -148,8 +146,7 @@ public class DefaultManagedRepositoryAdm
         return null;
     }
 
-    public Boolean addManagedRepository( ManagedRepository managedRepository, boolean needStageRepo,
-                                         AuditInformation auditInformation )
+    public Boolean addManagedRepository( ManagedRepository managedRepository, AuditInformation auditInformation )
         throws RepositoryAdminException
     {
 
@@ -158,18 +155,18 @@ public class DefaultManagedRepositoryAdm
         return
             addManagedRepository( managedRepository.getId(), managedRepository.getLayout(), managedRepository.getName(),
                                   managedRepository.getLocation(), managedRepository.isBlockRedeployments(),
-                                  managedRepository.isReleases(), managedRepository.isSnapshots(), needStageRepo,
-                                  managedRepository.getCronExpression(), managedRepository.getIndexDirectory(),
-                                  managedRepository.getDaysOlder(), managedRepository.getRetentionCount(),
-                                  managedRepository.isDeleteReleasedSnapshots(), auditInformation,
-                                  getArchivaConfiguration().getConfiguration() ) != null;
+                                  managedRepository.isReleases(), managedRepository.isSnapshots(),
+                                  managedRepository.isStagingRequired(), managedRepository.getCronExpression(),
+                                  managedRepository.getIndexDirectory(), managedRepository.getDaysOlder(),
+                                  managedRepository.getRetentionCount(), managedRepository.isDeleteReleasedSnapshots(),
+                                  auditInformation, getArchivaConfiguration().getConfiguration() ) != null;
 
     }
 
     private ManagedRepositoryConfiguration addManagedRepository( String repoId, String layout, String name,
                                                                  String location, boolean blockRedeployments,
                                                                  boolean releasesIncluded, boolean snapshotsIncluded,
-                                                                 boolean stageRepoNeeded, String cronExpression,
+                                                                 boolean stagingRequired, String cronExpression,
                                                                  String indexDir, int daysOlder, int retentionCount,
                                                                  boolean deteleReleasedSnapshots,
                                                                  AuditInformation auditInformation,
@@ -205,6 +202,7 @@ public class DefaultManagedRepositoryAdm
 
         repository.setId( repoId );
         repository.setBlockRedeployments( blockRedeployments );
+        repository.setStagingRequired( stagingRequired );
         repository.setReleases( releasesIncluded );
         repository.setSnapshots( snapshotsIncluded );
         repository.setName( name );
@@ -221,14 +219,6 @@ public class DefaultManagedRepositoryAdm
         {
             addRepository( repository, config );
             addRepositoryRoles( repository );
-
-            if ( stageRepoNeeded )
-            {
-                ManagedRepositoryConfiguration stagingRepository = getStageRepoConfig( repository );
-                addRepository( stagingRepository, config );
-                addRepositoryRoles( stagingRepository );
-                triggerAuditEvent( stagingRepository.getId(), null, AuditEvent.ADD_MANAGED_REPO, auditInformation );
-            }
         }
         catch ( RoleManagerException e )
         {
@@ -246,13 +236,6 @@ public class DefaultManagedRepositoryAdm
         try
         {
             scanRepository( repoId, true );
-            // olamy no need of scanning staged repo
-            /*
-            if ( stageRepoNeeded )
-            {
-                ManagedRepositoryConfiguration stagingRepository = getStageRepoConfig( repository );
-                scanRepository( stagingRepository.getId(), true );
-            }*/
         }
         catch ( Exception e )
         {
@@ -282,14 +265,7 @@ public class DefaultManagedRepositoryAdm
 
         deleteManagedRepository( repository, deleteContent, config, false );
 
-        // stage repo exists ?
-        ManagedRepositoryConfiguration stagingRepository =
-            getArchivaConfiguration().getConfiguration().findManagedRepositoryById( repositoryId + STAGE_REPO_ID_END );
-        if ( stagingRepository != null )
-        {
-            // do not trigger event when deleting the staged one
-            deleteManagedRepository( stagingRepository, deleteContent, config, true );
-        }
+        // STAGE FIXME: delete staging location too
 
         try
         {
@@ -405,13 +381,14 @@ public class DefaultManagedRepositoryAdm
     }
 
 
-    public Boolean updateManagedRepository( ManagedRepository managedRepository, boolean needStageRepo,
-                                            AuditInformation auditInformation, boolean resetStats )
+    public Boolean updateManagedRepository( ManagedRepository managedRepository, AuditInformation auditInformation,
+                                            boolean resetStats )
         throws RepositoryAdminException
     {
-
-        log.debug( "updateManagedConfiguration repo {} needStage {} resetStats {} ",
-                   Arrays.asList( managedRepository, needStageRepo, resetStats ).toArray() );
+        if ( log.isDebugEnabled() )
+        {
+            log.debug( "updateManagedConfiguration repo {} resetStats {} ", Arrays.asList( managedRepository, resetStats ).toArray() );
+        }
 
         // Ensure that the fields are valid.
 
@@ -426,23 +403,16 @@ public class DefaultManagedRepositoryAdm
             configuration.removeManagedRepository( toremove );
         }
 
-        ManagedRepositoryConfiguration stagingRepository = getStageRepoConfig( toremove );
-
         // TODO remove content from old if path has changed !!!!!
 
-        if ( stagingRepository != null )
-        {
-            configuration.removeManagedRepository( stagingRepository );
-        }
-
         ManagedRepositoryConfiguration managedRepositoryConfiguration =
             addManagedRepository( managedRepository.getId(), managedRepository.getLayout(), managedRepository.getName(),
                                   managedRepository.getLocation(), managedRepository.isBlockRedeployments(),
-                                  managedRepository.isReleases(), managedRepository.isSnapshots(), needStageRepo,
-                                  managedRepository.getCronExpression(), managedRepository.getIndexDirectory(),
-                                  managedRepository.getDaysOlder(), managedRepository.getRetentionCount(),
-                                  managedRepository.isDeleteReleasedSnapshots(), auditInformation,
-                                  getArchivaConfiguration().getConfiguration() );
+                                  managedRepository.isReleases(), managedRepository.isSnapshots(),
+                                  managedRepository.isStagingRequired(), managedRepository.getCronExpression(),
+                                  managedRepository.getIndexDirectory(), managedRepository.getDaysOlder(),
+                                  managedRepository.getRetentionCount(), managedRepository.isDeleteReleasedSnapshots(),
+                                  auditInformation, getArchivaConfiguration().getConfiguration() );
 
         // Save the repository configuration.
         RepositorySession repositorySession = getRepositorySessionFactory().createSession();
@@ -498,27 +468,6 @@ public class DefaultManagedRepositoryAdm
         configuration.addManagedRepository( repository );
     }
 
-    private ManagedRepositoryConfiguration getStageRepoConfig( ManagedRepositoryConfiguration repository )
-    {
-        ManagedRepositoryConfiguration stagingRepository = new ManagedRepositoryConfiguration();
-        stagingRepository.setId( repository.getId() + STAGE_REPO_ID_END );
-        stagingRepository.setLayout( repository.getLayout() );
-        stagingRepository.setName( repository.getName() + STAGE_REPO_ID_END );
-        stagingRepository.setBlockRedeployments( repository.isBlockRedeployments() );
-        stagingRepository.setDaysOlder( repository.getDaysOlder() );
-        stagingRepository.setDeleteReleasedSnapshots( repository.isDeleteReleasedSnapshots() );
-        stagingRepository.setIndexDir( repository.getIndexDir() );
-        String path = repository.getLocation();
-        int lastIndex = path.lastIndexOf( '/' );
-        stagingRepository.setLocation( path.substring( 0, lastIndex ) + "/" + stagingRepository.getId() );
-        stagingRepository.setRefreshCronExpression( repository.getRefreshCronExpression() );
-        stagingRepository.setReleases( repository.isReleases() );
-        stagingRepository.setRetentionCount( repository.getRetentionCount() );
-        stagingRepository.setScanned( repository.isScanned() );
-        stagingRepository.setSnapshots( repository.isSnapshots() );
-        return stagingRepository;
-    }
-
     public Boolean scanRepository( String repositoryId, boolean fullScan )
     {
         if ( getRepositoryTaskScheduler().isProcessingRepositoryTask( repositoryId ) )

Modified: archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/test/java/org/apache/archiva/admin/repository/AbstractRepositoryAdminTest.java
URL: http://svn.apache.org/viewvc/archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/test/java/org/apache/archiva/admin/repository/AbstractRepositoryAdminTest.java?rev=1185127&r1=1185126&r2=1185127&view=diff
==============================================================================
--- archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/test/java/org/apache/archiva/admin/repository/AbstractRepositoryAdminTest.java (original)
+++ archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/test/java/org/apache/archiva/admin/repository/AbstractRepositoryAdminTest.java Mon Oct 17 12:34:20 2011
@@ -93,8 +93,8 @@ public abstract class AbstractRepository
 
     protected ManagedRepository getTestManagedRepository( String repoId, String repoLocation )
     {
-        return new ManagedRepository( repoId, "test repo", repoLocation, "default", false, true, true, "0 0 * * * ?",
-                                      repoLocation + "/.index", false, 1, 2, true, false );
+        return new ManagedRepository( repoId, "test repo", repoLocation, "default", false, true, true,
+                                      "0 0 * * * ?", repoLocation + "/.index", false, 1, 2, true, false );
     }
 
     protected File clearRepoLocation( String path )

Modified: archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/test/java/org/apache/archiva/admin/repository/group/RepositoryGroupAdminTest.java
URL: http://svn.apache.org/viewvc/archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/test/java/org/apache/archiva/admin/repository/group/RepositoryGroupAdminTest.java?rev=1185127&r1=1185126&r2=1185127&view=diff
==============================================================================
--- archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/test/java/org/apache/archiva/admin/repository/group/RepositoryGroupAdminTest.java (original)
+++ archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/test/java/org/apache/archiva/admin/repository/group/RepositoryGroupAdminTest.java Mon Oct 17 12:34:20 2011
@@ -50,9 +50,9 @@ public class RepositoryGroupAdminTest
             ManagedRepository managedRepositoryTwo =
                 getTestManagedRepository( "test-new-two", APPSERVER_BASE_PATH + File.separator + "test-new-two" );
 
-            managedRepositoryAdmin.addManagedRepository( managedRepositoryOne, false, getFakeAuditInformation() );
+            managedRepositoryAdmin.addManagedRepository( managedRepositoryOne, getFakeAuditInformation() );
 
-            managedRepositoryAdmin.addManagedRepository( managedRepositoryTwo, false, getFakeAuditInformation() );
+            managedRepositoryAdmin.addManagedRepository( managedRepositoryTwo, getFakeAuditInformation() );
 
             RepositoryGroup repositoryGroup =
                 new RepositoryGroup( "repo-group-one", Arrays.asList( "test-new-one", "test-new-two" ) );
@@ -96,9 +96,9 @@ public class RepositoryGroupAdminTest
             ManagedRepository managedRepositoryTwo =
                 getTestManagedRepository( "test-new-two", APPSERVER_BASE_PATH + File.separator + "test-new-two" );
 
-            managedRepositoryAdmin.addManagedRepository( managedRepositoryOne, false, getFakeAuditInformation() );
+            managedRepositoryAdmin.addManagedRepository( managedRepositoryOne, getFakeAuditInformation() );
 
-            managedRepositoryAdmin.addManagedRepository( managedRepositoryTwo, false, getFakeAuditInformation() );
+            managedRepositoryAdmin.addManagedRepository( managedRepositoryTwo, getFakeAuditInformation() );
 
             RepositoryGroup repositoryGroup = new RepositoryGroup( "repo-group-one", Arrays.asList( "test-new-one" ) );
 
@@ -156,9 +156,9 @@ public class RepositoryGroupAdminTest
             ManagedRepository managedRepositoryTwo =
                 getTestManagedRepository( "test-new-two", APPSERVER_BASE_PATH + File.separator + "test-new-two" );
 
-            managedRepositoryAdmin.addManagedRepository( managedRepositoryOne, false, getFakeAuditInformation() );
+            managedRepositoryAdmin.addManagedRepository( managedRepositoryOne, getFakeAuditInformation() );
 
-            managedRepositoryAdmin.addManagedRepository( managedRepositoryTwo, false, getFakeAuditInformation() );
+            managedRepositoryAdmin.addManagedRepository( managedRepositoryTwo, getFakeAuditInformation() );
 
             RepositoryGroup repositoryGroup =
                 new RepositoryGroup( "repo-group-one", Arrays.asList( "test-new-one", "test-new-two" ) );

Modified: archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/test/java/org/apache/archiva/admin/repository/managed/ManagedRepositoryAdminTest.java
URL: http://svn.apache.org/viewvc/archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/test/java/org/apache/archiva/admin/repository/managed/ManagedRepositoryAdminTest.java?rev=1185127&r1=1185126&r2=1185127&view=diff
==============================================================================
--- archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/test/java/org/apache/archiva/admin/repository/managed/ManagedRepositoryAdminTest.java (original)
+++ archiva/branches/staging-refactor/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/test/java/org/apache/archiva/admin/repository/managed/ManagedRepositoryAdminTest.java Mon Oct 17 12:34:20 2011
@@ -33,7 +33,6 @@ import java.util.List;
 public class ManagedRepositoryAdminTest
     extends AbstractRepositoryAdminTest
 {
-    public static final String STAGE_REPO_ID_END = DefaultManagedRepositoryAdmin.STAGE_REPO_ID_END;
 
     @Test
     public void getAllManagedRepos()
@@ -85,7 +84,7 @@ public class ManagedRepositoryAdminTest
         repo.setName( "test repo" );
         repo.setLocation( repoLocation );
         repo.setCronExpression( "0 0 * * * ?" );
-        managedRepositoryAdmin.addManagedRepository( repo, false, getFakeAuditInformation() );
+        managedRepositoryAdmin.addManagedRepository( repo, getFakeAuditInformation() );
         repos = managedRepositoryAdmin.getManagedRepositories();
         assertNotNull( repos );
         assertEquals( initialSize + 1, repos.size() );
@@ -133,7 +132,7 @@ public class ManagedRepositoryAdminTest
         repo.setName( "test repo" );
         repo.setLocation( repoLocation );
         repo.setCronExpression( "0 0 * * * ?" );
-        managedRepositoryAdmin.addManagedRepository( repo, false, getFakeAuditInformation() );
+        managedRepositoryAdmin.addManagedRepository( repo, getFakeAuditInformation() );
 
         assertTemplateRoleExists( repoId );
 
@@ -148,7 +147,7 @@ public class ManagedRepositoryAdminTest
         repo.setLocation( repoLocation );
         repo.setCronExpression( "0 0 * * * ?" );
 
-        managedRepositoryAdmin.updateManagedRepository( repo, false, getFakeAuditInformation(), false );
+        managedRepositoryAdmin.updateManagedRepository( repo, getFakeAuditInformation(), false );
 
         repo = managedRepositoryAdmin.getManagedRepository( repoId );
         assertNotNull( repo );
@@ -193,7 +192,8 @@ public class ManagedRepositoryAdminTest
         repo.setName( "test repo" );
         repo.setLocation( repoLocation );
         repo.setCronExpression( "0 0 * * * ?" );
-        managedRepositoryAdmin.addManagedRepository( repo, true, getFakeAuditInformation() );
+        repo.setStagingRequired( true );
+        managedRepositoryAdmin.addManagedRepository( repo, getFakeAuditInformation() );
         repos = managedRepositoryAdmin.getManagedRepositories();
         assertNotNull( repos );
         assertEquals( initialSize + 2, repos.size() );
@@ -204,27 +204,32 @@ public class ManagedRepositoryAdminTest
 
         assertTrue( repoDir.exists() );
 
+        // STAGE FIXME: check the things that should exist here
+        /*
         assertNotNull( managedRepositoryAdmin.getManagedRepository( repoId + STAGE_REPO_ID_END ) );
 
         assertTemplateRoleExists( repoId + STAGE_REPO_ID_END );
 
         assertTrue( new File( repoLocation + STAGE_REPO_ID_END ).exists() );
-
+*/
         managedRepositoryAdmin.deleteManagedRepository( repoId, getFakeAuditInformation(), true );
 
         assertFalse( repoDir.exists() );
 
+        // STAGE FIXME: check the things that should have been removed
+/*
         assertFalse( new File( repoLocation + STAGE_REPO_ID_END ).exists() );
 
         assertTemplateRoleNotExists( repoId + STAGE_REPO_ID_END );
-
+*/
         repos = managedRepositoryAdmin.getManagedRepositories();
         assertNotNull( repos );
         assertEquals( initialSize, repos.size() );
 
         assertTemplateRoleNotExists( repoId );
 
-        assertTemplateRoleNotExists( repoId + STAGE_REPO_ID_END );
+        // STAGE FIXME: check the things that should have been removed
+//        assertTemplateRoleNotExists( repoId + STAGE_REPO_ID_END );
 
         mockAuditListener.clearEvents();
 
@@ -250,13 +255,16 @@ public class ManagedRepositoryAdminTest
 
         ManagedRepository repo = getTestManagedRepository( repoId, repoLocation );
 
-        managedRepositoryAdmin.addManagedRepository( repo, false, getFakeAuditInformation() );
+        managedRepositoryAdmin.addManagedRepository( repo, getFakeAuditInformation() );
 
         assertTemplateRoleExists( repoId );
 
+        // STAGE FIXME: check the things that should have been removed
+        /*
         assertFalse( new File( repoLocation + STAGE_REPO_ID_END ).exists() );
 
         assertTemplateRoleNotExists( repoId + STAGE_REPO_ID_END );
+        */
 
         repos = managedRepositoryAdmin.getManagedRepositories();
         assertNotNull( repos );
@@ -272,7 +280,9 @@ public class ManagedRepositoryAdminTest
 
         repo.setLocation( repoLocation );
 
-        managedRepositoryAdmin.updateManagedRepository( repo, true, getFakeAuditInformation(), false );
+        repo.setStagingRequired( true );
+
+        managedRepositoryAdmin.updateManagedRepository( repo, getFakeAuditInformation(), false );
 
         repo = managedRepositoryAdmin.getManagedRepository( repoId );
         assertNotNull( repo );
@@ -291,9 +301,12 @@ public class ManagedRepositoryAdminTest
 
         assertTemplateRoleExists( repoId );
 
+        // STAGE FIXME: check the things that should have been removed
+        /*
         assertTrue( new File( stageRepoLocation + STAGE_REPO_ID_END ).exists() );
 
         assertTemplateRoleExists( repoId + STAGE_REPO_ID_END );
+        */
 
         managedRepositoryAdmin.deleteManagedRepository( repo.getId(), getFakeAuditInformation(), false );
 
@@ -302,9 +315,12 @@ public class ManagedRepositoryAdminTest
 
         assertTemplateRoleNotExists( repoId );
 
+        // STAGE FIXME: check the things that should have been removed
+        /*
         assertTrue( new File( stageRepoLocation + STAGE_REPO_ID_END ).exists() );
 
         assertTemplateRoleNotExists( repoId + STAGE_REPO_ID_END );
+        */
 
         assertAuditListenerCallAndUpdateAddAndDelete( true );
 

Modified: archiva/branches/staging-refactor/archiva-modules/archiva-scheduler/archiva-scheduler-repository/src/test/java/org/apache/archiva/mock/MockManagedRepositoryAdmin.java
URL: http://svn.apache.org/viewvc/archiva/branches/staging-refactor/archiva-modules/archiva-scheduler/archiva-scheduler-repository/src/test/java/org/apache/archiva/mock/MockManagedRepositoryAdmin.java?rev=1185127&r1=1185126&r2=1185127&view=diff
==============================================================================
--- archiva/branches/staging-refactor/archiva-modules/archiva-scheduler/archiva-scheduler-repository/src/test/java/org/apache/archiva/mock/MockManagedRepositoryAdmin.java (original)
+++ archiva/branches/staging-refactor/archiva-modules/archiva-scheduler/archiva-scheduler-repository/src/test/java/org/apache/archiva/mock/MockManagedRepositoryAdmin.java Mon Oct 17 12:34:20 2011
@@ -48,13 +48,14 @@ public class MockManagedRepositoryAdmin
 
         for ( ManagedRepositoryConfiguration repoConfig : managedRepoConfigs )
         {
-            // TODO add staging repo information back too
             ManagedRepository repo =
-                new ManagedRepository( repoConfig.getId(), repoConfig.getName(), repoConfig.getLocation(),
-                                       repoConfig.getLayout(), repoConfig.isSnapshots(), repoConfig.isReleases(),
-                                       repoConfig.isBlockRedeployments(), repoConfig.getRefreshCronExpression(),
-                                       repoConfig.getIndexDir(), repoConfig.isScanned(), repoConfig.getDaysOlder(),
-                                       repoConfig.getRetentionCount(), repoConfig.isDeleteReleasedSnapshots(), true );
+                new ManagedRepository( repoConfig.getId(), repoConfig.getName(),
+                                       repoConfig.getLocation(), repoConfig.getLayout(), repoConfig.isSnapshots(),
+                                       repoConfig.isReleases(), repoConfig.isBlockRedeployments(),
+                                       repoConfig.getRefreshCronExpression(), repoConfig.getIndexDir(),
+                                       repoConfig.isScanned(), repoConfig.getDaysOlder(),
+                                       repoConfig.getRetentionCount(), repoConfig.isDeleteReleasedSnapshots(),
+                                       repoConfig.isStagingRequired() );
 
             managedRepos.add( repo );
         }
@@ -89,15 +90,14 @@ public class MockManagedRepositoryAdmin
         return null;
     }
 
-    public Boolean addManagedRepository( ManagedRepository managedRepository, boolean needStageRepo,
-                                         AuditInformation auditInformation )
+    public Boolean addManagedRepository( ManagedRepository managedRepository, AuditInformation auditInformation )
         throws RepositoryAdminException
     {
         return null;
     }
 
-    public Boolean updateManagedRepository( ManagedRepository managedRepository, boolean needStageRepo,
-                                            AuditInformation auditInformation, boolean resetStats )
+    public Boolean updateManagedRepository( ManagedRepository managedRepository, AuditInformation auditInformation,
+                                            boolean resetStats )
         throws RepositoryAdminException
     {
         return null;

Modified: archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultManagedRepositoriesService.java
URL: http://svn.apache.org/viewvc/archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultManagedRepositoriesService.java?rev=1185127&r1=1185126&r2=1185127&view=diff
==============================================================================
--- archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultManagedRepositoriesService.java (original)
+++ archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultManagedRepositoriesService.java Mon Oct 17 12:34:20 2011
@@ -99,9 +99,7 @@ public class DefaultManagedRepositoriesS
 
         try
         {
-            return managedRepositoryAdmin.addManagedRepository( managedRepository,
-                                                                managedRepository.isStageRepoNeeded(),
-                                                                getAuditInformation() );
+            return managedRepositoryAdmin.addManagedRepository( managedRepository, getAuditInformation() );
         }
         catch ( RepositoryAdminException e )
         {
@@ -116,9 +114,7 @@ public class DefaultManagedRepositoriesS
 
         try
         {
-            return managedRepositoryAdmin.updateManagedRepository( managedRepository,
-                                                                   managedRepository.isStageRepoNeeded(),
-                                                                   getAuditInformation(),
+            return managedRepositoryAdmin.updateManagedRepository( managedRepository, getAuditInformation(),
                                                                    managedRepository.isResetStats() );
         }
         catch ( RepositoryAdminException e )

Modified: archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/MergingRepositoriesTest.java
URL: http://svn.apache.org/viewvc/archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/MergingRepositoriesTest.java?rev=1185127&r1=1185126&r2=1185127&view=diff
==============================================================================
--- archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/MergingRepositoriesTest.java (original)
+++ archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/MergingRepositoriesTest.java Mon Oct 17 12:34:20 2011
@@ -41,9 +41,9 @@ public class MergingRepositoriesTest
     public void testAddArtifactToStagingRepository()
     {
         addArtifact( getGroupId(), getArtifactId(), getVersion(), getPackaging(), getValidArtifactFilePath(),
-                     "merging-repo-stage", true );
+                     "merging-repo", true );
         assertTextPresent( "Artifact '" + getGroupId() + ":" + getArtifactId() + ":" + getVersion() +
-            "' was successfully deployed to repository 'merging-repo-stage'" );
+            "' was successfully staged for repository 'merging-repo'" );
     }
 
     // here we test the merging (no conflicts artifacts are available)
@@ -92,6 +92,7 @@ public class MergingRepositoriesTest
     @Test(dependsOnMethods = {"testAddArtifactToStagingRepository"})
     public void testConfigurationChangesOfStagingRepository()
     {
+        // STAGE FIXME: hardcoded ID
         editManagedRepository();
         addArtifact( getGroupId(), getArtifactId(), getVersion(), getPackaging(), getValidArtifactFilePath(),
                      "merging-repo-stage", true );

Modified: archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractArchivaTest.java
URL: http://svn.apache.org/viewvc/archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractArchivaTest.java?rev=1185127&r1=1185126&r2=1185127&view=diff
==============================================================================
--- archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractArchivaTest.java (original)
+++ archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractArchivaTest.java Mon Oct 17 12:34:20 2011
@@ -730,7 +730,7 @@ public abstract class AbstractArchivaTes
         setFieldValue( "repository.cronExpression", cron );
         setFieldValue( "repository.daysOlder", daysOlder );
         setFieldValue( "repository.retentionCount", retentionCount );
-        checkField( "stageNeeded" );
+        checkField( "repository.stagingRequired" );
 
         clickButtonWithValue( "Add Repository" );
     }

Modified: archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/archiva/web/action/MergeAction.java
URL: http://svn.apache.org/viewvc/archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/archiva/web/action/MergeAction.java?rev=1185127&r1=1185126&r2=1185127&view=diff
==============================================================================
--- archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/archiva/web/action/MergeAction.java (original)
+++ archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/archiva/web/action/MergeAction.java Mon Oct 17 12:34:20 2011
@@ -21,7 +21,6 @@ package org.apache.archiva.web.action;
 
 import com.opensymphony.xwork2.Preparable;
 import com.opensymphony.xwork2.Validateable;
-import org.apache.archiva.admin.model.RepositoryAdminException;
 import org.apache.archiva.admin.model.beans.ManagedRepository;
 import org.apache.archiva.admin.model.managed.ManagedRepositoryAdmin;
 import org.apache.archiva.audit.AuditEvent;
@@ -38,11 +37,13 @@ import org.codehaus.plexus.taskqueue.Tas
 import org.springframework.context.annotation.Scope;
 import org.springframework.stereotype.Controller;
 
-import javax.inject.Inject;
-import javax.inject.Named;
-import java.util.ArrayList;
+import java.util.Collection;
 import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
 import java.util.List;
+import javax.inject.Inject;
+import javax.inject.Named;
 
 /**
  *
@@ -69,104 +70,72 @@ public class MergeAction
 
     private String repoid;
 
-    private String sourceRepoId;
+    private Collection<ArtifactMetadata> conflictSourceArtifactsToBeDisplayed;
 
-    private final String action = "merge";
+    private static String SESSION_KEY = "default";
 
-    private final String hasConflicts = "CONFLICTS";
-
-    private List<ArtifactMetadata> conflictSourceArtifacts;
-
-    private List<ArtifactMetadata> conflictSourceArtifactsToBeDisplayed;
-
-    public String getConflicts()
+    public String requestMerge()
+        throws Exception
     {
-        try
+        if ( !repository.isStagingRequired() )
         {
-            sourceRepoId = repoid + "-stage";
-            ManagedRepository targetRepoConfig = managedRepositoryAdmin.getManagedRepository( sourceRepoId );
-
-            if ( targetRepoConfig != null )
-            {
-                return hasConflicts;
-            }
-            else
-            {
-                return ERROR;
-            }
+            addActionError( "Repository [" + repository.getId() + "] is not configured for staging" );
+            return ERROR;
         }
-        catch ( RepositoryAdminException e )
+
+        // check for conflicts to display
+        HashMap<String, ArtifactMetadata> map = new LinkedHashMap<String, ArtifactMetadata>();
+        for ( ArtifactMetadata metadata : getConflictSourceArtifacts() )
         {
-            addActionError( "RepositoryAdminException " + e.getMessage() );
-            return ERROR;
+            String metadataId = metadata.getNamespace() + ":" + metadata.getProject() + ":" + metadata.getVersion();
+            map.put( metadataId, metadata );
         }
+        conflictSourceArtifactsToBeDisplayed = map.values();
+
+        return "confirm";
     }
 
     public String doMerge()
     {
-        RepositorySession repositorySession = repositorySessionFactory.createSession();
-        try
-        {
-            MetadataRepository metadataRepository = repositorySession.getRepository();
-            List<ArtifactMetadata> sourceArtifacts = metadataRepository.getArtifacts( sourceRepoId );
-
-            if ( repository.isReleases() && !repository.isSnapshots() )
-            {
-                mergeWithOutSnapshots( metadataRepository, sourceArtifacts, sourceRepoId, repoid );
-            }
-            else
-            {
-                repositoryMerger.merge( metadataRepository, sourceRepoId, repoid );
-
-                for ( ArtifactMetadata metadata : sourceArtifacts )
-                {
-                    triggerAuditEvent( repoid, metadata.getId(), AuditEvent.MERGING_REPOSITORIES );
-                }
-            }
-
-            scanRepository();
-
-            addActionMessage( "Repository '" + sourceRepoId + "' successfully merged to '" + repoid + "'." );
-
-            return SUCCESS;
-        }
-        catch ( Exception e )
-        {
-            log.error( e.getMessage(), e );
-            addActionError( "Error occurred while merging the repositories: " + e.getMessage() );
-            return ERROR;
-        }
-        finally
-        {
-            repositorySession.close();
-        }
+        return merge( true );
     }
 
     public String mergeBySkippingConflicts()
     {
+        return merge( false );
+    }
+
+    private String merge( boolean overwriteConflicts )
+    {
+        // FIXME: stage repo should only need the repoid
+        String sourceRepoId = null;
+
         RepositorySession repositorySession = repositorySessionFactory.createSession();
         try
         {
             MetadataRepository metadataRepository = repositorySession.getRepository();
             List<ArtifactMetadata> sourceArtifacts = metadataRepository.getArtifacts( sourceRepoId );
-            sourceArtifacts.removeAll( conflictSourceArtifacts );
-
-            if ( repository.isReleases() && !repository.isSnapshots() )
+            if ( !overwriteConflicts )
             {
-                mergeWithOutSnapshots( metadataRepository, sourceArtifacts, sourceRepoId, repoid );
+                sourceArtifacts.removeAll( getConflictSourceArtifacts() );
+
+                Filter<ArtifactMetadata> artifactsWithOutConflicts = new IncludesFilter<ArtifactMetadata>(
+                    sourceArtifacts );
+                repositoryMerger.merge( metadataRepository, sourceRepoId, repoid, artifactsWithOutConflicts );
             }
             else
             {
+                repositoryMerger.merge( metadataRepository, sourceRepoId, repoid );
+            }
 
-                Filter<ArtifactMetadata> artifactsWithOutConflicts =
-                    new IncludesFilter<ArtifactMetadata>( sourceArtifacts );
-                repositoryMerger.merge( metadataRepository, sourceRepoId, repoid, artifactsWithOutConflicts );
-                for ( ArtifactMetadata metadata : sourceArtifacts )
-                {
-                    triggerAuditEvent( repoid, metadata.getId(), AuditEvent.MERGING_REPOSITORIES );
-                }
+            // FIXME: this should happen in the merge itself
+            for ( ArtifactMetadata metadata : sourceArtifacts )
+            {
+                triggerAuditEvent( repoid, metadata.getId(), AuditEvent.MERGING_REPOSITORIES );
             }
 
+            // FIXME: this should happen in the merge itself, don't re-scan the whole thing. Make sure we test the
+            //   results
             scanRepository();
 
             addActionMessage( "Repository '" + sourceRepoId + "' successfully merged to '" + repoid + "'." );
@@ -185,31 +154,6 @@ public class MergeAction
         }
     }
 
-    public String mergeWithOutConlficts()
-    {
-        sourceRepoId = repoid + "-stage";
-
-        RepositorySession repositorySession = repositorySessionFactory.createSession();
-        try
-        {
-            conflictSourceArtifacts =
-                repositoryMerger.getConflictingArtifacts( repositorySession.getRepository(), sourceRepoId, repoid );
-        }
-        catch ( Exception e )
-        {
-            addActionError( "Error occurred while merging the repositories." );
-            return ERROR;
-        }
-        finally
-        {
-            repositorySession.close();
-        }
-
-        addActionMessage( "Repository '" + sourceRepoId + "' successfully merged to '" + repoid + "'." );
-
-        return SUCCESS;
-    }
-
     public ManagedRepository getRepository()
     {
         return repository;
@@ -223,30 +167,7 @@ public class MergeAction
     public void prepare()
         throws Exception
     {
-        sourceRepoId = repoid + "-stage";
-        RepositorySession repositorySession = repositorySessionFactory.createSession();
-        try
-        {
-            conflictSourceArtifacts =
-                repositoryMerger.getConflictingArtifacts( repositorySession.getRepository(), sourceRepoId, repoid );
-        }
-        finally
-        {
-            repositorySession.close();
-        }
-
         this.repository = managedRepositoryAdmin.getManagedRepository( repoid );
-        setConflictSourceArtifactsToBeDisplayed( conflictSourceArtifacts );
-    }
-
-    public String getSourceRepoId()
-    {
-        return sourceRepoId;
-    }
-
-    public void setSourceRepoId( String sourceRepoId )
-    {
-        this.sourceRepoId = sourceRepoId;
     }
 
     public String getRepoid()
@@ -260,56 +181,39 @@ public class MergeAction
     }
 
     public List<ArtifactMetadata> getConflictSourceArtifacts()
+        throws Exception
     {
-        return conflictSourceArtifacts;
-    }
-
-    public void setConflictSourceArtifacts( List<ArtifactMetadata> conflictSourceArtifacts )
-    {
-        this.conflictSourceArtifacts = conflictSourceArtifacts;
+        RepositorySession repositorySession = repositorySessionFactory.createSession();
+        try
+        {
+            return repositoryMerger.getConflictingArtifacts( repositorySession.getRepository(), repoid );
+        }
+        finally
+        {
+            repositorySession.close();
+        }
     }
 
-    public List<ArtifactMetadata> getConflictSourceArtifactsToBeDisplayed()
+    public Collection<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 );
-        }
-        conflictSourceArtifactsToBeDisplayed.addAll( map.values() );
-    }
-
-    private void mergeWithOutSnapshots( MetadataRepository metadataRepository, List<ArtifactMetadata> sourceArtifacts,
-                                        String sourceRepoId, String repoid )
-        throws Exception
+    private Filter<ArtifactMetadata> filterOutSnapshots( List<ArtifactMetadata> sourceArtifacts, String repoid )
     {
-        List<ArtifactMetadata> artifactsWithOutSnapshots = new ArrayList<ArtifactMetadata>();
-        for ( ArtifactMetadata metadata : sourceArtifacts )
+        for ( Iterator<ArtifactMetadata> i = sourceArtifacts.iterator(); i.hasNext(); )
         {
-
+            ArtifactMetadata metadata = i.next();
             if ( metadata.getProjectVersion().contains( "SNAPSHOT" ) )
             {
-                artifactsWithOutSnapshots.add( metadata );
+                i.remove();
             }
             else
             {
                 triggerAuditEvent( repoid, metadata.getId(), AuditEvent.MERGING_REPOSITORIES );
             }
-
         }
-        sourceArtifacts.removeAll( artifactsWithOutSnapshots );
-
-        Filter<ArtifactMetadata> artifactListWithOutSnapShots = new IncludesFilter<ArtifactMetadata>( sourceArtifacts );
-        repositoryMerger.merge( metadataRepository, sourceRepoId, repoid, artifactListWithOutSnapShots );
+        return new IncludesFilter<ArtifactMetadata>( sourceArtifacts );
     }
 
     private void scanRepository()
@@ -346,4 +250,4 @@ public class MergeAction
     {
         this.managedRepositoryAdmin = managedRepositoryAdmin;
     }
-}
\ No newline at end of file
+}

Modified: archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/archiva/web/action/UploadAction.java
URL: http://svn.apache.org/viewvc/archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/archiva/web/action/UploadAction.java?rev=1185127&r1=1185126&r2=1185127&view=diff
==============================================================================
--- archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/archiva/web/action/UploadAction.java (original)
+++ archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/archiva/web/action/UploadAction.java Mon Oct 17 12:34:20 2011
@@ -292,6 +292,7 @@ public class UploadAction
     {
         try
         {
+            // STAGE FIXME: handle staging, reduce external duplication - should be a wrapper like block redeployment
             ManagedRepository repoConfig = managedRepositoryAdmin.getManagedRepository( repositoryId );
 
             ArtifactReference artifactReference = new ArtifactReference();
@@ -424,6 +425,7 @@ public class UploadAction
                 }
             }
 
+            // STAGE FIXME: if it was staged, say "staged for"
             String msg = "Artifact \'" + groupId + ":" + artifactId + ":" + version
                 + "\' was successfully deployed to repository \'" + repositoryId + "\'";
 

Modified: archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/archiva/web/action/admin/repositories/AddManagedRepositoryAction.java
URL: http://svn.apache.org/viewvc/archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/archiva/web/action/admin/repositories/AddManagedRepositoryAction.java?rev=1185127&r1=1185126&r2=1185127&view=diff
==============================================================================
--- archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/archiva/web/action/admin/repositories/AddManagedRepositoryAction.java (original)
+++ archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/archiva/web/action/admin/repositories/AddManagedRepositoryAction.java Mon Oct 17 12:34:20 2011
@@ -44,8 +44,6 @@ public class AddManagedRepositoryAction
 
     private ManagedRepository repository;
 
-    private boolean stageNeeded;
-
     private String action = "addRepository";
 
     public void prepare()
@@ -54,6 +52,7 @@ public class AddManagedRepositoryAction
         this.repository.setReleases( false );
         this.repository.setScanned( false );
         this.repository.setBlockRedeployments( false );
+        this.repository.setStagingRequired( false );
     }
 
     public String input()
@@ -88,7 +87,7 @@ public class AddManagedRepositoryAction
         String result = SUCCESS;
         try
         {
-            getManagedRepositoryAdmin().addManagedRepository( repository, stageNeeded, getAuditInformation() );
+            getManagedRepositoryAdmin().addManagedRepository( repository, getAuditInformation() );
         }
         catch ( RepositoryAdminException e )
         {
@@ -147,12 +146,6 @@ public class AddManagedRepositoryAction
         this.repository = repository;
     }
 
-
-    public void setStageNeeded( boolean stageNeeded )
-    {
-        this.stageNeeded = stageNeeded;
-    }
-
     public String getAction()
     {
         return action;

Modified: archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/archiva/web/action/admin/repositories/DeleteManagedRepositoryAction.java
URL: http://svn.apache.org/viewvc/archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/archiva/web/action/admin/repositories/DeleteManagedRepositoryAction.java?rev=1185127&r1=1185126&r2=1185127&view=diff
==============================================================================
--- archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/archiva/web/action/admin/repositories/DeleteManagedRepositoryAction.java (original)
+++ archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/archiva/web/action/admin/repositories/DeleteManagedRepositoryAction.java Mon Oct 17 12:34:20 2011
@@ -41,8 +41,6 @@ public class DeleteManagedRepositoryActi
 
     private ManagedRepository repository;
 
-    private ManagedRepository stagingRepository;
-
     private String repoid;
 
     public void prepare()
@@ -51,7 +49,6 @@ public class DeleteManagedRepositoryActi
         if ( StringUtils.isNotBlank( repoid ) )
         {
             this.repository = getManagedRepositoryAdmin().getManagedRepository( repoid );
-            this.stagingRepository = getManagedRepositoryAdmin().getManagedRepository( repoid + "-stage" );
         }
     }
 

Modified: archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/archiva/web/action/admin/repositories/EditManagedRepositoryAction.java
URL: http://svn.apache.org/viewvc/archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/archiva/web/action/admin/repositories/EditManagedRepositoryAction.java?rev=1185127&r1=1185126&r2=1185127&view=diff
==============================================================================
--- archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/archiva/web/action/admin/repositories/EditManagedRepositoryAction.java (original)
+++ archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/archiva/web/action/admin/repositories/EditManagedRepositoryAction.java Mon Oct 17 12:34:20 2011
@@ -44,15 +44,10 @@ public class EditManagedRepositoryAction
 
     private ManagedRepository repository;
 
-    private ManagedRepository stagingRepository;
-
     private String repoid;
 
     private final String action = "editRepository";
 
-    private boolean stageNeeded;
-
-
     // FIXME better error message
     public void prepare()
         throws RepositoryAdminException
@@ -60,12 +55,12 @@ public class EditManagedRepositoryAction
         if ( StringUtils.isNotBlank( repoid ) )
         {
             repository = getManagedRepositoryAdmin().getManagedRepository( repoid );
-            stagingRepository = getManagedRepositoryAdmin().getManagedRepository( repoid + "-stage" );
         }
         else if ( repository != null )
         {
             repository.setReleases( false );
             repository.setScanned( false );
+            repository.setStagingRequired( false );
         }
     }
 
@@ -115,7 +110,7 @@ public class EditManagedRepositoryAction
         String result = SUCCESS;
         try
         {
-            getManagedRepositoryAdmin().updateManagedRepository( repository, stageNeeded, getAuditInformation(),
+            getManagedRepositoryAdmin().updateManagedRepository( repository, getAuditInformation(),
                                                                  resetStats );
         }
         catch ( RepositoryAdminException e )
@@ -175,17 +170,6 @@ public class EditManagedRepositoryAction
     }
 
 
-    public boolean isStageNeeded()
-    {
-        return stageNeeded;
-    }
-
-    public void setStageNeeded( boolean stageNeeded )
-    {
-
-        this.stageNeeded = stageNeeded;
-    }
-
     public String getAction()
     {
         return action;
@@ -200,14 +184,4 @@ public class EditManagedRepositoryAction
     {
         this.repository = repository;
     }
-
-    public ManagedRepository getStagingRepository()
-    {
-        return stagingRepository;
-    }
-
-    public void setStagingRepository( ManagedRepository stagingRepository )
-    {
-        this.stagingRepository = stagingRepository;
-    }
 }

Modified: archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/archiva/web/action/admin/repositories/RepositoriesAction.java
URL: http://svn.apache.org/viewvc/archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/archiva/web/action/admin/repositories/RepositoriesAction.java?rev=1185127&r1=1185126&r2=1185127&view=diff
==============================================================================
--- archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/archiva/web/action/admin/repositories/RepositoriesAction.java (original)
+++ archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/archiva/web/action/admin/repositories/RepositoriesAction.java Mon Oct 17 12:34:20 2011
@@ -43,13 +43,13 @@ import org.codehaus.redback.integration.
 import org.springframework.context.annotation.Scope;
 import org.springframework.stereotype.Controller;
 
-import javax.inject.Inject;
-import javax.servlet.http.HttpServletRequest;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import javax.inject.Inject;
+import javax.servlet.http.HttpServletRequest;
 
 /**
  * Shows the Repositories Tab for the administrator.
@@ -152,10 +152,7 @@ public class RepositoriesAction
         List<ManagedRepository> managedRepositoriesList = new ArrayList<ManagedRepository>();
         for ( ManagedRepository repoConfig : managedRepositories )
         {
-            if ( !repoConfig.getId().endsWith( "-stage" ) )
-            {
-                managedRepositoriesList.add( repoConfig );
-            }
+            managedRepositoriesList.add( repoConfig );
         }
         return managedRepositoriesList;
     }

Modified: archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/resources/struts.xml
URL: http://svn.apache.org/viewvc/archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/resources/struts.xml?rev=1185127&r1=1185126&r2=1185127&view=diff
==============================================================================
--- archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/resources/struts.xml (original)
+++ archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/resources/struts.xml Mon Oct 17 12:34:20 2011
@@ -415,8 +415,8 @@
     </action>
 
 
-    <action name="merge" class="mergeAction" method="getConflicts">
-      <result name="CONFLICTS">/WEB-INF/jsp/admin/mergeExcludeConflicts.jsp</result>
+    <action name="merge" class="mergeAction" method="requestMerge">
+      <result name="confirm">/WEB-INF/jsp/admin/mergeExcludeConflicts.jsp</result>
       <result name="success">/WEB-INF/jsp/admin/mergeResults.jsp</result>
       <interceptor-ref name="configuredPrepareParamsStack"/>
     </action>

Modified: archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/addRepository.jsp
URL: http://svn.apache.org/viewvc/archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/addRepository.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/addRepository.jsp (original)
+++ archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/addRepository.jsp Mon Oct 17 12:34:20 2011
@@ -49,7 +49,6 @@
   <s:form method="post" action="addRepository!commit" namespace="/admin" validate="true">
     <s:textfield name="repository.id" label="Identifier" size="10" required="true"/>
     <%@ include file="/WEB-INF/jsp/admin/include/repositoryForm.jspf" %>
-    <s:checkbox name="stageNeeded" value="stageNeeded" label="Create stage repository"/>
     <s:submit value="Add Repository"/>
   </s:form>
 

Modified: archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/editRepository.jsp
URL: http://svn.apache.org/viewvc/archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/editRepository.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/editRepository.jsp (original)
+++ archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/editRepository.jsp Mon Oct 17 12:34:20 2011
@@ -52,15 +52,6 @@
     <s:hidden name="repository.id"/>
     <s:label label="ID" name="repository.id" />
     <%@ include file="/WEB-INF/jsp/admin/include/repositoryForm.jspf" %>
-
-    <c:choose>
-      <c:when test="${empty(stagingRepository)}">
-        <s:checkbox id="stageNeeded" name="stageNeeded" value="false" label="Create stage repository"/>
-      </c:when>
-      <c:otherwise>
-        <s:checkbox name="stageNeeded" value="true" label="Create stage repository"/>
-      </c:otherwise>
-    </c:choose>
     <s:submit value="Update Repository"/>
   </s:form>
 

Modified: archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/include/repositoryForm.jspf
URL: http://svn.apache.org/viewvc/archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/include/repositoryForm.jspf?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/include/repositoryForm.jspf (original)
+++ archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/include/repositoryForm.jspf Mon Oct 17 12:34:20 2011
@@ -34,3 +34,4 @@
 <s:checkbox name="repository.scanned" value="repository.scanned" label="Scannable"/>
 <s:checkbox name="repository.deleteReleasedSnapshots" value="repository.deleteReleasedSnapshots"
              label="Delete Released Snapshots"/>
+<s:checkbox name="repository.stagingRequired" value="repository.stagingRequired" label="Require staging repository"/>

Modified: archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/mergeExcludeConflicts.jsp
URL: http://svn.apache.org/viewvc/archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/mergeExcludeConflicts.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/mergeExcludeConflicts.jsp (original)
+++ archiva/branches/staging-refactor/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/mergeExcludeConflicts.jsp Mon Oct 17 12:34:20 2011
@@ -36,79 +36,38 @@
 </p>
 
 <div class="infobox">
-  <table class="infotable">
+<c:choose>
+  <c:when test="${empty (conflictSourceArtifactsToBeDisplayed)}">
+    <h1>No conflicting artifacts</h1>
 
-    <c:choose>
-      <c:when test="${empty (conflictSourceArtifacts)}">
-        <h1>No conflicting artifacts</h1>
-
-        <c:if test="${!repository.snapshots and repository.releases}">
-          <div class="warningbox">
-            <p>
-              <strong>WARNING:  Repository  "${repoid}" does not allow to merge snapshots</strong>
-            </p>
-          </div>
-        </c:if>
-
-        <s:form method="post" action="merge" namespace="/admin" validate="false" theme="simple">
-          <s:hidden name="repoid"/>
-          <div class="buttons">
-            <s:submit value="Merge All" method="doMerge"/>
-          </div>
-        </s:form>
-      </c:when>
-      <c:otherwise>
-        <div class="warningbox">
-          <c:if test="${!repository.snapshots and repository.releases}">
-            <p>
-              <strong>WARNING:  Repository "${repoid}" does not allow to merge snapshots</strong>
-            </p>
-          </c:if>
-          <p>
-            <strong>WARNING: The following are the artifacts in conflict.</strong>
-          </p>
-        </div>
-        <c:forEach items="${conflictSourceArtifactsToBeDisplayed}" var="artifact">
-          <tr>
-            <td>Artifact Id :</td>
-            <%--<td><code>${artifact.id}</code></td>--%>
-            <td align="left"> <code>${artifact.namespace} ${" "} ${artifact.project}  ${" "} ${artifact.version}</code></td>
-          </tr>
-        </c:forEach>
+    <s:form method="post" action="merge" namespace="/admin" validate="false" theme="simple">
+      <s:hidden name="repoid"/>
+      <div class="buttons">
+        <s:submit value="Merge All" method="doMerge"/>
+      </div>
+    </s:form>
+  </c:when>
+  <c:otherwise>
+    <div class="warningbox">
+      <p><strong>WARNING! The following are the artifacts in conflict:</strong></p>
+    </div>
+    <table class="infotable">
+      <c:forEach items="${conflictSourceArtifactsToBeDisplayed}" var="artifact">
         <tr>
-          <td>
-            <s:form action="merge" method="post" namespace="/admin" validate="false">
-              <s:hidden name="repoid"/>
-              <div class="buttons">
-                <table>
-                  <tr>
-                    <td>
-                      <table>
-                        <tr>
-                          <td>
-                            <s:submit value="Merge All" method="doMerge"/>
-                          </td>
-                        </tr>
-                      </table>
-                    </td>
-                    <td>
-                      <table>
-                        <tr>
-                          <td>
-                            <s:submit value="Merge With Skip" method="mergeBySkippingConflicts"/>
-                          </td>
-                        </tr>
-                      </table>
-                    </td>
-                  </tr>
-                </table>
-              </div>
-            </s:form>
-          </td>
+          <td>Artifact Id :</td>
+          <td align="left"> <code>${artifact.namespace} : ${artifact.project} : ${artifact.version}</code></td>
         </tr>
-      </c:otherwise>
-    </c:choose>
-  </table>
+      </c:forEach>
+    </table>
+    <s:form action="merge" method="post" namespace="/admin" validate="false">
+      <s:hidden name="repoid"/>
+      <div class="buttons">
+        <s:submit value="Merge and Overwrite Conflicts" method="doMerge"/>
+        <s:submit value="Merge and Skip Conflicts" method="mergeBySkippingConflicts"/>
+      </div>
+    </s:form>
+  </c:otherwise>
+</c:choose>
 </div>
 </body>
 </html>