org.opencms.workplace
Class CmsReport

java.lang.Object
  extended by org.opencms.workplace.CmsWorkplace
      extended by org.opencms.workplace.tools.CmsToolDialog
          extended by org.opencms.workplace.CmsDialog
              extended by org.opencms.workplace.CmsMultiDialog
                  extended by org.opencms.workplace.CmsReport
Direct Known Subclasses:
A_CmsListReport, CmsSynchronizeReport

public class CmsReport
extends CmsMultiDialog

Provides an output window for a CmsReport.

Since:
6.0.0
Version:
$Revision: 1.33 $
Author:
Alexander Kandzior

Field Summary
static java.lang.String PARAM_REPORT_CONTINUEKEY
          Request parameter key for the type of the report.
static java.lang.String PARAM_REPORT_TYPE
          Request parameter key for the type of the report.
static int REPORT_UPDATE_SIZE
          Max. byte size of report output on client.
static int REPORT_UPDATE_TIME
          Update time for report reloading.
 
Fields inherited from class org.opencms.workplace.CmsMultiDialog
DELIMITER_RESOURCES, PARAM_RESOURCELIST
 
Fields inherited from class org.opencms.workplace.CmsDialog
ACTION_CANCEL, ACTION_CLOSEPOPUP, ACTION_CLOSEPOPUP_SAVE, ACTION_CONFIRMED, ACTION_CONTINUE, ACTION_DEFAULT, ACTION_LOCKS_CONFIRMED, ACTION_OK, ACTION_REPORT_BEGIN, ACTION_REPORT_END, ACTION_REPORT_UPDATE, ACTION_SET, ACTION_WAIT, ATTRIBUTE_THROWABLE, BUTTON_ADVANCED, BUTTON_BACK, BUTTON_CANCEL, BUTTON_CLOSE, BUTTON_CONTINUE, BUTTON_DETAILS, BUTTON_DISCARD, BUTTON_EDIT, BUTTON_OK, BUTTON_OK_NO_SUBMIT, BUTTON_SET, DIALOG_BACK, DIALOG_CANCEL, DIALOG_CONFIRMED, DIALOG_CONTINUE, DIALOG_INITIAL, DIALOG_LOCKS_CONFIRMED, DIALOG_OK, DIALOG_SET, DIALOG_WAIT, PARAM_ACTION, PARAM_CLOSELINK, PARAM_DIALOGTYPE, PARAM_ERRORSTACK, PARAM_FILE, PARAM_FRAMENAME, PARAM_ISPOPUP, PARAM_LOCK, PARAM_MESSAGE, PARAM_ORIGINALPARAMS, PARAM_PREACTIONDONE, PARAM_REDIRECT, PARAM_RESOURCE, PARAM_TARGET, PARAM_THREAD, PARAM_THREAD_HASNEXT, PARAM_TITLE, REPORT_BEGIN, REPORT_END, REPORT_UPDATE
 
Fields inherited from class org.opencms.workplace.tools.CmsToolDialog
PARAM_BASE, PARAM_FORCE, PARAM_PATH, PARAM_ROOT, PARAM_STYLE, STYLE_NEW
 
Fields inherited from class org.opencms.workplace.CmsWorkplace
DEBUG, DEFAULT_LANGUAGE, DEFAULT_LOCALE, DIALOG_PATH_COMMON, FILE_DIALOG_CLOSE, FILE_DIALOG_SCREEN_CONFIRM, FILE_DIALOG_SCREEN_ERROR, FILE_DIALOG_SCREEN_ERRORPAGE, FILE_DIALOG_SCREEN_WAIT, FILE_EXPLORER_FILELIST, FILE_REPORT_OUTPUT, HTML_END, HTML_START, PARAM_WP_EXPLORER_RESOURCE, PARAM_WP_PROJECT, PARAM_WP_SITE, PATH_DIALOGS, PATH_WORKPLACE, REQUEST_ATTRIBUTE_MULTIPART, REQUEST_ATTRIBUTE_RELOADTREE, RFS_PATH_RESOURCES, SESSION_WORKPLACE_CLASS, TEMP_FILE_PREFIX, VFS_DIR_DEFAULTBODIES, VFS_DIR_TEMPLATES, VFS_PATH_COMMONS, VFS_PATH_EDITORS, VFS_PATH_GALLERIES, VFS_PATH_LOCALES, VFS_PATH_MODULES, VFS_PATH_RESOURCES, VFS_PATH_SYSTEM, VFS_PATH_VIEWS, VFS_PATH_WORKPLACE
 
