You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@continuum.apache.org by oc...@apache.org on 2009/01/13 04:00:37 UTC

svn commit: r734009 [2/8] - in /continuum/branches/continuum-parallel-builds: ./ continuum-api/src/main/java/org/apache/continuum/buildmanager/ continuum-api/src/main/java/org/apache/continuum/configuration/ continuum-api/src/main/java/org/apache/conti...

Propchange: continuum/branches/continuum-parallel-builds/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Jan 12 18:58:46 2009
@@ -1 +1 @@
-/continuum/branches/continuum-1.2.x:690684,690689-690799,698449-698533,698817-698819,699529,700250,700273,700936,705894,705910,708339
+/continuum/branches/continuum-1.2.x:690684,690689-690799,698449-698533,698817-698819,699529,700250,700273,700936,705894,705910,708339,722279,722624,723119,723487,724016,724024,725845,726103,726239,726462

Modified: continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/continuum/buildmanager/BuildsManager.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/continuum/buildmanager/BuildsManager.java?rev=734009&r1=734008&r2=734009&view=diff
==============================================================================
--- continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/continuum/buildmanager/BuildsManager.java (original)
+++ continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/continuum/buildmanager/BuildsManager.java Mon Jan 12 18:58:46 2009
@@ -23,6 +23,7 @@
 import java.util.List;
 import java.util.Map;
 
+import org.apache.continuum.taskqueue.manager.TaskQueueManagerException;
 import org.apache.maven.continuum.model.project.BuildDefinition;
 import org.apache.maven.continuum.model.project.BuildQueue;
 import org.apache.maven.continuum.model.project.Project;
@@ -66,9 +67,11 @@
      * 
      * @param projectsBuildDefinitionsMap
      * @param trigger
+     * @param projectGroupId TODO
+     * @param scmRootAddress TODO
      * @throws BuildManagerException
      */
-    void prepareBuildProjects( Map<Integer, Integer> projectsBuildDefinitionsMap, int trigger )
+    void prepareBuildProjects( Map<Integer, Integer> projectsBuildDefinitionsMap, int trigger, int projectGroupId, String scmRootAddress )
         throws BuildManagerException;
 
     /**
@@ -200,6 +203,9 @@
     void removeProjectsFromCheckoutQueueWithHashcodes( int[] hashcodes )
         throws BuildManagerException;
     
+    boolean removeProjectGroupFromPrepareBuildQueue( int projectGroupId, String scmRootAddress )
+        throws BuildManagerException;
+    
     /*void removeProjectFromPrepareBuildQueue( int projectId ) throws BuildManagerException;
 
     void removeProjectsFromPrepareBuildQueue( int[] projectIds ) throws BuildManagerException;*/

Propchange: continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/continuum/configuration/ContinuumConfiguration.java
            ('svn:executable' removed)

Propchange: continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/continuum/configuration/ContinuumConfigurationException.java
------------------------------------------------------------------------------
--- svn:keywords (original)
+++ svn:keywords Mon Jan 12 18:58:46 2009
@@ -1 +1 @@
-"Author Date Id Revision"
+Author Date Id Revision

Propchange: continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/continuum/configuration/GeneralConfiguration.java
            ('svn:executable' removed)

Propchange: continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/continuum/configuration/ProxyConfiguration.java
            ('svn:executable' removed)

