org.opencms.workplace.editors
Class CmsEditor

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
Direct Known Subclasses:
CmsDefaultPageEditor, CmsEditorFrameset, CmsSimpleEditor, CmsXmlContentEditor

public abstract class CmsEditor
extends CmsEditorBase

Provides basic methods for building the file editors of OpenCms.

The editor classes have to extend this class and implement action methods for common editor actions.

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

Field Summary
static int ACTION_CHANGE_BODY
          Value for the action: change the body.
static int ACTION_DELETELOCALE
          Value for the action: delete the current locale.
static int ACTION_EXIT
          Value for the action: exit.
static int ACTION_PREVIEW
          Value for the action: show a preview.
static int ACTION_SAVE
          Value for the action: save.
static int ACTION_SAVEACTION
          Constant value for the customizable action button.
static int ACTION_SAVEEXIT
          Value for the action: save and exit.
static int ACTION_SHOW
          Value for the action: show the editor.
static int ACTION_SHOW_ERRORMESSAGE
          Value for the action: an error occurred.
static java.lang.String EDITOR_CHANGE_ELEMENT
          Value for the action parameter: change the element.
static java.lang.String EDITOR_CLEANUP
          Value for the action parameter: cleanup content.
static java.lang.String EDITOR_CLOSEBROWSER
          Value for the action parameter: close browser window (accidentally).
static java.lang.String EDITOR_DELETELOCALE
          Value for the action parameter: delete the current locale.
static java.lang.String EDITOR_EXIT
          Value for the action parameter: exit editor.
static java.lang.String EDITOR_PREVIEW
          Value for the action parameter: show a preview.
static java.lang.String EDITOR_SAVE
          Value for the action parameter: save content.
static java.lang.String EDITOR_SAVEACTION
          Value for the customizable action button.
static java.lang.String EDITOR_SAVEEXIT
          Value for the action parameter: save and exit.
static java.lang.String EDITOR_SHOW
          Value for the action parameter: show the editor.
static java.lang.String EDITOR_SHOW_ERRORMESSAGE
          Value for the action parameter: an error occurred.
static java.lang.String EMPTY_LOCALE
          Marker for empty locale in locale selection.
static java.lang.String PARAM_BACKLINK
          Parameter name for the request parameter "backlink".
static java.lang.String PARAM_CONTENT
          Parameter name for the request parameter "content".
static java.lang.String PARAM_DIRECTEDIT
          Parameter name for the request parameter "directedit".
static java.lang.String PARAM_EDITASTEXT
          Parameter name for the request parameter "editastext".
static java.lang.String PARAM_EDITORMODE
          Parameter name for the request parameter "editormode".
static java.lang.String PARAM_ELEMENTLANGUAGE
          Parameter name for the request parameter "element language".
static java.lang.String PARAM_LOADDEFAULT
          Parameter name for the request parameter "loaddefault".
static java.lang.String PARAM_MODIFIED
          Parameter name for the request parameter "modified".
static java.lang.String PARAM_OLDELEMENTLANGUAGE
          Parameter name for the request parameter "old element language".
static java.lang.String PARAM_TEMPFILE
          Parameter name for the request parameter "tempfile".
static java.lang.String PATH_EDITORS
          Stores the VFS editor path.
 
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
CmsEditor(CmsJspActionElement jsp)
          Public constructor.
 
Method Summary
abstract  void actionClear(boolean forceUnlock)
          Unlocks the edited resource when in direct edit mode or when the resource was not modified.
protected  void actionClose()
          Closes the editor and forwards to the workplace or the resource depending on the editor mode.
abstract  void actionExit()
          Performs the exit editor action.
