You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@continuum.apache.org by ol...@apache.org on 2007/09/27 00:35:50 UTC

svn commit: r579843 - in /maven/continuum/trunk: continuum-api/src/main/java/org/apache/maven/continuum/ continuum-core/src/main/java/org/apache/maven/continuum/ continuum-core/src/main/java/org/apache/maven/continuum/buildqueue/ continuum-core/src/tes...

Author: olamy
Date: Wed Sep 26 15:35:47 2007
New Revision: 579843

URL: http://svn.apache.org/viewvc?rev=579843&view=rev
Log:
[CONTINUUM-1287] editable build queue
current patch display the build queue content and add remove entry action

Added:
    maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/BuildQueueAction.java   (with props)
    maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/buildQueueView.jsp   (with props)
    maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/components/buildQueueComponent.jsp   (with props)
Modified:
    maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/Continuum.java
    maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/DefaultContinuum.java
    maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/buildqueue/BuildProjectTask.java
    maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/buildcontroller/BuildProjectTaskExecutorTest.java
    maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/buildqueue/BuildQueueTest.java
    maven/continuum/trunk/continuum-security/src/main/java/org/apache/maven/continuum/security/ContinuumRoleConstants.java
    maven/continuum/trunk/continuum-security/src/main/resources/META-INF/redback/redback.xml
    maven/continuum/trunk/continuum-webapp/src/main/resources/localization/Continuum.properties
    maven/continuum/trunk/continuum-webapp/src/main/resources/xwork.xml
    maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/navigations/Menu.jsp

Modified: maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/Continuum.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/Continuum.java?rev=579843&r1=579842&r2=579843&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/Continuum.java (original)
+++ maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/Continuum.java Wed Sep 26 15:35:47 2007
@@ -19,11 +19,15 @@
  * under the License.
  */
 
+import java.io.File;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+
 import org.apache.maven.continuum.builddefinition.BuildDefinitionService;
 import org.apache.maven.continuum.configuration.ConfigurationService;
 import org.apache.maven.continuum.installation.InstallationService;
 import org.apache.maven.continuum.model.project.BuildDefinition;
-import org.apache.maven.continuum.model.project.BuildDefinitionTemplate;
 import org.apache.maven.continuum.model.project.BuildResult;
 import org.apache.maven.continuum.model.project.Project;
 import org.apache.maven.continuum.model.project.ProjectGroup;
@@ -34,11 +38,6 @@
 import org.apache.maven.continuum.release.ContinuumReleaseManager;
 import org.codehaus.plexus.util.dag.CycleDetectedException;
 
-import java.io.File;
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
-
 /**
  * @author <a href="mailto:jason@maven.org">Jason van Zyl</a>
  * @author <a href="mailto:trygvis@inamo.no">Trygve Laugst&oslash;l</a>
@@ -134,6 +133,9 @@
     // Queues
     // ----------------------------------------------------------------------
 
+    public List /*BuildProjectTask*/ getProjectsInBuildQueue()
+        throws ContinuumException;    
+    
     boolean isInBuildingQueue( int projectId )
         throws ContinuumException;
 
@@ -143,6 +145,9 @@
     boolean removeProjectsFromBuildingQueue( int[] projectsId )
         throws ContinuumException;
 
+    boolean removeFromBuildingQueue( int projectId, int buildDefinitionId, int trigger, String projectName )
+        throws ContinuumException;
+    
     List getBuildProjectTasksInQueue()
         throws ContinuumException;
 

Modified: maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/DefaultContinuum.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/DefaultContinuum.java?rev=579843&r1=579842&r2=579843&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/DefaultContinuum.java (original)
+++ maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/DefaultContinuum.java Wed Sep 26 15:35:47 2007
@@ -465,6 +465,19 @@
     // Queues
     // ----------------------------------------------------------------------
 
+    public List<BuildProjectTask> getProjectsInBuildQueue()
+      throws ContinuumException
+    {
+        try
+        {
+            return buildQueue.getQueueSnapshot();
+        }
+        catch ( TaskQueueException e )
+        {
+            throw new ContinuumException( "Error while getting the building queue.", e );
+        }        
+    }
+    
     public boolean isInBuildingQueue( int projectId )
         throws ContinuumException
     {
@@ -564,6 +577,13 @@
         }
     }
 
