com.ibm.team.fvt.tests.clm.pages.rm
Class RmWebArtifactsPage

java.lang.Object
  extended by com.ibm.team.fvt.tests.web.WebPage
      extended by com.ibm.team.fvt.tests.clm.pages.ClmWebPage
          extended by com.ibm.team.fvt.tests.clm.pages.rm.RmWebPage
              extended by com.ibm.team.fvt.tests.clm.pages.rm.RmWebProjectAreaPage
                  extended by com.ibm.team.fvt.tests.clm.pages.rm.RmWebListPage
                      extended by com.ibm.team.fvt.tests.clm.pages.rm.RmWebArtifactsPage
All Implemented Interfaces:
ClmWebPageConstants

public class RmWebArtifactsPage
extends RmWebListPage

Manage the Artifacts RM web page.

The page address is something like: https://server:port/rm/web#action=com.ibm.rdm.web.pages.showProjectDashboard&projectURI=projectURI.

Following actions are accessible in this page:

Following functionalities are also defined or specialized by this page:


Field Summary
 
Fields inherited from class com.ibm.team.fvt.tests.clm.pages.rm.RmWebListPage
PAST_WEEK, TODAY, YESTERDAY
 
Fields inherited from class com.ibm.team.fvt.tests.web.WebPage
NO_DATA
 
Fields inherited from interface com.ibm.team.fvt.tests.clm.pages.ClmWebPageConstants
ADMINISTRATION_HOME_MENU_GROUP, JAZZ_TEAM_SERVER_HOME_MENU_ITEM, LIFECYCLE_PROJECT_ADMIN_MENU_ITEM, USER_NOT_AUTHORIZED_MESSAGE_ID, USER_NOT_AUTHORIZED_MESSAGE_LOCATOR
 
Constructor Summary
RmWebArtifactsPage(java.lang.String url, ClmConfig config, com.ibm.team.fvt.tests.config.User user)
           
 
Method Summary
 void applyAttributeFilter(RmAttributeFilterCriteria criteria)
          Apply the given criteria to the attribute filter
 void applyTagFilter(java.lang.String searchText, java.lang.String operator, java.lang.String... tags)
          Apply the given tags to filter the artifacts to display.
 void applyViewFilter(java.lang.String view)
          Apply the given view filter
 void clearAllFilters()
          Clears all the filters.
 void copyArtifact(java.lang.String artifact, java.lang.String newName, java.lang.String destinationFolder)
          Copies the specified artifact to the specified name to the destination folder by selecting the 'Copy Artifact" menu option from the popup-menu.
 void createArtifact(java.lang.String artifact, java.lang.String type, java.lang.String format)
          Creates an artifact by pressing the "Create Artifact" button.
 void createArtifact(java.lang.String artifact, java.lang.String type, java.lang.String format, java.lang.String folderFilter)
          Creates an artifact by pressing the "Create Artifact" button.
 void createCollection(java.lang.String collection)
          Create the given requirement by clicking on the 'Create Collection' item of the 'Collections' navigation bar menu.
 void createCollection(java.lang.String collection, java.lang.String folderFilter)
          Create the given requirement by clicking on the 'Create Collection' item of the 'Collections' navigation bar menu.
 void createFolder(java.lang.String parentFolderPath, java.lang.String folder)
          Creates the given folder as a child of the parent folder by selecting the 'New Folder' menu option from the pop up menu in the 'Filter by Folder' section.
 void createModule(java.lang.String module)
          Create the given requirement by clicking on the 'Create Module' item of the 'Modules' navigation bar menu.
 void createModule(java.lang.String module, java.lang.String folderFilter)
          Create the given requirement by clicking on the 'Create Module' item of the 'Module' navigation bar menu.
 void createRequirement(java.lang.String requirement)
          Create the given requirement by clicking on the 'Create Artifact' button.
 RmWebReviewPage createReview(java.lang.String artifact, java.lang.String reviewName, java.lang.String reviewDescription, boolean isFormal)
          Creates a review with the selected artifact in it.
 void createTag(java.lang.String tag, java.lang.String description, boolean isSharedType)
          Creates a tag by clicking the 'Add New Tag' icon in the 'Filter by Tag' section that appears on the left side bar in the Artifacts page, the Collections page, the Show Collection page, and the Modules page.
 void deleteArtifact(java.lang.String artifact)
          Deletes the specified artifact by selecting the 'Delete Artifact' menu option from the popup-menu.
 void deleteFolder(java.lang.String folderPath)
          Delete the given folder by selecting the 'Delete' menu option from the pop up menu in the 'Filter by Folder' section.
 void deleteTag(java.lang.String tag)
          Deletes the given tag by selecting the 'Delete' menu option from the popup-menu.
 boolean doesTagExist(java.lang.String tag)
          Check whether the given tag exists or not.
 void editTag(java.lang.String tag, java.lang.String newName, java.lang.String newDescription)
          Edit the tag with the given information.
 com.ibm.team.fvt.tests.web.WebBrowserElement getRecentArtifactElement(java.lang.String tabName, java.lang.String artifactName)
          Returns the link element found for the given artifact in the given tab of the 'Recent Artifacts' section.
 int getRecentArtifactsNumber(java.lang.String tabName)
          Get the number of the "Recent Artifacts"
 com.ibm.team.fvt.tests.web.WebBrowserElement getRecentCommentElement(java.lang.String tabName, java.lang.String commentSubject)
          Returns the 'div' element found for the given comment in the given tab of the 'Recent Comments' section.
 int getRecentCommentsNumber(java.lang.String tabName)
          Get the number of the "Recent Comments"
 boolean isArtifactRowLocked(java.lang.String artifact)
          Check if the given artifact is currently locked.
 void moveArtifact(java.lang.String artifact, java.lang.String destinationFolder)
          Moves the specified artifact to the destination folder by selecting the 'Move Artifact" menu option from the popup-menu.
 void moveFolder(java.lang.String folderPath, java.lang.String destinationFolderPath)
          Moves the specified folder to the destination folder by selecting the 'Move" menu option from the pop up menu in the 'Filter by Folder' section.
 void renameFolder(java.lang.String folderPath, java.lang.String newName)
          Rename the given folder by selecting the 'Rename' menu option from the pop up menu in the 'Filter by Folder' section.
 void saveView(java.lang.String view, java.lang.String description)
          Saves the current filter as a view by clicking the 'Save View' icon button.
 void selectAttributeFilterLimitByLifecycleStatus(java.lang.String kind, java.lang.String status)
          Select the 'Limit by lifecycle status' filter for the given kind of resource with the given status.
 RmWebFolderElement selectFolder(java.lang.String folderPath)
          Select the given folder in the 'Filter by Folder' filter.
 RmWebFolderElement selectProjectFilter()
          Select the current project in 'Filter by Folder' filter.
 void selectTagsForArtifact(java.lang.String artifact, java.lang.String... tags)
          Selects the list of existing tags to add to the given artifact by clicking the 'Select Tags for Artifact' menu option from the popup-menu.
 void setPageSize(java.lang.String pageSize)
          Sets the page size, that is, the number of artifacts to display on a page.
 