abstract  void actionSave()
          Performs the save content action.
 java.lang.String buildSelectElementLanguage(java.lang.String attributes, java.lang.String resourceName, java.util.Locale selectedLocale)
          Builds the html String for the element language selector.
 java.lang.String button(java.lang.String href, java.lang.String target, java.lang.String image, java.lang.String label, int type, boolean useCustomImage)
          Generates a button for the OpenCms editor.
 java.lang.String buttonActionCancel()
          Returns the editor action for a "cancel" button.
 java.lang.String buttonActionDirectEdit(java.lang.String jsFunction, int type)
          Builds the html to display the special action button for the direct edit mode of the editor.
 void checkLock(java.lang.String resource, CmsLockType type)
          Checks the lock state of the resource and locks it if the autolock feature is enabled.
protected  void commitTempFile()
          Writes the content of a temporary file back to the original file.
protected  java.lang.String createTempFile()
          Creates a temporary file which is needed while working in an editor with preview option.
protected  java.lang.String decodeContent(java.lang.String content)
          Decodes the given content the same way the client would do it.
protected  java.lang.String decodeParamValue(java.lang.String paramName, java.lang.String paramValue)
          Decodes an individual parameter value, ensuring the content is always decoded in UTF-8.
 java.lang.String deleteLocaleButton(java.lang.String href, java.lang.String target, java.lang.String image, java.lang.String label, int type)
          Generates a button for delete locale.
protected  void deleteTempFile()
          Deletes a temporary file from the OpenCms VFS, needed when exiting an editor.
protected  java.lang.String encodeContent(java.lang.String content)
          Encodes the given content so that it can be transfered to the client.
protected  CmsObject getCloneCms()
          Returns a cloned cms instance that prevents the time range resource filter check.
 CmsEditorDisplayOptions getEditorDisplayOptions()
          Returns the instantiated editor display option class from the workplace manager.
abstract  java.lang.String getEditorResourceUri()
          Returns the URI to the editor resource folder where button images and javascripts are located.
protected  java.lang.String getFileEncoding()
          Returns the encoding parameter.
protected  java.lang.String getFileEncoding(CmsObject cms, java.lang.String filename)
          Helper method to determine the encoding of the given file in the VFS, which must be set using the "content-encoding" property.
 java.lang.String getOpenCmsContext()
          Returns the OpenCms request context path.
 java.lang.String getParamBacklink()
          Returns the back link when closing the editor.
 java.lang.String getParamContent()
          Returns the content of the editor.
 java.lang.String getParamDirectedit()
          Returns the direct edit flag parameter.
 java.lang.String getParamEditastext()
          Returns the edit as text parameter.
 java.lang.String getParamEditormode()
          Returns the editor mode parameter.
 java.lang.String getParamElementlanguage()
          Returns the current element language.
 java.lang.String getParamLoaddefault()
          Returns the "loaddefault" parameter to determine if the default editor should be loaded.
 java.lang.String getParamModified()
          Returns the modified parameter indicating if the resource has been saved.
 java.lang.String getParamOldelementlanguage()
          Returns the old element language.
 java.lang.String getParamTempfile()
          Returns the name of the temporary file.
 java.lang.String getPicsUri()
          Returns the path to the images used by this editor.
protected abstract  void initContent()
          Initializes the editor content when openening the editor for the first time.
protected  void setFileEncoding(java.lang.String value)
          Sets the encoding parameter.
 void setParamBacklink(java.lang.String backLink)
          Sets the back link when closing the editor.
 void setParamContent(java.lang.String content)
          Sets the content of the editor.
 void setParamDirectedit(java.lang.String direct)
          Sets the direct edit flag parameter.
 void setParamEditastext(java.lang.String editAsText)
          Sets the edit as text parameter.
 void setParamEditormode(java.lang.String mode)
          Sets the editor mode parameter.
 void setParamElementlanguage(java.lang.String elementLanguage)
          Sets the current element language.
 void setParamLoaddefault(java.lang.String loadDefault)
          Sets the "loaddefault" parameter to determine if the default editor should be loaded.
 void setParamModified(java.lang.String modified)
          Sets the modified parameter indicating if the resource has been saved.
 void setParamOldelementlanguage(java.lang.String oldElementLanguage)
          Sets the old element language.
 void setParamTempfile(java.lang.String fileName)
          Sets the name of the temporary file.