+    public boolean removeFromBuildingQueue( int projectId, int buildDefinitionId, int trigger, String projectName )
+    throws ContinuumException
+    {
+        BuildProjectTask buildProjectTask = new BuildProjectTask( projectId, buildDefinitionId, trigger, projectName );
+        return this.buildQueue.remove( buildProjectTask );
+    }
+    
     public boolean removeProjectsFromBuildingQueue( int[] projectsId )
         throws ContinuumException
     {
@@ -1169,6 +1189,8 @@
                 }
                 else
                 {
+                    project.setOldState( project.getState() );
+                    
                     project.setState( ContinuumProjectState.ERROR );
 
                     store.updateProject( project );
@@ -1176,11 +1198,19 @@
                     project = store.getProject( project.getId() );
                 }
             }
+            else
+            {
+                project.setOldState( project.getState() );
+                
+                store.updateProject( project );
+
+                project = store.getProject( project.getId() );                
+            }
 
             getLogger().info(
                 "Enqueuing '" + project.getName() + "' (Build definition id=" + buildDefinitionId + ")." );
 
-            BuildProjectTask task = new BuildProjectTask( project.getId(), buildDefinitionId, trigger );
+            BuildProjectTask task = new BuildProjectTask( project.getId(), buildDefinitionId, trigger, project.getName() );
 
             task.setMaxExecutionTime( store.getBuildDefinition( buildDefinitionId ).getSchedule()
                 .getMaxJobExecutionTime() * 1000 );

Modified: maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/buildqueue/BuildProjectTask.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/buildqueue/BuildProjectTask.java?rev=579843&r1=579842&r2=579843&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/buildqueue/BuildProjectTask.java (original)
+++ maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/buildqueue/BuildProjectTask.java Wed Sep 26 15:35:47 2007
@@ -37,8 +37,10 @@
     private int trigger;
 
     private long maxExecutionTime;
+    
+    private String projectName;
 
-    public BuildProjectTask( int projectId, int buildDefinitionId, int trigger )
+    public BuildProjectTask( int projectId, int buildDefinitionId, int trigger, String projectName )
     {
         this.projectId = projectId;
 
@@ -47,6 +49,8 @@
         this.timestamp = System.currentTimeMillis();
 
         this.trigger = trigger;
+        
+        this.projectName = projectName;
     }
 
     public int getProjectId()
@@ -78,4 +82,36 @@
     {
         return maxExecutionTime;
     }
+
+    public String getProjectName()
+    {
+        return projectName;
+    }    
+    
+    public boolean equals( Object obj )
+    {
+        if ( obj == null )
+        {
+            return false;
+        }
+        if ( obj == this )
+        {
+            return false;
+        }
+        if ( !( obj instanceof BuildProjectTask ) )
+        {
+            return false;
+        }
+        BuildProjectTask buildProjectTask = (BuildProjectTask) obj;
+        return buildProjectTask.getBuildDefinitionId() == this.getBuildDefinitionId()
+            && buildProjectTask.getProjectId() == this.getProjectId()
+            && buildProjectTask.getTrigger() == this.getTrigger();
+    }
+
+    public int hashCode()
+    {
+        return this.getBuildDefinitionId() + this.getProjectId() + this.getTrigger();
+    }
+    
+    
 }

Modified: maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/buildcontroller/BuildProjectTaskExecutorTest.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/buildcontroller/BuildProjectTaskExecutorTest.java?rev=579843&r1=579842&r2=579843&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/buildcontroller/BuildProjectTaskExecutorTest.java (original)
+++ maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/buildcontroller/BuildProjectTaskExecutorTest.java Wed Sep 26 15:35:47 2007
@@ -250,7 +250,7 @@
 
         // projectGroup = continuumStore.addProjectGroup( projectGroup );
 