Propchange: continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/continuum/dao/ContinuumReleaseResultDao.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/continuum/dao/ContinuumReleaseResultDao.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/continuum/dao/ProjectScmRootDao.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/continuum/dao/ProjectScmRootDao.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Modified: continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/continuum/taskqueue/manager/TaskQueueManager.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/continuum/taskqueue/manager/TaskQueueManager.java?rev=734009&r1=734008&r2=734009&view=diff
==============================================================================
--- continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/continuum/taskqueue/manager/TaskQueueManager.java (original)
+++ continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/continuum/taskqueue/manager/TaskQueueManager.java Mon Jan 12 18:58:46 2009
@@ -27,7 +27,7 @@
 public interface TaskQueueManager
 {            
     String ROLE = TaskQueueManager.class.getName();
-
+    
     TaskQueue getPurgeQueue();
 
     boolean isInPurgeQueue( int purgeConfigurationId )

Propchange: continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/continuum/taskqueue/manager/TaskQueueManager.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/continuum/taskqueue/manager/TaskQueueManager.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/continuum/taskqueue/manager/TaskQueueManagerException.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/continuum/taskqueue/manager/TaskQueueManagerException.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Modified: continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/maven/continuum/ContinuumRuntimeException.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/maven/continuum/ContinuumRuntimeException.java?rev=734009&r1=734008&r2=734009&view=diff
==============================================================================
--- continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/maven/continuum/ContinuumRuntimeException.java (original)
+++ continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/maven/continuum/ContinuumRuntimeException.java Mon Jan 12 18:58:46 2009
@@ -21,6 +21,7 @@
 
 /**
  * Exception thrown as a result of a Continuum programming error so that the user need not deal with it.
+ * @version $Id$
  */
 public class ContinuumRuntimeException
     extends RuntimeException

Propchange: continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/maven/continuum/ContinuumRuntimeException.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/maven/continuum/build/settings/BuildSettingsConstants.java
------------------------------------------------------------------------------
--- svn:keywords (original)
+++ svn:keywords Mon Jan 12 18:58:46 2009
@@ -1 +1 @@
-"Author Date Id Revision"
+Author Date Id Revision

Propchange: continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/maven/continuum/build/settings/SchedulesActivationException.java
------------------------------------------------------------------------------
--- svn:keywords (original)
+++ svn:keywords Mon Jan 12 18:58:46 2009
@@ -1 +1 @@
-"Author Date Id Revision"
+Author Date Id Revision

Propchange: continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/maven/continuum/build/settings/SchedulesActivator.java
------------------------------------------------------------------------------
--- svn:keywords (original)
+++ svn:keywords Mon Jan 12 18:58:46 2009
@@ -1 +1 @@
-"Author Date Id Revision"
+Author Date Id Revision

Modified: continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/maven/continuum/builddefinition/BuildDefinitionService.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/maven/continuum/builddefinition/BuildDefinitionService.java?rev=734009&r1=734008&r2=734009&view=diff
==============================================================================
--- continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/maven/continuum/builddefinition/BuildDefinitionService.java (original)
+++ continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/maven/continuum/builddefinition/BuildDefinitionService.java Mon Jan 12 18:58:46 2009
@@ -115,7 +115,7 @@
 
     public List<BuildDefinitionTemplate> getBuildDefinitionTemplatesWithType( String type )
         throws BuildDefinitionServiceException;
-
+    
     public ProjectGroup addBuildDefinitionTemplateToProjectGroup( int projectGroupId,
                                                                   BuildDefinitionTemplate buildDefinitionTemplate )
         throws BuildDefinitionServiceException, ContinuumObjectNotFoundException;

Propchange: continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/maven/continuum/builddefinition/BuildDefinitionService.java
------------------------------------------------------------------------------
--- svn:eol-style (original)
+++ svn:eol-style Mon Jan 12 18:58:46 2009
@@ -1 +1 @@
-LF
+native

Propchange: continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/maven/continuum/builddefinition/BuildDefinitionService.java
            ('svn:executable' removed)

Propchange: continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/maven/continuum/builddefinition/BuildDefinitionService.java
------------------------------------------------------------------------------
--- svn:keywords (original)
+++ svn:keywords Mon Jan 12 18:58:46 2009
@@ -1 +1 @@
-URL HeadURL Author LastChangedBy Date LastChangedDate Rev Revision LastChangedRevision Id
+Author Date Id Revision

Propchange: continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/maven/continuum/builddefinition/BuildDefinitionServiceException.java
------------------------------------------------------------------------------
--- svn:eol-style (original)
+++ svn:eol-style Mon Jan 12 18:58:46 2009
@@ -1 +1 @@
-LF
+native

Propchange: continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/maven/continuum/builddefinition/BuildDefinitionServiceException.java
            ('svn:executable' removed)

Propchange: continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/maven/continuum/builddefinition/BuildDefinitionServiceException.java
------------------------------------------------------------------------------
--- svn:keywords (original)
+++ svn:keywords Mon Jan 12 18:58:46 2009
@@ -1 +1 @@
-URL HeadURL Author LastChangedBy Date LastChangedDate Rev Revision LastChangedRevision Id
+Author Date Id Revision

Propchange: continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/maven/continuum/configuration/ConfigurationException.java
------------------------------------------------------------------------------
--- svn:keywords (original)
+++ svn:keywords Mon Jan 12 18:58:46 2009
@@ -1 +1 @@
-"Author Date Id Revision"
+Author Date Id Revision

Propchange: continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/maven/continuum/execution/ContinuumBuildCancelledException.java
------------------------------------------------------------------------------
--- svn:keywords (original)
+++ svn:keywords Mon Jan 12 18:58:46 2009
@@ -1 +1 @@
-"Author Date Id Revision"
+Author Date Id Revision

Propchange: continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/maven/continuum/execution/ContinuumBuildExecutorConstants.java
------------------------------------------------------------------------------
--- svn:eol-style (original)
+++ svn:eol-style Mon Jan 12 18:58:46 2009
@@ -1 +1 @@
-LF
+native

Propchange: continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/maven/continuum/execution/ContinuumBuildExecutorConstants.java
            ('svn:executable' removed)

Propchange: continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/maven/continuum/execution/ContinuumBuildExecutorConstants.java
------------------------------------------------------------------------------
--- svn:keywords (original)
+++ svn:keywords Mon Jan 12 18:58:46 2009
@@ -1 +1 @@
-URL HeadURL Author LastChangedBy Date LastChangedDate Rev Revision LastChangedRevision Id
+Author Date Id Revision

Propchange: continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/maven/continuum/execution/ExecutorConfigurator.java
------------------------------------------------------------------------------
--- svn:keywords (original)
+++ svn:keywords Mon Jan 12 18:58:46 2009
@@ -1 +1 @@
-"Author Date Id Revision"
+Author Date Id Revision

Propchange: continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/maven/continuum/installation/AlreadyExistsInstallationException.java
            ('svn:executable' removed)

Propchange: continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/maven/continuum/installation/AlreadyExistsInstallationException.java
------------------------------------------------------------------------------
--- svn:keywords (original)
+++ svn:keywords Mon Jan 12 18:58:46 2009
@@ -1 +1 @@
-URL HeadURL Author LastChangedBy Date LastChangedDate Rev Revision LastChangedRevision Id
+Author Date Id Revision

Propchange: continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/maven/continuum/installation/InstallationException.java
------------------------------------------------------------------------------
--- svn:keywords (original)
+++ svn:keywords Mon Jan 12 18:58:46 2009
@@ -1 +1 @@
-"Author Date Id Revision"
+Author Date Id Revision

Propchange: continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/maven/continuum/installation/InstallationService.java
------------------------------------------------------------------------------
--- svn:keywords (original)
+++ svn:keywords Mon Jan 12 18:58:46 2009
@@ -1 +1 @@
-"Author Date Id Revision"
+Author Date Id Revision

Propchange: continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/maven/continuum/profile/AlreadyExistsProfileException.java
            ('svn:executable' removed)

Propchange: continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/maven/continuum/profile/AlreadyExistsProfileException.java
------------------------------------------------------------------------------
--- svn:keywords (original)
+++ svn:keywords Mon Jan 12 18:58:46 2009
@@ -1 +1 @@
-URL HeadURL Author LastChangedBy Date LastChangedDate Rev Revision LastChangedRevision Id
+Author Date Id Revision

Propchange: continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/maven/continuum/profile/ProfileException.java
------------------------------------------------------------------------------
--- svn:keywords (original)
+++ svn:keywords Mon Jan 12 18:58:46 2009
@@ -1 +1 @@
-"Author Date Id Revision"
+Author Date Id Revision

Propchange: continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/maven/continuum/profile/ProfileService.java
------------------------------------------------------------------------------
--- svn:keywords (original)
+++ svn:keywords Mon Jan 12 18:58:46 2009
@@ -1 +1 @@
-"Author Date Id Revision"
+Author Date Id Revision

Modified: continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/maven/continuum/release/ContinuumReleaseException.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/maven/continuum/release/ContinuumReleaseException.java?rev=734009&r1=734008&r2=734009&view=diff
==============================================================================
--- continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/maven/continuum/release/ContinuumReleaseException.java (original)
+++ continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/maven/continuum/release/ContinuumReleaseException.java Mon Jan 12 18:58:46 2009
@@ -21,6 +21,7 @@
 
 /**
  * @author Jason van Zyl
+ * @version $Id$
  */
 public class ContinuumReleaseException
     extends Exception

Propchange: continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/maven/continuum/release/ContinuumReleaseException.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Modified: continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/maven/continuum/release/ContinuumReleaseManager.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/maven/continuum/release/ContinuumReleaseManager.java?rev=734009&r1=734008&r2=734009&view=diff
==============================================================================
--- continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/maven/continuum/release/ContinuumReleaseManager.java (original)
+++ continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/maven/continuum/release/ContinuumReleaseManager.java Mon Jan 12 18:58:46 2009
@@ -32,6 +32,7 @@
  * that has been received by the Maven Release Plugin.
  *
  * @author Jason van Zyl
+ * @version $Id$
  */
 public interface ContinuumReleaseManager
 {

Propchange: continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/maven/continuum/release/ContinuumReleaseManager.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Modified: continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/maven/continuum/release/ContinuumReleaseManagerListener.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/maven/continuum/release/ContinuumReleaseManagerListener.java?rev=734009&r1=734008&r2=734009&view=diff
==============================================================================
--- continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/maven/continuum/release/ContinuumReleaseManagerListener.java (original)
+++ continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/maven/continuum/release/ContinuumReleaseManagerListener.java Mon Jan 12 18:58:46 2009
@@ -23,6 +23,7 @@
 
 /**
  * @author Edwin Punzalan
+ * @version $Id$
  */
 public interface ContinuumReleaseManagerListener
 {

Propchange: continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/maven/continuum/release/ContinuumReleaseManagerListener.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: continuum/branches/continuum-parallel-builds/continuum-api/src/main/java/org/apache/maven/continuum/utils/WorkingDirectoryService.java
------------------------------------------------------------------------------
--- svn:keywords (original)
+++ svn:keywords Mon Jan 12 18:58:46 2009
@@ -1 +1 @@
-Id
+Author Date Id Revision

Propchange: continuum/branches/continuum-parallel-builds/continuum-base/continuum-configuration/src/main/java/org/apache/continuum/configuration/DefaultContinuumConfiguration.java
            ('svn:executable' removed)

Propchange: continuum/branches/continuum-parallel-builds/continuum-base/continuum-configuration/src/main/resources/META-INF/spring-context.xml
            ('svn:executable' removed)

Propchange: continuum/branches/continuum-parallel-builds/continuum-base/continuum-configuration/src/test/java/org/apache/continuum/configuration/TestDefaultContinuumConfiguration.java
            ('svn:executable' removed)

Propchange: continuum/branches/continuum-parallel-builds/continuum-base/continuum-configuration/src/test/resources/conf/continuum.xml
            ('svn:executable' removed)

Propchange: continuum/branches/continuum-parallel-builds/continuum-base/continuum-configuration/src/test/resources/log4j.xml
            ('svn:executable' removed)

Modified: continuum/branches/continuum-parallel-builds/continuum-base/continuum-scm/pom.xml
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-parallel-builds/continuum-base/continuum-scm/pom.xml?rev=734009&r1=734008&r2=734009&view=diff
==============================================================================
--- continuum/branches/continuum-parallel-builds/continuum-base/continuum-scm/pom.xml (original)
+++ continuum/branches/continuum-parallel-builds/continuum-base/continuum-scm/pom.xml Mon Jan 12 18:58:46 2009
@@ -46,7 +46,11 @@
     <dependency>
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-spring</artifactId>
-    </dependency>    
+    </dependency>   
+    <dependency>
+      <groupId>javax.annotation</groupId>
+      <artifactId>jsr250-api</artifactId>
+    </dependency>      
     <dependency>
       <groupId>org.slf4j</groupId>
       <artifactId>slf4j-simple</artifactId>

Propchange: continuum/branches/continuum-parallel-builds/continuum-base/continuum-scm/pom.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: continuum/branches/continuum-parallel-builds/continuum-base/continuum-scm/src/main/java/org/apache/continuum/scm/ContinuumScm.java
            ('svn:mime-type' removed)

Propchange: continuum/branches/continuum-parallel-builds/continuum-base/continuum-scm/src/main/java/org/apache/continuum/scm/ContinuumScmConfiguration.java
            ('svn:mime-type' removed)

Modified: continuum/branches/continuum-parallel-builds/continuum-base/continuum-scm/src/main/java/org/apache/continuum/scm/DefaultContinuumScm.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-parallel-builds/continuum-base/continuum-scm/src/main/java/org/apache/continuum/scm/DefaultContinuumScm.java?rev=734009&r1=734008&r2=734009&view=diff
==============================================================================
--- continuum/branches/continuum-parallel-builds/continuum-base/continuum-scm/src/main/java/org/apache/continuum/scm/DefaultContinuumScm.java (original)
+++ continuum/branches/continuum-parallel-builds/continuum-base/continuum-scm/src/main/java/org/apache/continuum/scm/DefaultContinuumScm.java Mon Jan 12 18:58:46 2009
@@ -22,6 +22,8 @@
 import java.io.File;
 import java.io.IOException;
 
+import javax.annotation.Resource;
+
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.lang.StringUtils;
 import org.apache.maven.scm.ScmException;
@@ -34,6 +36,7 @@
 import org.apache.maven.scm.manager.ScmManager;
 import org.apache.maven.scm.repository.ScmRepository;
 import org.apache.maven.scm.repository.ScmRepositoryException;
+import org.springframework.stereotype.Service;
 
 /**
  * @author <a href="mailto:trygvis@inamo.no">Trygve Laugst&oslash;l</a>
@@ -41,10 +44,12 @@
  * 
  * @version $Id$
  */
+@Service("continuumScm")
 public class DefaultContinuumScm
     implements ContinuumScm
 {
     /** The Maven SCM manager to use. */
+    @Resource
     private ScmManager scmManager;
 
     public CheckOutScmResult checkout( ContinuumScmConfiguration configuration )

Propchange: continuum/branches/continuum-parallel-builds/continuum-base/continuum-scm/src/main/java/org/apache/continuum/scm/manager/ScmManager.java
            ('svn:mime-type' removed)

Modified: continuum/branches/continuum-parallel-builds/continuum-base/continuum-scm/src/main/java/org/apache/continuum/scm/manager/Slf4jScmLogger.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-parallel-builds/continuum-base/continuum-scm/src/main/java/org/apache/continuum/scm/manager/Slf4jScmLogger.java?rev=734009&r1=734008&r2=734009&view=diff
==============================================================================
--- continuum/branches/continuum-parallel-builds/continuum-base/continuum-scm/src/main/java/org/apache/continuum/scm/manager/Slf4jScmLogger.java (original)
+++ continuum/branches/continuum-parallel-builds/continuum-base/continuum-scm/src/main/java/org/apache/continuum/scm/manager/Slf4jScmLogger.java Mon Jan 12 18:58:46 2009
@@ -22,6 +22,7 @@
 import org.apache.maven.scm.log.ScmLogger;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Service;
 
 /**
  * SLF4J logger for Maven SCM.
@@ -29,6 +30,7 @@
  * 
  * @version $Id$
  */
+@Service("scmLogger")
 public class Slf4jScmLogger
     implements ScmLogger
 {

Propchange: continuum/branches/continuum-parallel-builds/continuum-base/continuum-scm/src/main/java/org/apache/continuum/scm/manager/Slf4jScmLogger.java
            ('svn:mime-type' removed)

Propchange: continuum/branches/continuum-parallel-builds/continuum-base/continuum-scm/src/main/java/org/apache/continuum/scm/manager/spring/ScmProviderFactoryBean.java
------------------------------------------------------------------------------
--- svn:keywords (original)
+++ svn:keywords Mon Jan 12 18:58:46 2009
@@ -1 +1 @@
-"Author Date Id Revision"
+Author Date Id Revision

Modified: continuum/branches/continuum-parallel-builds/continuum-base/continuum-scm/src/main/resources/META-INF/spring-context.xml
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-parallel-builds/continuum-base/continuum-scm/src/main/resources/META-INF/spring-context.xml?rev=734009&r1=734008&r2=734009&view=diff
==============================================================================
--- continuum/branches/continuum-parallel-builds/continuum-base/continuum-scm/src/main/resources/META-INF/spring-context.xml (original)
+++ continuum/branches/continuum-parallel-builds/continuum-base/continuum-scm/src/main/resources/META-INF/spring-context.xml Mon Jan 12 18:58:46 2009
@@ -1,16 +1,37 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License.  You may obtain a copy of the License at
+  ~
+  ~   http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied.  See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+  -->
 <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xmlns:context="http://www.springframework.org/schema/context"
        xsi:schemaLocation="http://www.springframework.org/schema/beans
-           http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
+                http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
+                http://www.springframework.org/schema/context
+                http://www.springframework.org/schema/context/spring-context-2.5.xsd">
 
-  <bean id="continuumScm" class="org.apache.continuum.scm.DefaultContinuumScm">
-    <property name="scmManager" ref="scmManager" />
-  </bean>
+  <context:annotation-config />
+  <context:component-scan base-package="org.apache.continuum.scm"/>
 
   <bean id="scmManager" class="org.apache.continuum.scm.manager.ScmManager">
     <property name="scmLogger" ref="scmLogger" />
+    <property name="scmProviders">
+      <bean class="org.apache.continuum.scm.manager.spring.ScmProviderFactoryBean"/>
+    </property>
   </bean>
-
-  <bean id="scmLogger" class="org.apache.continuum.scm.manager.Slf4jScmLogger" />
 </beans>

Propchange: continuum/branches/continuum-parallel-builds/continuum-base/continuum-scm/src/main/resources/META-INF/spring-context.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: continuum/branches/continuum-parallel-builds/continuum-base/continuum-scm/src/test/resources/log4j.xml
            ('svn:executable' removed)

Propchange: continuum/branches/continuum-parallel-builds/continuum-base/continuum-scm/src/test/resources/log4j.xml
------------------------------------------------------------------------------
--- svn:keywords (original)
+++ svn:keywords Mon Jan 12 18:58:46 2009
@@ -1 +1 @@
-"Author Date Id Revision"
+Author Date Id Revision

Modified: continuum/branches/continuum-parallel-builds/continuum-commons/pom.xml
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-parallel-builds/continuum-commons/pom.xml?rev=734009&r1=734008&r2=734009&view=diff
==============================================================================
--- continuum/branches/continuum-parallel-builds/continuum-commons/pom.xml (original)
+++ continuum/branches/continuum-parallel-builds/continuum-commons/pom.xml Mon Jan 12 18:58:46 2009
@@ -36,6 +36,14 @@
       <artifactId>continuum-store</artifactId>
     </dependency>
     <dependency>
+      <groupId>org.springframework</groupId>
+      <artifactId>spring-context-support</artifactId>
+    </dependency>      
+    <dependency>
+      <groupId>javax.annotation</groupId>
+      <artifactId>jsr250-api</artifactId>
+    </dependency>    
+    <dependency>
       <groupId>org.apache.continuum</groupId>
       <artifactId>continuum-configuration</artifactId>
     </dependency>
@@ -71,20 +79,4 @@
       <scope>test</scope>
     </dependency>      
   </dependencies>
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.codehaus.plexus</groupId>
-        <artifactId>plexus-maven-plugin</artifactId>
-        <executions>
-          <execution>
-            <id>generate</id>
-            <goals>
-              <goal>descriptor</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
 </project>

Propchange: continuum/branches/continuum-parallel-builds/continuum-commons/pom.xml
------------------------------------------------------------------------------
--- svn:keywords (original)
+++ svn:keywords Mon Jan 12 18:58:46 2009
@@ -1 +1 @@
-"Author Date Id Revision"
+Author Date Id Revision

Modified: continuum/branches/continuum-parallel-builds/continuum-commons/src/main/java/org/apache/continuum/buildqueue/DefaultBuildQueueService.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-parallel-builds/continuum-commons/src/main/java/org/apache/continuum/buildqueue/DefaultBuildQueueService.java?rev=734009&r1=734008&r2=734009&view=diff
==============================================================================
--- continuum/branches/continuum-parallel-builds/continuum-commons/src/main/java/org/apache/continuum/buildqueue/DefaultBuildQueueService.java (original)
+++ continuum/branches/continuum-parallel-builds/continuum-commons/src/main/java/org/apache/continuum/buildqueue/DefaultBuildQueueService.java Mon Jan 12 18:58:46 2009
@@ -27,23 +27,20 @@
 import org.apache.maven.continuum.model.project.Schedule;
 import org.apache.maven.continuum.store.ContinuumStoreException;
 
+import javax.annotation.Resource;
+
 /**
  * DefaultBuildQueueService
  * 
  * @author <a href="mailto:oching@apache.org">Maria Odea Ching</a>
- * @plexus.component role="org.apache.continuum.buildqueue.BuildQueueService"
  */
 public class DefaultBuildQueueService
     implements BuildQueueService
 {
-    /**
-     * @plexus.requirement
-     */
+    @Resource
     private BuildQueueDao buildQueueDao;
     
-    /**
-     * @plexus.requirement
-     */
+    @Resource
     private ScheduleDao scheduleDao;
 
     public BuildQueue addBuildQueue( BuildQueue buildQueue )
@@ -138,4 +135,24 @@
         }
     }
 
+    public BuildQueueDao getBuildQueueDao()
+    {
+        return buildQueueDao;
+    }
+
+    public void setBuildQueueDao( BuildQueueDao buildQueueDao )
+    {
+        this.buildQueueDao = buildQueueDao;
+    }
+
+    public ScheduleDao getScheduleDao()
+    {
+        return scheduleDao;
+    }
+
+    public void setScheduleDao( ScheduleDao scheduleDao )
+    {
+        this.scheduleDao = scheduleDao;
+    }
+
 }

Modified: continuum/branches/continuum-parallel-builds/continuum-commons/src/main/java/org/apache/continuum/installation/DefaultInstallationService.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-parallel-builds/continuum-commons/src/main/java/org/apache/continuum/installation/DefaultInstallationService.java?rev=734009&r1=734008&r2=734009&view=diff
==============================================================================
--- continuum/branches/continuum-parallel-builds/continuum-commons/src/main/java/org/apache/continuum/installation/DefaultInstallationService.java (original)
+++ continuum/branches/continuum-parallel-builds/continuum-commons/src/main/java/org/apache/continuum/installation/DefaultInstallationService.java Mon Jan 12 18:58:46 2009
@@ -19,6 +19,18 @@
  * under the License.
  */
 
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+
+import javax.annotation.Resource;
+
 import org.apache.continuum.dao.InstallationDao;
 import org.apache.maven.continuum.execution.ExecutorConfigurator;
 import org.apache.maven.continuum.installation.AlreadyExistsInstallationException;
@@ -30,7 +42,6 @@
 import org.apache.maven.continuum.profile.ProfileException;
 import org.apache.maven.continuum.profile.ProfileService;
 import org.apache.maven.continuum.store.ContinuumStoreException;
-import org.codehaus.plexus.logging.AbstractLogEnabled;
 import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
 import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException;
 import org.codehaus.plexus.util.StringUtils;
@@ -38,36 +49,27 @@
 import org.codehaus.plexus.util.cli.CommandLineUtils;
 import org.codehaus.plexus.util.cli.Commandline;
 import org.codehaus.plexus.util.cli.StreamConsumer;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Service;
 
 /**
  * @author <a href="mailto:olamy@codehaus.org">olamy</a>
  * @version $Id$
- * @plexus.component role="org.apache.maven.continuum.installation.InstallationService"
  * TODO use some cache mechanism to prevent always reading from store ?
  * @since 13 juin 07
+ * 
  */
+@Service("installationService")
 public class DefaultInstallationService
-    extends AbstractLogEnabled
     implements InstallationService, Initializable
 {
-    /**
-     * @plexus.requirement
-     */
+    private Logger log = LoggerFactory.getLogger( DefaultInstallationService.class );
+
+    @Resource
     private InstallationDao installationDao;
 
-    /**
-     * @plexus.requirement role-hint="default"
-     */
+    @Resource
     private ProfileService profileService;
 
     private Map<String, ExecutorConfigurator> typesValues;
@@ -439,7 +441,7 @@
         }
         catch ( CommandLineException e )
         {
-            getLogger().error(
+            log.error(
                 "fail to execute " + executable + " with arg " + executorConfigurator.getVersionArgument() );
             throw new InstallationException( e.getMessage(), e );
         }

Modified: continuum/branches/continuum-parallel-builds/continuum-commons/src/main/java/org/apache/continuum/profile/DefaultProfileService.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-parallel-builds/continuum-commons/src/main/java/org/apache/continuum/profile/DefaultProfileService.java?rev=734009&r1=734008&r2=734009&view=diff
==============================================================================
--- continuum/branches/continuum-parallel-builds/continuum-commons/src/main/java/org/apache/continuum/profile/DefaultProfileService.java (original)
+++ continuum/branches/continuum-parallel-builds/continuum-commons/src/main/java/org/apache/continuum/profile/DefaultProfileService.java Mon Jan 12 18:58:46 2009
@@ -19,6 +19,11 @@
  * under the License.
  */
 
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.annotation.Resource;
+
 import org.apache.commons.lang.StringUtils;
 import org.apache.continuum.dao.ProfileDao;
 import org.apache.maven.continuum.installation.InstallationService;
@@ -29,23 +34,19 @@
 import org.apache.maven.continuum.profile.ProfileService;
 import org.apache.maven.continuum.store.ContinuumObjectNotFoundException;
 import org.apache.maven.continuum.store.ContinuumStoreException;
-
-import java.util.ArrayList;
-import java.util.List;
+import org.springframework.stereotype.Service;
 
 /**
  * @author <a href="mailto:olamy@codehaus.org">olamy</a>
  * @version $Id$
- * @plexus.component role="org.apache.maven.continuum.profile.ProfileService"
  * TODO use some cache mechanism to prevent always reading from store ?
  * @since 15 juin 07
  */
+@Service("profileService")
 public class DefaultProfileService
     implements ProfileService
 {
-    /**
-     * @plexus.requirement
-     */
+    @Resource
     private ProfileDao profileDao;
 
     /**

Modified: continuum/branches/continuum-parallel-builds/continuum-commons/src/main/java/org/apache/continuum/utils/shell/DefaultShellCommandHelper.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-parallel-builds/continuum-commons/src/main/java/org/apache/continuum/utils/shell/DefaultShellCommandHelper.java?rev=734009&r1=734008&r2=734009&view=diff
==============================================================================
--- continuum/branches/continuum-parallel-builds/continuum-commons/src/main/java/org/apache/continuum/utils/shell/DefaultShellCommandHelper.java (original)
+++ continuum/branches/continuum-parallel-builds/continuum-commons/src/main/java/org/apache/continuum/utils/shell/DefaultShellCommandHelper.java Mon Jan 12 18:58:46 2009
@@ -19,34 +19,36 @@
  * under the License.
  */
 
+import java.io.File;
+import java.io.FileWriter;
+import java.io.Writer;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.Map;
+
 import org.apache.maven.shared.release.ReleaseResult;
 import org.apache.maven.shared.release.exec.MavenExecutorException;
 import org.apache.maven.shared.release.exec.TeeConsumer;
-import org.codehaus.plexus.logging.AbstractLogEnabled;
 import org.codehaus.plexus.util.StringUtils;
 import org.codehaus.plexus.util.cli.CommandLineException;
 import org.codehaus.plexus.util.cli.CommandLineUtils;
 import org.codehaus.plexus.util.cli.Commandline;
 import org.codehaus.plexus.util.cli.StreamConsumer;
 import org.codehaus.plexus.util.cli.WriterStreamConsumer;
-
-import java.io.File;
-import java.io.FileWriter;
-import java.io.Writer;
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.Map;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Service;
 
 /**
  * @author <a href="mailto:trygvis@inamo.no">Trygve Laugst&oslash;l</a>
  * @version $Id$
- * @plexus.component role="org.apache.continuum.utils.shell.ShellCommandHelper"
- * role-hint="default"
  */
+@Service("shellCommandHelper")
 public class DefaultShellCommandHelper
-    extends AbstractLogEnabled
     implements ShellCommandHelper
 {
+    private Logger log = LoggerFactory.getLogger( DefaultShellCommandHelper.class );
+
     // ----------------------------------------------------------------------
     // ShellCommandHelper Implementation
     // ----------------------------------------------------------------------
@@ -122,9 +124,9 @@
 
         Commandline cl = createCommandline( workingDirectory, executable, arguments, idCommand, environments );
 
-        getLogger().info( "Executing: " + cl );
-        getLogger().info( "Working directory: " + cl.getWorkingDirectory().getAbsolutePath() );
-        getLogger().debug( "EnvironmentVariables " + Arrays.asList( cl.getEnvironmentVariables() ) );
+        log.info( "Executing: " + cl );
+        log.info( "Working directory: " + cl.getWorkingDirectory().getAbsolutePath() );
+        log.debug( "EnvironmentVariables " + Arrays.asList( cl.getEnvironmentVariables() ) );
 
         // ----------------------------------------------------------------------
         //
@@ -203,7 +205,7 @@
         try
         {
     		relResult.appendInfo( "Executing: " + cl.toString() );
-    		getLogger().info( "Executing: " + cl.toString() );
+    		log.info( "Executing: " + cl.toString() );
 
     		int result = CommandLineUtils.executeCommandLine( cl, stdOut, stdErr );
 

Modified: continuum/branches/continuum-parallel-builds/continuum-commons/src/main/java/org/apache/continuum/utils/shell/ShellCommandHelper.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-parallel-builds/continuum-commons/src/main/java/org/apache/continuum/utils/shell/ShellCommandHelper.java?rev=734009&r1=734008&r2=734009&view=diff
==============================================================================
--- continuum/branches/continuum-parallel-builds/continuum-commons/src/main/java/org/apache/continuum/utils/shell/ShellCommandHelper.java (original)
+++ continuum/branches/continuum-parallel-builds/continuum-commons/src/main/java/org/apache/continuum/utils/shell/ShellCommandHelper.java Mon Jan 12 18:58:46 2009
@@ -27,7 +27,7 @@
 
 /**
  * @author <a href="mailto:trygvis@inamo.no">Trygve Laugst&oslash;l</a>
- * @version $Id: ShellCommandHelper.java 548732 2007-06-19 14:04:13Z evenisse $
+ * @version $Id$
  */
 public interface ShellCommandHelper
 {

Propchange: continuum/branches/continuum-parallel-builds/continuum-commons/src/main/java/org/apache/continuum/utils/shell/ShellCommandHelper.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: continuum/branches/continuum-parallel-builds/continuum-commons/src/main/java/org/apache/continuum/utils/shell/ShellCommandHelper.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Modified: continuum/branches/continuum-parallel-builds/continuum-commons/src/main/java/org/apache/maven/continuum/configuration/DefaultConfigurationService.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-parallel-builds/continuum-commons/src/main/java/org/apache/maven/continuum/configuration/DefaultConfigurationService.java?rev=734009&r1=734008&r2=734009&view=diff
==============================================================================
--- continuum/branches/continuum-parallel-builds/continuum-commons/src/main/java/org/apache/maven/continuum/configuration/DefaultConfigurationService.java (original)
+++ continuum/branches/continuum-parallel-builds/continuum-commons/src/main/java/org/apache/maven/continuum/configuration/DefaultConfigurationService.java Mon Jan 12 18:58:46 2009
@@ -38,6 +38,8 @@
 import java.io.File;
 import java.io.IOException;
 
+import javax.annotation.Resource;
+
 /**
  * @author <a href="mailto:jason@maven.org">Jason van Zyl</a>
  * @version $Id$
@@ -54,24 +56,16 @@
      */
     private File applicationHome;
 
-    /**
-     * @plexus.requirement
-     */
+    @Resource
     private ScheduleDao scheduleDao;
 
-    /**
-     * @plexus.requirement
-     */
+    @Resource
     private SystemConfigurationDao systemConfigurationDao;
         
-    /**
-     * @plexus.requirement
-     */
+    @Resource
     private BuildQueueService buildQueueService;
 
-    /**
-     * @plexus.requirement
-     */
+    @Resource
     private ContinuumConfiguration configuration;
 
     private GeneralConfiguration generalConfiguration;

Modified: continuum/branches/continuum-parallel-builds/continuum-commons/src/main/java/org/apache/maven/continuum/utils/ChrootJailWorkingDirectoryService.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-parallel-builds/continuum-commons/src/main/java/org/apache/maven/continuum/utils/ChrootJailWorkingDirectoryService.java?rev=734009&r1=734008&r2=734009&view=diff
==============================================================================
--- continuum/branches/continuum-parallel-builds/continuum-commons/src/main/java/org/apache/maven/continuum/utils/ChrootJailWorkingDirectoryService.java (original)
+++ continuum/branches/continuum-parallel-builds/continuum-commons/src/main/java/org/apache/maven/continuum/utils/ChrootJailWorkingDirectoryService.java Mon Jan 12 18:58:46 2009
@@ -20,24 +20,22 @@
  */
 
 import java.io.File;
+import javax.annotation.Resource;
 
 import org.apache.maven.continuum.configuration.ConfigurationService;
 import org.apache.maven.continuum.model.project.Project;
 import org.apache.maven.continuum.model.project.ProjectGroup;
-import org.codehaus.plexus.logging.AbstractLogEnabled;
+import org.springframework.stereotype.Service;
 
 /**
  * @author <a href="mailto:carlos@apache.org">Carlos Sanchez</a>
  * @version $Id$
- * @plexus.component role="org.apache.maven.continuum.utils.WorkingDirectoryService" role-hint="chrootJail"
  */
+@Service("workingDirectoryService#chrootJail")
 public class ChrootJailWorkingDirectoryService
-    extends AbstractLogEnabled
     implements WorkingDirectoryService
 {
-    /**
-     * @plexus.requirement
-     */
+    @Resource
     private ConfigurationService configurationService;
 
     /**

Propchange: continuum/branches/continuum-parallel-builds/continuum-commons/src/main/java/org/apache/maven/continuum/utils/ChrootJailWorkingDirectoryService.java
------------------------------------------------------------------------------
--- svn:keywords (original)
+++ svn:keywords Mon Jan 12 18:58:46 2009
@@ -1 +1 @@
-"Author Date Id Revision"
+Author Date Id Revision

Modified: continuum/branches/continuum-parallel-builds/continuum-commons/src/main/java/org/apache/maven/continuum/utils/ContinuumUrlValidator.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-parallel-builds/continuum-commons/src/main/java/org/apache/maven/continuum/utils/ContinuumUrlValidator.java?rev=734009&r1=734008&r2=734009&view=diff
==============================================================================
--- continuum/branches/continuum-parallel-builds/continuum-commons/src/main/java/org/apache/maven/continuum/utils/ContinuumUrlValidator.java (original)
+++ continuum/branches/continuum-parallel-builds/continuum-commons/src/main/java/org/apache/maven/continuum/utils/ContinuumUrlValidator.java Mon Jan 12 18:58:46 2009
@@ -29,6 +29,7 @@
 import org.codehaus.plexus.configuration.PlexusConfiguration;
 import org.codehaus.plexus.configuration.PlexusConfigurationException;
 import org.codehaus.plexus.personality.plexus.lifecycle.phase.Configurable;
+import org.springframework.stereotype.Service;
 
 /**
  * @author <a href="mailto:olamy@apache.org">olamy</a>
@@ -37,6 +38,7 @@
  * @plexus.component role="org.apache.maven.continuum.utils.ContinuumUrlValidator"
  *   role-hint="continuumUrl"
  */
+@Service("continuumUrlValidator#continuumUrl")
 public class ContinuumUrlValidator
     implements Configurable
 {

Propchange: continuum/branches/continuum-parallel-builds/continuum-commons/src/main/java/org/apache/maven/continuum/utils/ContinuumUrlValidator.java
            ('svn:executable' removed)

Propchange: continuum/branches/continuum-parallel-builds/continuum-commons/src/main/java/org/apache/maven/continuum/utils/ContinuumUrlValidator.java
------------------------------------------------------------------------------
--- svn:keywords (original)
+++ svn:keywords Mon Jan 12 18:58:46 2009
@@ -1 +1 @@
-URL HeadURL Author LastChangedBy Date LastChangedDate Rev Revision LastChangedRevision Id
+Author Date Id Revision

Modified: continuum/branches/continuum-parallel-builds/continuum-commons/src/main/java/org/apache/maven/continuum/utils/DefaultWorkingDirectoryService.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-parallel-builds/continuum-commons/src/main/java/org/apache/maven/continuum/utils/DefaultWorkingDirectoryService.java?rev=734009&r1=734008&r2=734009&view=diff
==============================================================================
--- continuum/branches/continuum-parallel-builds/continuum-commons/src/main/java/org/apache/maven/continuum/utils/DefaultWorkingDirectoryService.java (original)
+++ continuum/branches/continuum-parallel-builds/continuum-commons/src/main/java/org/apache/maven/continuum/utils/DefaultWorkingDirectoryService.java Mon Jan 12 18:58:46 2009
@@ -21,21 +21,21 @@
 
 import org.apache.maven.continuum.configuration.ConfigurationService;
 import org.apache.maven.continuum.model.project.Project;
-import org.codehaus.plexus.logging.AbstractLogEnabled;
+import org.springframework.stereotype.Service;
 
 import java.io.File;
 
+import javax.annotation.Resource;
+
 /**
  * @author <a href="mailto:trygvis@inamo.no">Trygve Laugst&oslash;l</a>
  * @version $Id$
  */
+@Service("workingDirectoryService")
 public class DefaultWorkingDirectoryService
-    extends AbstractLogEnabled
     implements WorkingDirectoryService
 {
-    /**
-     * @plexus.requirement
-     */
+    @Resource
     private ConfigurationService configurationService;
 
     public void setConfigurationService( ConfigurationService configurationService )

Propchange: continuum/branches/continuum-parallel-builds/continuum-commons/src/main/java/org/apache/maven/continuum/utils/DefaultWorkingDirectoryService.java
------------------------------------------------------------------------------
--- svn:keywords (original)
+++ svn:keywords Mon Jan 12 18:58:46 2009
@@ -1 +1 @@
-Id
+Author Date Id Revision

Modified: continuum/branches/continuum-parallel-builds/continuum-commons/src/main/resources/META-INF/spring-context.xml
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-parallel-builds/continuum-commons/src/main/resources/META-INF/spring-context.xml?rev=734009&r1=734008&r2=734009&view=diff
==============================================================================
--- continuum/branches/continuum-parallel-builds/continuum-commons/src/main/resources/META-INF/spring-context.xml (original)
+++ continuum/branches/continuum-parallel-builds/continuum-commons/src/main/resources/META-INF/spring-context.xml Mon Jan 12 18:58:46 2009
@@ -20,18 +20,30 @@
   -->
 <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xmlns:context="http://www.springframework.org/schema/context"
        xsi:schemaLocation="http://www.springframework.org/schema/beans
-           http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
+           http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
+           http://www.springframework.org/schema/context 
+           http://www.springframework.org/schema/context/spring-context-2.5.xsd">
+
+  <context:annotation-config />
+  <context:component-scan 
+    base-package="org.apache.continuum.installation,org.apache.continuum.profile,
+                  org.apache.maven.continuum.configuration,org.apache.maven.continuum.utils,
+                  org.apache.continuum.utils.shell"/>
 
   <bean id="configurationService" class="org.apache.maven.continuum.configuration.DefaultConfigurationService"
         init-method="initialize">
     <property name="applicationHome" value="data"/>
+    <!-- 
     <property name="scheduleDao" ref="scheduleDao"/>
     <property name="systemConfigurationDao" ref="systemConfigurationDao"/>
     <property name="configuration" ref="continuumConfiguration"/>
-    <property name="buildQueueService" ref="buildQueueService"/>
-  </bean>
-  <bean id="workingDirectoryService" class="org.apache.maven.continuum.utils.DefaultWorkingDirectoryService">
-    <property name="configurationService" ref="configurationService"/>
+    <property name="buildQueueService" ref="buildQueueService"/>   -->
   </bean>
+  <bean id="buildQueueService" class="org.apache.continuum.buildqueue.DefaultBuildQueueService">
+    <property name="buildQueueDao" ref="buildQueueDao"/>
+    <property name="scheduleDao" ref="scheduleDao"/>
+  </bean> 
+  <bean id="shellCommandHelper" class="org.apache.continuum.utils.shell.DefaultShellCommandHelper"/>  
 </beans>
\ No newline at end of file

Propchange: continuum/branches/continuum-parallel-builds/continuum-commons/src/test/resources/META-INF/continuum/continuum-configuration.xml
            ('svn:executable' removed)

Propchange: continuum/branches/continuum-parallel-builds/continuum-commons/src/test/resources/META-INF/continuum/continuum-configuration.xml
------------------------------------------------------------------------------
--- svn:keywords (original)
+++ svn:keywords Mon Jan 12 18:58:46 2009
@@ -1 +1 @@
-"Author Date Id Revision"
+Author Date Id Revision

Propchange: continuum/branches/continuum-parallel-builds/continuum-commons/src/test/resources/conf/continuum.xml
            ('svn:executable' removed)

Propchange: continuum/branches/continuum-parallel-builds/continuum-commons/src/test/resources/conf/continuum.xml
------------------------------------------------------------------------------
--- svn:keywords (original)
+++ svn:keywords Mon Jan 12 18:58:46 2009
@@ -1 +1 @@
-"Author Date Id Revision"
+Author Date Id Revision

Modified: continuum/branches/continuum-parallel-builds/continuum-core/src/main/java/org/apache/continuum/buildmanager/ParallelBuildsManager.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-parallel-builds/continuum-core/src/main/java/org/apache/continuum/buildmanager/ParallelBuildsManager.java?rev=734009&r1=734008&r2=734009&view=diff
==============================================================================
--- continuum/branches/continuum-parallel-builds/continuum-core/src/main/java/org/apache/continuum/buildmanager/ParallelBuildsManager.java (original)
+++ continuum/branches/continuum-parallel-builds/continuum-core/src/main/java/org/apache/continuum/buildmanager/ParallelBuildsManager.java Mon Jan 12 18:58:46 2009
@@ -538,14 +538,18 @@
     }
 
     /**
-     * @see BuildsManager#prepareBuildProjects(Map, int)
+     * @see BuildsManager#prepareBuildProjects(Map, int, int, String)
      */
-    public void prepareBuildProjects( Map<Integer, Integer> projectsBuildDefinitionsMap, int trigger )
+    public void prepareBuildProjects( Map<Integer, Integer> projectsBuildDefinitionsMap, int trigger, int projectGroupId, String scmRootAddress )
         throws BuildManagerException
     {
         try
-        {
-            PrepareBuildProjectsTask task = new PrepareBuildProjectsTask( projectsBuildDefinitionsMap, trigger );
+        {            
+            //PrepareBuildProjectsTask task = new PrepareBuildProjectsTask( projectsBuildDefinitionsMap, trigger );
+            
+            PrepareBuildProjectsTask task =
+                new PrepareBuildProjectsTask( projectsBuildDefinitionsMap, trigger, projectGroupId, scmRootAddress );
+            
             log.info( "Queueing prepare-build-project task '" + task + "' to prepare-build queue." );
             prepareBuildQueue.put( task );
         }
@@ -740,6 +744,29 @@
         }
     }
     
+    public boolean removeProjectGroupFromPrepareBuildQueue( int projectGroupId, String scmRootAddress )
+        throws BuildManagerException
+    {
+        try
+        {
+            List<PrepareBuildProjectsTask> queue = prepareBuildQueue.getQueueSnapshot();
+
+            for ( PrepareBuildProjectsTask task : queue )
+            {
+                if ( task != null && task.getProjectGroupId() == projectGroupId &&
+                    task.getScmRootAddress().equals( scmRootAddress ) )
+                {
+                    return prepareBuildQueue.remove( task );
+                }
+            }
+            return false;
+        }
+        catch ( TaskQueueException e )
+        {
+            throw new BuildManagerException( "Error while getting the prepare build projects task in queue", e );
+        }
+    }
+    
     /**
      * @see BuildsManager#addOverallBuildQueue(BuildQueue)
      */

Modified: continuum/branches/continuum-parallel-builds/continuum-core/src/main/java/org/apache/continuum/repository/DefaultRepositoryService.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-parallel-builds/continuum-core/src/main/java/org/apache/continuum/repository/DefaultRepositoryService.java?rev=734009&r1=734008&r2=734009&view=diff
==============================================================================
--- continuum/branches/continuum-parallel-builds/continuum-core/src/main/java/org/apache/continuum/repository/DefaultRepositoryService.java (original)
+++ continuum/branches/continuum-parallel-builds/continuum-core/src/main/java/org/apache/continuum/repository/DefaultRepositoryService.java Mon Jan 12 18:58:46 2009
@@ -29,7 +29,8 @@
 import org.apache.maven.continuum.model.project.ProjectGroup;
 import org.apache.maven.continuum.store.ContinuumObjectNotFoundException;
 import org.apache.maven.continuum.store.ContinuumStoreException;
-import org.codehaus.plexus.logging.AbstractLogEnabled;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.util.List;
 
@@ -42,9 +43,10 @@
  * @since 25 jul 07
  */
 public class DefaultRepositoryService
-    extends AbstractLogEnabled
     implements RepositoryService
 {
+    private Logger log = LoggerFactory.getLogger( DefaultRepositoryService.class );
+
     /**
      * @plexus.requirement
      */
@@ -91,7 +93,7 @@
 
             repository = localRepositoryDao.addLocalRepository( localRepository );
 
-            getLogger().info( "Added new local repository: " + repository.getName() );
+            log.info( "Added new local repository: " + repository.getName() );
         }
         catch ( ContinuumStoreException e )
         {
@@ -118,7 +120,7 @@
                 taskQueueManager.removeRepositoryFromPurgeQueue( repositoryId );
             }
 
-            getLogger().info( "Remove purge configurations of " + repository.getName() );
+            log.info( "Remove purge configurations of " + repository.getName() );
             removePurgeConfigurationsOfRepository( repositoryId );
 
             List<ProjectGroup> groups = projectGroupDao.getProjectGroupByRepository( repositoryId );
@@ -131,7 +133,7 @@
 
             localRepositoryDao.removeLocalRepository( repository );
 
-            getLogger().info( "Removed local repository: " + repository.getName() );
+            log.info( "Removed local repository: " + repository.getName() );
         }
         catch ( TaskQueueManagerException e )
         {
@@ -158,7 +160,7 @@
 
             localRepositoryDao.updateLocalRepository( localRepository );
 
-            getLogger().info( "Updated local repository: " + localRepository.getName() );
+            log.info( "Updated local repository: " + localRepository.getName() );
         }
         catch ( TaskQueueManagerException e )
         {

Modified: continuum/branches/continuum-parallel-builds/continuum-core/src/main/java/org/apache/continuum/taskqueue/manager/DefaultTaskQueueManager.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-parallel-builds/continuum-core/src/main/java/org/apache/continuum/taskqueue/manager/DefaultTaskQueueManager.java?rev=734009&r1=734008&r2=734009&view=diff
==============================================================================
--- continuum/branches/continuum-parallel-builds/continuum-core/src/main/java/org/apache/continuum/taskqueue/manager/DefaultTaskQueueManager.java (original)
+++ continuum/branches/continuum-parallel-builds/continuum-core/src/main/java/org/apache/continuum/taskqueue/manager/DefaultTaskQueueManager.java Mon Jan 12 18:58:46 2009
@@ -38,21 +38,23 @@
 import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
 import org.codehaus.plexus.context.Context;
 import org.codehaus.plexus.context.ContextException;
-import org.codehaus.plexus.logging.AbstractLogEnabled;
 import org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable;
 import org.codehaus.plexus.taskqueue.Task;
 import org.codehaus.plexus.taskqueue.TaskQueue;
 import org.codehaus.plexus.taskqueue.TaskQueueException;
 import org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * @author <a href="mailto:ctan@apache.org">Maria Catherine Tan</a>
  * @plexus.component role="org.apache.continuum.taskqueue.manager.TaskQueueManager" role-hint="default"
  */
 public class DefaultTaskQueueManager
-    extends AbstractLogEnabled
     implements TaskQueueManager, Contextualizable
 {
+    private Logger log = LoggerFactory.getLogger( DefaultTaskQueueManager.class );
+
     /**
      * @plexus.requirement role-hint="purge"
      */
@@ -280,7 +282,7 @@
             removeFromPurgeQueue( repoPurge.getId() );
         }
     }
-
+    
     public void contextualize( Context context )
         throws ContextException
     {

Propchange: continuum/branches/continuum-parallel-builds/continuum-core/src/main/java/org/apache/continuum/taskqueue/manager/DefaultTaskQueueManager.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: continuum/branches/continuum-parallel-builds/continuum-core/src/main/java/org/apache/continuum/taskqueue/manager/DefaultTaskQueueManager.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Modified: continuum/branches/continuum-parallel-builds/continuum-core/src/main/java/org/apache/maven/continuum/DefaultContinuum.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-parallel-builds/continuum-core/src/main/java/org/apache/maven/continuum/DefaultContinuum.java?rev=734009&r1=734008&r2=734009&view=diff
==============================================================================
--- continuum/branches/continuum-parallel-builds/continuum-core/src/main/java/org/apache/maven/continuum/DefaultContinuum.java (original)
+++ continuum/branches/continuum-parallel-builds/continuum-core/src/main/java/org/apache/maven/continuum/DefaultContinuum.java Mon Jan 12 18:58:46 2009
@@ -96,7 +96,6 @@
 import org.codehaus.plexus.action.ActionNotFoundException;
 import org.codehaus.plexus.context.Context;
 import org.codehaus.plexus.context.ContextException;
-import org.codehaus.plexus.logging.AbstractLogEnabled;
 import org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable;
 import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
 import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException;
@@ -106,6 +105,8 @@
 import org.codehaus.plexus.util.FileUtils;
 import org.codehaus.plexus.util.StringUtils;
 import org.codehaus.plexus.util.dag.CycleDetectedException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * @author <a href="mailto:jason@maven.org">Jason van Zyl</a>
@@ -114,9 +115,10 @@
  * @plexus.component role="org.apache.maven.continuum.Continuum" role-hint="default"
  */
 public class DefaultContinuum
-    extends AbstractLogEnabled
     implements Continuum, Contextualizable, Initializable, Startable
 {
+    private Logger log = LoggerFactory.getLogger( DefaultContinuum.class );
+
     /**
      * @plexus.requirement
      */
@@ -416,7 +418,7 @@
             }
         }
 
-        getLogger().info( "Remove project group " + projectGroup.getName() + "(" + projectGroup.getId() + ")" );
+        log.info( "Remove project group " + projectGroup.getName() + "(" + projectGroup.getId() + ")" );
 
         Map context = new HashMap();
         context.put( AbstractContinuumAction.KEY_PROJECT_GROUP_ID, new Integer( projectGroup.getId() ) );
@@ -459,7 +461,7 @@
                 context.put( AbstractContinuumAction.KEY_PROJECT_GROUP_ID, new Integer( new_pg.getId() ) );
                 executeAction( "add-assignable-roles", context );
 
-                getLogger().info( "Added new project group: " + new_pg.getName() );
+                log.info( "Added new project group: " + new_pg.getName() );
             }
             catch ( BuildDefinitionServiceException e )
             {
@@ -642,7 +644,7 @@
                 throw logAndCreateException( "Error while deleting project group release output directory.", e );
             }
 
-            getLogger().info( "Remove project " + project.getName() + "(" + projectId + ")" );
+            log.info( "Remove project " + project.getName() + "(" + projectId + ")" );
 
             try
             {                
@@ -792,7 +794,7 @@
         }
         catch ( CycleDetectedException e )
         {
-            getLogger().warn( "Cycle detected while sorting projects for building, falling back to unsorted build." );
+            log.warn( "Cycle detected while sorting projects for building, falling back to unsorted build." );
 
             projectsList = getProjects();
         }
@@ -820,7 +822,7 @@
         }
         catch ( CycleDetectedException e )
         {
-            getLogger().warn( "Cycle detected while sorting projects for building, falling back to unsorted build." );
+            log.warn( "Cycle detected while sorting projects for building, falling back to unsorted build." );
 
             projectsList = getProjects();
         }
@@ -891,7 +893,7 @@
             }
             catch ( CycleDetectedException e )
             {
-                getLogger().warn( "Cycle detected while sorting projects for building, falling back to unsorted build." );
+                log.warn( "Cycle detected while sorting projects for building, falling back to unsorted build." );
     
                 projectsList = getProjects();
             }
@@ -921,7 +923,7 @@
 
             if ( projectsMap == null || projectsMap.size() == 0 )
             {
-                getLogger().debug( "no builds attached to schedule" );
+                log.debug( "no builds attached to schedule" );
                 // We don't have projects attached to this schedule
                 return;
             }
@@ -934,12 +936,12 @@
         }
         catch ( CycleDetectedException e )
         {
-            getLogger().warn( "Cycle detected while sorting projects for building, falling back to unsorted build." );
+            log.warn( "Cycle detected while sorting projects for building, falling back to unsorted build." );
 
             projectsList = getProjects();
         }
 
-        Map<String, Map<Integer, Integer>> map = new HashMap<String, Map<Integer, Integer>>();
+        Map<ProjectScmRoot, Map<Integer, Integer>> map = new HashMap<ProjectScmRoot, Map<Integer, Integer>>();
 
         for ( Project project : projectsList )
         {
@@ -956,14 +958,7 @@
                         {
                             ProjectScmRoot scmRoot = getProjectScmRootByProject( project.getId() );
                             
-                            String scmRootAddress = "";
-
-                            if ( scmRoot != null )
-                            {
-                                scmRootAddress = scmRoot.getScmRootAddress();
-                            }
-
-                            Map<Integer, Integer> projectsAndBuildDefinitionsMap = map.get( scmRootAddress );
+                            Map<Integer, Integer> projectsAndBuildDefinitionsMap = map.get( scmRoot );
                             
                             if ( projectsAndBuildDefinitionsMap == null )
                             {
@@ -972,7 +967,7 @@
                             
                             projectsAndBuildDefinitionsMap.put( project.getId(), buildDefId );
                             
-                            map.put( scmRootAddress, projectsAndBuildDefinitionsMap );
+                            map.put( scmRoot, projectsAndBuildDefinitionsMap );
                         }
                     } 
                     catch ( BuildManagerException e )
@@ -983,7 +978,7 @@
             }
         }
 
-        prepareBuildProjects( map.values(), ContinuumProjectState.TRIGGER_SCHEDULED );
+        prepareBuildProjects( map, ContinuumProjectState.TRIGGER_SCHEDULED );
     }
 
     public void buildProject( int projectId )
@@ -1031,7 +1026,8 @@
         Map<Integer, Integer> projectsBuildDefinitionsMap = new HashMap<Integer, Integer>();
         projectsBuildDefinitionsMap.put( projectId, buildDef.getId() );
         
-        prepareBuildProjects( projectsBuildDefinitionsMap, trigger );
+        ProjectScmRoot scmRoot = getProjectScmRootByProject( projectId );
+        prepareBuildProjects( projectsBuildDefinitionsMap, trigger, scmRoot.getScmRootAddress(), scmRoot.getProjectGroup().getId() );
     }   
 
     public void buildProject( int projectId, int buildDefinitionId, int trigger )
@@ -1060,7 +1056,8 @@
         Map<Integer, Integer> projectsBuildDefinitionsMap = new HashMap<Integer, Integer>();
         projectsBuildDefinitionsMap.put( projectId, buildDefinitionId );
 
-        prepareBuildProjects( projectsBuildDefinitionsMap, trigger );
+        ProjectScmRoot scmRoot = getProjectScmRootByProject( projectId );
+        prepareBuildProjects( projectsBuildDefinitionsMap, trigger, scmRoot.getScmRootAddress(), scmRoot.getProjectGroup().getId() );
     }
 
     public BuildResult getBuildResult( int buildId )
@@ -1108,11 +1105,11 @@
         }
         catch ( ConfigurationException e )
         {
-            getLogger().info( "skip error during cleanup build files " + e.getMessage(), e );
+            log.info( "skip error during cleanup build files " + e.getMessage(), e );
         }
         catch ( IOException e )
         {
-            getLogger().info( "skip IOException during cleanup build files " + e.getMessage(), e );
+            log.info( "skip IOException during cleanup build files " + e.getMessage(), e );
         }
 
     }