protected  void showErrorPage(java.lang.Exception exception)
          Shows the selected error page in case of an exception.
protected  void showErrorPage(java.lang.Object editor, java.lang.Exception exception)
          Shows the selected error page in case of an exception.
 
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

ACTION_CHANGE_BODY

public static final int ACTION_CHANGE_BODY
Value for the action: change the body.

See Also:
Constant Field Values

ACTION_DELETELOCALE

public static final int ACTION_DELETELOCALE
Value for the action: delete the current locale.

See Also:
Constant Field Values

ACTION_EXIT

public static final int ACTION_EXIT
Value for the action: exit.

See Also:
Constant Field Values

ACTION_PREVIEW

public static final int ACTION_PREVIEW
Value for the action: show a preview.

See Also:
Constant Field Values

ACTION_SAVE

public static final int ACTION_SAVE
Value for the action: save.

See Also:
Constant Field Values

ACTION_SAVEACTION

public static final int ACTION_SAVEACTION
Constant value for the customizable action button.

See Also:
Constant Field Values

ACTION_SAVEEXIT

public static final int ACTION_SAVEEXIT
Value for the action: save and exit.

See Also:
Constant Field Values

ACTION_SHOW

public static final int ACTION_SHOW
Value for the action: show the editor.

See Also:
Constant Field Values

ACTION_SHOW_ERRORMESSAGE

public static final int ACTION_SHOW_ERRORMESSAGE
Value for the action: an error occurred.

See Also:
Constant Field Values

EDITOR_CHANGE_ELEMENT

public static final java.lang.String EDITOR_CHANGE_ELEMENT
Value for the action parameter: change the element.

See Also:
Constant Field Values

EDITOR_CLEANUP

public static final java.lang.String EDITOR_CLEANUP
Value for the action parameter: cleanup content.

See Also:
Constant Field Values

EDITOR_CLOSEBROWSER

public static final java.lang.String EDITOR_CLOSEBROWSER
Value for the action parameter: close browser window (accidentally).

See Also:
Constant Field Values

EDITOR_DELETELOCALE

public static final java.lang.String EDITOR_DELETELOCALE
Value for the action parameter: delete the current locale.

See Also:
Constant Field Values

EDITOR_EXIT

public static final java.lang.String EDITOR_EXIT
Value for the action parameter: exit editor.

See Also:
Constant Field Values

EDITOR_PREVIEW

public static final java.lang.String EDITOR_PREVIEW
Value for the action parameter: show a preview.

See Also:
Constant Field Values

EDITOR_SAVE

public static final java.lang.String EDITOR_SAVE
Value for the action parameter: save content.

See Also:
Constant Field Values

EDITOR_SAVEACTION

public static final java.lang.String EDITOR_SAVEACTION
Value for the customizable action button.

See Also:
Constant Field Values

EDITOR_SAVEEXIT

public static final java.lang.String EDITOR_SAVEEXIT
Value for the action parameter: save and exit.

See Also:
Constant Field Values

EDITOR_SHOW

public static final java.lang.String EDITOR_SHOW
Value for the action parameter: show the editor.

See Also:
Constant Field Values

EDITOR_SHOW_ERRORMESSAGE

public static final java.lang.String EDITOR_SHOW_ERRORMESSAGE
Value for the action parameter: an error occurred.

See Also:
Constant Field Values

EMPTY_LOCALE

public static final java.lang.String EMPTY_LOCALE
Marker for empty locale in locale selection.

See Also:
Constant Field Values

PARAM_BACKLINK

public static final java.lang.String PARAM_BACKLINK
Parameter name for the request parameter "backlink".

See Also:
Constant Field Values

PARAM_CONTENT

public static final java.lang.String PARAM_CONTENT
Parameter name for the request parameter "content".

See Also:
Constant Field Values

PARAM_DIRECTEDIT

public static final java.lang.String PARAM_DIRECTEDIT
Parameter name for the request parameter "directedit".

See Also:
Constant Field Values

