Author: ctan Date: Tue Apr 14 23:54:14 2009 New Revision: 765014 URL: http://svn.apache.org/viewvc?rev=765014&view=rev Log: [CONTINUUM-2171] export/import build definitions of templates Modified: continuum/branches/continuum-1.3.x/continuum-data-management/data-management-jdo/src/main/java/org/apache/maven/continuum/management/JdoDataManagementTool.java continuum/branches/continuum-1.3.x/continuum-data-management/data-management-jdo/src/test/resources/expected.xml continuum/branches/continuum-1.3.x/continuum-model/pom.xml continuum/branches/continuum-1.3.x/continuum-model/src/main/mdo/continuum.xml continuum/branches/continuum-1.3.x/continuum-store/src/main/java/org/apache/continuum/dao/BuildDefinitionDaoImpl.java Modified: continuum/branches/continuum-1.3.x/continuum-data-management/data-management-jdo/src/main/java/org/apache/maven/continuum/management/JdoDataManagementTool.java URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-data-management/data-management-jdo/src/main/java/org/apache/maven/continuum/management/JdoDataManagementTool.java?rev=765014&r1=765013&r2=765014&view=diff ============================================================================== --- continuum/branches/continuum-1.3.x/continuum-data-management/data-management-jdo/src/main/java/org/apache/maven/continuum/management/JdoDataManagementTool.java (original) +++ continuum/branches/continuum-1.3.x/continuum-data-management/data-management-jdo/src/main/java/org/apache/maven/continuum/management/JdoDataManagementTool.java Tue Apr 14 23:54:14 2009 @@ -40,6 +40,7 @@ import javax.jdo.PersistenceManagerFactory; import javax.xml.stream.XMLStreamException; +import org.apache.continuum.dao.BuildDefinitionDao; import org.apache.continuum.dao.BuildDefinitionTemplateDao; import org.apache.continuum.dao.BuildQueueDao; import org.apache.continuum.dao.ContinuumReleaseResultDao; @@ -152,6 +153,11 @@ */ private BuildQueueDao buildQueueDao; + /** + * @plexus.requirement + */ + private BuildDefinitionDao buildDefinitionDao; + protected static final String BUILDS_XML = "builds.xml"; /** @@ -182,6 +188,8 @@ database.setBuildDefinitionTemplates( buildDefinitionTemplateDao.getAllBuildDefinitionTemplate() ); database.setBuildQueues( buildQueueDao.getAllBuildQueues() ); + + database.setBuildDefinitions( buildDefinitionDao.getAllBuildDefinitions() ); } catch ( ContinuumStoreException e ) { @@ -305,6 +313,23 @@ profiles.put( Integer.valueOf( profile.getId() ), profile ); } + Map buildDefinitions = new HashMap(); + for ( BuildDefinition buildDefinition : (List) database.getBuildDefinitions() ) + { + if ( buildDefinition.getSchedule() != null ) + { + buildDefinition.setSchedule( schedules.get( Integer.valueOf( buildDefinition.getSchedule().getId() ) ) ); + } + + if ( buildDefinition.getProfile() != null ) + { + buildDefinition.setProfile( profiles.get( Integer.valueOf( buildDefinition.getProfile().getId() ) ) ); + } + + buildDefinition = (BuildDefinition) PlexusJdoUtils.addObject( pmf.getPersistenceManager(), buildDefinition ); + buildDefinitions.put( Integer.valueOf( buildDefinition.getId() ), buildDefinition ); + } + Map localRepositories = new HashMap(); for ( LocalRepository localRepository : (List) database.getLocalRepositories() ) { @@ -318,14 +343,15 @@ { ProjectGroup projectGroup = (ProjectGroup) i.next(); - // first, we must map up any schedules, etc. - processBuildDefinitions( projectGroup.getBuildDefinitions(), schedules, profiles ); + projectGroup.setBuildDefinitions( processBuildDefinitions( projectGroup.getBuildDefinitions(), + buildDefinitions ) ); for ( Iterator j = projectGroup.getProjects().iterator(); j.hasNext(); ) { Project project = (Project) j.next(); - processBuildDefinitions( project.getBuildDefinitions(), schedules, profiles ); + project.setBuildDefinitions( processBuildDefinitions( project.getBuildDefinitions(), + buildDefinitions ) ); } if ( projectGroup.getLocalRepository() != null ) @@ -434,7 +460,7 @@ for ( BuildDefinitionTemplate template : (List) database.getBuildDefinitionTemplates() ) { - template.setBuildDefinitions( null ); + template.setBuildDefinitions( processBuildDefinitions( template.getBuildDefinitions(), buildDefinitions ) ); template = (BuildDefinitionTemplate) PlexusJdoUtils.addObject( pmf.getPersistenceManager(), template ); @@ -459,23 +485,17 @@ return groupProjects; } - private static void processBuildDefinitions( List buildDefinitions, Map schedules, - Map profiles ) + private List processBuildDefinitions( List buildDefinitions, + Map buildDefs ) { - for ( Iterator i = buildDefinitions.iterator(); i.hasNext(); ) + List buildDefsList = new ArrayList(); + + for ( BuildDefinition buildDefinition : buildDefinitions ) { - BuildDefinition def = (BuildDefinition) i.next(); - - if ( def.getSchedule() != null ) - { - def.setSchedule( schedules.get( Integer.valueOf( def.getSchedule().getId() ) ) ); - } - - if ( def.getProfile() != null ) - { - def.setProfile( profiles.get( Integer.valueOf( def.getProfile().getId() ) ) ); - } + buildDefsList.add( buildDefs.get( Integer.valueOf( buildDefinition.getId() ) ) ); } + + return buildDefsList; } private List getBuildQueuesBySchedule( Map allBuildQueues, Schedule schedule ) Modified: continuum/branches/continuum-1.3.x/continuum-data-management/data-management-jdo/src/test/resources/expected.xml URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-data-management/data-management-jdo/src/test/resources/expected.xml?rev=765014&r1=765013&r2=765014&view=diff ============================================================================== --- continuum/branches/continuum-1.3.x/continuum-data-management/data-management-jdo/src/test/resources/expected.xml (original) +++ continuum/branches/continuum-1.3.x/continuum-data-management/data-management-jdo/src/test/resources/expected.xml Tue Apr 14 23:54:14 2009 @@ -25,8 +25,8 @@ 1 1 1 - 1164693625928 - 1164693626928 + 1239696188773 + 1239696189773 error1 true 1 @@ -38,7 +38,7 @@ author1.1 comment1.1 - 1164693625935 + 1239696188774 name1.1.1 @@ -57,7 +57,7 @@ author1.2 comment1.2 - 1164693625936 + 1239696188774 name1.2.1 @@ -82,8 +82,8 @@ 2 2 2 - 1164693627928 - 1164693628928 + 1239696190773 + 1239696191773 error2 2 @@ -95,7 +95,7 @@ authorCO1.1 commentCO1.1 - 1164693625936 + 1239696188774 nameCO1.1.1 @@ -114,7 +114,7 @@ authorCO1.2 commentCO1.2 - 1164693625936 + 1239696188774 nameCO1.2.1 @@ -167,7 +167,7 @@ - 1 + 3 goals11 arguments11 buildFile11 @@ -175,7 +175,7 @@ - 2 + 4 goals12 arguments12 buildFile12 @@ -202,8 +202,8 @@ 3 3 3 - 1164693629928 - 1164693630928 + 1239696192773 + 1239696193773 error3 true 3 @@ -215,7 +215,7 @@ author3.1 comment3.1 - 1164693625936 + 1239696188774 name3.1.1 @@ -234,7 +234,7 @@ author3.2 comment3.2 - 1164693625936 + 1239696188774 name3.2.1 @@ -302,7 +302,7 @@ - 3 + 5 goals13 arguments13 buildFile13 @@ -310,7 +310,7 @@ - 8 + 6 deploy @@ -341,7 +341,7 @@ - 4 + 2 goals1 arguments1 buildFile1 @@ -371,7 +371,7 @@ - 5 + 7 goals2 arguments2 buildFile2 @@ -379,7 +379,7 @@ - 6 + 8 goals3 arguments3 buildFile3 @@ -387,7 +387,7 @@ - 7 + 9 deploy @@ -421,7 +421,7 @@ maven2 - /usr/local/maven-2.0-alpha-3 + /usr/local/maven-2.0-alpha-3 M2_HOME Maven 2.0 alpha 3 2 @@ -606,4 +606,70 @@ build queue 3 + + + 1 + goals14 + arguments14 + buildFile14 + + + + + 2 + goals1 + arguments1 + buildFile1 + + + + + 3 + goals11 + arguments11 + buildFile11 + + + + + 4 + goals12 + arguments12 + buildFile12 + + + + + 5 + goals13 + arguments13 + buildFile13 + + + + + 6 + deploy + + + 7 + goals2 + arguments2 + buildFile2 + + + + + 8 + goals3 + arguments3 + buildFile3 + + + + + 9 + deploy + + Modified: continuum/branches/continuum-1.3.x/continuum-model/pom.xml URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-model/pom.xml?rev=765014&r1=765013&r2=765014&view=diff ============================================================================== --- continuum/branches/continuum-1.3.x/continuum-model/pom.xml (original) +++ continuum/branches/continuum-1.3.x/continuum-model/pom.xml Tue Apr 14 23:54:14 2009 @@ -63,7 +63,7 @@ - 1.3.2 + 1.3.3 false src/main/mdo/continuum.xml Modified: continuum/branches/continuum-1.3.x/continuum-model/src/main/mdo/continuum.xml URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-model/src/main/mdo/continuum.xml?rev=765014&r1=765013&r2=765014&view=diff ============================================================================== --- continuum/branches/continuum-1.3.x/continuum-model/src/main/mdo/continuum.xml (original) +++ continuum/branches/continuum-1.3.x/continuum-model/src/main/mdo/continuum.xml Tue Apr 14 23:54:14 2009 @@ -128,13 +128,21 @@ buildQueues - 1.3.2 + 1.3.2+ BuildQueue * new java.util.ArrayList() + + buildDefinitions + 1.3.3+ + + BuildDefinition + * + + Modified: continuum/branches/continuum-1.3.x/continuum-store/src/main/java/org/apache/continuum/dao/BuildDefinitionDaoImpl.java URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-store/src/main/java/org/apache/continuum/dao/BuildDefinitionDaoImpl.java?rev=765014&r1=765013&r2=765014&view=diff ============================================================================== --- continuum/branches/continuum-1.3.x/continuum-store/src/main/java/org/apache/continuum/dao/BuildDefinitionDaoImpl.java (original) +++ continuum/branches/continuum-1.3.x/continuum-store/src/main/java/org/apache/continuum/dao/BuildDefinitionDaoImpl.java Tue Apr 14 23:54:14 2009 @@ -44,6 +44,7 @@ /** * @author Emmanuel Venisse * @version $Id$ + * @plexus.component role="org.apache.continuum.dao.BuildDefinitionDao" */ @Repository("buildDefinitionDao") public class BuildDefinitionDaoImpl