Constructor Summary
CmsReport(CmsJspActionElement jsp)
          Public constructor.
CmsReport(javax.servlet.jsp.PageContext context, javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res)
          Public constructor with JSP variables.
 
Method Summary
 java.lang.String dialogButtonsContinue(java.lang.String okAttrs, java.lang.String cancelAttrs, java.lang.String detailsAttrs)
          Builds a button row with an "Ok", a "Cancel" and a "Details" button.
 java.lang.String dialogButtonsOkCancelDetails(java.lang.String okAttrs, java.lang.String cancelAttrs, java.lang.String detailsAttrs)
          Builds a button row with an "Ok", a "Cancel" and a "Details" button.
static java.lang.String generateCssStyle(CmsObject cms)
          Returns the style sheets for the report.
static java.lang.String generatePageEndExtended()
          Generates the footer for the extended report view.
static java.lang.String generatePageEndSimple()
          Generates the footer for the simple report view.
static java.lang.String generatePageStartExtended(CmsObject cms, java.lang.String encoding)
          Generates the header for the extended report view.
static java.lang.String generatePageStartSimple(CmsWorkplace wp)
          Generates the header for the simple report view.
 java.lang.String getParamRefreshWorkplace()
          Returns if the workplace must be refreshed.
 java.lang.String getParamReportContinueKey()
          Returns the key name which contains the localized message for the continue checkbox.
 java.lang.String getParamReportType()
          Returns the type of this report.
 java.lang.String getParamThread()
          Returns the Thread id to display in this report.
 java.lang.String getParamThreadHasNext()
          Returns if another report is following this report.
 java.lang.String getReportUpdate()
          Returns the part of the report that is ready for output.
 boolean hasError()
          Returns if the report generated an error output.
 java.lang.String htmlStart()
          Builds the start html of the page, including setting of DOCTYPE and inserting a header with the content-type.
 java.lang.String htmlStart(boolean loadStyles)
          Builds the start html of the page, including setting of DOCTYPE and inserting a header with the content-type.
static CmsReport initCmsReport(javax.servlet.jsp.PageContext context, javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res)
          Returns an initialized CmsReport instance that is read from the request attributes.
protected  void initWorkplaceRequestValues(CmsWorkplaceSettings settings, javax.servlet.http.HttpServletRequest request)
          Analyzes the request for workplace parameters and adjusts the workplace settings accordingly.
 boolean isAlive()
          Returns true if the report Thread is still alive (i.e. running), false otherwise.
 boolean isSimpleReport()
          Checks whether this is a simple report.
 java.lang.String pageHtml(int segment, boolean loadStyles)
          Builds the start html of the page, including setting of DOCTYPE and inserting a header with the content-type.
protected  boolean performDialogOperation()
          Returns always true and does nothing else, has to be implemented.
 java.lang.String reportConclusionText()
          Returns an optional conclusion text to be displayed below the report output.
 java.lang.String reportIntroductionText()
          Returns an optional introduction text to be displayed above the report output.
 void setParamRefreshWorkplace(java.lang.String value)
          Sets if the workplace must be refreshed.
 void setParamReportContinueKey(java.lang.String key)
          Sets the key name which contains the localized message for the continue checkbox.
 void setParamReportType(java.lang.String value)
          Sets the type of this report.
 void setParamThread(java.lang.String value)
          Sets the Thread id to display in this report.
 void setParamThreadHasNext(java.lang.String value)
          Sets if another report is following this report.
 