@@ -1249,7 +1246,7 @@
             return new ArrayList<Project>();
         }
 
-        return ProjectSorter.getSortedProjects( projects, getLogger() );
+        return ProjectSorter.getSortedProjects( projects, log );
     }
 
     // ----------------------------------------------------------------------
@@ -1580,17 +1577,17 @@
         ContinuumProjectBuildingResult result = (ContinuumProjectBuildingResult) context
             .get( CreateProjectsFromMetadataAction.KEY_PROJECT_BUILDING_RESULT );
 
-        if ( getLogger().isInfoEnabled() )
+        if ( log.isInfoEnabled() )
         {
             if ( result.getProjects() != null )
             {
-                getLogger().info( "Created " + result.getProjects().size() + " projects." );
+                log.info( "Created " + result.getProjects().size() + " projects." );
             }
             if ( result.getProjectGroups() != null )
             {
-                getLogger().info( "Created " + result.getProjectGroups().size() + " project groups." );
+                log.info( "Created " + result.getProjectGroups().size() + " project groups." );
             }
-            getLogger().info( result.getErrors().size() + " errors." );
+            log.info( result.getErrors().size() + " errors." );
 
             // ----------------------------------------------------------------------
             // Look for any errors.
@@ -1598,8 +1595,8 @@
 
             if ( result.hasErrors() )
             {
-                getLogger().info( result.getErrors().size() + " errors during project add: " );
-                getLogger().info( result.getErrorsAsString() );
+                log.info( result.getErrors().size() + " errors during project add: " );
+                log.info( result.getErrorsAsString() );
                 return result;
             }
         }
