Package org.opencms.workplace.editors
Class CmsDefaultPageEditor
- java.lang.Object
-
- org.opencms.workplace.CmsWorkplace
-
- org.opencms.workplace.tools.CmsToolDialog
-
- org.opencms.workplace.CmsDialog
-
- org.opencms.workplace.editors.CmsEditorBase
-
- org.opencms.workplace.editors.CmsEditor
-
- 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
-
-
Field Summary
Fields Modifier and Type Field Description 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.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_ACTION_VALUE_FOR_CHANGED_INDEX, 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_ADMIN_PROJECT, PARAM_BASE, PARAM_FORCE, PARAM_PATH, PARAM_ROOT, PARAM_STYLE, STYLE_NEW
-
Fields inherited from class org.opencms.workplace.CmsWorkplace
DEBUG, DEFAULT_DATE_STRING, 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, INPUT_DEFAULT, INPUT_NONE, JSP_WORKPLACE_URI, PARAM_DIRECTPUBLISH, PARAM_MODELFILE, PARAM_NEWRESOURCETYPE, PARAM_PUBLISHSIBLINGS, PARAM_RELATEDRESOURCES, PARAM_RESOURCELIST, PARAM_SUBRESOURCES, PARAM_WP_EXPLORER_RESOURCE, PARAM_WP_PROJECT, PARAM_WP_SITE, PARAM_WP_START, PARAM_WP_VIEW, PATH_DIALOGS, PATH_WORKPLACE, REQUEST_ATTRIBUTE_MULTIPART, REQUEST_ATTRIBUTE_RELOADTREE, RES_PATH_FILETYPES, RFS_PATH_RESOURCES, SESSION_WORKPLACE_CLASS, VFS_DIR_DEFAULTBODIES, VFS_DIR_TEMPLATES, VFS_PATH_COMMONS, VFS_PATH_EDITORS, VFS_PATH_GALLERIES, VFS_PATH_LOCALES, VFS_PATH_MODELDIALOG, VFS_PATH_MODULES, VFS_PATH_NEWRESOURCEDIALOG, VFS_PATH_RESOURCES, VFS_PATH_SITES, VFS_PATH_SYSTEM, VFS_PATH_VIEWS, VFS_PATH_WORKPLACE, VIEW_ADMIN, VIEW_DIRECT_EDIT, VIEW_EXPLORER, VIEW_GALLERY, VIEW_LIST, VIEW_WORKPLACE
-
-
Constructor Summary
Constructors Constructor Description CmsDefaultPageEditor(CmsJspActionElement jsp)
Public constructor.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description 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<CmsDialogElement>
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, clearEditorSessionInfo, commitTempFile, createTempFile, decodeContent, decodeParamValue, deleteLocaleButton, deleteTempFile, encodeContent, getCloneCms, getEditorDisplayOptions, getEditorResourceUri, getEditorSessionInfo, getFileEncoding, getFileEncoding, getOpenCmsContext, getParamBacklink, getParamContent, getParamDirectedit, getParamEditastext, getParamEditormode, getParamElementlanguage, getParamLoaddefault, getParamModified, getParamOldelementlanguage, getParamTempfile, getPicsUri, initMessages, initSessionInfo, setFileEncoding, setParamBacklink, setParamContent, setParamDirectedit, setParamEditastext, setParamEditormode, setParamElementlanguage, setParamLoaddefault, setParamModified, setParamOldelementlanguage, setParamTempfile, showErrorPage, showErrorPage
-
Methods inherited from class org.opencms.workplace.editors.CmsEditorBase
checkResourcePermissions, checkRole, initTimeWarp
-
Methods inherited from class org.opencms.workplace.CmsDialog
actionCloseDialog, appendDelimiter, buildAjaxResultContainer, buildAjaxWaitMessage, buildLockAdditionalOptions, buildLockConfirmationMessageJS, buildLockHeaderBox, 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, openLaunchpad, openWorkplaceLink, pageHtml, pageHtml, setAction, setOnlineHelpUriCustom, setParamAction, setParamCloseLink, setParamDialogtype, setParamFramename, setParamIsPopup, setParamMessage, setParamOriginalParams, setParamPreActionDone, setParamRedirect, setParamResource, setParamTitle
-
Methods inherited from class org.opencms.workplace.tools.CmsToolDialog
computeUpLevelLink, 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, canEditPermissionsForRoles, checkLock, fillParamValues, fillParamValues, generateCssStyle, generatePageEndExtended, generatePageEndSimple, generatePageStartExtended, generatePageStartSimple, getBroadcastMessageString, getCms, getEncoding, getExplorerFileListFullUri, getFrameSource, getJsp, getLocale, getMacroResolver, getMessages, getMultiPartFileItems, getParameterMap, getResourceUri, getResourceUri, getSession, getSettings, getSkinUri, getStartSiteRoot, getStartSiteRoot, getStaticResourceUri, getStaticResourceUri, getStyleUri, getStyleUri, getStyleUri, getTemporaryFileName, getWorkplaceExplorerLink, getWorkplaceExplorerLink, getWorkplaceSettings, htmlEnd, initSettings, initUserSettings, initWorkplaceMembers, initWorkplaceMembers, initWorkplaceSettings, isForwarded, isHelpEnabled, isSubElement, isTemporaryFile, key, key, keyDefault, nullToEmpty, paramsAsHidden, paramsAsHidden, paramsAsParameterMap, paramsAsRequest, paramValues, resolveMacros, sendCmsRedirect, sendForward, setForwarded, shortKey, substituteSiteTitle, substituteSiteTitleStatic, switchToCurrentProject, switchToTempProject, updateUserPreferences
-
-
-
-
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_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 classCmsEditor
- 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 failsjavax.servlet.jsp.JspException
- if including a JSP failsjavax.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 classCmsEditor
- Throws:
java.io.IOException
- if a forward failsjavax.servlet.jsp.JspException
- if including an element failsjavax.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 failsjavax.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 classCmsEditor
- 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<CmsDialogElement> 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 classCmsEditor
- 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 writelocale
- 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
-
-