Class FolderTreeTransform
- java.lang.Object
-
- com.microstrategy.web.transform.AbstractTransform
-
- com.microstrategy.web.transform.AbstractLayoutTransform
-
- com.microstrategy.web.app.transforms.AbstractAppTransform
-
- com.microstrategy.web.app.transforms.AbstractObjectInfoListTransform
-
- com.microstrategy.web.app.transforms.AbstractFolderTransform
-
- com.microstrategy.web.app.transforms.FolderViewTransform
-
- com.microstrategy.web.app.transforms.FolderTreeTransform
-
- All Implemented Interfaces:
AppTransform
,LayoutTransform
,Transform
- Direct Known Subclasses:
FolderFrameTreeTransform
public class FolderTreeTransform extends FolderViewTransform
Generic Transform class that can be used to render a folder bean as a tree.- Since:
- MicroStrategy Web 9.0.0
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.microstrategy.web.app.transforms.FolderViewTransform
FolderViewTransform.ClientEvent
-
Nested classes/interfaces inherited from class com.microstrategy.web.app.transforms.AbstractFolderTransform
AbstractFolderTransform.Context
-
-
Field Summary
Fields Modifier and Type Field Description protected FormalParameter
anchorTargetForNonFolderBrowseEvents
protected static java.lang.String
DUMMY_BEAN_NAME
protected TreeView
tree
-
Fields inherited from class com.microstrategy.web.app.transforms.FolderViewTransform
_itemsList, CM_FLAG_ALL, CM_FLAG_COPY, CM_FLAG_CREATE_SHORTCUT, CM_FLAG_DELETE, CM_FLAG_MOVE, CM_FLAG_PROPERTIES, CM_FLAG_RENAME, contextMenuFlags, FP_CONTEXT_MENU_FLAGS, id, renderLinks
-
Fields inherited from class com.microstrategy.web.app.transforms.AbstractFolderTransform
_bandingIndex, _imgHeight, _imgWidth, _sortedChildUnits, datamartImage, documentImage, execTarget, filterImage, folderImage, FP_CREATE_REPORT_DISPLAY_SECTION, FP_DATAMART_IMAGE, FP_DOCUMENT_IMAGE, FP_EXEC_TARGET, FP_FILTER_IMAGE, FP_FOLDER_IMAGE, FP_GRAPH_IMAGE, FP_GRID_GRAPH_IMAGE, FP_IMAGE_HEIGTH, FP_IMAGE_WIDTH, FP_LEVEL_FLAG, FP_MAX_OBJECT_TYPE_COUNT, FP_REPORT_IMAGE, FP_RW_DOCUMENT_IMAGE, FP_SORT_ASCENDING, FP_SORT_FIELD, FP_TABLE_ID, FP_TEMPLATE_IMAGE, graphImage, gridGraphImage, imageHeight, imageWidth, LEVEL_ALL, LEVEL_CONFIRM_DELETE, LEVEL_DELETE, LEVEL_DESCRIPTION, LEVEL_DISPLAY_HEADERS, LEVEL_EDIT, LEVEL_EMPTY_FOLDER_MESSAGE, LEVEL_EXPORT_EXCEL, LEVEL_EXPORT_PDF, LEVEL_FOLDER_INFORMATION, LEVEL_INCREMENTAL_FETCH, LEVEL_LOCATION, LEVEL_MODIFIED, LEVEL_NAME, LEVEL_OWNER, LEVEL_SEND_NOW, LEVEL_SUBSCRIPTION, levelFlag, maxObjectTypeCount, reportImage, rwDocumentImage, sortAscending, sortField, tableId, templateImage
-
Fields inherited from class com.microstrategy.web.app.transforms.AbstractObjectInfoListTransform
FP_INCREMENTAL_FETCH_NAV_TYPE, FP_INCREMENTAL_FETCH_PAGE_BLOCK, imgBlank, incrementalFetchNavigationType, incrementalFetchPageBlock
-
Fields inherited from class com.microstrategy.web.app.transforms.AbstractAppTransform
_bean, _componentBlock, _cssPrefix, _imgBlank, _imgWait, _selfOutput, _subOutput, appliesTo, CLASS_INPUT, CLASS_MESSAGE, contextMenus, cssFile, cssPrefix, debugErrorFlags, debugFlags, dragMode, extraInput, extraUrl, FP_APPLIES_TO, FP_CONTEXT_MENUS, FP_CSS_ERROR_MESSAGE, FP_CSS_ERROR_TITLE, FP_CSS_FILE, FP_CSS_PREFIX, FP_DEBUG_ERROR_FLAGS, FP_DEBUG_FLAGS, FP_DRAG_MODE, FP_EXTRA_INPUT, FP_EXTRA_URL, FP_HEIGHT, FP_IFRAME_ENABLED, FP_IMG_WAIT, FP_INITIAL_INDENT, FP_ORIENTATION, FP_ORIENTATIONS_ALLOWED, FP_PARTIAL_IFRAME_UPDATE, FP_PROCESSING_BUTTONS_FLAGS, FP_PROCESSING_INFO_FLAGS, FP_RESIZE_LEVEL, FP_SCRIPT_CLASS, FP_TYPE, FP_USE_DHTML, FP_WIDTH, globalCssErrorMessage, globalCssErrorTitle, height, iframeEnabled, imgWait, indent, initialIndent, isDHTML, orientation, orientationsAllowed, partialIframeUpdate, PROCESSING_BUTTONS_ALL, PROCESSING_BUTTONS_CANCEL, PROCESSING_BUTTONS_HISTORY_LIST, PROCESSING_BUTTONS_REFRESH, PROCESSING_BUTTONS_VIEW_DETAILS, PROCESSING_INFO_ALL, PROCESSING_INFO_DESCRIPTION, PROCESSING_INFO_LAST_UPDATE, PROCESSING_INFO_NAME, PROCESSING_INFO_NONE, PROCESSING_INFO_STATUS, processingButtonsFlags, processingInfoFlags, RESIZE_ALL, RESIZE_HORIZONTAL, RESIZE_NONE, RESIZE_VERTICAL, resizeLevel, scriptClass, scriptEndTagEncoder, type, useDHTML, width
-
-
Constructor Summary
Constructors Constructor Description FolderTreeTransform()
Class Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
addScriptDependencies()
Add to the ClientSideHelper associated with this instance the javascript files require to provide interactivity of the tree on the client browser.protected TreeNode
constructEntireTree()
Constructs the entire tree branch starting from the requested node and going upwards and returns the topmost non-Project nodeprotected TreeNode
createNewNode(java.lang.Object childObj, boolean isExpanded)
Ths methos us used to add a new node to the treejava.lang.String
getDescription()
Returns a textual description of the transform.java.lang.String
getID()
When it's an iFrame request, the ID used to render this component needs to be the one of the Tree itself:.protected boolean
getRenderEntireTree()
Returns true to indicate the tree needs to be rendered entirely.protected java.lang.String
getSysFolderDisplayName(int folderName)
Given the the FolderName fromEnumDSSXMLFolderNames
of Shared Reports, My Reports or My Objects, returns the internationalized text string for the same else returns an empty string.protected int
getSysFolderName(WebFolder folder)
Takes a WebFolder object and if it is one of Shared Reports, My Reports or My Objects folders, it returns the corresponding System Folder Name fromEnumDSSXMLFolderNames
or else returns 0protected TreeNode
getSysFolderNode(int folderName)
Given the folder name fromEnumDSSXMLFolderNames
, creates a tree nodevoid
initializeTransform(Transformable data)
This method initialize the private and protected fields of the transform, such as width and height.protected TreeNode
newTreeNode(WebObjectInfo object)
Creates and populates a single tree nodeprotected void
populateTreeNodes(java.util.List children, TreeNode parentNode)
Used to populate the a node from a list of objects.void
renderEmptyList(MarkupOutput out, WebFolder folder)
Renders the folder when it has no children.void
renderList(MarkupOutput out)
Entry method of folder transforms to generate the list content.protected void
renderTree(MarkupOutput out, TreeView tree)
Adds to the provided MarkupOutput the TreeView gui elementprotected boolean
suppressObject(int type)
Returns true if a particular object type should not be displayed as a tree node else falseprotected boolean
traverseBeyondFolder(WebFolder currentFolder, TreeNode currentNode)
Returns true if the tree contruction should continue higher up else false.-
Methods inherited from class com.microstrategy.web.app.transforms.FolderViewTransform
addSummaryAttribute, canCopy, canCreateShortcut, canDisplayProperties, canMove, canRename, checkContextMenuFlag, generateAnchor, generateAnchor, getActionImageSrc, getCopyEvent, getCreateAnalysisFromReportEvent, getCreateDocumentFromDossierEvent, getCreateDocumentFromReportEvent, getCreateDocumentFromThemeEvent, getCreateHTML5VIFromReportEvent, getCreateReportFromCubeEvent, getCreateShortcutEvent, getDeleteTooltip, getDisplayPropertiesEvent, getEditEvent, getEvent, getEvent, getExportEvent, getFlashExportEvent, getFolderName, getFolderObjects, getHtmlExportEvent, getMoveEvent, getNameWrapperTag, getNewFilterEvent, getNewPromptEvent, getObjectID, getObjectManipulationBean, getObjectModificationTimeStamp, getOpenObjectManipulationDialogEvent, getPDFExportEvent, getRenameEvent, getRepublishCubeConfigJSON, getTimestamp, hasMultipleRunModesAvailable, isActionsTabAvailable, isFolderNotNull, renderAnchorTag, renderContextMenu, renderDeleteInfo, renderDescriptionInfo, renderEditInfo, renderEmptyCellForActions, renderExport, renderFolderDescription, renderFolderName, renderIconInfo, renderLayeredIconInfo, renderLayeredIconInfo, renderList, renderMenuArrow, renderModifiedInfo, renderOwnerInfo, renderPDFExport, renderSendNowInfo, renderSubscriptionInfo, shouldDisplayDeleteInfo
-
Methods inherited from class com.microstrategy.web.app.transforms.AbstractFolderTransform
addScriptDependency, canCreateSubscription, canDelete, canEdit, canExecute, canExport, canExportToPDF, canSendNow, checkLevel, getBlockPosition, getBlockSize, getChildCount, getContext, getContextMenu, getContextMenuAttributes, getDeleteEvent, getDeleteEvent, getExportEvent, getFeatures, getFolderBean, getFolderChildCount, getGoToArgument, getGoToEvent, getImageName, getImageSrc, getListComparator, getMstrExportEvent, getOringalChildCount, getSendNowEvent, getSortedChildUnits, getSortedList, getSubscriptionsEvent, getSupportedBeanType, getViewMediaReportEvent, getViewMediaRWEvent, initializeCss, initializeImages, initializeSelectedItemsList, isEmptyList, isFeatureAvailable, isFolderEmpty, isObjectRunableinPauseMode, isObjectSelected, isObjectVisible, isViewableReport, newContext, renderEmptyList, renderImage, renderJavaScript, renderObjectCount, setBoneProperties, transformForRequestSuccessful
-
Methods inherited from class com.microstrategy.web.app.transforms.AbstractObjectInfoListTransform
addCSSForObjectType, getCssName, getDereferenceShortcuts, getImageTooltip, getIncrementalFetchComponent, getListItemAttributes, getObjectAbbreviation, getObjectDescription, getObjectModificationTime, getObjectName, getOwnerName, getPathTransform, getVisualizationMode, getVisualizationMode, isUserEnabled, isVisualizationObject, isVisualizationObject, renderAbbreviationInfo, renderAbbreviationInfo, renderDescriptionInfo, renderIconInfo, renderIncrementalFetch, renderIsUserEnabled, renderIsUserEnabled, renderLayeredIconInfo, renderLocationInfo, renderNameInfo, renderObject
-
Methods inherited from class com.microstrategy.web.app.transforms.AbstractAppTransform
addContactInfo, addDynamicScriptClass, addDynamicScriptFile, addFormalParameter, checkLevel, checkProcessingButtonsFlag, checkProcessingInfoFlag, checkStatus, displayError, displayError, displayError, emptyCell, excludeStaticTags, generateAnchorForExport, generateHiddenInputsForEvent, generateIFrameTag, getAppContext, getArgumentName, getAttributesShellDiv, getBeanPath, getBoneId, getCancelEvent, getClientSideHelper, getContainerServices, getContextMenu, getContextMenuManager, getContextMenuManagerName, getContextMenusDefinition, getCssPrefix, getDateFormat, getDebugOut, getDescriptor, getDescriptor, getDescriptor, getDescriptor, getDisplayMode, getDisplayName, getErrorMessage, getErrorMessage, getErrorTitle, getErrorTitle, getEventManager, getFirstDayOfWeek, getFloatValue, getHelpPath, getIntValue, getJSNameSpace, getLayoutContext, getLocale, getLocale, getPreferenceValue, getProjectID, getRefreshEvent, getRequestKeys, getResourcesFolder, getScriptClass, getStringValue, getStyleRequestContext, getStyleShellDiv, getTagsFactory, getTimeFormat, getUnitsLabel, getWebBeanErrorInfo, hasSubBlock, initHeightAndWidthFromPreferences, initializeWebComponent, is508, isBlockMode, isContextMenusEnabled, isDhtml, isDialog, isDormant, isIFrameDisplayMode, isIFrameEnabled, isIFrameRequest, isJobExpired, isModal, isOpen, isPortlet, isTrue, localIsIFrameDisplayMode, newHiddenInputBuilder, newNamespaceEncoder, newURIBuilder, redirectToDisplayError, redirectToDisplayError, renderBean, renderBean, renderBean, renderBean, renderCancelButton, renderContextMenus, renderCssLink, renderDescriptor, renderDescriptor, renderErrorButton, renderHiddenInputFromRequest, renderLayout, renderProcessingButton, renderProcessingButton, renderProcessingButton, renderProcessingButtonForGet, renderProcessingButtonForGet, renderProcessingButtons, renderProcessingInfo, renderProcessingInfoData, renderProcessingInfoImage, renderProcessingInfoSubtitle, renderProcessingInfoTitle, renderProcessingObjectName, renderRefreshButton, renderRegisterBone, renderSelf, renderShell, renderSubBlock, renderUserHelpAnchor, setDisplayMode, setHasSubBlock, setHeight, setIFrameDisplayMode, setIsDormant, setRenderSubBlock, setShellAttributeOnClosedComponent, setWidth, shouldDisplay, transform, transformForRequestCanceled, transformForRequestInError, transformForRequestNotInited, transformForRequestProcessing, transformForRequestWaitingForUserInput
-
Methods inherited from class com.microstrategy.web.transform.AbstractLayoutTransform
getLayoutDefinition, setLayoutDefinition, transformUsingLayout
-
Methods inherited from class com.microstrategy.web.transform.AbstractTransform
addFormalParam, canTransform, getEvents, getFormalParams, getPreview, isPreviewAvailable, isResolved, removeFormalParam, setAnnotation, setDeprecated, supports, supports
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.microstrategy.web.transform.LayoutTransform
getLayoutDefinition, setLayoutDefinition
-
Methods inherited from interface com.microstrategy.web.transform.Transform
canTransform, getFormalParams, getPreview, isPreviewAvailable, isResolved, supports, supports, transform
-
-
-
-
Field Detail
-
DUMMY_BEAN_NAME
protected static final java.lang.String DUMMY_BEAN_NAME
- See Also:
- Constant Field Values
-
tree
protected TreeView tree
-
anchorTargetForNonFolderBrowseEvents
protected FormalParameter anchorTargetForNonFolderBrowseEvents
-
-
Method Detail
-
initializeTransform
public void initializeTransform(Transformable data)
This method initialize the private and protected fields of the transform, such as width and height. It also invokes the
This method is automatically called from theinitializeWebComponent
,initializeImages
andinitializeCss
methods.transform
method. Transforms which would like to invoke other methods in this instance directly (for example, to invoke some render methods), need first to call this method to guarantee that the Transform is ready to generate output.- Specified by:
initializeTransform
in interfaceAppTransform
- Overrides:
initializeTransform
in classAbstractFolderTransform
- Parameters:
data
- the bean to transform.
-
addScriptDependencies
protected void addScriptDependencies()
Add to the ClientSideHelper associated with this instance the javascript files require to provide interactivity of the tree on the client browser.
-
renderList
public void renderList(MarkupOutput out)
Entry method of folder transforms to generate the list content.- Overrides:
renderList
in classAbstractFolderTransform
- Parameters:
out
-MarkupOutput
instance to modify with the transform's output.
-
getRenderEntireTree
protected boolean getRenderEntireTree()
Returns true to indicate the tree needs to be rendered entirely. A false value will indicate the current request this is a partial node update.
-
renderTree
protected void renderTree(MarkupOutput out, TreeView tree)
Adds to the provided MarkupOutput the TreeView gui element- Parameters:
out
- MarkupOutput to write totree
- the TreeView object to include in the MarkupOutput
-
populateTreeNodes
protected void populateTreeNodes(java.util.List children, TreeNode parentNode)
Used to populate the a node from a list of objects.- Parameters:
children
- the list of objects from which new nodes will be createdparentNode
- to parent node where the new nodes will be created
-
suppressObject
protected boolean suppressObject(int type)
Returns true if a particular object type should not be displayed as a tree node else false- Parameters:
type
-
-
traverseBeyondFolder
protected boolean traverseBeyondFolder(WebFolder currentFolder, TreeNode currentNode)
Returns true if the tree contruction should continue higher up else false. If the tree needs to be shown only upto a particular system folder, this is method can be overridden for such cases.- Parameters:
currentFolder
-currentNode
-
-
createNewNode
protected TreeNode createNewNode(java.lang.Object childObj, boolean isExpanded)
Ths methos us used to add a new node to the tree- Parameters:
childObj
- the object being added to the treeisExpanded
- whether the new node will be expanded or collapsed
-
getSysFolderName
protected int getSysFolderName(WebFolder folder)
Takes a WebFolder object and if it is one of Shared Reports, My Reports or My Objects folders, it returns the corresponding System Folder Name fromEnumDSSXMLFolderNames
or else returns 0- Parameters:
folder
-- Throws:
WebException
WebObjectsException
-
getSysFolderDisplayName
protected java.lang.String getSysFolderDisplayName(int folderName)
Given the the FolderName fromEnumDSSXMLFolderNames
of Shared Reports, My Reports or My Objects, returns the internationalized text string for the same else returns an empty string.- Parameters:
folderName
-
-
getSysFolderNode
protected TreeNode getSysFolderNode(int folderName) throws WebObjectsException
Given the folder name fromEnumDSSXMLFolderNames
, creates a tree node- Parameters:
folderName
-- Throws:
WebObjectsException
-
constructEntireTree
protected TreeNode constructEntireTree()
Constructs the entire tree branch starting from the requested node and going upwards and returns the topmost non-Project node
-
newTreeNode
protected TreeNode newTreeNode(WebObjectInfo object)
Creates and populates a single tree node
-
getID
public java.lang.String getID()
When it's an iFrame request, the ID used to render this component needs to be the one of the Tree itself:.- Specified by:
getID
in interfaceTransform
- Overrides:
getID
in classFolderViewTransform
- Returns:
- the component's unique id
-
getDescription
public java.lang.String getDescription()
Returns a textual description of the transform.- Specified by:
getDescription
in interfaceTransform
- Overrides:
getDescription
in classFolderViewTransform
- Returns:
- The textual description of the transform.
-
renderEmptyList
public void renderEmptyList(MarkupOutput out, WebFolder folder)
Renders the folder when it has no children. The HTML to render for this case includes only a SPAN HTML tag, with the empty-list corresponding style, displaying the localized descriptor for This folder is empty.- Overrides:
renderEmptyList
in classAbstractFolderTransform
- Parameters:
out
-MarkupOutput
instance where the transform's output will be saved.folder
- theWebFolder
instance from theFolderBean
being transformed.
-
-