@@ -1616,8 +1613,13 @@
 
         ProjectGroup projectGroup = (ProjectGroup) result.getProjectGroups().iterator().next();
 
+
         ProjectScmRoot projectScmRoot;
 
+
+        boolean projectGroupCreation = false;
+        
+
         try
         {
             if ( projectGroupId == -1 )
@@ -1628,12 +1630,12 @@
 
                     projectGroupId = projectGroup.getId();
 
-                    getLogger().info(
+                    log.info(
                         "Using existing project group with the group id: '" + projectGroup.getGroupId() + "'." );
                 }
                 catch ( ContinuumObjectNotFoundException e )
                 {
-                    getLogger().info(
+                    log.info(
                         "Creating project group with the group id: '" + projectGroup.getGroupId() + "'." );
 
                     Map pgContext = new HashMap();
@@ -1647,6 +1649,8 @@
                     executeAction( "store-project-group", pgContext );
 
                     projectGroupId = AbstractContinuumAction.getProjectGroupId( pgContext );
+                    
+                    projectGroupCreation = true;
                 }
             }
 
@@ -1705,6 +1709,14 @@
             {
                 context = new HashMap();
 
+                // CONTINUUM-1953 olamy : attached buildDefs from template here
+                // if no group creation 
+                if ( !projectGroupCreation && buildDefintionTemplateId > 0 )
+                {
+                    buildDefinitionService.addTemplateInProject( buildDefintionTemplateId, projectDao
+                        .getProject( project.getId() ) );
+                }                
+                
                 context.put( AbstractContinuumAction.KEY_UNVALIDATED_PROJECT, project );
                 //
                 //            executeAction( "validate-project", context );
@@ -1744,11 +1756,11 @@
                 executeAction( "add-project-to-checkout-queue", context );
             }
         }
