au.com.centrumsystems.hudson.plugin.buildpipeline
Class BuildPipelineView

java.lang.Object
  extended by hudson.model.AbstractModelObject
      extended by hudson.model.View
          extended by au.com.centrumsystems.hudson.plugin.buildpipeline.BuildPipelineView
All Implemented Interfaces:
hudson.ExtensionPoint, hudson.model.Describable<hudson.model.View>, hudson.model.ModelObject, hudson.search.SearchableModelObject, hudson.search.SearchItem, hudson.security.AccessControlled

public class BuildPipelineView
extends hudson.model.View

This view displays the set of jobs that are related based on their upstream\downstream relationships as a pipeline. Each build pipeline becomes a row on the view.

Author:
Centrum Systems

Nested Class Summary
static class BuildPipelineView.DescriptorImpl
          This descriptor class is required to configure the View Page
 
Nested classes/interfaces inherited from class hudson.model.View
hudson.model.View.People, hudson.model.View.UserInfo
 
Nested classes/interfaces inherited from interface hudson.ExtensionPoint
hudson.ExtensionPoint.LegacyInstancesAreScopedToHudson
 
Field Summary
 
Fields inherited from class hudson.model.View
CONFIGURE, CREATE, DELETE, description, filterExecutors, filterQueue, LIST, name, owner, PERMISSIONS, SORTER, transientActions
 
Constructor Summary
BuildPipelineView(java.lang.String name, java.lang.String buildViewTitle, java.lang.String selectedJob, java.lang.String noOfDisplayedBuilds, boolean triggerOnlyLatestJob)
           
 
Method Summary
 boolean contains(hudson.model.TopLevelItem item)
           
 hudson.model.Item doCreateItem(org.kohsuke.stapler.StaplerRequest req, org.kohsuke.stapler.StaplerResponse rsp)
           
 void doManualExecution(org.kohsuke.stapler.StaplerRequest req, org.kohsuke.stapler.StaplerResponse rsp)
          Invoke this method when the URL(/manualExecution/) is called
 BuildPipelineForm getBuildPipelineForm()
          Returns BuildPipelineForm containing the build pipeline to display.
 java.lang.String getBuildViewTitle()
           
 java.util.List<hudson.model.AbstractProject<?,?>> getDownstreamProjects(hudson.model.AbstractProject<?,?> currentProject)
          Get a List of downstream projects.
 java.util.Collection<hudson.model.TopLevelItem> getItems()
           
 java.lang.String getNoOfDisplayedBuilds()
           
 java.lang.String getProjectURL(hudson.model.AbstractProject<?,?> project)
          Retrieves the project URL
 java.lang.String getSelectedJob()
           
 hudson.model.AbstractProject<?,?> getSelectedProject()
          Gets the selected project
 java.lang.String getTriggerOnlyLatestJob()
           
 boolean hasBuildPermission(hudson.model.AbstractProject<?,?> currentProject)
          Checks whether the user has Build permission for the current project.
 boolean hasConfigurePermission()
          Checks whether the user has Configure permission for the current project.
 boolean hasDownstreamProjects(hudson.model.AbstractProject<?,?> currentProject)
          Determines if the current project has any downstream projects
 boolean hasSelectedProject()
          Tests if the selected project exists.
 boolean isTriggerOnlyLatestJob()
           
 void onJobRenamed(hudson.model.Item item, java.lang.String oldName, java.lang.String newName)
          If a project name is changed we check if the selected job for this view also needs to be changed.
 void setBuildViewTitle(java.lang.String buildViewTitle)
           
 void setNoOfDisplayedBuilds(java.lang.String noOfDisplayedBuilds)
           
 void setSelectedJob(java.lang.String selectedJob)
           
 void setTriggerOnlyLatestJob(boolean triggerOnlyLatestJob)
           
protected  void submit(org.kohsuke.stapler.StaplerRequest req)
          Handles the configuration submission
 
Methods inherited from class hudson.model.View
all, checkPermission, create, doConfigSubmit, doDoDelete, doRssAll, doRssFailed, doRssLatest, doSubmitDescription, getAbsoluteUrl, getACL, getActions, getApi, getBuilds, getComputers, getDescription, getDescriptor, getDisplayName, getDynamic, getItem, getItemCreatePermission, getJob, getOwner, getPeople, getPostConstructLandingPage, getQueueItems, getSearchUrl, getTimeline, getUrl, getViewName, getViewUrl, getWidgets, hasPeople, hasPermission, isDefault, isEditable, isFilterExecutors, isFilterQueue, makeSearchIndex, rename
 
Methods inherited from class hudson.model.AbstractModelObject
getSearch, getSearchIndex, getSearchName, requirePOST, sendError, sendError, sendError, sendError, sendError
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BuildPipelineView

@DataBoundConstructor
public BuildPipelineView(java.lang.String name,
                                              java.lang.String buildViewTitle,
                                              java.lang.String selectedJob,
                                              java.lang.String noOfDisplayedBuilds,
                                              boolean triggerOnlyLatestJob)