Methods inherited from class com.ibm.team.fvt.tests.clm.pages.rm.RmWebListPage
addColumns, checkResourceLinkElements, checkResourceLinkElements, clickOnCollection, clickOnModule, clickOnRequirement, editArtifactColumn, exists, exists, getArtifactsDisplayedCount, getArtifactsTotalCount, getResourceID, lockArtifact, refreshList, unlockArtifact
 
Methods inherited from class com.ibm.team.fvt.tests.clm.pages.rm.RmWebProjectAreaPage
getProjectAreaName, getProjectAreaTitle, gotoArtifactsPage, gotoCollectionPage, gotoCollectionsPage, gotoModulePage, gotoModulesPage, gotoRequirementPage, searchForArtifact
 
Methods inherited from class com.ibm.team.fvt.tests.clm.pages.rm.RmWebPage
getAdminUIPopupMenu, getAllProjectAreasPage, getHelpPopupMenu, getSidebarSectionItemsCount, getUserPopupMenu
 
Methods inherited from class com.ibm.team.fvt.tests.clm.pages.ClmWebPage
checkRichHover, clickHomeMenuItem, getBannerTitle, getCcmApplication, getConfig, getDmApplication, getJtsApplication, getLpaApplication, getMiniDashboard, getQmApplication, getRmApplication, getTitle, getUser, gotoCcmProjectPage, gotoCcmProjectPage, gotoDmProjectPage, gotoDmProjectPage, gotoJtsAdminHomePage, gotoLpaAllProjectsPage, gotoQmProjectPage, gotoQmProjectPage, gotoRmProjectPage, gotoRmProjectPage, logout, openAdminUIMenu, openHelpMenu, openHomeMenu, openMenu, openMenu, openToolbarMenu, openUserProfileMenu, refresh, save, waitWhileBusy
 
