Package hudson.plugins.jobConfigHistory
Class JobConfigHistoryProjectAction
java.lang.Object
hudson.plugins.jobConfigHistory.JobConfigHistoryBaseAction
hudson.plugins.jobConfigHistory.JobConfigHistoryProjectAction
- All Implemented Interfaces:
Action,ModelObject
@ExportedBean(defaultVisibility=-1)
public class JobConfigHistoryProjectAction
extends JobConfigHistoryBaseAction
- Author:
- Stefan Brausch
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidSee whether the current user may read configurations in the object returned byJobConfigHistoryBaseAction.getAccessControlledObject().protected voidcheckXmlSyntax(String timestamp) final voiddoDeleteRevision(org.kohsuke.stapler.StaplerRequest2 req, org.kohsuke.stapler.StaplerResponse2 rsp) final voiddoRestore(org.kohsuke.stapler.StaplerRequest2 req, org.kohsuke.stapler.StaplerResponse2 rsp) Action when 'restore' button is pressed: Replace current config file by older version.Returns the object for which we want to provide access control.getApi()final StringgetChangeReasonComment(int timestamp) final StringgetFile()ReturnsgetOldConfigXml(String)as String.protected HistoryDaoFor tests.final Stringfinal List<ConfigInfo>Returns the configuration history entries for oneAbstractItem.final List<ConfigInfo>getJobConfigs(int from, int to) Calculates a list containing the .subList(from, to) of the newest-first list of job config revision entries.final List<ConfigInfo>Returns the configuration history entries for oneAbstractItemfor the REST API.intfinal List<SideBySideView.Line>getLines(boolean hideVersionDiffs) Takes the two timestamp request parameters and returns the diff between the corresponding config files of this project as a list of single lines.final StringgetNextTimestamp(int timestampNumber) Used in the Difference jelly only.final StringgetOperation(int timestampNumber) Used in the Difference jelly only.final StringgetPrevTimestamp(int timestampNumber) Used in the Difference jelly only.final AbstractItemReturns the project for which we want to see the config history, the config files or the diff.intfinal StringgetTimestamp(int timestampNumber) Used in the Difference jelly only.final StringgetUser(int timestampNumber) Used in the Difference jelly only.final StringgetUserID(int timestamp) booleanfinal booleanhasChangeReasonComment(int timestamp) booleanReturns whether the current user may read configurations in the object returned byJobConfigHistoryBaseAction.getAccessControlledObject().booleanbooleanbooleanrevisionEqualsCurrent(String timestamp) Methods inherited from class hudson.plugins.jobConfigHistory.JobConfigHistoryBaseAction
checkTimestamp, doDiffFiles, doDiffFilesPrevNext, getCurrentRequest, getDiffAsString, getDiffAsString, getDiffLines, getDisplayName, getLines, getLines, getMaxEntriesPerPage, getMaxPageNum, getOutputType, getPlugin, getRelevantPageNums, getRelevantPageNums, getRequestParameter, getShowVersionDiffs, getUrlName
-
Constructor Details
-
JobConfigHistoryProjectAction
- Parameters:
project- for which configurations should be returned.
-
-
Method Details
-
getIconFileName
Make method final, as we always want the same icon file. Returns null to hide the icon if the user is not allowed to configure jobs.
-
getJobConfigs
Returns the configuration history entries for oneAbstractItem.- Returns:
- history list for one
AbstractItem.
-
getJobConfigs
Calculates a list containing the .subList(from, to) of the newest-first list of job config revision entries. Does not read the history.xmls unless it is inevitable.- Parameters:
from- the first revision to displayto- the first revision not to display anymore- Returns:
- a list equivalent to getJobConfigs().subList(from, to), but more efficiently calculated.
-
getRevisionAmount
public int getRevisionAmount()- Specified by:
getRevisionAmountin classJobConfigHistoryBaseAction- Returns:
- the amount of revisions existing for the given request (not page-dependant).
-
getJobConfigsREST
@Exported(name="jobConfigHistory", visibility=1) public final List<ConfigInfo> getJobConfigsREST() throws IOExceptionReturns the configuration history entries for oneAbstractItemfor the REST API.- Returns:
- history list for one
AbstractItem, or an empty list if not authorized. - Throws:
IOException- ifJobConfigHistoryConsts.HISTORY_FILEmight not be read or the path might not be urlencoded.
-
getFile
ReturnsgetOldConfigXml(String)as String.- Returns:
- content of the config.xml found in directory given by the request parameter file.
- Throws:
IOException- if the config file could not be read or converted to an xml string.
-
getProject
Returns the project for which we want to see the config history, the config files or the diff.- Returns:
- project
-
getAccessControlledObject
Returns the object for which we want to provide access control. Returns the project.- Specified by:
getAccessControlledObjectin classJobConfigHistoryBaseAction- Returns:
- the access controlled object.
-
checkConfigurePermission
public void checkConfigurePermission()Description copied from class:JobConfigHistoryBaseActionSee whether the current user may read configurations in the object returned byJobConfigHistoryBaseAction.getAccessControlledObject().- Specified by:
checkConfigurePermissionin classJobConfigHistoryBaseAction
-
checkDeleteEntryPermission
protected void checkDeleteEntryPermission()- Specified by:
checkDeleteEntryPermissionin classJobConfigHistoryBaseAction
-
hasAdminPermission
public boolean hasAdminPermission()- Specified by:
hasAdminPermissionin classJobConfigHistoryBaseAction
-
hasDeleteEntryPermission
public boolean hasDeleteEntryPermission()- Specified by:
hasDeleteEntryPermissionin classJobConfigHistoryBaseAction
-
hasConfigurePermission
public boolean hasConfigurePermission()Description copied from class:JobConfigHistoryBaseActionReturns whether the current user may read configurations in the object returned byJobConfigHistoryBaseAction.getAccessControlledObject().- Specified by:
hasConfigurePermissionin classJobConfigHistoryBaseAction- Returns:
- true if the current user may read configurations.
-
hasReadExtensionPermission
public boolean hasReadExtensionPermission() -
getTimestamp
Used in the Difference jelly only. Returns one of the two timestamps that have been passed to the Difference page as parameter. timestampNumber must be 1 or 2.- Parameters:
timestampNumber- 1 for timestamp1 and 2 for timestamp2- Returns:
- the timestamp as String.
-
getUser
Used in the Difference jelly only. Returns the user that made the change in one of the Files shown in the Difference view(A or B). timestampNumber decides between File A and File B.- Parameters:
timestampNumber- 1 for File A and 2 for File B- Returns:
- the user as String.
-
getUserID
-
getChangeReasonComment
-
hasChangeReasonComment
public final boolean hasChangeReasonComment(int timestamp) -
getOperation
Used in the Difference jelly only. Returns the operation made on one of the two Files A and B. timestampNumber decides which file exactly.- Parameters:
timestampNumber- 1 for File A, 2 for File B- Returns:
- the operation as String.
-
getNextTimestamp
Used in the Difference jelly only. Returns the next timestamp of the next entry of the two Files A and B. timestampNumber decides which file exactly.- Parameters:
timestampNumber- 1 for File A, 2 for File B- Returns:
- the timestamp of the next entry as String.
-
getPrevTimestamp
Used in the Difference jelly only. Returns the previous timestamp of the next entry of the two Files A and B. timestampNumber decides which file exactly.- Parameters:
timestampNumber- 1 for File A, 2 for File B- Returns:
- the timestamp of the previous entry as String.
-
getLines
Takes the two timestamp request parameters and returns the diff between the corresponding config files of this project as a list of single lines. Filters lines that match the ignoredLinesPattern if wanted.- Specified by:
getLinesin classJobConfigHistoryBaseAction- Parameters:
hideVersionDiffs- determines whether version diffs shall be shown or not.- Returns:
- Differences between two config versions as list of lines.
- Throws:
IOException- If diff doesn't work or xml files can't be read.
-
checkXmlSyntax
-
doRestore
@POST public final void doRestore(org.kohsuke.stapler.StaplerRequest2 req, org.kohsuke.stapler.StaplerResponse2 rsp) throws IOException Action when 'restore' button is pressed: Replace current config file by older version.- Parameters:
req- Incoming StaplerRequest2rsp- Outgoing StaplerResponse2- Throws:
IOException- If something goes wrong
-
doDeleteRevision
@POST public final void doDeleteRevision(org.kohsuke.stapler.StaplerRequest2 req, org.kohsuke.stapler.StaplerResponse2 rsp) -
revisionEqualsCurrent
-
getHistoryDao
For tests.- Overrides:
getHistoryDaoin classJobConfigHistoryBaseAction- Returns:
- historyDao
-
getApi
-
getLeadingWhitespace
-