You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@continuum.apache.org by ct...@apache.org on 2009/03/27 08:16:32 UTC

svn commit: r759039 - in /continuum/trunk: continuum-data-management/data-management-jdo/src/main/java/org/apache/maven/continuum/management/ continuum-data-management/data-management-jdo/src/test/resources/ continuum-model/src/main/mdo/

Author: ctan
Date: Fri Mar 27 07:16:31 2009
New Revision: 759039

URL: http://svn.apache.org/viewvc?rev=759039&view=rev
Log:
[CONTINUUM-2106] added BuildQueue during backup/restore 

Submitted By: Jan Ancajas (with slight modification)



Modified:
    continuum/trunk/continuum-data-management/data-management-jdo/src/main/java/org/apache/maven/continuum/management/JdoDataManagementTool.java
    continuum/trunk/continuum-data-management/data-management-jdo/src/test/resources/expected.xml
    continuum/trunk/continuum-model/src/main/mdo/continuum.xml

Modified: continuum/trunk/continuum-data-management/data-management-jdo/src/main/java/org/apache/maven/continuum/management/JdoDataManagementTool.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-data-management/data-management-jdo/src/main/java/org/apache/maven/continuum/management/JdoDataManagementTool.java?rev=759039&r1=759038&r2=759039&view=diff
==============================================================================
--- continuum/trunk/continuum-data-management/data-management-jdo/src/main/java/org/apache/maven/continuum/management/JdoDataManagementTool.java (original)
+++ continuum/trunk/continuum-data-management/data-management-jdo/src/main/java/org/apache/maven/continuum/management/JdoDataManagementTool.java Fri Mar 27 07:16:31 2009
@@ -20,6 +20,7 @@
  */
 
 import org.apache.continuum.dao.BuildDefinitionTemplateDao;
+import org.apache.continuum.dao.BuildQueueDao;
 import org.apache.continuum.dao.ContinuumReleaseResultDao;
 import org.apache.continuum.dao.DaoUtils;
 import org.apache.continuum.dao.DirectoryPurgeConfigurationDao;
@@ -39,6 +40,7 @@
 import org.apache.continuum.utils.ProjectSorter;
 import org.apache.maven.continuum.model.project.BuildDefinition;
 import org.apache.maven.continuum.model.project.BuildDefinitionTemplate;
+import org.apache.maven.continuum.model.project.BuildQueue;
 import org.apache.maven.continuum.model.project.ContinuumDatabase;
 import org.apache.maven.continuum.model.project.Project;
 import org.apache.maven.continuum.model.project.ProjectGroup;
@@ -145,6 +147,11 @@
      */
     private ContinuumReleaseResultDao releaseResultDao;
 