PARAM_EDITASTEXT

public static final java.lang.String PARAM_EDITASTEXT
Parameter name for the request parameter "editastext".

See Also:
Constant Field Values

PARAM_EDITORMODE

public static final java.lang.String PARAM_EDITORMODE
Parameter name for the request parameter "editormode".

See Also:
Constant Field Values

PARAM_ELEMENTLANGUAGE

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

See Also:
Constant Field Values

PARAM_LOADDEFAULT

public static final java.lang.String PARAM_LOADDEFAULT
Parameter name for the request parameter "loaddefault".

See Also:
Constant Field Values

PARAM_MODIFIED

public static final java.lang.String PARAM_MODIFIED
Parameter name for the request parameter "modified".

See Also:
Constant Field Values

PARAM_OLDELEMENTLANGUAGE

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

See Also:
Constant Field Values

PARAM_TEMPFILE

public static final java.lang.String PARAM_TEMPFILE
Parameter name for the request parameter "tempfile".

See Also:
Constant Field Values

PATH_EDITORS

public static final java.lang.String PATH_EDITORS
Stores the VFS editor path.

See Also:
Constant Field Values
Constructor Detail

CmsEditor

public CmsEditor(CmsJspActionElement jsp)
Public constructor.

Parameters:
jsp - an initialized JSP action element
Method Detail

actionClear

public abstract void actionClear(boolean forceUnlock)
Unlocks the edited resource when in direct edit mode or when the resource was not modified.

Parameters:
forceUnlock - if true, the resource will be unlocked anyway

actionExit

public abstract void actionExit()
                         throws CmsException,
                                java.io.IOException,
                                javax.servlet.ServletException,
                                javax.servlet.jsp.JspException
Performs the exit editor action.

Throws:
CmsException - if something goes wrong
java.io.IOException - if a forward fails
javax.servlet.ServletException - if a forward fails
javax.servlet.jsp.JspException - if including an element fails

actionSave

public abstract void actionSave()
                         throws java.io.IOException,
                                javax.servlet.jsp.JspException
Performs the save content action.

Throws:
java.io.IOException - if a redirection fails
javax.servlet.jsp.JspException - if including an element fails

buildSelectElementLanguage

public java.lang.String buildSelectElementLanguage(java.lang.String attributes,
                                                   java.lang.String resourceName,
                                                   java.util.Locale selectedLocale)
Builds the html String for the element language selector.

Parameters:
attributes - optional attributes for the <select> tag
resourceName - the name of the resource to edit
selectedLocale - the currently selected Locale
Returns:
the html for the element language selectbox

button

public java.lang.String button(java.lang.String href,
                               java.lang.String target,
                               java.lang.String image,
                               java.lang.String label,
                               int type,
                               boolean useCustomImage)
Generates a button for the OpenCms editor.

Parameters:
href - the href link for the button, if none is given the button will be disabled
target - the href link target for the button, if none is given the target will be same window
image - the image name for the button, skin path will be automatically added as prefix
label - the label for the text of the button
type - 0: image only (default), 1: image and text, 2: text only
useCustomImage - if true, the button has to be placed in the editors "custom pics" folder
Returns:
a button for the OpenCms editor

buttonActionCancel

public java.lang.String buttonActionCancel()
Returns the editor action for a "cancel" button.

This overwrites the cancel method of the CmsDialog class.

Always use this value, do not write anything directly in the html page.

Returns:
the default action for a "cancel" button

buttonActionDirectEdit

public java.lang.String buttonActionDirectEdit(java.lang.String jsFunction,
                                               int type)
Builds the html to display the special action button for the direct edit mode of the editor.

Parameters:
jsFunction - the JavaScript function which will be executed on the mouseup event
type - 0: image only (default), 1: image and text, 2: text only
Returns:
the html to display the special action button

checkLock

public void checkLock(java.lang.String resource,
                      CmsLockType type)
               throws CmsException
Description copied from class: CmsWorkplace
Checks the lock state of the resource and locks it if the autolock feature is enabled.

