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 FormalParameteranchorTargetForNonFolderBrowseEventsprotected static java.lang.StringDUMMY_BEAN_NAMEprotected TreeViewtree- 
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 voidaddScriptDependencies()Add to the ClientSideHelper associated with this instance the javascript files require to provide interactivity of the tree on the client browser.protected TreeNodeconstructEntireTree()Constructs the entire tree branch starting from the requested node and going upwards and returns the topmost non-Project nodeprotected TreeNodecreateNewNode(java.lang.Object childObj, boolean isExpanded)Ths methos us used to add a new node to the treejava.lang.StringgetDescription()Returns a textual description of the transform.java.lang.StringgetID()When it's an iFrame request, the ID used to render this component needs to be the one of the Tree itself:.protected booleangetRenderEntireTree()Returns true to indicate the tree needs to be rendered entirely.protected java.lang.StringgetSysFolderDisplayName(int folderName)Given the the FolderName fromEnumDSSXMLFolderNamesof Shared Reports, My Reports or My Objects, returns the internationalized text string for the same else returns an empty string.protected intgetSysFolderName(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 fromEnumDSSXMLFolderNamesor else returns 0protected TreeNodegetSysFolderNode(int folderName)Given the folder name fromEnumDSSXMLFolderNames, creates a tree nodevoidinitializeTransform(Transformable data)This method initialize the private and protected fields of the transform, such as width and height.protected TreeNodenewTreeNode(WebObjectInfo object)Creates and populates a single tree nodeprotected voidpopulateTreeNodes(java.util.List children, TreeNode parentNode)Used to populate the a node from a list of objects.voidrenderEmptyList(MarkupOutput out, WebFolder folder)Renders the folder when it has no children.voidrenderList(MarkupOutput out)Entry method of folder transforms to generate the list content.protected voidrenderTree(MarkupOutput out, TreeView tree)Adds to the provided MarkupOutput the TreeView gui elementprotected booleansuppressObject(int type)Returns true if a particular object type should not be displayed as a tree node else falseprotected booleantraverseBeyondFolder(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, 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,initializeImagesandinitializeCssmethods.transformmethod. 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:
 initializeTransformin interfaceAppTransform- Overrides:
 initializeTransformin 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:
 renderListin classAbstractFolderTransform- Parameters:
 out-MarkupOutputinstance 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 fromEnumDSSXMLFolderNamesor else returns 0- Parameters:
 folder-- Throws:
 WebExceptionWebObjectsException
 
- 
getSysFolderDisplayName
protected java.lang.String getSysFolderDisplayName(int folderName)
Given the the FolderName fromEnumDSSXMLFolderNamesof 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:
 getIDin interfaceTransform- Overrides:
 getIDin classFolderViewTransform- Returns:
 - the component's unique id
 
 
- 
getDescription
public java.lang.String getDescription()
Returns a textual description of the transform.- Specified by:
 getDescriptionin interfaceTransform- Overrides:
 getDescriptionin 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:
 renderEmptyListin classAbstractFolderTransform- Parameters:
 out-MarkupOutputinstance where the transform's output will be saved.folder- theWebFolderinstance from theFolderBeanbeing transformed.
 
 - 
 
 -