org.opencms.workplace.editors
Class CmsDefaultPageEditor

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.editors.CmsEditorBase
                  extended by org.opencms.workplace.editors.CmsEditor
                      extended by org.opencms.workplace.editors.CmsDefaultPageEditor
Direct Known Subclasses:
CmsSimplePageEditor

public abstract class CmsDefaultPageEditor
extends CmsEditor

Provides methods for building editors for the CmsDefaultPage page type.

Extend this class for all editors that work with the CmsDefaultPage.

Since:
6.0.0
Version:
$Revision: 1.32 $
Author:
Andreas Zahner

Field Summary
protected  CmsFile m_file
          File object used to read and write contents.
protected  CmsXmlPage m_page
          Page object used from the action and init methods, be sure to initialize this e.g. in the initWorkplaceRequestValues method.
static java.lang.String PARAM_ELEMENTNAME
          Parameter name for the request parameter "element name".
static java.lang.String PARAM_OLDELEMENTNAME
          Parameter name for the request parameter "old element name".
static java.lang.String[] SELECTBOX_FONTS
          option values for font select boxes.
static java.lang.String XML_BODY_ELEMENT
          Name of the special body element from an XMLTemplate.
 
Fields inherited from class org.opencms.workplace.editors.CmsEditor
ACTION_CHANGE_BODY, ACTION_DELETELOCALE, ACTION_EXIT, ACTION_PREVIEW, ACTION_SAVE, ACTION_SAVEACTION, ACTION_SAVEEXIT, ACTION_SHOW, ACTION_SHOW_ERRORMESSAGE, EDITOR_CHANGE_ELEMENT, EDITOR_CLEANUP, EDITOR_CLOSEBROWSER, EDITOR_DELETELOCALE, EDITOR_EXIT, EDITOR_PREVIEW, EDITOR_SAVE, EDITOR_SAVEACTION, EDITOR_SAVEEXIT, EDITOR_SHOW, EDITOR_SHOW_ERRORMESSAGE, EMPTY_LOCALE, PARAM_BACKLINK, PARAM_CONTENT, PARAM_DIRECTEDIT, PARAM_EDITASTEXT, PARAM_EDITORMODE, PARAM_ELEMENTLANGUAGE, PARAM_LOADDEFAULT, PARAM_MODIFIED, PARAM_OLDELEMENTLANGUAGE, PARAM_TEMPFILE, PATH_EDITORS
 
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
CmsDefaultPageEditor(CmsJspActionElement jsp)
          Public constructor.
 
Method Summary
 void actionChangeBodyElement()
          Performs the change body action of the editor.
 void actionCleanupBodyElement()
          Performs the cleanup body action of the editor.
 void actionClear(boolean forceUnlock)
          Unlocks the edited resource when in direct edit mode or when the resource was not modified.
 void actionDeleteElementLocale()
          Performs the delete locale action.
 void actionDirectEdit()
          Performs a configurable action performed by the editor.
 void actionExit()
          Performs the exit editor action and deletes the temporary file.
 void actionPreview()
          Performs the preview page action in a new browser window.
 void actionSave()
          Performs the save content action.
 java.lang.String buildSelectElementLanguage(java.lang.String attributes)
          Builds the html String for the element language selector.
 java.lang.String buildSelectElementName(java.lang.String attributes)
          Builds the html String for the element name selector.
 java.lang.String buildSelectFonts(java.lang.String attributes)
          Builds the html for the font face select box of a WYSIWYG editor.
 void escapeParams()
          Escapes the content and title parameters to display them in the editor form.
protected  java.util.List getElementList()
          Returns the list of active elements of the page.
 java.util.Locale getElementLocale()
          Returns the current element locale.
 java.lang.String getParamElementname()
          Returns the current element name.
 java.lang.String getParamOldelementname()
          Returns the old element name.
 java.lang.String getUriStyleSheet()
          Returns the OpenCms VFS uri of the style sheet of the current page.
 java.lang.String getUriTemplate()
          Returns the OpenCms VFS uri of the template of the current page.
protected  void initBodyElementLanguage()
          Initializes the body element language for the first call of the editor.
protected  void initBodyElementName(java.lang.String elementName)
          Initializes the body element name of the editor.
protected  void initContent()
          This method has to be called after initializing the body element name and language.