-        catch ( ContinuumStoreException e )
+        catch ( BuildDefinitionServiceException e )
         {
-            throw new ContinuumException( "Error adding projects from modules", e );
+            throw new ContinuumException( "Error attaching buildDefintionTemplate to project ", e );
         }
-        catch ( BuildDefinitionServiceException e )
+        catch ( ContinuumStoreException e )
         {
             throw new ContinuumException( "Error adding projects from modules", e );
         }
@@ -2360,7 +2372,7 @@
             }
             catch ( SchedulesActivationException e )
             {
-                getLogger().error( "Can't unactivate schedule. You need to restart Continuum.", e );
+                log.error( "Can't unactivate schedule. You need to restart Continuum.", e );
             }
         }
     }
@@ -2394,7 +2406,7 @@
         }
         catch ( SchedulesActivationException e )
         {
-            getLogger().error( "Can't unactivate the schedule. You need to restart Continuum.", e );
+            log.error( "Can't unactivate the schedule. You need to restart Continuum.", e );
         }
 
         try
@@ -2403,7 +2415,7 @@
         }
         catch ( Exception e )
         {
-            getLogger().error( "Can't remove the schedule.", e );
+            log.error( "Can't remove the schedule.", e );
 
             try
             {
@@ -2411,7 +2423,7 @@
             }
             catch ( SchedulesActivationException sae )
             {
-                getLogger().error( "Can't reactivate the schedule. You need to restart Continuum.", e );
+                log.error( "Can't reactivate the schedule. You need to restart Continuum.", e );
             }
             throw new ContinuumException( "Can't remove the schedule", e );
         }