Parameters:
name - the name of the pipeline build view.
buildViewTitle - the build view title.
selectedJob - the first job in the build pipeline.
noOfDisplayedBuilds - a count of the number of builds displayed on the view
triggerOnlyLatestJob - Indicates whether only the latest job will be triggered.
Method Detail

submit

protected void submit(org.kohsuke.stapler.StaplerRequest req)
               throws java.io.IOException,
                      javax.servlet.ServletException,
                      hudson.model.Descriptor.FormException
Handles the configuration submission

Specified by:
submit in class hudson.model.View
Parameters:
req - Stapler Request
Throws:
hudson.model.Descriptor.FormException - Form Exception
java.io.IOException - IO Exception
javax.servlet.ServletException - Servlet Exception

getSelectedProject

public hudson.model.AbstractProject<?,?> getSelectedProject()
Gets the selected project

Returns:
- The selected project in the current view

hasSelectedProject

public boolean hasSelectedProject()
Tests if the selected project exists.

Returns:
- true: Selected project exists; false: Selected project does not exist.

hasBuildPermission

public boolean hasBuildPermission(hudson.model.AbstractProject<?,?> currentProject)
Checks whether the user has Build permission for the current project.

Parameters:
currentProject - - The project being viewed.
Returns:
- true: Has Build permission; false: Does not have Build permission
See Also:
Item

hasConfigurePermission

public boolean hasConfigurePermission()
Checks whether the user has Configure permission for the current project.

Returns:
- true: Has Configure permission; false: Does not have Configure permission

getDownstreamProjects

public java.util.List<hudson.model.AbstractProject<?,?>> getDownstreamProjects(hudson.model.AbstractProject<?,?> currentProject)
Get a List of downstream projects.

Parameters:
currentProject - - The project from which we want the downstream projects
Returns:
- A List of downstream projects

hasDownstreamProjects

public boolean hasDownstreamProjects(hudson.model.AbstractProject<?,?> currentProject)
Determines if the current project has any downstream projects

Parameters:
currentProject - - The project from which we are testing.
Returns:
- true; has downstream projects; false: does not have downstream projects

getBuildPipelineForm

public BuildPipelineForm getBuildPipelineForm()
                                       throws java.net.URISyntaxException
Returns BuildPipelineForm containing the build pipeline to display.

Returns:
- Representation of the projects and their related builds making up the build pipeline view
Throws:
java.net.URISyntaxException - URISyntaxException

getProjectURL

public java.lang.String getProjectURL(hudson.model.AbstractProject<?,?> project)
                               throws java.net.URISyntaxException
Retrieves the project URL

Parameters:
project - - The project
Returns:
URL - of the project
Throws:
java.net.URISyntaxException
java.net.URISyntaxException - URISyntaxException
See Also:
ProjectUtil#getProjectURL(AbstractProject)}

doManualExecution

public void doManualExecution(org.kohsuke.stapler.StaplerRequest req,
                              org.kohsuke.stapler.StaplerResponse rsp)
Invoke this method when the URL(/manualExecution/) is called

Parameters:
req - - Stapler Request
rsp - - Stapler Response

getBuildViewTitle

public java.lang.String getBuildViewTitle()

setBuildViewTitle

public void setBuildViewTitle(java.lang.String buildViewTitle)

getNoOfDisplayedBuilds

public java.lang.String getNoOfDisplayedBuilds()

setNoOfDisplayedBuilds

public void setNoOfDisplayedBuilds(java.lang.String noOfDisplayedBuilds)

getSelectedJob

public java.lang.String getSelectedJob()

setSelectedJob

public void setSelectedJob(java.lang.String selectedJob)

isTriggerOnlyLatestJob

public boolean isTriggerOnlyLatestJob()

getTriggerOnlyLatestJob

public java.lang.String getTriggerOnlyLatestJob()

setTriggerOnlyLatestJob

public void setTriggerOnlyLatestJob(boolean triggerOnlyLatestJob)

getItems

public java.util.Collection<hudson.model.TopLevelItem> getItems()
Specified by:
getItems in class hudson.model.View

contains

public boolean contains(hudson.model.TopLevelItem item)
Specified by:
contains in class hudson.model.View

onJobRenamed

public void onJobRenamed(hudson.model.Item item,
                         java.lang.String oldName,
                         java.lang.String newName)
If a project name is changed we check if the selected job for this view also needs to be changed.

Specified by:
onJobRenamed in class hudson.model.View
Parameters:
item - - The Item that has been renamed
oldName - - The old name of the Item
newName - - The new name of the Item

doCreateItem

public hudson.model.Item doCreateItem(org.kohsuke.stapler.StaplerRequest req,
                                      org.kohsuke.stapler.StaplerResponse rsp)
                               throws java.io.IOException,
                                      javax.servlet.ServletException
Specified by:
doCreateItem in class hudson.model.View
Throws:
java.io.IOException
javax.servlet.ServletException


Copyright © 2011. All Rights Reserved.