Methods inherited from class org.opencms.workplace.CmsMultiDialog
addMultiOperationException, buildLockHeaderBox, buildResourceList, checkMultiOperationException, checkResourcePermissions, getParamResourcelist, getResourceList, getResourceListAsParam, isMultiOperation, isOperationOnFolder, setDialogTitle, setParamResource, setParamResourcelist
 
Methods inherited from class org.opencms.workplace.CmsDialog
actionCloseDialog, appendDelimiter, buildAjaxResultContainer, buildAjaxWaitMessage, buildLockAdditionalOptions, buildLockConfirmationMessageJS, buildLockDialog, buildLockDialog, checkResourcePermissions, computeCurrentFolder, dialog, dialogBlock, dialogBlockEnd, dialogBlockStart, dialogButtonRow, dialogButtonRowEnd, dialogButtonRowStart, dialogButtons, dialogButtonsClose, dialogButtonsClose, dialogButtonsCloseDetails, dialogButtonsHtml, dialogButtonsOk, dialogButtonsOk, dialogButtonsOkCancel, dialogButtonsOkCancel, dialogButtonsOkCancelAdvanced, dialogButtonsSetOkCancel, dialogContent, dialogContentEnd, dialogContentStart, dialogEnd, dialogHead, dialogHorizontalSpacer, dialogLockButtons, dialogRow, dialogRowEnd, dialogRowStart, dialogScriptSubmit, dialogSeparator, dialogSpacer, dialogStart, dialogStart, dialogSubheadline, dialogToggleStart, dialogWhiteBox, dialogWhiteBoxEnd, dialogWhiteBoxStart, getAction, getAdministrationBackLink, getCancelAction, getDialogRealUri, getDialogUri, getOnlineHelpUriCustom, getParamAction, getParamCloseLink, getParamDialogtype, getParamFramename, getParamIsPopup, getParamMessage, getParamOriginalParams, getParamPreActionDone, getParamRedirect, getParamResource, getParamTitle, getState, hasCorrectLockstate, hasSiblings, htmlStart, htmlStart, htmlStartStyle, includeErrorpage, initCmsDialog, isPopup, isPreEditor, pageHtml, pageHtml, setAction, setOnlineHelpUriCustom, setParamAction, setParamCloseLink, setParamDialogtype, setParamFramename, setParamIsPopup, setParamMessage, setParamOriginalParams, setParamPreActionDone, setParamRedirect, setParamTitle
 
Methods inherited from class org.opencms.workplace.tools.CmsToolDialog
dialogTitle, getAdminTool, getCurrentToolPath, getParamBase, getParamForce, getParamPath, getParamRoot, getParamStyle, getParentPath, getToolManager, iconsBlockArea, iconsBlockAreaEnd, iconsBlockAreaStart, initAdminTool, pageBody, pageHtmlStyle, setParamBase, setParamForce, setParamPath, setParamRoot, setParamStyle, useNewStyle
 
Methods inherited from class org.opencms.workplace.CmsWorkplace
addMessages, addMessages, allParamsAsHidden, allParamsAsRequest, allParamValues, bodyEnd, bodyStart, bodyStart, buildSelect, buildSelect, button, button, buttonBar, buttonBar, buttonBarHorizontalLine, buttonBarLabel, buttonBarLabel, buttonBarLine, buttonBarLineSpacer, buttonBarSeparator, buttonBarSpacer, buttonBarStartTab, checkLock, checkLock, checkRole, decodeParamValue, fillParamValues, fillParamValues, getBroadcastMessageString, getCms, getEncoding, getExplorerFileListFullUri, getFrameSource, getJsp, getLocale, getMacroResolver, getMessages, getMultiPartFileItems, getParameterMap, getResourceUri, getResourceUri, getSession, getSettings, getSkinUri, getStyleUri, getStyleUri, getStyleUri, getTemporaryFileName, htmlEnd, initMessages, initSettings, initTimeWarp, initUserSettings, initWorkplaceMembers, initWorkplaceSettings, isForwarded, isHelpEnabled, isSubElement, isTemporaryFile, isTemporaryFileName, key, key, keyDefault, nullToEmpty, paramsAsHidden, paramsAsHidden, paramsAsParameterMap, paramsAsRequest, paramValues, resolveMacros, sendCmsRedirect, sendForward, setForwarded, shortKey, switchToCurrentProject, switchToTempProject
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PARAM_REPORT_CONTINUEKEY