@@ -2561,7 +2573,7 @@
     public void initialize()
         throws InitializationException
     {
-        getLogger().info( "Initializing Continuum." );
+        log.info( "Initializing Continuum." );
 
         File wdFile = new File( workingDirectory );
 
@@ -2582,7 +2594,7 @@
             }
         }
 
-        getLogger().info( "Showing all groups:" );
+        log.info( "Showing all groups:" );
         try
         {
             for ( ProjectGroup group : projectGroupDao.getAllProjectGroups() )
@@ -2595,7 +2607,7 @@
             throw new InitializationException( "Error while creating project scm root for the project group", e );
         }
 
-        getLogger().info( "Showing all projects: " );
+        log.info( "Showing all projects: " );
 
         for ( Project project : projectDao.getAllProjectsByNameWithBuildDetails() )
         {
@@ -2627,7 +2639,7 @@
 
                 try
                 {
-                    getLogger().info( "Fix project state for project " + project.getId() + ":" + project.getName() +
+                    log.info( "Fix project state for project " + project.getId() + ":" + project.getName() +
                         ":" + project.getVersion() );
 
                     projectDao.updateProject( project );
@@ -2636,7 +2648,7 @@
 
                     if ( state == p.getState() )
                     {
-                        getLogger().info( "Can't fix the project state." );
+                        log.info( "Can't fix the project state." );
                     }
                 }
                 catch ( ContinuumStoreException e )
@@ -2645,7 +2657,7 @@
                 }
             }
 
