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/04/18 16:50:14 UTC
svn commit: r766333 -
/continuum/branches/continuum-1.3.x/continuum-data-management/data-management-jdo/src/main/java/org/apache/maven/continuum/management/JdoDataManagementTool.java
Author: ctan
Date: Sat Apr 18 14:50:13 2009
New Revision: 766333
URL: http://svn.apache.org/viewvc?rev=766333&view=rev
Log:
[CONTINUUM-2171] fixed build definition duplicate key exception during import
Modified:
continuum/branches/continuum-1.3.x/continuum-data-management/data-management-jdo/src/main/java/org/apache/maven/continuum/management/JdoDataManagementTool.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=766333&r1=766332&r2=766333&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 Sat Apr 18 14:50:13 2009
@@ -344,13 +344,15 @@
ProjectGroup projectGroup = (ProjectGroup) i.next();
// first, we must map up any schedules, etc.
- processBuildDefinitions( projectGroup.getBuildDefinitions(), schedules, profiles );
+ projectGroup.setBuildDefinitions( processBuildDefinitions( projectGroup.getBuildDefinitions(),
+ schedules, profiles, buildDefinitions ) );
for ( Iterator j = projectGroup.getProjects().iterator(); j.hasNext(); )
{
Project project = (Project) j.next();
- processBuildDefinitions( project.getBuildDefinitions(), schedules, profiles );
+ project.setBuildDefinitions( processBuildDefinitions( project.getBuildDefinitions(),
+ schedules, profiles, buildDefinitions ) );
}
if ( projectGroup.getLocalRepository() != null )
@@ -484,27 +486,40 @@
return groupProjects;
}
- private static void processBuildDefinitions( List buildDefinitions, Map<Integer, Schedule> schedules,
- Map<Integer, Profile> profiles )
+ private List<BuildDefinition> processBuildDefinitions( List<BuildDefinition> buildDefinitions,
+ Map<Integer, Schedule> schedules,
+ Map<Integer, Profile> profiles,
+ Map<Integer, BuildDefinition> buildDefs )
{
- for ( Iterator i = buildDefinitions.iterator(); i.hasNext(); )
- {
- BuildDefinition def = (BuildDefinition) i.next();
+ List<BuildDefinition> buildDefsList = new ArrayList<BuildDefinition>();
- if ( def.getSchedule() != null )
+ for ( BuildDefinition def : buildDefinitions )
+ {
+ if ( buildDefs.get( Integer.valueOf( def.getId() ) ) != null )
{
- def.setSchedule( schedules.get( Integer.valueOf( def.getSchedule().getId() ) ) );
+ buildDefsList.add( buildDefs.get( Integer.valueOf( def.getId() ) ) );
}
-
- if ( def.getProfile() != null )
+ else
{
- def.setProfile( profiles.get( Integer.valueOf( def.getProfile().getId() ) ) );
+ 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( def );
}
}
+
+ return buildDefsList;
}
private List<BuildDefinition> processBuildDefinitions( List<BuildDefinition> buildDefinitions,
- Map<Integer, BuildDefinition> buildDefs )
+ Map<Integer, BuildDefinition> buildDefs )
{
List<BuildDefinition> buildDefsList = new ArrayList<BuildDefinition>();