public static final java.lang.String PARAM_REPORT_CONTINUEKEY
Request parameter key for the type of the report.

See Also:
Constant Field Values

PARAM_REPORT_TYPE

public static final java.lang.String PARAM_REPORT_TYPE
Request parameter key for the type of the report.

See Also:
Constant Field Values

REPORT_UPDATE_SIZE

public static final int REPORT_UPDATE_SIZE
Max. byte size of report output on client.

See Also:
Constant Field Values

REPORT_UPDATE_TIME

public static final int REPORT_UPDATE_TIME
Update time for report reloading.

See Also:
Constant Field Values
Constructor Detail

CmsReport

public CmsReport(CmsJspActionElement jsp)
Public constructor.

Parameters:
jsp - an initialized JSP action element

CmsReport

public CmsReport(javax.servlet.jsp.PageContext context,
                 javax.servlet.http.HttpServletRequest req,
                 javax.servlet.http.HttpServletResponse res)
Public constructor with JSP variables.

Parameters:
context - the JSP page context
req - the JSP request
res - the JSP response
Method Detail

generateCssStyle

public static java.lang.String generateCssStyle(CmsObject cms)
Returns the style sheets for the report.

Parameters:
cms - the current users context
Returns:
the style sheets for the report

generatePageEndExtended

public static java.lang.String generatePageEndExtended()
Generates the footer for the extended report view.

Returns:
html code

generatePageEndSimple

public static java.lang.String generatePageEndSimple()
Generates the footer for the simple report view.

Returns:
html code

generatePageStartExtended

public static java.lang.String generatePageStartExtended(CmsObject cms,
                                                         java.lang.String encoding)
Generates the header for the extended report view.

Parameters:
cms - the current users context
encoding - the encoding string
Returns:
html code

generatePageStartSimple

public static java.lang.String generatePageStartSimple(CmsWorkplace wp)
Generates the header for the simple report view.

Parameters:
wp - the workplace instance
Returns:
html code

initCmsReport

public static CmsReport initCmsReport(javax.servlet.jsp.PageContext context,
                                      javax.servlet.http.HttpServletRequest req,
                                      javax.servlet.http.HttpServletResponse res)
Returns an initialized CmsReport instance that is read from the request attributes.

This method is used by dialog elements. The dialog elements do not initialize their own workplace class, but use the initialized instance of the "master" class. This is required to ensure that parameters of the "master" class can properly be kept on the dialog elements.

To prevent null pointer exceptions, an empty dialog is returned if nothing is found in the request attributes.

Parameters:
context - the JSP page context
req - the JSP request
res - the JSP response
Returns:
an initialized CmsDialog instance that is read from the request attributes

dialogButtonsContinue

public java.lang.String dialogButtonsContinue(java.lang.String okAttrs,
                                              java.lang.String cancelAttrs,
                                              java.lang.String detailsAttrs)
Builds a button row with an "Ok", a "Cancel" and a "Details" button.

This row is displayed when the first report is running.

Parameters:
okAttrs - optional attributes for the ok button
cancelAttrs - optional attributes for the cancel button
detailsAttrs - optional attributes for the details button
Returns:
the button row

dialogButtonsOkCancelDetails

public java.lang.String dialogButtonsOkCancelDetails(java.lang.String okAttrs,
                                                     java.lang.String cancelAttrs,
                                                     java.lang.String detailsAttrs)
Builds a button row with an "Ok", a "Cancel" and a "Details" button.

This row is used when a single report is running or after the first report has finished.

Parameters:
okAttrs - optional attributes for the ok button
cancelAttrs - optional attributes for the cancel button
detailsAttrs - optional attributes for the details button
Returns:
the button row

getParamRefreshWorkplace

public java.lang.String getParamRefreshWorkplace()
Returns if the workplace must be refreshed.

Returns:
"true" if the workplace must be refreshed.

getParamReportContinueKey