protected  void performSaveContent(java.lang.String body, java.util.Locale locale)
          Saves the editor content to the temporary file.
protected abstract  java.lang.String prepareContent(boolean save)
          Manipulates the content String for different editor views and the save operation.
 void setParamElementname(java.lang.String elementName)
          Sets the current element name.
 void setParamOldelementname(java.lang.String oldElementName)
          Sets the old element name.
 
Methods inherited from class org.opencms.workplace.editors.CmsEditor
actionClose, buildSelectElementLanguage, button, buttonActionCancel, buttonActionDirectEdit, checkLock, commitTempFile, createTempFile, decodeContent, decodeParamValue, deleteLocaleButton, deleteTempFile, encodeContent, getCloneCms, getEditorDisplayOptions, getEditorResourceUri, getFileEncoding, getFileEncoding, getOpenCmsContext, getParamBacklink, getParamContent, getParamDirectedit, getParamEditastext, getParamEditormode, getParamElementlanguage, getParamLoaddefault, getParamModified, getParamOldelementlanguage, getParamTempfile, getPicsUri, setFileEncoding, setParamBacklink, setParamContent, setParamDirectedit, setParamEditastext, setParamEditormode, setParamElementlanguage, setParamLoaddefault, setParamModified, setParamOldelementlanguage, setParamTempfile, showErrorPage, showErrorPage
 
Methods inherited from class org.opencms.workplace.editors.CmsEditorBase
initTimeWarp
 
Methods inherited from class org.opencms.workplace.CmsDialog
actionCloseDialog, appendDelimiter, buildAjaxResultContainer, buildAjaxWaitMessage, buildLockAdditionalOptions, buildLockConfirmationMessageJS, buildLockDialog, buildLockDialog, buildLockHeaderBox, checkResourcePermissions, 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, htmlStart, htmlStartStyle, includeErrorpage, initCmsDialog, initWorkplaceRequestValues, isPopup, isPreEditor, pageHtml, pageHtml, setAction, setOnlineHelpUriCustom, setParamAction, setParamCloseLink, setParamDialogtype, setParamFramename, setParamIsPopup, setParamMessage, setParamOriginalParams, setParamPreActionDone, setParamRedirect, setParamResource, 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, checkRole, 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, 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_ELEMENTNAME

public static final java.lang.String PARAM_ELEMENTNAME
Parameter name for the request parameter "element name".

See Also:
Constant Field Values

PARAM_OLDELEMENTNAME

public static final java.lang.String PARAM_OLDELEMENTNAME
Parameter name for the request parameter "old element name".

See Also:
Constant Field Values

SELECTBOX_FONTS

public static final java.lang.String[] SELECTBOX_FONTS
option values for font select boxes.


XML_BODY_ELEMENT

public static final java.lang.String XML_BODY_ELEMENT
Name of the special body element from an XMLTemplate.

See Also:
Constant Field Values

m_file

protected CmsFile m_file
File object used to read and write contents.


m_page

protected CmsXmlPage m_page
Page object used from the action and init methods, be sure to initialize this e.g. in the initWorkplaceRequestValues method.

Constructor Detail

CmsDefaultPageEditor

public CmsDefaultPageEditor(CmsJspActionElement jsp)
Public constructor.

Parameters:
jsp - an initialized JSP action element
Method Detail

actionChangeBodyElement

public void actionChangeBodyElement()
Performs the change body action of the editor.


actionCleanupBodyElement

public void actionCleanupBodyElement()
Performs the cleanup body action of the editor.


actionClear

public void actionClear(boolean forceUnlock)
Description copied from class: CmsEditor
Unlocks the edited resource when in direct edit mode or when the resource was not modified.

Specified by:
actionClear in class CmsEditor
Parameters:
forceUnlock - if true, the resource will be unlocked anyway
See Also:
CmsEditor.actionClear(boolean)

actionDeleteElementLocale

public void actionDeleteElementLocale()
                               throws javax.servlet.jsp.JspException
Performs the delete locale action.

Throws:
javax.servlet.jsp.JspException - if something goes wrong

actionDirectEdit

public void actionDirectEdit()
                      throws java.io.IOException,
                             javax.servlet.jsp.JspException,
                             javax.servlet.ServletException