Methods inherited from class com.ibm.team.fvt.tests.web.WebPage
changeUser, checkHoverTitle, checkRichHover, get, getBrowser, getLocation, getPage, getPage, getPageUsingBrowser, goBack, openPage, openPage, openPageUsingBrowser, openPageUsingHoverTitle, openPageUsingLink, openPageUsingLink, openPageUsingLink, openPageUsingLink, openPageUsingLink, openPageUsingLink, richHoverOverLink, toString
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

RmWebArtifactsPage

public RmWebArtifactsPage(java.lang.String url,
                          ClmConfig config,
                          com.ibm.team.fvt.tests.config.User user)
Method Detail

applyAttributeFilter

public void applyAttributeFilter(RmAttributeFilterCriteria criteria)
Description copied from class: RmWebListPage
Apply the given criteria to the attribute filter

Parameters:
criteria - The criteria to set

applyTagFilter

public void applyTagFilter(java.lang.String searchText,
                           java.lang.String operator,
                           java.lang.String... tags)
Description copied from class: RmWebListPage
Apply the given tags to filter the artifacts to display.

Parameters:
searchText - The search text used to narrow down the list of tags to select, can be null.
operator - The operator used in applying the given tags, can be null. Valid values are: "is any of", "is all of", "is not any of", "is not all of"
tags - List of Strings representing the tags to apply as a filter.

applyViewFilter

public void applyViewFilter(java.lang.String view)
Description copied from class: RmWebListPage
Apply the given view filter

Parameters:
view - The view to apply

clearAllFilters

public void clearAllFilters()
Description copied from class: RmWebListPage
Clears all the filters.

Overrides:
clearAllFilters in class RmWebListPage

copyArtifact

public void copyArtifact(java.lang.String artifact,
                         java.lang.String newName,
                         java.lang.String destinationFolder)
Copies the specified artifact to the specified name to the destination folder by selecting the 'Copy Artifact" menu option from the popup-menu.

Parameters:
artifact - The artifact to copy, identified by its name
newName - The new name of the copied artifact, can be null. If no value is specified, the newName field is populated with a default value.
destinationFolder - The name of the folder to which to copy the artifact. If no value is specified, then artifact will be copied to the same folder.

createArtifact

public void createArtifact(java.lang.String artifact,
                           java.lang.String type,
                           java.lang.String format)
Creates an artifact by pressing the "Create Artifact" button. This method can be used to create any type and any format of artifact.

Note that the artifact will be created in the project folder.

Parameters:
artifact - The artifact name in the form of a String.
type - The artifact type in the form of a String.
format - The artifact format in the form of a String.

createArtifact

public void createArtifact(java.lang.String artifact,
                           java.lang.String type,
                           java.lang.String format,
                           java.lang.String folderFilter)
Creates an artifact by pressing the "Create Artifact" button. This method can be used to create any type and any format of artifact.

Parameters:
artifact - The artifact name in the form of a String.
type - The artifact type in the form of a String.
format - The artifact format in the form of a String.
folderFilter - The project folder to select in the* 'Filter by Folder' view first before creating the artifact. If null the artifact will be created in the folder that is currently set, otherwise, it will be created in given the project folder.

createCollection

public void createCollection(java.lang.String collection)
Create the given requirement by clicking on the 'Create Collection' item of the 'Collections' navigation bar menu.

Note that a collection can also be created from this page by using the 'Create Artifact' button and change the artifact type and format...

Also note that the collection will be created in the project folder.

If an issue occurs while getting table row elements, Workaround it by retrying several times to found them. If this is not enough then retry a last time after having refreshed the web page content.

TODO See how this method could be pulled-up to RmWebPage

Parameters:
collection - The collection name to create

createCollection

public void createCollection(java.lang.String collection,
                             java.lang.String folderFilter)
Create the given requirement by clicking on the 'Create Collection' item of the 'Collections' navigation bar menu.

Note that a collection can also be created from this page by using the 'Create Artifact' button and change the artifact type and format...

Also note that the collection will be created in the project folder.

If an issue occurs while getting table row elements, Workaround it by retrying several times to found them. If this is not enough then retry a last time after having refreshed the web page content.

TODO See how this method could be pulled-up to RmWebPage

Parameters:
collection - The collection name to create
folderFilter - The project folder to select in the* 'Filter by Folder' view first before creating the collection. If null the collection will be created in the folder that is currently set, otherwise, it will be created in the given project folder.

createFolder