-        BuildProjectTask task = new BuildProjectTask( project.getId(), buildDefinition.getId(), 0 );
+        BuildProjectTask task = new BuildProjectTask( project.getId(), buildDefinition.getId(), 0, project.getName() );
 
         task.setMaxExecutionTime( maxRunTime );
 

Modified: maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/buildqueue/BuildQueueTest.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/buildqueue/BuildQueueTest.java?rev=579843&r1=579842&r2=579843&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/buildqueue/BuildQueueTest.java (original)
+++ maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/buildqueue/BuildQueueTest.java Wed Sep 26 15:35:47 2007
@@ -130,7 +130,7 @@
     private void buildProject( int projectId, int trigger )
         throws Exception
     {
-        buildQueue.put( new BuildProjectTask( projectId, 0, trigger ) );
+        buildQueue.put( new BuildProjectTask( projectId, 0, trigger, null ) );
     }
 
     private void assertNextBuildIs( int expectedProjectId )

Modified: maven/continuum/trunk/continuum-security/src/main/java/org/apache/maven/continuum/security/ContinuumRoleConstants.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-security/src/main/java/org/apache/maven/continuum/security/ContinuumRoleConstants.java?rev=579843&r1=579842&r2=579843&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-security/src/main/java/org/apache/maven/continuum/security/ContinuumRoleConstants.java (original)
+++ maven/continuum/trunk/continuum-security/src/main/java/org/apache/maven/continuum/security/ContinuumRoleConstants.java Wed Sep 26 15:35:47 2007
@@ -113,4 +113,6 @@
     public static final String CONTINUUM_MANAGE_PROFILES = "continuum-manage-profiles";
     
     public static final String CONTINUUM_MANAGE_BUILD_TEMPLATES = "continuum-manage-build-templates";
+    
+    public static final String CONTINUUM_MANAGE_BUILD_QUEUE = "continuum-manage-build-queue";
 }

Modified: maven/continuum/trunk/continuum-security/src/main/resources/META-INF/redback/redback.xml
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-security/src/main/resources/META-INF/redback/redback.xml?rev=579843&r1=579842&r2=579843&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-security/src/main/resources/META-INF/redback/redback.xml (original)
+++ maven/continuum/trunk/continuum-security/src/main/resources/META-INF/redback/redback.xml Wed Sep 26 15:35:47 2007
@@ -3,6 +3,11 @@
   <application>Continuum</application>
   <operations>
     <operation>
+      <id>continuum-manage-build-queue</id>
+      <name>continuum-manage-build-queue</name>
+      <description>Manage Continuum Build Queue</description>
+    </operation>    
+    <operation>
       <id>continuum-manage-build-templates</id>
       <name>continuum-manage-build-templates</name>
       <description>Manage Continuum Build Definition Templates</description>
@@ -167,6 +172,7 @@
         <childRole>continuum-manage-profiles</childRole>
         <childRole>continuum-manage-schedules</childRole>
         <childRole>continuum-manage-build-templates</childRole>
+        <childRole>continuum-manage-build-queue</childRole>
       </childRoles>
     </role>
     <role>
@@ -304,7 +310,22 @@
           <resource>global</resource>
         </permission>  
       </permissions>
-    </role>       
+    </role>    
+    <role>
+      <id>continuum-manage-build-queue</id>
+      <name>continuum-manage-build-queue</name>
+      <assignable>true</assignable>
+      <permanent>true</permanent>
+      <permissions>
+        <permission>
+          <id>continuum-manage-build-queue</id>
+          <name>Manage Continuum Build Queue</name>
+          <permanent>true</permanent>
+          <operation>continuum-manage-build-queue</operation>
+          <resource>global</resource>
+        </permission>
+      </permissions>
+    </role>   
   </roles>
   <templates>
   	<template>

