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 09:11:14 UTC

svn commit: r734072 - in /continuum/branches/continuum-parallel-builds/continuum-webapp/src/main: java/org/apache/maven/continuum/web/action/ScheduleAction.java resources/localization/Continuum.properties webapp/WEB-INF/jsp/editSchedule.jsp

Author: oching
Date: Tue Jan 13 00:11:13 2009
New Revision: 734072

URL: http://svn.apache.org/viewvc?rev=734072&view=rev
Log:
change Add Build Queue list box in editSchedule.jsp to an optiontransferselect box 

Modified:
    continuum/branches/continuum-parallel-builds/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ScheduleAction.java
    continuum/branches/continuum-parallel-builds/continuum-webapp/src/main/resources/localization/Continuum.properties
    continuum/branches/continuum-parallel-builds/continuum-webapp/src/main/webapp/WEB-INF/jsp/editSchedule.jsp

Modified: continuum/branches/continuum-parallel-builds/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ScheduleAction.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-parallel-builds/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ScheduleAction.java?rev=734072&r1=734071&r2=734072&view=diff
==============================================================================
--- continuum/branches/continuum-parallel-builds/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ScheduleAction.java (original)
+++ continuum/branches/continuum-parallel-builds/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ScheduleAction.java Tue Jan 13 00:11:13 2009
@@ -21,7 +21,6 @@
 
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.Collections;
 import java.util.List;
 
 import org.apache.maven.continuum.ContinuumException;
@@ -72,20 +71,49 @@
     private String dayOfWeek = "?";
 
     private String year;
-
-    private List<BuildQueue> schedulesBuildQueue;
-
-    private BuildQueue buildQueue;
-
-    private List<BuildQueue> buildQueues;
-
-    private List<String> buildQueueIds;
+    
+    private List<String> availableBuildQueues;
+    
+    private List<String> selectedBuildQueues = new ArrayList<String>();
 
     public void prepare()
         throws Exception
     {
         super.prepare();
+        
+        populateBuildQueues();
+    }
+
+    private void populateBuildQueues()
+        throws ContinuumException
+    {
+        List<BuildQueue> buildQueues = null;
+        if( schedule != null )
+        {
+            buildQueues = schedule.getBuildQueues();
+            for( BuildQueue buildQueue : buildQueues )
+            {
+                selectedBuildQueues.add( buildQueue.getName() );
+            }
+
+        }
+            
+        availableBuildQueues = new ArrayList<String>();
+        
         buildQueues = getContinuum().getAllBuildQueues();
+        for( BuildQueue buildQueue : buildQueues )
+        {
+            availableBuildQueues.add( buildQueue.getName() );
+        }
+        
+        // remove selected build queues from available build queues
+        for( String buildQueue : selectedBuildQueues )
+        {
+            if( availableBuildQueues.contains( buildQueue ) )
+            {
+                availableBuildQueues.remove( buildQueue );
+            }
+        }
     }
 
     public String summary()
@@ -106,8 +134,7 @@
             return REQUIRES_AUTHENTICATION;
 
         }
-        buildQueueIds = new ArrayList<String>();
-
+        
         schedules = getContinuum().getSchedules();
 
         return SUCCESS;
@@ -154,7 +181,7 @@
             delay = schedule.getDelay();
             maxJobExecutionTime = schedule.getMaxJobExecutionTime();
 
-            getBuildQueueIdsFromSchedule();
+            populateBuildQueues();
         }
         else
         {
@@ -165,22 +192,6 @@
         return SUCCESS;
     }
 
-    private void getBuildQueueIdsFromSchedule()
-    {
-        if ( schedule != null )
-        {
-            List<BuildQueue> buildQueues = schedule.getBuildQueues();
-            if ( buildQueueIds == null )
-            {
-                buildQueueIds = new ArrayList<String>();
-            }
-            for ( BuildQueue buildQueue : buildQueues )
-            {
-                buildQueueIds.add( buildQueue.getName() );
-            }
-        }
-    }
-
     public String save()
         throws ContinuumException
     {
@@ -247,16 +258,15 @@
         schedule.setName( name );
         schedule.setMaxJobExecutionTime( maxJobExecutionTime );
 
-        // remove old build queues
+     // remove old build queues
         schedule.setBuildQueues( null );
 
-        // add selected build queues
-        for ( String buildQueueId : buildQueueIds )
+        for( String name : selectedBuildQueues )
         {
-            BuildQueue buildQueue = getContinuum().getBuildQueueByName( buildQueueId );
+            BuildQueue buildQueue = getContinuum().getBuildQueueByName( name );
             schedule.addBuildQueue( buildQueue );
         }
-
+        
         return schedule;
     }
 
@@ -485,43 +495,23 @@
         return ( second + " " + minute + " " + hour + " " + dayOfMonth + " " + month + " " + dayOfWeek + " " + year ).trim();
     }
 