Overrides:
checkLock in class CmsWorkplace
Parameters:
resource - the resource name which is checked
type - indicates the mode CmsLockType.EXCLUSIVE or CmsLockType.TEMPORARY
Throws:
CmsException - if reading or locking the resource fails
See Also:
CmsWorkplace.checkLock(String, CmsLockType)

deleteLocaleButton

public java.lang.String deleteLocaleButton(java.lang.String href,
                                           java.lang.String target,
                                           java.lang.String image,
                                           java.lang.String label,
                                           int type)
Generates a button for delete locale.

Parameters:
href - the href link for the button, if none is given the button will be disabled
target - the href link target for the button, if none is given the target will be same window
image - the image name for the button, skin path will be automatically added as prefix
label - the label for the text of the button
type - 0: image only (default), 1: image and text, 2: text only
Returns:
a button for the OpenCms workplace

getEditorDisplayOptions

public CmsEditorDisplayOptions getEditorDisplayOptions()
Returns the instantiated editor display option class from the workplace manager.

This is a convenience method to be used on editor JSPs.

Returns:
the instantiated editor display option class

getEditorResourceUri

public abstract java.lang.String getEditorResourceUri()
Returns the URI to the editor resource folder where button images and javascripts are located.

Returns:
the URI to the editor resource folder

getOpenCmsContext

public java.lang.String getOpenCmsContext()
Returns the OpenCms request context path.

This is a convenience method to use in the editor.

Returns:
the OpenCms request context path

getParamBacklink

public java.lang.String getParamBacklink()
Returns the back link when closing the editor.

Returns:
the back link

getParamContent

public java.lang.String getParamContent()
Returns the content of the editor.

Returns:
the content of the editor

getParamDirectedit

public java.lang.String getParamDirectedit()
Returns the direct edit flag parameter.

Returns:
the direct edit flag parameter

getParamEditastext

public java.lang.String getParamEditastext()
Returns the edit as text parameter.

Returns:
the edit as text parameter

getParamEditormode

public java.lang.String getParamEditormode()
Returns the editor mode parameter.

Returns:
the editor mode parameter

getParamElementlanguage

public java.lang.String getParamElementlanguage()
Returns the current element language.

Returns:
the current element language

getParamLoaddefault

public java.lang.String getParamLoaddefault()
Returns the "loaddefault" parameter to determine if the default editor should be loaded.

Returns:
the "loaddefault" parameter

getParamModified

public java.lang.String getParamModified()
Returns the modified parameter indicating if the resource has been saved.

Returns:
the modified parameter indicating if the resource has been saved

getParamOldelementlanguage

public java.lang.String getParamOldelementlanguage()
Returns the old element language.

Returns:
the old element language

getParamTempfile

public java.lang.String getParamTempfile()
Returns the name of the temporary file.

Returns:
the name of the temporary file

getPicsUri

public java.lang.String getPicsUri()
Returns the path to the images used by this editor.

Returns:
the path to the images used by this editor

setParamBacklink

public void setParamBacklink(java.lang.String backLink)
Sets the back link when closing the editor.

Parameters:
backLink - the back link

setParamContent

public void setParamContent(java.lang.String content)
Sets the content of the editor.

Parameters:
content - the content of the editor

setParamDirectedit

public void setParamDirectedit(java.lang.String direct)
Sets the direct edit flag parameter.

Parameters:
direct - the direct edit flag parameter

setParamEditastext

public void setParamEditastext(java.lang.String editAsText)
Sets the edit as text parameter.

Parameters:
editAsText - "true" if the resource should be handled like a text file

setParamEditormode

public void setParamEditormode(java.lang.String mode)
Sets the editor mode parameter.

Parameters:
mode - the editor mode parameter

setParamElementlanguage

public void setParamElementlanguage(java.lang.String elementLanguage)
Sets the current element language.

Parameters:
elementLanguage - the current element language

setParamLoaddefault

public void setParamLoaddefault(java.lang.String loadDefault)
Sets the "loaddefault" parameter to determine if the default editor should be loaded.