public void createFolder(java.lang.String parentFolderPath,
                         java.lang.String folder)
Creates the given folder as a child of the parent folder by selecting the 'New Folder' menu option from the pop up menu in the 'Filter by Folder' section.

Parameters:
parentFolderPath - The full path to the parent folder. Must not be null.
folder - The name of the folder to create. Must not be null.

createModule

public void createModule(java.lang.String module)
Create the given requirement by clicking on the 'Create Module' item of the 'Modules' navigation bar menu.

Note that a module can also be created from this page by using the 'Create Artifact' button and change the artifact type and format...

Also note that the module will be created in the project folder.

If an issue occurs while getting table row elements, Workaround it by retrying several times to found them. If this is not enough then retry a last time after having refreshed the web page content.

TODO See how this method could be pulled-up to RmWebPage

Parameters:
module - The Module name to create

createModule

public void createModule(java.lang.String module,
                         java.lang.String folderFilter)
Create the given requirement by clicking on the 'Create Module' item of the 'Module' navigation bar menu.

Note that a module can also be created from this page by using the 'Create Artifact' button and change the artifact type and format...

Also note that the module will be created in the project folder.

If an issue occurs while getting table row elements, Workaround it by retrying several times to found them. If this is not enough then retry a last time after having refreshed the web page content.

TODO See how this method could be pulled-up to RmWebPage

Parameters:
module - The module name to create
folderFilter - The project folder to select in the* 'Filter by Folder' view first before creating the module. If null the module will be created in the folder that is currently set, otherwise, it will be created in the given project folder.

createRequirement

public void createRequirement(java.lang.String requirement)
Create the given requirement by clicking on the 'Create Artifact' button.

Do nothing if the requirement is already in the artifacts list.

Parameters:
requirement - The requirement name to create

createReview

public RmWebReviewPage createReview(java.lang.String artifact,
                                    java.lang.String reviewName,
                                    java.lang.String reviewDescription,
                                    boolean isFormal)
Creates a review with the selected artifact in it.

Parameters:
artifact - The artifact to create within the review
reviewName - The name for the new review.
reviewDescription - The description for the new review.
isFormal - True if this is a formal review (using particular versions/baselines) rather than informal (using live docs).

createTag

public void createTag(java.lang.String tag,
                      java.lang.String description,
                      boolean isSharedType)
Description copied from class: RmWebListPage
Creates a tag by clicking the 'Add New Tag' icon in the 'Filter by Tag' section that appears on the left side bar in the Artifacts page, the Collections page, the Show Collection page, and the Modules page.

Parameters:
tag - The name of the new tag
description - The description of the tag
isSharedType - Boolean indicating whether or not the tag should be shared or not (ie. personal).

deleteArtifact

public void deleteArtifact(java.lang.String artifact)
Description copied from class: RmWebListPage
Deletes the specified artifact by selecting the 'Delete Artifact' menu option from the popup-menu.

Parameters:
artifact - The artifact to delete, identified by its name.

deleteFolder

public void deleteFolder(java.lang.String folderPath)
Delete the given folder by selecting the 'Delete' menu option from the pop up menu in the 'Filter by Folder' section.

Parameters:
folderPath - The full path to the folder. Must not be null.

deleteTag

public void deleteTag(java.lang.String tag)
Description copied from class: RmWebListPage
Deletes the given tag by selecting the 'Delete' menu option from the popup-menu.

Parameters:
tag - The tag to delete.

doesTagExist

public boolean doesTagExist(java.lang.String tag)
Description copied from class: RmWebListPage
Check whether the given tag exists or not.

Parameters:
tag - The tag to chec
Returns:
true if the tag exists, false otherwise

editTag

public void editTag(java.lang.String tag,
                    java.lang.String newName,
                    java.lang.String newDescription)
Description copied from class: RmWebListPage
Edit the tag with the given information.

Parameters:
tag - The tag to edit.
newName - The new name of the tag
newDescription - The new description of the tag

getRecentArtifactElement

public com.ibm.team.fvt.tests.web.WebBrowserElement getRecentArtifactElement(java.lang.String tabName,
                                                                             java.lang.String artifactName)
Returns the link element found for the given artifact in the given tab of the 'Recent Artifacts' section.

Parameters:
tabName - The tab section where to find for the artifact links. Usual tabs can be "Today", "Yesterday" and "Past Week".
artifactName - The name of the artifact
Returns:
The found artifact link element as a WebBrowserElement or null if the artifact was not found.

getRecentArtifactsNumber

