org.opencms.widgets
Class CmsMultiSelectGroupWidget

java.lang.Object
  extended by org.opencms.widgets.A_CmsWidget
      extended by org.opencms.widgets.A_CmsSelectWidget
          extended by org.opencms.widgets.CmsSelectWidget
              extended by org.opencms.widgets.CmsSelectGroupWidget
                  extended by org.opencms.widgets.CmsMultiSelectGroupWidget
All Implemented Interfaces:
I_CmsADEWidget, I_CmsWidget

public class CmsMultiSelectGroupWidget
extends CmsSelectGroupWidget

Provides a widget for group selection multi select boxes.

This widget is configurable with the following options:

To map the selected group to a permission to set, use the following mapping configuration:

<mapping element="..." mapto="permission:GROUP:+r+v|GROUP.ALL_OTHERS:|GROUP.Projectmanagers:+r+v+w+c" />

This means that the +r+v permission is written for the principal GROUP on the resource. Additionally two permissions are written as default: for ALL_OTHERS, no allowed permission is set, for Projectmanagers, "+r+v+w+c" is set.

Since:
8.0.2
Version:
$Revision: 1.1 $
Author:
Mario Jaeger

Nested Class Summary
 
Nested classes/interfaces inherited from class org.opencms.widgets.A_CmsWidget
A_CmsWidget.CmsDummyWidgetDialog
 
Field Summary
static java.lang.String CONFIGURATION_DEFAULT_ALL
          Configuration parameter name to use all available groups as default.
 
Fields inherited from class org.opencms.widgets.CmsSelectGroupWidget
CONFIGURATION_GROUPFILTER, CONFIGURATION_GROUPS, CONFIGURATION_INCLUDESUBOUS, CONFIGURATION_OUFQN
 
Fields inherited from class org.opencms.widgets.A_CmsSelectWidget
CONFIGURATION_HEIGHT
 
Fields inherited from class org.opencms.widgets.A_CmsWidget
HELP_POSTFIX, LABEL_PREFIX
 
Constructor Summary
CmsMultiSelectGroupWidget()
          Creates a new group select widget.
CmsMultiSelectGroupWidget(java.lang.String configuration)
          Creates a group select widget with the specified select options.
CmsMultiSelectGroupWidget(java.lang.String configuration, boolean asCheckboxes)
          Creates a select widget with the select options specified in the given configuration List.
 
Method Summary
 java.lang.String getConfiguration(CmsObject cms, A_CmsXmlContentValue schemaType, CmsMessages messages, CmsResource resource, java.util.Locale contentLocale)
          Returns the configuration string for the ADE content editor widget.
 java.lang.String getDialogIncludes(CmsObject cms, I_CmsWidgetDialog widgetDialog)
          Generates the necessary JavaScript inclusion code for this widget.
 java.lang.String getDialogWidget(CmsObject cms, I_CmsWidgetDialog widgetDialog, I_CmsWidgetParameter param)
          Generates the widget HTML for the provided widget parameter.
 java.lang.String getWidgetName()
          Returns the class name of the widget.
 I_CmsWidget newInstance()
          Creates a duplicate of this widget instance.
protected  java.util.List<CmsSelectWidgetOption> parseSelectOptions(CmsObject cms, CmsMessages messages, I_CmsWidgetParameter param)
          Returns the list of configured select options, parsing the configuration String if required.
protected  java.util.List<CmsSelectWidgetOption> parseSelectOptions(CmsObject cms, I_CmsWidgetDialog widgetDialog, I_CmsWidgetParameter param)
          Returns the list of configured select options, parsing the configuration String if required.
 void setConfiguration(java.lang.String configuration)
          Sets the configuration of this widget.
 void setEditorValue(CmsObject cms, java.util.Map<java.lang.String,java.lang.String[]> formParameters, I_CmsWidgetDialog widgetDialog, I_CmsWidgetParameter param)
          Sets the value of in the given widget parameter by reading the "right" value from the offered map of parameters.
 