-            getLogger().info( " " + project.getId() + ":" + project.getName() + ":" + project.getVersion() + ":" +
+            log.info( " " + project.getId() + ":" + project.getName() + ":" + project.getVersion() + ":" +
                 project.getExecutorId() );
         }
 
@@ -2659,7 +2671,7 @@
 
                 try
                 {
-                    getLogger().info( "Fix state for projectScmRoot " + projectScmRoot.getScmRootAddress() );
+                    log.info( "Fix state for projectScmRoot " + projectScmRoot.getScmRootAddress() );
                     
                     projectScmRootDao.updateProjectScmRoot( projectScmRoot );
                 }
@@ -2714,7 +2726,7 @@
         catch ( SchedulesActivationException e )
         {
             // We don't throw an exception here, so users will can modify schedules in interface instead of database
-            getLogger().error( "Error activating schedules.", e );
+            log.error( "Error activating schedules.", e );
         }
     }
 
@@ -2763,7 +2775,7 @@
         }
         catch ( Exception e )
         {
-            getLogger().info( "Error storing the Continuum configuration.", e );
+            log.info( "Error storing the Continuum configuration.", e );
         }
 
         closeStore();
@@ -2808,7 +2820,7 @@
         }
         catch ( Exception e )
         {
-            getLogger().info( "exception", e );
+            log.info( "exception", e );
             throw new ContinuumException( "Error while executing the action '" + actionName + "'.", e );
         }
     }