public java.lang.String getParamReportContinueKey()
Returns the key name which contains the localized message for the continue checkbox.

Returns:
the key name which contains the localized message for the continue checkbox

getParamReportType

public java.lang.String getParamReportType()
Returns the type of this report.

Returns:
the type of this report

getParamThread

public java.lang.String getParamThread()
Returns the Thread id to display in this report.

Returns:
the Thread id to display in this report

getParamThreadHasNext

public java.lang.String getParamThreadHasNext()
Returns if another report is following this report.

Returns:
"true" if another report is following this report

getReportUpdate

public java.lang.String getReportUpdate()
Returns the part of the report that is ready for output.

Returns:
the part of the report that is ready for output

hasError

public boolean hasError()
Returns if the report generated an error output.

Returns:
true if the report generated an error, otherwise false

htmlStart

public java.lang.String htmlStart()
Builds the start html of the page, including setting of DOCTYPE and inserting a header with the content-type.

This overloads the default method of the parent class.

Overrides:
htmlStart in class CmsDialog
Returns:
the start html of the page

htmlStart

public java.lang.String htmlStart(boolean loadStyles)
Builds the start html of the page, including setting of DOCTYPE and inserting a header with the content-type.

This overloads the default method of the parent class.

Parameters:
loadStyles - if true, the defaul style sheet will be loaded
Returns:
the start html of the page

isAlive

public boolean isAlive()
Returns true if the report Thread is still alive (i.e. running), false otherwise.

Returns:
true if the report Thread is still alive

isSimpleReport

public boolean isSimpleReport()
Checks whether this is a simple report.

Returns:
true, if the type of this report is a "simple"

pageHtml

public java.lang.String pageHtml(int segment,
                                 boolean loadStyles)
Builds the start html of the page, including setting of DOCTYPE and inserting a header with the content-type.

This overloads the default method of the parent class.

Parameters:
segment - the HTML segment (START / END)
loadStyles - if true, the defaul style sheet will be loaded
Returns:
the start html of the page

reportConclusionText

public java.lang.String reportConclusionText()
Returns an optional conclusion text to be displayed below the report output.

Returns:
an optional conclusion text

reportIntroductionText

public java.lang.String reportIntroductionText()
Returns an optional introduction text to be displayed above the report output.

Returns:
an optional introduction text

setParamRefreshWorkplace

public void setParamRefreshWorkplace(java.lang.String value)
Sets if the workplace must be refreshed.

Parameters:
value - "true" (String) if the workplace must be refreshed.

setParamReportContinueKey

public void setParamReportContinueKey(java.lang.String key)
Sets the key name which contains the localized message for the continue checkbox.

Parameters:
key - the key name which contains the localized message for the continue checkbox

setParamReportType

public void setParamReportType(java.lang.String value)
Sets the type of this report.

Parameters:
value - the type of this report

setParamThread

public void setParamThread(java.lang.String value)
Sets the Thread id to display in this report.

Parameters:
value - the Thread id to display in this report

setParamThreadHasNext

public void setParamThreadHasNext(java.lang.String value)
Sets if another report is following this report.

Parameters:
value - "true" if another report is following this report

initWorkplaceRequestValues

protected void initWorkplaceRequestValues(CmsWorkplaceSettings settings,
                                          javax.servlet.http.HttpServletRequest request)
Description copied from class: CmsWorkplace
Analyzes the request for workplace parameters and adjusts the workplace settings accordingly.

Overrides:
initWorkplaceRequestValues in class CmsDialog
Parameters:
settings - the workplace settings
request - the current request
See Also:
CmsWorkplace.initWorkplaceRequestValues(org.opencms.workplace.CmsWorkplaceSettings, javax.servlet.http.HttpServletRequest)

performDialogOperation

protected boolean performDialogOperation()
                                  throws CmsException
Returns always true and does nothing else, has to be implemented.

Specified by:
performDialogOperation in class CmsMultiDialog
Returns:
true, if the operation was successful, otherwise false
Throws:
CmsException - if operation was not successful
See Also:
CmsMultiDialog.performDialogOperation()