Added: maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/BuildQueueAction.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/BuildQueueAction.java?rev=579843&view=auto
==============================================================================
--- maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/BuildQueueAction.java (added)
+++ maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/BuildQueueAction.java Wed Sep 26 15:35:47 2007
@@ -0,0 +1,160 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.maven.continuum.web.action.admin;
+
+import java.util.List;
+
+import org.apache.maven.continuum.buildqueue.BuildProjectTask;
+import org.apache.maven.continuum.model.project.Project;
+import org.apache.maven.continuum.security.ContinuumRoleConstants;
+import org.apache.maven.continuum.web.action.ContinuumActionSupport;
+import org.codehaus.plexus.redback.rbac.Resource;
+import org.codehaus.plexus.redback.xwork.interceptor.SecureAction;
+import org.codehaus.plexus.redback.xwork.interceptor.SecureActionBundle;
+import org.codehaus.plexus.redback.xwork.interceptor.SecureActionException;
+
+/**
+ * @author <a href="mailto:olamy@apache.org">olamy</a>
+ * @since 24 sept. 07
+ * @version $Id$
+ * @plexus.component role="com.opensymphony.xwork.Action" role-hint="buildQueue"
+ */
+public class BuildQueueAction
+    extends ContinuumActionSupport
+    implements SecureAction
+{
+
+    private List<BuildProjectTask> buildProjectTasks;
+    
+    private List<String> selectedProjectIds;
+    
+    private int buildDefinitionId;
+    
+    private int projectId;
+    
+    private int trigger;
+    
+    private String projectName;
+    
+    // -----------------------------------------------------
+    //  webwork
+    // -----------------------------------------------------     
+    
+    public String global()
+        throws Exception
+    {
+        return SUCCESS;
+    }
+
+    public String display()
+        throws Exception
+    {
+        this.setBuildProjectTasks( getContinuum().getBuildProjectTasksInQueue() );
+        return SUCCESS;
+    }
+
+    public String remove()
+        throws Exception
+    {
+        BuildProjectTask buildProjectTask = new BuildProjectTask( projectId, buildDefinitionId, trigger, projectName );
+        getContinuum().removeFromBuildingQueue( projectId, buildDefinitionId, trigger, projectName );
+        Project project = getContinuum().getProject( projectId );
+        project.setState( project.getOldState() );
+        getContinuum().updateProject( project );
+        
+        return SUCCESS;
+    }
+    
+
+    // -----------------------------------------------------
+    //  security
+    // -----------------------------------------------------    
+
+    public SecureActionBundle getSecureActionBundle()
+        throws SecureActionException
+    {
+        SecureActionBundle bundle = new SecureActionBundle();
+        bundle.setRequiresAuthentication( true );
+        bundle.addRequiredAuthorization( ContinuumRoleConstants.CONTINUUM_MANAGE_BUILD_QUEUE, Resource.GLOBAL );
+
+        return bundle;
+    }
+
+    public List<BuildProjectTask> getBuildProjectTasks()
+    {
+        return buildProjectTasks;
+    }
+
+    public void setBuildProjectTasks( List<BuildProjectTask> buildProjectTasks )
+    {
+        this.buildProjectTasks = buildProjectTasks;
+    }
+
+    public List<String> getSelectedProjectIds()
+    {
+        return selectedProjectIds;
+    }
+
+    public void setSelectedProjectIds( List<String> selectedProjectIds )
+    {
+        this.selectedProjectIds = selectedProjectIds;
+    }
+
+    public int getBuildDefinitionId()
+    {
+        return buildDefinitionId;
+    }
+
+    public void setBuildDefinitionId( int buildDefinitionId )
+    {
+        this.buildDefinitionId = buildDefinitionId;
+    }
+
+    public int getProjectId()
+    {
+        return projectId;
+    }
+
+    public void setProjectId( int projectId )
+    {
+        this.projectId = projectId;
+    }
+
+    public int getTrigger()
+    {
+        return trigger;
+    }
+
+    public void setTrigger( int trigger )
+    {
+        this.trigger = trigger;
+    }
+    
+    public String getProjectName()
+    {
+        return projectName;
+    }
+
+    public void setProjectName( String projectName )
+    {
+        this.projectName = projectName;
+    }
+
+    
+}

Propchange: maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/BuildQueueAction.java
------------------------------------------------------------------------------
    svn:eol-style = LF