-    public BuildQueue getBuildQueue()
-    {
-        return buildQueue;
-    }
-
-    public void setBuildQueue( BuildQueue buildQueue )
-    {
-        this.buildQueue = buildQueue;
-    }
-
-    public List<BuildQueue> getBuildQueues()
-    {
-        return buildQueues;
-    }
-
-    public void setBuildQueues( List<BuildQueue> buildQueues )
-    {
-        this.buildQueues = buildQueues;
-    }
-
-    public List<String> getBuildQueueIds()
+    public List<String> getAvailableBuildQueues()
     {
-        return buildQueueIds == null ? Collections.EMPTY_LIST : buildQueueIds;
+        return availableBuildQueues;
     }
 
-    public void setBuildQueueIds( List<String> buildQueueIds )
+    public void setAvailableBuildQueues( List<String> availableBuildQueues )
     {
-        this.buildQueueIds = buildQueueIds;
+        this.availableBuildQueues = availableBuildQueues;
     }
 
-    public List<BuildQueue> getSchedulesBuildQueue()
+    public List<String> getSelectedBuildQueues()
     {
-        return schedulesBuildQueue;
+        return selectedBuildQueues;
     }
 
-    public void setSchedulesBuildQueue( List<BuildQueue> schedulesBuildQueue )
+    public void setSelectedBuildQueues( List<String> selectedBuildQueues )
     {
-        this.schedulesBuildQueue = schedulesBuildQueue;
+        this.selectedBuildQueues = selectedBuildQueues;
     }
 }

Modified: continuum/branches/continuum-parallel-builds/continuum-webapp/src/main/resources/localization/Continuum.properties
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-parallel-builds/continuum-webapp/src/main/resources/localization/Continuum.properties?rev=734072&r1=734071&r2=734072&view=diff
==============================================================================
--- continuum/branches/continuum-parallel-builds/continuum-webapp/src/main/resources/localization/Continuum.properties (original)
+++ continuum/branches/continuum-parallel-builds/continuum-webapp/src/main/resources/localization/Continuum.properties Tue Jan 13 00:11:13 2009
@@ -618,6 +618,7 @@
 schedule.dayOfWeek.label = Day of Week
 schedule.year.label = Year [optional]
 schedule.remove.error = The schedule can't be removed, it is probably used by a build definition.
+schedule.buildqueues.label = Add Build Queue
 schedule.buildqueues.define = Configure the used build queues
 schedule.available.buildqueues = --- Available Build Queues ---
 schedule.available.buildqueues.used = --- Used Build Queues ---

Modified: continuum/branches/continuum-parallel-builds/continuum-webapp/src/main/webapp/WEB-INF/jsp/editSchedule.jsp
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-parallel-builds/continuum-webapp/src/main/webapp/WEB-INF/jsp/editSchedule.jsp?rev=734072&r1=734071&r2=734072&view=diff
==============================================================================
--- continuum/branches/continuum-parallel-builds/continuum-webapp/src/main/webapp/WEB-INF/jsp/editSchedule.jsp (original)
+++ continuum/branches/continuum-parallel-builds/continuum-webapp/src/main/webapp/WEB-INF/jsp/editSchedule.jsp Tue Jan 13 00:11:13 2009
@@ -72,9 +72,16 @@
             <s:textfield label="%{getText('schedule.quietPeriod.label')}" name="delay">
                 <s:param name="desc"><p><s:text name="schedule.quietPeriod.message"/></p></s:param>
             </s:textfield>
-    	
-            <s:select label="Add Build Queue" id="buildQueueIds" name="buildQueueIds" listKey="name" listValue="name" multiple="true"
-                list="buildQueues" />
+    	                
+            <s:optiontransferselect label="%{getText('schedule.buildqueues.label')}" name="availableBuildQueues"
+                list="availableBuildQueues" size="8" multiple="true" emptyOption="false"
+                doubleName="selectedBuildQueues" doubleList="selectedBuildQueues" doubleSize="8" 
+                doubleMultiple="true" doubleEmptyOption="false"
+                addAllToRightOnclick="selectAllOptions(document.getElementById('saveSchedule_availableBuildQueues'));selectAllOptions(document.getElementById('saveSchedule_selectedBuildQueues'));"
+				addToRightOnclick="selectAllOptions(document.getElementById('saveSchedule_availableBuildQueues'));selectAllOptions(document.getElementById('saveSchedule_selectedBuildQueues'));"
+				addAllToLeftOnclick="selectAllOptions(document.getElementById('saveSchedule_availableBuildQueues'));selectAllOptions(document.getElementById('saveSchedule_selectedBuildQueues'));"
+				addToLeftOnclick="selectAllOptions(document.getElementById('saveSchedule_availableBuildQueues'));selectAllOptions(document.getElementById('saveSchedule_selectedBuildQueues'));"
+                />
                                        
             <s:checkbox label="%{getText('schedule.enabled.label')}" name="active" value="active" fieldValue="true">
                 <s:param name="desc"><p><s:text name="schedule.enabled.message"/></p></s:param>