Parameters:
loadDefault - the "loaddefault" parameter

setParamModified

public void setParamModified(java.lang.String modified)
Sets the modified parameter indicating if the resource has been saved.

Parameters:
modified - the modified parameter indicating if the resource has been saved

setParamOldelementlanguage

public void setParamOldelementlanguage(java.lang.String oldElementLanguage)
Sets the old element language.

Parameters:
oldElementLanguage - the old element language

setParamTempfile

public void setParamTempfile(java.lang.String fileName)
Sets the name of the temporary file.

Parameters:
fileName - the name of the temporary file

actionClose

protected void actionClose()
                    throws java.io.IOException,
                           javax.servlet.jsp.JspException,
                           javax.servlet.ServletException
Closes the editor and forwards to the workplace or the resource depending on the editor mode.

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

commitTempFile

protected void commitTempFile()
                       throws CmsException
Writes the content of a temporary file back to the original file.

Throws:
CmsException - if something goes wrong

createTempFile

protected java.lang.String createTempFile()
                                   throws CmsException
Creates a temporary file which is needed while working in an editor with preview option.

Returns:
the file name of the temporary file
Throws:
CmsException - if something goes wrong

decodeContent

protected java.lang.String decodeContent(java.lang.String content)
Decodes the given content the same way the client would do it.

Content is decoded as if it was encoded using the JavaScript "encodeURIComponent()" function.

Parameters:
content - the content to decode
Returns:
the decoded content

decodeParamValue

protected java.lang.String decodeParamValue(java.lang.String paramName,
                                            java.lang.String paramValue)
Decodes an individual parameter value, ensuring the content is always decoded in UTF-8.

For editors the content is always encoded using the JavaScript encodeURIComponent() method on the client, which always encodes in UTF-8.

Overrides:
decodeParamValue in class CmsWorkplace
Parameters:
paramName - the name of the parameter
paramValue - the unencoded value of the parameter
Returns:
the encoded value of the parameter

deleteTempFile

protected void deleteTempFile()
Deletes a temporary file from the OpenCms VFS, needed when exiting an editor.


encodeContent

protected java.lang.String encodeContent(java.lang.String content)
Encodes the given content so that it can be transfered to the client.

Content is encoded so that it is compatible with the JavaScript "decodeURIComponent()" function.

Parameters:
content - the content to encode
Returns:
the encoded content

getCloneCms

protected CmsObject getCloneCms()
                         throws CmsException
Returns a cloned cms instance that prevents the time range resource filter check.

Use it always for unmarshalling and file writing.

Returns:
a cloned cms instance that prevents the time range resource filter check
Throws:
CmsException - if something goes wrong

getFileEncoding

protected java.lang.String getFileEncoding()
Returns the encoding parameter.

Returns:
the encoding parameter

getFileEncoding

protected java.lang.String getFileEncoding(CmsObject cms,
                                           java.lang.String filename)
Helper method to determine the encoding of the given file in the VFS, which must be set using the "content-encoding" property.

Parameters:
cms - the CmsObject
filename - the name of the file which is to be checked
Returns:
the encoding for the file

initContent

protected abstract void initContent()
Initializes the editor content when openening the editor for the first time.


setFileEncoding

protected void setFileEncoding(java.lang.String value)
Sets the encoding parameter.

Parameters:
value - the encoding value to set

showErrorPage

protected void showErrorPage(java.lang.Exception exception)
                      throws javax.servlet.jsp.JspException
Shows the selected error page in case of an exception.

Parameters:
exception - the current exception
Throws:
javax.servlet.jsp.JspException - if inclusion of the error page fails

showErrorPage

protected void showErrorPage(java.lang.Object editor,
                             java.lang.Exception exception)
                      throws javax.servlet.jsp.JspException
Shows the selected error page in case of an exception.

Parameters:
editor - initialized instance of the editor class
exception - the current exception
Throws:
javax.servlet.jsp.JspException - if inclusion of the error page fails