Methods inherited from class org.opencms.widgets.CmsSelectGroupWidget
getCssResourceLinks, getInitCall, getJavaScriptResourceLinks, isInternal
 
Methods inherited from class org.opencms.widgets.CmsSelectWidget
getWidgetStringValue
 
Methods inherited from class org.opencms.widgets.A_CmsSelectWidget
addSelectOption, getConfiguration, getHeight, getSelectedValue, getSelectedValues, getSelectOptions, setSelectOptions
 
Methods inherited from class org.opencms.widgets.A_CmsWidget
equals, getDialogHtmlEnd, getDialogInitCall, getDialogInitMethod, getHelpBubble, getHelpKey, getHelpText, getJsHelpMouseHandler, getJSIncludeFile, getLabelKey, hashCode
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.opencms.widgets.I_CmsWidget
getDialogHtmlEnd, getDialogInitCall, getDialogInitMethod, getHelpBubble, getHelpText
 

Field Detail

CONFIGURATION_DEFAULT_ALL

public static final java.lang.String CONFIGURATION_DEFAULT_ALL
Configuration parameter name to use all available groups as default.

See Also:
Constant Field Values
Constructor Detail

CmsMultiSelectGroupWidget

public CmsMultiSelectGroupWidget()
Creates a new group select widget.


CmsMultiSelectGroupWidget

public CmsMultiSelectGroupWidget(java.lang.String configuration)
Creates a group select widget with the specified select options.

Parameters:
configuration - the configuration (possible options) for the group select box

CmsMultiSelectGroupWidget

public CmsMultiSelectGroupWidget(java.lang.String configuration,
                                 boolean asCheckboxes)
Creates a select widget with the select options specified in the given configuration List.

The list elements must be of type CmsSelectWidgetOption.

Parameters:
configuration - the configuration (possible options) for the select widget
asCheckboxes - indicates if used html code is a multi selection list or a list of checkboxes
See Also:
CmsSelectWidgetOption
Method Detail

getConfiguration

public java.lang.String getConfiguration(CmsObject cms,
                                         A_CmsXmlContentValue schemaType,
                                         CmsMessages messages,
                                         CmsResource resource,
                                         java.util.Locale contentLocale)
Description copied from interface: I_CmsADEWidget
Returns the configuration string for the ADE content editor widget.

Specified by:
getConfiguration in interface I_CmsADEWidget
Overrides:
getConfiguration in class CmsSelectGroupWidget
Parameters:
cms - the OpenCms context
schemaType - the schema type
messages - the messages
resource - the edited resource
contentLocale - the content locale
Returns:
the configuration string
See Also:
I_CmsADEWidget.getConfiguration(org.opencms.file.CmsObject, org.opencms.xml.types.A_CmsXmlContentValue, org.opencms.i18n.CmsMessages, org.opencms.file.CmsResource, java.util.Locale)

getDialogIncludes

public java.lang.String getDialogIncludes(CmsObject cms,
                                          I_CmsWidgetDialog widgetDialog)
Description copied from interface: I_CmsWidget
Generates the necessary JavaScript inclusion code for this widget.

Specified by:
getDialogIncludes in interface I_CmsWidget
Overrides:
getDialogIncludes in class A_CmsWidget
Parameters:
cms - the current users OpenCms context
widgetDialog - the dialog where the widget is used on
Returns:
the JavaScript inclusion code
See Also:
I_CmsWidget.getDialogIncludes(org.opencms.file.CmsObject, org.opencms.widgets.I_CmsWidgetDialog)

getDialogWidget

public java.lang.String getDialogWidget(CmsObject cms,
                                        I_CmsWidgetDialog widgetDialog,
                                        I_CmsWidgetParameter param)
Description copied from interface: I_CmsWidget
Generates the widget HTML for the provided widget parameter.

Specified by:
getDialogWidget in interface I_CmsWidget
Overrides:
getDialogWidget in class CmsSelectWidget
Parameters:
cms - an initialized instance of a CmsObject
widgetDialog - the dialog where the widget is used on
param - the widget parameter to generate the widget for
Returns:
the widget HTML for the provided widget parameter
See Also:
I_CmsWidget.getDialogWidget(org.opencms.file.CmsObject, org.opencms.widgets.I_CmsWidgetDialog, org.opencms.widgets.I_CmsWidgetParameter)