Performs a configurable action performed by the editor.

The default action is: save resource, clear temporary files and publish the resource directly.

Throws:
java.io.IOException - if a forward fails
javax.servlet.jsp.JspException - if including a JSP fails
javax.servlet.ServletException - if a forward fails

actionExit

public void actionExit()
                throws java.io.IOException,
                       javax.servlet.jsp.JspException,
                       javax.servlet.ServletException
Performs the exit editor action and deletes the temporary file.

Specified by:
actionExit in class CmsEditor
Throws:
java.io.IOException - if a forward fails
javax.servlet.jsp.JspException - if including an element fails
javax.servlet.ServletException - if a forward fails
See Also:
CmsEditor.actionExit()

actionPreview

public void actionPreview()
                   throws java.io.IOException,
                          javax.servlet.jsp.JspException
Performs the preview page action in a new browser window.

Throws:
java.io.IOException - if redirect fails
javax.servlet.jsp.JspException - if inclusion of error page fails

actionSave

public void actionSave()
                throws javax.servlet.jsp.JspException
Description copied from class: CmsEditor
Performs the save content action.

Specified by:
actionSave in class CmsEditor
Throws:
javax.servlet.jsp.JspException - if including an element fails
See Also:
CmsEditor.actionSave()

buildSelectElementLanguage

public java.lang.String buildSelectElementLanguage(java.lang.String attributes)
Builds the html String for the element language selector.

Parameters:
attributes - optional attributes for the <select> tag
Returns:
the html for the element language selectbox

buildSelectElementName

public java.lang.String buildSelectElementName(java.lang.String attributes)
Builds the html String for the element name selector.

Parameters:
attributes - optional attributes for the <select> tag
Returns:
the html for the element name selectbox

buildSelectFonts

public java.lang.String buildSelectFonts(java.lang.String attributes)
Builds the html for the font face select box of a WYSIWYG editor.

Parameters:
attributes - optional attributes for the <select> tag
Returns:
the html for the font face select box

escapeParams

public void escapeParams()
Escapes the content and title parameters to display them in the editor form.

This method has to be called on the JSP right before the form display html is created.

*


getElementLocale

public java.util.Locale getElementLocale()
Returns the current element locale.

Returns:
the current element locale

getParamElementname

public java.lang.String getParamElementname()
Returns the current element name.

Returns:
the current element name

getParamOldelementname

public java.lang.String getParamOldelementname()
Returns the old element name.

Returns:
the old element name

getUriStyleSheet

public java.lang.String getUriStyleSheet()
Returns the OpenCms VFS uri of the style sheet of the current page.

Returns:
the OpenCms VFS uri of the style sheet of the current page

getUriTemplate

public java.lang.String getUriTemplate()
Returns the OpenCms VFS uri of the template of the current page.

Returns:
the OpenCms VFS uri of the template of the current page

setParamElementname

public void setParamElementname(java.lang.String elementName)
Sets the current element name.

Parameters:
elementName - the current element name

setParamOldelementname

public void setParamOldelementname(java.lang.String oldElementName)
Sets the old element name.

Parameters:
oldElementName - the old element name

getElementList

protected java.util.List getElementList()
Returns the list of active elements of the page.

Returns:
the list of active elements of the page

initBodyElementLanguage

protected void initBodyElementLanguage()
Initializes the body element language for the first call of the editor.


initBodyElementName

protected void initBodyElementName(java.lang.String elementName)
Initializes the body element name of the editor.

This has to be called after the element language has been set with setParamBodylanguage().

Parameters:
elementName - the name of the element to initialize or null, if default element should be used

initContent

protected void initContent()
This method has to be called after initializing the body element name and language.

Specified by:
initContent in class CmsEditor
See Also:
CmsEditor.initContent()

performSaveContent

protected void performSaveContent(java.lang.String body,
                                  java.util.Locale locale)
                           throws CmsException
Saves the editor content to the temporary file.

Parameters:
body - the body name to write
locale - the body locale to write
Throws:
CmsException - if writing the file fails

prepareContent

protected abstract java.lang.String prepareContent(boolean save)
Manipulates the content String for different editor views and the save operation.

Parameters:
save - if set to true, the result String is not escaped and the content parameter is not updated
Returns:
the prepared content String