Propchange: maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/BuildQueueAction.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/BuildQueueAction.java
------------------------------------------------------------------------------
--- svn:keywords (added)
+++ svn:keywords Wed Sep 26 15:35:47 2007
@@ -0,0 +1 @@
+URL HeadURL Author LastChangedBy Date LastChangedDate Rev Revision LastChangedRevision Id

Modified: maven/continuum/trunk/continuum-webapp/src/main/resources/localization/Continuum.properties
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/src/main/resources/localization/Continuum.properties?rev=579843&r1=579842&r2=579843&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-webapp/src/main/resources/localization/Continuum.properties (original)
+++ maven/continuum/trunk/continuum-webapp/src/main/resources/localization/Continuum.properties Wed Sep 26 15:35:47 2007
@@ -74,6 +74,7 @@
 menu.administration.buildDefinitionTemplates = Build Definitions Templates
 menu.account.options = My account
 user.edit.account = Edit user info
+menu.administration.buildqueue = Build Queue
 
 # ----------------------------------------------------------------------
 # Page: error
@@ -721,3 +722,10 @@
 buildDefinitionTemplate.available.builddefinitions = --- Available Build Definitions ---
 buildDefinitionTemplate.available.builddefinitions.used = --- Used Build Definitions ---
 buildDefinitionTemplate.builddefinitions.define = Configure the used Build Definitions
+
+# ----------------------------------------------------------------------
+# Page: Build Queue
+# ----------------------------------------------------------------------
+buildQueue.page.title = Continuum - Build Queue
+buildQueue.section.title = Continuum - Build Queue
+buildQueue.empty = Build Queue is empty

Modified: maven/continuum/trunk/continuum-webapp/src/main/resources/xwork.xml
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/src/main/resources/xwork.xml?rev=579843&r1=579842&r2=579843&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-webapp/src/main/resources/xwork.xml (original)
+++ maven/continuum/trunk/continuum-webapp/src/main/resources/xwork.xml Wed Sep 26 15:35:47 2007
@@ -657,6 +657,20 @@
         <param name="actionName">buildDefinitionTemplates.action</param>
       </result>
     </action>
+    
+    <action name="displayGlobalBuildQueue" class="buildQueue" method="global">
+      <result name="success">/WEB-INF/jsp/admin/buildQueueView.jsp</result>
+    </action>
+    
+    <action name="buildQueueView" class="buildQueue" method="display">
+      <result name="success">/WEB-INF/jsp/components/buildQueueComponent.jsp</result>
+    </action>
+    
+    <action name="removeBuildQueueEntry" class="buildQueue" method="remove">
+      <result name="success" type="redirect-action">
+        <param name="actionName">displayGlobalBuildQueue</param>
+      </result>      
+    </action>    
   </package>
 
   <package name="component" extends="default">

Added: maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/buildQueueView.jsp
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/buildQueueView.jsp?rev=579843&view=auto
==============================================================================
--- maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/buildQueueView.jsp (added)
+++ maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/buildQueueView.jsp Wed Sep 26 15:35:47 2007
@@ -0,0 +1,39 @@
+<%--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License.  You may obtain a copy of the License at
+  ~
+  ~   http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied.  See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+  --%>
+
+<%@ taglib uri='http://java.sun.com/jsp/jstl/core' prefix='c'%>
+<%@ taglib uri="/webwork" prefix="ww" %>
+<%@ taglib uri="continuum" prefix="c1" %>
+<%@ taglib uri="http://www.extremecomponents.org" prefix="ec" %>
+
+<html>
+  <ww:i18n name="localization.Continuum">
+    <head>
+      <title><ww:text name="buildQueue.page.title"/></title>
+    </head>
+    <body>
+      <div id="h3">
+        <h3>
+          <ww:text name="buildQueue.section.title"/>
+        </h3>  
+        <ww:action name="buildQueueView" executeResult="true"/>
+      </div>
+    </body>
+  </ww:i18n>
+</html>
\ No newline at end of file

Propchange: maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/buildQueueView.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/buildQueueView.jsp
------------------------------------------------------------------------------
    svn:executable = *