+    /**
+     * @plexus.requirement
+     */
+    private BuildQueueDao buildQueueDao;
+
     protected static final String BUILDS_XML = "builds.xml";
 
     /**
@@ -171,6 +178,10 @@
         try
         {
             database.setInstallations( installationDao.getAllInstallations() );
+
+            database.setBuildDefinitionTemplates( buildDefinitionTemplateDao.getAllBuildDefinitionTemplate() );
+
+            database.setBuildQueues( buildQueueDao.getAllBuildQueues() );
         }
         catch ( ContinuumStoreException e )
         {
@@ -178,21 +189,11 @@
         }
         database.setSchedules( scheduleDao.getAllSchedulesByName() );
         database.setProfiles( profileDao.getAllProfilesByName() );
-
         database.setLocalRepositories( localRepositoryDao.getAllLocalRepositories() );
         database.setRepositoryPurgeConfigurations(
             repositoryPurgeConfigurationDao.getAllRepositoryPurgeConfigurations() );
         database.setDirectoryPurgeConfigurations( directoryPurgeConfigurationDao.getAllDirectoryPurgeConfigurations() );
-
         database.setProjectScmRoots( projectScmRootDao.getAllProjectScmRoots() );
-        try
-        {
-            database.setBuildDefinitionTemplates( buildDefinitionTemplateDao.getAllBuildDefinitionTemplate() );
-        }
-        catch ( ContinuumStoreException e )
-        {
-        }
-
         database.setContinuumReleaseResults( releaseResultDao.getAllContinuumReleaseResults() );
 
         ContinuumStaxWriter writer = new ContinuumStaxWriter();
@@ -253,10 +254,17 @@
 
         PlexusJdoUtils.addObject( pmf.getPersistenceManager(), database.getSystemConfiguration() );
 
+        Map<Integer, BuildQueue> buildQueues = new HashMap<Integer, BuildQueue>();
+        for ( BuildQueue buildQueue : (List<BuildQueue>)database.getBuildQueues() )
+        {
+            buildQueues.put( buildQueue.getId(), buildQueue );
+        }
+
         Map<Integer, Schedule> schedules = new HashMap<Integer, Schedule>();
         for ( Iterator i = database.getSchedules().iterator(); i.hasNext(); )
         {
             Schedule schedule = (Schedule) i.next();
+            schedule.setBuildQueues( getBuildQueuesBySchedule( buildQueues, schedule ) );
 
             schedule = (Schedule) PlexusJdoUtils.addObject( pmf.getPersistenceManager(), schedule );
             schedules.put( Integer.valueOf( schedule.getId() ), schedule );
@@ -442,4 +450,15 @@
             }
         }
     }
+
+    private List<BuildQueue> getBuildQueuesBySchedule( Map<Integer, BuildQueue> allBuildQueues, Schedule schedule )
+    {
+        List<BuildQueue> buildQueues = new ArrayList<BuildQueue>();
+
+        for ( BuildQueue buildQueue : (List<BuildQueue>) schedule.getBuildQueues() )
+        {
+            buildQueues.add( allBuildQueues.get( Integer.valueOf( buildQueue.getId() ) ) );
+        }
+        return buildQueues;
+    }
 }

Modified: continuum/trunk/continuum-data-management/data-management-jdo/src/test/resources/expected.xml
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-data-management/data-management-jdo/src/test/resources/expected.xml?rev=759039&r1=759038&r2=759039&view=diff
==============================================================================
--- continuum/trunk/continuum-data-management/data-management-jdo/src/test/resources/expected.xml (original)
+++ continuum/trunk/continuum-data-management/data-management-jdo/src/test/resources/expected.xml Fri Mar 27 07:16:31 2009
@@ -435,6 +435,10 @@
       <description>description1</description>
       <delay>1</delay>
       <cronExpression>cronExpression1</cronExpression>
+      <buildQueues>
+        <buildQueue id="1"></buildQueue>
+        <buildQueue id="2"></buildQueue>
+      </buildQueues>
     </schedule>
     <schedule>
       <id>1</id>
@@ -443,6 +447,9 @@
       <description>description2</description>
       <delay>2</delay>
       <cronExpression>cronExpression2</cronExpression>
+      <buildQueues>
+        <buildQueue id="3"></buildQueue>
+      </buildQueues>
     </schedule>
     <schedule>
       <id>3</id>
@@ -556,4 +563,18 @@
       <releaseGoal>releaseGoal</releaseGoal>
     </continuumReleaseResult>
   </continuumReleaseResults>
+  <buildQueues>
+    <buildQueue>
+      <id>1</id>
+      <name>build queue 1</name>
+    </buildQueue>
+    <buildQueue>
+      <id>2</id>
+      <name>build queue 2</name>
+    </buildQueue>
+    <buildQueue>
+      <id>3</id>
+      <name>build queue 3</name>
+    </buildQueue>
+  </buildQueues>
 </continuumDatabase>

Modified: continuum/trunk/continuum-model/src/main/mdo/continuum.xml
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-model/src/main/mdo/continuum.xml?rev=759039&r1=759038&r2=759039&view=diff
==============================================================================
--- continuum/trunk/continuum-model/src/main/mdo/continuum.xml (original)
+++ continuum/trunk/continuum-model/src/main/mdo/continuum.xml Fri Mar 27 07:16:31 2009
@@ -126,6 +126,15 @@
           </association>
           <defaultValue>new java.util.ArrayList()</defaultValue>
         </field>
+        <field>
+          <name>buildQueues</name>
+          <version>1.3.2</version>
+          <association java.init="field">
+            <type>BuildQueue</type>
+            <multiplicity>*</multiplicity>
+          </association>
+          <defaultValue>new java.util.ArrayList()</defaultValue>
+        </field>
       </fields>
     </class>
 
@@ -1066,7 +1075,7 @@
           <identifier>true</identifier>
           <type>int</type>
         </field>
-        <field>
+        <field jpox.null-value="default">
           <name>name</name>
           <version>1.1.4+</version>
           <type>String</type>