getWidgetName

public java.lang.String getWidgetName()
Description copied from interface: I_CmsADEWidget
Returns the class name of the widget.

Specified by:
getWidgetName in interface I_CmsADEWidget
Overrides:
getWidgetName in class CmsSelectWidget
Returns:
the class name
See Also:
I_CmsADEWidget.getWidgetName()

newInstance

public I_CmsWidget newInstance()
Description copied from interface: I_CmsWidget
Creates a duplicate of this widget instance.

Specified by:
newInstance in interface I_CmsWidget
Overrides:
newInstance in class CmsSelectGroupWidget
Returns:
a duplicate of this widget instance
See Also:
I_CmsWidget.newInstance()

setConfiguration

public void setConfiguration(java.lang.String configuration)
Description copied from interface: I_CmsWidget
Sets the configuration of this widget.

This can be used to enable / disable certain widget features that should not always be available, or to pass specific initialization information to the widget. It depends on the widget implementation on how this information is used.

Specified by:
setConfiguration in interface I_CmsWidget
Overrides:
setConfiguration in class A_CmsSelectWidget
Parameters:
configuration - the configuration to set
See Also:
A_CmsWidget.setConfiguration(java.lang.String)

setEditorValue

public void setEditorValue(CmsObject cms,
                           java.util.Map<java.lang.String,java.lang.String[]> formParameters,
                           I_CmsWidgetDialog widgetDialog,
                           I_CmsWidgetParameter param)
Description copied from interface: I_CmsWidget
Sets the value of in the given widget parameter by reading the "right" value from the offered map of parameters.

Specified by:
setEditorValue in interface I_CmsWidget
Overrides:
setEditorValue in class A_CmsWidget
Parameters:
cms - the current users OpenCms context
formParameters - the map of parameters to get the value from
widgetDialog - the dialog where the widget is used on
param - the widget parameter to generate the widget for
See Also:
A_CmsWidget.setEditorValue(org.opencms.file.CmsObject, java.util.Map, org.opencms.widgets.I_CmsWidgetDialog, org.opencms.widgets.I_CmsWidgetParameter)

parseSelectOptions

protected java.util.List<CmsSelectWidgetOption> parseSelectOptions(CmsObject cms,
                                                                   CmsMessages messages,
                                                                   I_CmsWidgetParameter param)
Description copied from class: CmsSelectGroupWidget
Returns the list of configured select options, parsing the configuration String if required.

The list elements are of type CmsSelectWidgetOption. The configuration String is parsed only once and then stored internally.

Overrides:
parseSelectOptions in class CmsSelectGroupWidget
Parameters:
cms - the current users OpenCms context
messages - the messages of this dialog
param - the widget parameter of this dialog
Returns:
the list of select options
See Also:
CmsSelectGroupWidget.parseSelectOptions(org.opencms.file.CmsObject, org.opencms.i18n.CmsMessages, org.opencms.widgets.I_CmsWidgetParameter)

parseSelectOptions

protected java.util.List<CmsSelectWidgetOption> parseSelectOptions(CmsObject cms,
                                                                   I_CmsWidgetDialog widgetDialog,
                                                                   I_CmsWidgetParameter param)
Description copied from class: A_CmsSelectWidget
Returns the list of configured select options, parsing the configuration String if required.

The list elements are of type CmsSelectWidgetOption. The configuration String is parsed only once and then stored internally.

Overrides:
parseSelectOptions in class CmsSelectGroupWidget
Parameters:
cms - the current users OpenCms context
widgetDialog - the dialog of this widget
param - the widget parameter of this dialog
Returns:
the list of select options
See Also:
A_CmsSelectWidget.parseSelectOptions(org.opencms.file.CmsObject, org.opencms.widgets.I_CmsWidgetDialog, org.opencms.widgets.I_CmsWidgetParameter)