Propchange: maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/buildQueueView.jsp
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/components/buildQueueComponent.jsp
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/components/buildQueueComponent.jsp?rev=579843&view=auto
==============================================================================
--- maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/components/buildQueueComponent.jsp (added)
+++ maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/components/buildQueueComponent.jsp Wed Sep 26 15:35:47 2007
@@ -0,0 +1,50 @@
+<%--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License.  You may obtain a copy of the License at
+  ~
+  ~   http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied.  See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+  --%>
+
+<%@ taglib uri='http://java.sun.com/jsp/jstl/core' prefix='c'%>
+<%@ taglib uri="/webwork" prefix="ww" %>
+<%@ taglib uri="continuum" prefix="c1" %>
+<%@ taglib uri="http://www.extremecomponents.org" prefix="ec" %>
+<ww:i18n name="localization.Continuum">
+  <ww:if test="${not empty buildProjectTasks}">
+    <ec:table items="buildProjectTasks"
+              var="buildProjectTask"
+              showExports="false"
+              showPagination="false"
+              showStatusBar="false"
+              sortable="false"
+              filterable="false">
+      <ec:row highlightRow="true">
+        <ec:column property="projectName" title="Project Name" style="white-space: nowrap" />
+        <ec:column property="cancelEntry" title="&nbsp;" width="1%">
+          <ww:url id="cancelUrl" action="removeBuildQueueEntry" method="remove" namespace="/">
+            <ww:param name="projectId">${pageScope.buildProjectTask.projectId}</ww:param>
+            <ww:param name="buildDefinitionId">${pageScope.buildProjectTask.buildDefinitionId}</ww:param>
+            <ww:param name="trigger">${pageScope.buildProjectTask.trigger}</ww:param>
+            <ww:param name="projectName">${pageScope.buildProjectTask.projectName}</ww:param>
+          </ww:url>      
+          <ww:a href="%{cancelUrl}"><img src="<ww:url value='/images/cancelbuild.gif'/>" alt="<ww:text name='cancel'/>" title="<ww:text name='cancel'/>" border="0"></ww:a>    
+        </ec:column>             
+      </ec:row>
+    </ec:table>
+  </ww:if>
+  <ww:else>
+    <ww:text name="buildQueue.empty"/>
+  </ww:else>
+</ww:i18n>
\ No newline at end of file

Propchange: maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/components/buildQueueComponent.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/components/buildQueueComponent.jsp
------------------------------------------------------------------------------
    svn:executable = *

Propchange: maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/components/buildQueueComponent.jsp
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Modified: maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/navigations/Menu.jsp
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/navigations/Menu.jsp?rev=579843&r1=579842&r2=579843&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/navigations/Menu.jsp (original)
+++ maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/navigations/Menu.jsp Wed Sep 26 15:35:47 2007
@@ -82,7 +82,7 @@
   </redback:ifAuthorized>
 
 
-  <redback:ifAnyAuthorized permissions="continuum-manage-build-templates,continuum-manage-schedules,continuum-manage-configuration,continuum-manage-users,continuum-manage-installations,continuum-manage-profiles">
+  <redback:ifAnyAuthorized permissions="continuum-manage-build-templates,continuum-manage-schedules,continuum-manage-configuration,continuum-manage-users,continuum-manage-installations,continuum-manage-profiles,continuum-manage-build-queue">
     <div id="projectmenu" class="toolgroup">
       <div class="label">
         <ww:text name="menu.administration"/>
@@ -109,6 +109,14 @@
           <div class="body">
             <ww:a href="%{configurationUrl}">
               <ww:text name="menu.administration.profile"/>
+            </ww:a>
+          </div> 
+        </redback:ifAuthorized> 
+        <redback:ifAuthorized permission="continuum-manage-build-queue">
+          <ww:url id="buildQueueUrl" action="displayGlobalBuildQueue" namespace="/admin" method="global" includeParams="none"/>
+          <div class="body">
+            <ww:a href="%{buildQueueUrl}">
+              <ww:text name="menu.administration.buildqueue"/>
             </ww:a>
           </div> 
         </redback:ifAuthorized>