Return-Path: Delivered-To: apmail-continuum-commits-archive@www.apache.org Received: (qmail 58945 invoked from network); 8 Jul 2009 00:37:21 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 8 Jul 2009 00:37:21 -0000 Received: (qmail 17210 invoked by uid 500); 8 Jul 2009 00:37:31 -0000 Delivered-To: apmail-continuum-commits-archive@continuum.apache.org Received: (qmail 17151 invoked by uid 500); 8 Jul 2009 00:37:31 -0000 Mailing-List: contact commits-help@continuum.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@continuum.apache.org Delivered-To: mailing list commits@continuum.apache.org Received: (qmail 17142 invoked by uid 99); 8 Jul 2009 00:37:31 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 08 Jul 2009 00:37:31 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 08 Jul 2009 00:37:29 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id A213C2388877; Wed, 8 Jul 2009 00:37:08 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r792004 - in /continuum/branches/continuum-1.3.x/continuum-webapp/src/main: java/org/apache/maven/continuum/web/action/ScheduleAction.java resources/localization/Continuum.properties webapp/WEB-INF/jsp/editSchedule.jsp Date: Wed, 08 Jul 2009 00:37:08 -0000 To: commits@continuum.apache.org From: jmorales@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20090708003708.A213C2388877@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: jmorales Date: Wed Jul 8 00:37:08 2009 New Revision: 792004 URL: http://svn.apache.org/viewvc?rev=792004&view=rev Log: [CONTINUUM-2288][CONTINUUM-2199] Parallel build queue to schedule mapping is unclear and Association with build queues are deleted if temporal enable distributebuild and edit the schedule. Reorganization of the code to manage the associated buildQueues to a schedule. Behavior similar to templateBuildDefinition. Modified: continuum/branches/continuum-1.3.x/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ScheduleAction.java continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/localization/Continuum.properties continuum/branches/continuum-1.3.x/continuum-webapp/src/main/webapp/WEB-INF/jsp/editSchedule.jsp Modified: continuum/branches/continuum-1.3.x/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ScheduleAction.java URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ScheduleAction.java?rev=792004&r1=792003&r2=792004&view=diff ============================================================================== --- continuum/branches/continuum-1.3.x/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ScheduleAction.java (original) +++ continuum/branches/continuum-1.3.x/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ScheduleAction.java Wed Jul 8 00:37:08 2009 @@ -23,6 +23,7 @@ import java.util.ArrayList; import java.util.Collection; +import java.util.Collections; import java.util.List; import org.apache.commons.lang.StringUtils; @@ -79,9 +80,11 @@ private String year; - private List availableBuildQueues; + private List availableBuildQueues; - private List selectedBuildQueues = new ArrayList(); + private List selectedBuildQueues = new ArrayList(); + + private List selectedBuildQueuesIds = new ArrayList(); public void prepare() throws Exception @@ -94,27 +97,19 @@ private void populateBuildQueues() throws ContinuumException { - List buildQueues; if ( schedule != null ) { - buildQueues = schedule.getBuildQueues(); - for ( BuildQueue buildQueue : buildQueues ) + selectedBuildQueues = schedule.getBuildQueues(); + for ( BuildQueue bq : selectedBuildQueues ) { - selectedBuildQueues.add( buildQueue.getName() ); + this.selectedBuildQueuesIds.add( Integer.toString( bq.getId() ) ); } - } - availableBuildQueues = new ArrayList(); - - buildQueues = getContinuum().getAllBuildQueues(); - for ( BuildQueue buildQueue : buildQueues ) - { - availableBuildQueues.add( buildQueue.getName() ); - } + availableBuildQueues = getContinuum().getAllBuildQueues(); // remove selected build queues from available build queues - for ( String buildQueue : selectedBuildQueues ) + for ( BuildQueue buildQueue : selectedBuildQueues ) { if ( availableBuildQueues.contains( buildQueue ) ) { @@ -222,24 +217,30 @@ { logger.error( "Can't create schedule. No schedule name was supplied." ); addActionError( getText( "buildDefinition.noname.save.error.message" ) ); + } + if ( !getContinuum().getConfiguration().isDistributedBuildEnabled() + && ( selectedBuildQueuesIds == null || selectedBuildQueuesIds.isEmpty() ) ) + { + addActionError( getText( "schedule.buildqueues.empty.error" ) ); + } + if ( hasErrors() ) + { return ERROR; } - else + + try { - try - { - Schedule s = getContinuum().getScheduleByName( name ); - if ( s != null && id != s.getId() ) - { - addActionError( getText( "schedule.name.already.exists" ) ); - return ERROR; - } - } - catch ( ContinuumException e ) + Schedule s = getContinuum().getScheduleByName( name ); + if ( s != null && id != s.getId() ) { - logger.debug( "Unexpected error getting schedule" ); + addActionError( getText( "schedule.name.already.exists" ) ); + return ERROR; } } + catch ( ContinuumException e ) + { + logger.debug( "Unexpected error getting schedule" ); + } AuditLog event = new AuditLog( getName(), AuditLogConstants.ADD_SCHEDULE ); event.setCategory( AuditLogConstants.SCHEDULE ); @@ -284,15 +285,14 @@ schedule.setDelay( delay ); schedule.setDescription( description ); schedule.setName( name ); - schedule.setMaxJobExecutionTime( maxJobExecutionTime ); - - // remove old build queues - schedule.setBuildQueues( null ); - - for ( String name : selectedBuildQueues ) - { - BuildQueue buildQueue = getContinuum().getBuildQueueByName( name ); - schedule.addBuildQueue( buildQueue ); + schedule.setMaxJobExecutionTime(maxJobExecutionTime); + if (!getContinuum().getConfiguration().isDistributedBuildEnabled()) { + // if distributed build don't update schedules + schedule.setBuildQueues(null); + for (String id : selectedBuildQueuesIds) { + BuildQueue buildQueue = getContinuum().getBuildQueue(Integer.parseInt(id)); + schedule.addBuildQueue(buildQueue); + } } return schedule; @@ -529,23 +529,33 @@ year ).trim(); } - public List getAvailableBuildQueues() + public List getAvailableBuildQueues() { return availableBuildQueues; } - public void setAvailableBuildQueues( List availableBuildQueues ) + public void setAvailableBuildQueues( List availableBuildQueues ) { this.availableBuildQueues = availableBuildQueues; } - public List getSelectedBuildQueues() + public List getSelectedBuildQueues() { return selectedBuildQueues; } - public void setSelectedBuildQueues( List selectedBuildQueues ) + public void setSelectedBuildQueues( List selectedBuildQueues ) { this.selectedBuildQueues = selectedBuildQueues; } + + public List getSelectedBuildQueuesIds() + { + return selectedBuildQueuesIds; + } + + public void setSelectedBuildQueuesIds( List selectedBuildQueuesIds ) + { + this.selectedBuildQueuesIds = selectedBuildQueuesIds; + } } Modified: continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/localization/Continuum.properties URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/localization/Continuum.properties?rev=792004&r1=792003&r2=792004&view=diff ============================================================================== --- continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/localization/Continuum.properties (original) +++ continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/localization/Continuum.properties Wed Jul 8 00:37:08 2009 @@ -655,6 +655,7 @@ schedule.available.buildqueues.used = --- Used Build Queues --- schedule.buildqueues.add.error = Error attaching the build queue(s) to schedule. schedule.name.already.exists = A Schedule with the same name already exists +schedule.buildqueues.empty.error = Used Build Queues cannot be empty # ---------------------------------------------------------------------- # Page: Delete Schedule Modified: continuum/branches/continuum-1.3.x/continuum-webapp/src/main/webapp/WEB-INF/jsp/editSchedule.jsp URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-webapp/src/main/webapp/WEB-INF/jsp/editSchedule.jsp?rev=792004&r1=792003&r2=792004&view=diff ============================================================================== --- continuum/branches/continuum-1.3.x/continuum-webapp/src/main/webapp/WEB-INF/jsp/editSchedule.jsp (original) +++ continuum/branches/continuum-1.3.x/continuum-webapp/src/main/webapp/WEB-INF/jsp/editSchedule.jsp Wed Jul 8 00:37:08 2009 @@ -32,7 +32,7 @@

- +
@@ -74,14 +74,27 @@ -