@@ -2824,7 +2836,7 @@
             return new ContinuumException( "No such object.", cause );
         }
 
-        getLogger().error( message, cause );
+        log.error( message, cause );
 
         return new ContinuumException( message, cause );
     }
@@ -3056,7 +3068,7 @@
 
     private void startMessage()
     {
-        getLogger().info( "Starting Continuum." );
+        log.info( "Starting Continuum." );
 
         // ----------------------------------------------------------------------
         //
@@ -3064,27 +3076,27 @@
 
         String banner = StringUtils.repeat( "-", getVersion().length() );
 
-        getLogger().info( "" );
-        getLogger().info( "" );
-        getLogger().info( "< Continuum " + getVersion() + " started! >" );
-        getLogger().info( "-----------------------" + banner );
-        getLogger().info( "       \\   ^__^" );
-        getLogger().info( "        \\  (oo)\\_______" );
-        getLogger().info( "           (__)\\       )\\/\\" );
-        getLogger().info( "               ||----w |" );
-        getLogger().info( "               ||     ||" );
-        getLogger().info( "" );
-        getLogger().info( "" );
+        log.info( "" );
+        log.info( "" );
+        log.info( "< Continuum " + getVersion() + " started! >" );
+        log.info( "-----------------------" + banner );
+        log.info( "       \\   ^__^" );
+        log.info( "        \\  (oo)\\_______" );
+        log.info( "           (__)\\       )\\/\\" );
+        log.info( "               ||----w |" );
+        log.info( "               ||     ||" );
+        log.info( "" );
+        log.info( "" );
     }
 
     private void stopMessage()
     {
         // Yes dorothy, this can happen!
-        if ( getLogger() != null )
+        if ( log != null )
         {
-            getLogger().info( "Stopping Continuum." );
+            log.info( "Stopping Continuum." );
 
-            getLogger().info( "Continuum stopped." );
+            log.info( "Continuum stopped." );
         }
     }
 
@@ -3188,7 +3200,7 @@
         }
         catch ( ConfigurationException e )
         {
-            getLogger().info( "skip error during cleanup release files " + e.getMessage(), e );
+            log.info( "skip error during cleanup release files " + e.getMessage(), e );
         }
     }
 
@@ -3365,7 +3377,7 @@
                                       boolean checkDefaultBuildDefinitionForProject, int trigger )
         throws ContinuumException
     {
-        Map<String, Map<Integer, Integer>> map = new HashMap<String, Map<Integer, Integer>>();
+        Map<ProjectScmRoot, Map<Integer, Integer>> map = new HashMap<ProjectScmRoot, Map<Integer, Integer>>();
 
         for ( Project project : projects )
         {
@@ -3413,37 +3425,31 @@
                 }
                 catch ( ContinuumObjectNotFoundException e )
                 {
-                    getLogger().debug( e.getMessage() );
+                    log.debug( e.getMessage() );
                 }
                 catch ( ContinuumStoreException e )
                 {
-                    getLogger().debug( e.getMessage() );
+                    log.debug( e.getMessage() );
                 }
 
                 if ( projectDefaultBD != null )
                 {
                     buildDefId = projectDefaultBD.getId();
-                    getLogger().debug( "Project " + project.getId() +
+                    log.debug( "Project " + project.getId() +
                         " has own default build definition, will use it instead of group's." );
                 }
             }
 
             if ( buildDefId == -1 )
             {
-                getLogger().info( "Project " + projectId +
+                log.info( "Project " + projectId +
                     " don't have a default build definition defined in the project or project group, will not be included in group prepare." );
                 continue;
             }
 
             ProjectScmRoot scmRoot = getProjectScmRootByProject( projectId );
 
-            String scmRootAddress = "";
-            if ( scmRoot != null )
-            {
-                scmRootAddress = scmRoot.getScmRootAddress();
-            }
-
-            Map<Integer, Integer> projectsAndBuildDefinitionsMap = map.get( scmRootAddress );
+            Map<Integer, Integer> projectsAndBuildDefinitionsMap = map.get( scmRoot );
 
             if ( projectsAndBuildDefinitionsMap == null )
             {
@@ -3452,16 +3458,16 @@
 
             projectsAndBuildDefinitionsMap.put( projectId, buildDefId );
 
-            map.put( scmRootAddress, projectsAndBuildDefinitionsMap );
+            map.put( scmRoot, projectsAndBuildDefinitionsMap );
         }
 
-        prepareBuildProjects( map.values(), trigger );
+        prepareBuildProjects( map, trigger );
     }
 
     private void prepareBuildProjects( Collection<Project> projects, int buildDefinitionId, int trigger )
         throws ContinuumException
     {
-        Map<String, Map<Integer,Integer>> map = new HashMap<String, Map<Integer, Integer>>();
+        Map<ProjectScmRoot, Map<Integer,Integer>> map = new HashMap<ProjectScmRoot, Map<Integer, Integer>>();
 
         for ( Project project : projects )
         {
@@ -3481,14 +3487,8 @@
                 }
                 
                 ProjectScmRoot scmRoot = getProjectScmRootByProject( projectId );
-
-                String scmRootAddress = "";
-                if ( scmRoot != null )
-                {
-                    scmRootAddress = scmRoot.getScmRootAddress();
-                }
                 
-                Map<Integer, Integer> projectsAndBuildDefinitionsMap = map.get( scmRootAddress );
+                Map<Integer, Integer> projectsAndBuildDefinitionsMap = map.get( scmRoot );
                 
                 if ( projectsAndBuildDefinitionsMap == null )
                 {
@@ -3497,7 +3497,7 @@
                 
                 projectsAndBuildDefinitionsMap.put( projectId, buildDefinitionId );
                 
-                map.put( scmRootAddress, projectsAndBuildDefinitionsMap );
+                map.put( scmRoot, projectsAndBuildDefinitionsMap );
             }
             catch ( BuildManagerException e )
             {
@@ -3505,24 +3505,32 @@
             }
         }
 
-        prepareBuildProjects( map.values(), trigger );
+        prepareBuildProjects( map, trigger );
     }
 
-    private void prepareBuildProjects( Collection<Map<Integer, Integer>> projectsBuildDefinitions, int trigger )
+    private void prepareBuildProjects( Map<ProjectScmRoot, Map<Integer, Integer>> map, int trigger )
         throws ContinuumException
     {
-        for ( Map<Integer, Integer> map : projectsBuildDefinitions )
+        for ( ProjectScmRoot scmRoot : map.keySet() )
         {
-            prepareBuildProjects( map, trigger );
+            prepareBuildProjects( map.get( scmRoot ), trigger, scmRoot.getScmRootAddress(), scmRoot.getProjectGroup().getId() );
         }
     }
 
-    private void prepareBuildProjects( Map<Integer, Integer> projectsBuildDefinitionsMap, int trigger )
+    private void prepareBuildProjects( Map<Integer, Integer> projectsBuildDefinitionsMap, int trigger, 
+                                       String scmRootAddress, int projectGroupId )
         throws ContinuumException
     {
         try
         {
-            parallelBuildsManager.prepareBuildProjects( projectsBuildDefinitionsMap, trigger );            
+          //TODO: pass projectGroupId and scmRootAddress params to parallelBuildsManager#prepareBuildProjects()
+            parallelBuildsManager.prepareBuildProjects( projectsBuildDefinitionsMap, trigger, projectGroupId, scmRootAddress );            
+        
+            /*
+            PrepareBuildProjectsTask task = new PrepareBuildProjectsTask( projectsBuildDefinitionsMap, trigger,
+                                                                          projectGroupId, scmRootAddress );
+            taskQueueManager.getPrepareBuildQueue().put( task );
+            */
         }
         catch( BuildManagerException e )
         {
@@ -3629,7 +3637,7 @@
             }
             else
             {
-                getLogger().warn(
+                log.warn(
                                   "Project (id=" + project.getId() +
                                       ") will not be built. It is currently in the release stage." );
             }