public int getRecentArtifactsNumber(java.lang.String tabName)
Get the number of the "Recent Artifacts"

Parameters:
tabName - The name of the tab. It could be: "Today", "Yesterday" or "Past Week".
Returns:
The number of recent artifacts displayed in the tab header.

getRecentCommentElement

public com.ibm.team.fvt.tests.web.WebBrowserElement getRecentCommentElement(java.lang.String tabName,
                                                                            java.lang.String commentSubject)
Returns the 'div' element found for the given comment in the given tab of the 'Recent Comments' section.

Parameters:
tabName - The tab section where to find for the comment links. Usual tabs can be "Today", "Yesterday" and "Past Week".
commentSubject - The subject of the comment to search for
Returns:
The found comment link element as a WebBrowserElement or null if the comment was not found.

getRecentCommentsNumber

public int getRecentCommentsNumber(java.lang.String tabName)
Get the number of the "Recent Comments"

Parameters:
tabName - The name of the tab. It could be: "Today", "Yesterday" or "Past Week".
Returns:
The number of recent comments displayed in the tab header.

isArtifactRowLocked

public boolean isArtifactRowLocked(java.lang.String artifact)
Check if the given artifact is currently locked.

Parameters:
artifact - The artifact name to check
Returns:
true if artifact is locked, false if artifact is not locked

moveArtifact

public void moveArtifact(java.lang.String artifact,
                         java.lang.String destinationFolder)
Moves the specified artifact to the destination folder by selecting the 'Move Artifact" menu option from the popup-menu.

Parameters:
artifact - The artifact to move, identified by its name
destinationFolder - The name of the folder to which to move the artifact.

moveFolder

public void moveFolder(java.lang.String folderPath,
                       java.lang.String destinationFolderPath)
Moves the specified folder to the destination folder by selecting the 'Move" menu option from the pop up menu in the 'Filter by Folder' section.

Parameters:
folderPath - The folder to move. It's full path must be specified.
destinationFolderPath - The fully-qualified folder path to which to move the folder. Sub-folders in the folder path are delimited by the '/' character.

renameFolder

public void renameFolder(java.lang.String folderPath,
                         java.lang.String newName)
Rename the given folder by selecting the 'Rename' menu option from the pop up menu in the 'Filter by Folder' section.

Parameters:
folderPath - The full path to the folder to rename. Must not be null.
newName - The new name of the folder. Must not be null.

saveView

public void saveView(java.lang.String view,
                     java.lang.String description)
Description copied from class: RmWebListPage
Saves the current filter as a view by clicking the 'Save View' icon button.

Parameters:
view - The name of the view
description - The description of the view

selectAttributeFilterLimitByLifecycleStatus

public void selectAttributeFilterLimitByLifecycleStatus(java.lang.String kind,
                                                        java.lang.String status)
Description copied from class: RmWebListPage
Select the 'Limit by lifecycle status' filter for the given kind of resource with the given status.

A few possible kinds of resource are valid and with specific status. Here all accepted kind with their corresponding possible status:

Parameters:
kind - The kind of resource to select.
status - The resource status to select.

selectFolder

public RmWebFolderElement selectFolder(java.lang.String folderPath)
Description copied from class: RmWebListPage
Select the given folder in the 'Filter by Folder' filter. The full folder path must be specified to access the sub-folders.

For example, "JKE Banking/JKE Enterprise Project/Business Goals" accesses the Business Goals sub-folder. To access the top folder or project folder just enter the folder name, ex. "JKE Banking".

Parameters:
folderPath - The fully-qualified folder path whose sub-folders are delimited by the '/' character.
Returns:
The selected folder in the filter as a RmWebFolderElement

selectProjectFilter

public RmWebFolderElement selectProjectFilter()
Description copied from class: RmWebListPage
Select the current project in 'Filter by Folder' filter.

Returns:
The selected element in the filter as a WebBrowserElement

selectTagsForArtifact

public void selectTagsForArtifact(java.lang.String artifact,
                                  java.lang.String... tags)
Description copied from class: RmWebListPage
Selects the list of existing tags to add to the given artifact by clicking the 'Select Tags for Artifact' menu option from the popup-menu.

Parameters:
artifact - The artifact to add the tags.
tags - The list of String objects representing the tags to apply to the artifact.

setPageSize

public void setPageSize(java.lang.String pageSize)
Description copied from class: RmWebListPage
Sets the page size, that is, the number of artifacts to display on a page.

Parameters:
pageSize - number of artifacts to display on a page (required)