Package com.jalios.jcms
Class BasicDataController
- java.lang.Object
-
- com.jalios.jcms.BasicDataController
-
- All Implemented Interfaces:
DataController
,JcmsConstants
,PluginComponent
,JaliosConstants
,java.lang.Comparable
- Direct Known Subclasses:
AlertController
,ContentController
,JPortalPortletFieldStatusController
,JPortalStructureDataController
,MailMessageDataController
,MediaProgressionDataController
,MentionController
,PortletJspDataController
,PortletQueryForeachDataController
,PublicationFollowerController
,QuotaDataController
,RecentHistoryDataController
,RecommendationController
,SecurityAlertMemberDataController
,UnzipDataController
,VoteDataController
,WFDataController
public class BasicDataController extends java.lang.Object implements DataController, JcmsConstants, PluginComponent
This class is a neutral implementation of DataController. It is intended to be used to developp custom DataController. It avoids the sub-class to implement not used methods of DataController. It implements the Comparable interface. This interface is required since JCMS 5.5.0 ; so that DataController can be invoked in a custom order. The order can be set through the constructor. Default order is 0. When 2 BasicDataControllers are equal they are ordered according their class name, then according their hashCode.- Since:
- jcms-5.0.0
- Author:
- Olivier Dedieu
-
-
Field Summary
Fields Modifier and Type Field Description protected Channel
channel
protected int
order
-
Fields inherited from interface com.jalios.jcms.DataController
CTXT_BYPASS_GIVE_UP_RIGHTS_CHECKING, CTXT_CREATE_COPY, CTXT_DBMEMBER_CONVERT_TO_MEMBER, CTXT_DOC_DIRECTORY, CTXT_DOC_DOCUMENTS_COLLECTION, CTXT_DOC_PSTATUS_CONTROL, CTXT_DOC_UNZIP, CTXT_DOC_UPLOAD, CTXT_DOC_UPLOAD_ATTACHMENT, CTXT_DOC_UPLOAD_NEW_FILE, CTXT_DOC_UPLOAD_PREVIOUS_FILE, CTXT_DOC_UPLOAD_UNIFIED_INSERT_UPLOAD, CTXT_DOC_UPLOAD_WYSIWYG_IMAGE_UPLOAD, CTXT_FORCE_DELETE, CTXT_IGNORE_DBDATA_MODIFICATION_CHECK, CTXT_IGNORE_INTEGRITY_CHECK, CTXT_IS_BATCH_OPERATION, CTXT_IS_SILENT_WRITE, CTXT_IS_UNLOCK_OPERATION, CTXT_MAIL_FETCHER, CTXT_ORIGINAL_DATA, CTXT_PREVIOUS_DATA, CTXT_REST, CTXT_SAVE_ACTION_TO_ANALYTICS, CTXT_SKIP_CSRF_CHECK, CTXT_SYNC_LDAP, CTXT_WEBDAV, CTXT_WIZARD, CTXT_WORK_COPY_MERGE, DO_NOT_STORE
-
Fields inherited from interface com.jalios.util.JaliosConstants
CRLF, MILLIS_IN_ONE_DAY, MILLIS_IN_ONE_HOUR, MILLIS_IN_ONE_MINUTE, MILLIS_IN_ONE_MONTH, MILLIS_IN_ONE_SECOND, MILLIS_IN_ONE_WEEK, MILLIS_IN_ONE_YEAR
-
Fields inherited from interface com.jalios.jcms.JcmsConstants
ADATE_SEARCH, ADMIN_NOTES_PROP, ADVANCED_TAB, AJAX_MODE_ATTR, ARCHIVES_DIR, ASCII_WIDTH, CATEGORY_TAB, CDATE_SEARCH, CLASS_PROPERTY, COMMON_ALARM, CONTENT_TAB, COOKIE_MAX_AGE, COUNTRY_SPRITE, CS_TYPOLOGY_ROOT_CAT_VID, CTRL_TOPIC_INTERNAL, CTRL_TOPIC_REF, CTRL_TOPIC_VALUE, CTRL_TOPIC_WRITE, CUSTOM_PROP, DATA_DIRECTORY, DEFAULT_PHOTO_PROP, DOCCHOOSER_HEIGHT, DOCCHOOSER_WIDTH, DOCS_DIR, EDATE_SEARCH, EMAIL_REGEXP, ERROR_MSG, FORBIDDEN_FILE_ACCESS, FORBIDDEN_REDIRECT, FORCE_REDIRECT, GLYPH_ICON_PREFIX, ICON_ARCHIVE, ICON_ICON_PREFIX, ICON_LOCK, ICON_LOCK_STRONG, ICON_PREFIX_PROP, ICON_WARN, ICON_WH_BOOK_CLOSED, ICON_WH_BOOK_OPEN, INFORMATION_MSG, IS_IN_FRONT_OFFICE, JALIOS_JUNIT_PROP, JCMS_CADDY, JCMS_MSG_LIST, JCMS_TOASTR_COLLECTION, JSYNC_DOWNLOAD_DIR, JSYNC_SYNC_ALARM, LANG_SPRITE, LOG_FILE, LOG_TOPIC_SECURITY, LOGGER_PROP, LOGGER_XMLPROP, MBR_PHOTO_DIR, MDATE_SEARCH, MONITOR_XML, OP_CREATE, OP_CREATE_STR, OP_DEEP_COPY, OP_DEEP_COPY_STR, OP_DEEP_DELETE, OP_DEEP_DELETE_STR, OP_DELETE, OP_DELETE_STR, OP_MERGE, OP_MERGE_STR, OP_UPDATE, OP_UPDATE_STR, ORGANIZATION_ROOT_GROUP_PROP, PDATE_SEARCH, PHOTO_DIR, PHOTO_ICON, PHOTO_ICON_HEIGHT, PHOTO_ICON_PROP_PREFIX, PHOTO_ICON_WIDTH, PHOTO_LARGE, PHOTO_LARGE_HEIGHT, PHOTO_LARGE_PROP_PREFIX, PHOTO_LARGE_WIDTH, PHOTO_MINI, PHOTO_MINI_HEIGHT, PHOTO_MINI_PROP_PREFIX, PHOTO_MINI_WIDTH, PHOTO_NORMAL, PHOTO_NORMAL_HEIGHT, PHOTO_NORMAL_PROP_PREFIX, PHOTO_NORMAL_WIDTH, PHOTO_SMALL, PHOTO_SMALL_HEIGHT, PHOTO_SMALL_PROP_PREFIX, PHOTO_SMALL_WIDTH, PHOTO_TINY, PHOTO_TINY_HEIGHT, PHOTO_TINY_PROP_PREFIX, PHOTO_TINY_WIDTH, PREVIOUS_TAB, PRINT_VIEW, PRIVATE_FILE_ACCESS, PUBLIC_FILE_ACCESS, RAW_CONTENT_ICON_PREFIX, READ_RIGHT_TAB, SDATE_SEARCH, SEARCHENGINE_ALARM, SECURITY_LOG_FILE, SESSION_AUTHORIZED_FILENAMES_SET, SPRITE_ICON_PREFIX, STATS_REPORT_DIR, STATUS_PROP, STORE_DIR, STORE_XML, SUCCESS_MSG, SVG_ICON_PREFIX, SVGINLINE_ICON_PREFIX, TEMPLATE_TAB, THUMBNAIL_LARGE_HEIGHT, THUMBNAIL_LARGE_WIDTH, THUMBNAIL_SMALL_HEIGHT, THUMBNAIL_SMALL_WIDTH, TTCARD_MEDIA_HEIGHT, TTCARD_MEDIA_WIDTH, TYPES_ICON_ALT_PROP, TYPES_ICON_SUFFIX_PROP, TYPES_ICON_TITLE_PROP, TYPES_PREFIX_PROP, TYPES_THUMB_SUFFIX_PROP, UDATE_SEARCH, UPDATE_RIGHT_TAB, UPLOAD_DIR, UPLOAD_PERMISSION_COUNT_PROP_PREFIX, UPLOAD_PERMISSION_SIZE_PROP_PREFIX, URL_REGEXP, VID_LOGGED_MEMBER, WARNING_MSG, WEBAPP_PROP, WFEXPRESS_ALARM, WFREMINDER_ALARM, WORKFLOW_TAB, WORKFLOW_XML
-
-
Constructor Summary
Constructors Constructor Description BasicDataController()
Constructs a BasicDataController with order = 0BasicDataController(int order)
Constructs a BasicDataController with the given order
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
afterWrite(Data data, int op, Member mbr, java.util.Map context)
This method is called once the write operation has been performed.void
beforeWrite(Data data, int op, Member mbr, java.util.Map context)
This method is called before the write operation is performed.protected ControllerStatus
checkFieldMLRequired(Publication pub, java.lang.String fieldName, java.lang.String value, java.util.HashMap valueML)
This convenient method checks if the given multilingual field is required.protected ControllerStatus
checkFieldRequired(Publication pub, java.lang.String fieldName, java.lang.String value)
This convenient method checks if the given field is required.ControllerStatus
checkIntegrity(Data data)
Checks if the given data respects constraints integrityControllerStatus
checkWrite(Data data, int op, Member mbr, boolean checkIntegrity, java.util.Map context)
Checks if the given write operation can be performedint
compareTo(java.lang.Object obj)
Compare this object with the specified object for order.boolean
equals(java.lang.Object obj)
Indicates wheter some other object is "equal to" this one.int
getOrder()
Retrieve the order value used to sort BasicDataController.boolean
init(Plugin plugin)
Initialize the component with the given plugin configurationvoid
processFieldStatusMap(Data data, Member mbr, java.util.Map<java.lang.String,FieldStatus> map)
This method is called to fill the map of FieldStatus for the given data.protected void
updateFieldStatusMap(java.util.Map<java.lang.String,FieldStatus> map, java.lang.String fieldName, FieldStatus status)
This convenient methods update a FieldStatus map with the given status
-
-
-
Field Detail
-
order
protected int order
-
channel
protected Channel channel
-
-
Method Detail
-
init
public boolean init(Plugin plugin)
Description copied from interface:PluginComponent
Initialize the component with the given plugin configuration- Specified by:
init
in interfacePluginComponent
- Parameters:
plugin
- the calling plugin- Returns:
- true if the component has been correctly initialized.
- Since:
- jcms-5.7.1
- See Also:
PluginComponent.init(Plugin)
-
checkIntegrity
public ControllerStatus checkIntegrity(Data data)
Checks if the given data respects constraints integrity- Specified by:
checkIntegrity
in interfaceDataController
- Parameters:
data
- the data to be checked- Returns:
- a ControllerStatus
- Since:
- jcms-5.0.0
-
checkWrite
public ControllerStatus checkWrite(Data data, int op, Member mbr, boolean checkIntegrity, java.util.Map context)
Checks if the given write operation can be performed- Specified by:
checkWrite
in interfaceDataController
- Parameters:
data
- the data involved by this operationop
- the operation (OP_CREATE, OP_UPDATE, ...)mbr
- the member which requests the write operationcheckIntegrity
- if true, requires the constraints integrity to be checkedcontext
- a map which contains context parameters (may be null)- Returns:
- a ControllerStatus
- Since:
- jcms-5.0.0
-
processFieldStatusMap
public void processFieldStatusMap(Data data, Member mbr, java.util.Map<java.lang.String,FieldStatus> map)
This method is called to fill the map of FieldStatus for the given data. The key of the map in the name of the field.- Specified by:
processFieldStatusMap
in interfaceDataController
- Parameters:
data
- the datambr
- the member which requests the datamap
- the map of FieldStatus- Since:
- jcms-6.0.1
-
beforeWrite
public void beforeWrite(Data data, int op, Member mbr, java.util.Map context)
This method is called before the write operation is performed.- Specified by:
beforeWrite
in interfaceDataController
- Parameters:
data
- the data which will be writtenop
- the operation (OP_CREATE, OP_UPDATE, ...)mbr
- the member which requests the write operationcontext
- a map which contains context parameters (may be null)- Since:
- jcms-5.0.0
-
afterWrite
public void afterWrite(Data data, int op, Member mbr, java.util.Map context)
This method is called once the write operation has been performed.- Specified by:
afterWrite
in interfaceDataController
- Parameters:
data
- the data that was writtenop
- the operation (OP_CREATE, OP_UPDATE, ...)mbr
- the member who requested the write operationcontext
- a map which contains context parameters (may be null)- Since:
- jcms-5.0.0
-
compareTo
public int compareTo(java.lang.Object obj)
Compare this object with the specified object for order.- Specified by:
compareTo
in interfacejava.lang.Comparable
- Parameters:
obj
- the Object to be compared.- See Also:
Comparable.compareTo(java.lang.Object)
-
equals
public boolean equals(java.lang.Object obj)
Indicates wheter some other object is "equal to" this one. The comparison is performed with compareTo() method.- Overrides:
equals
in classjava.lang.Object
- Parameters:
obj
- the Object to be compared.
-
checkFieldMLRequired
protected ControllerStatus checkFieldMLRequired(Publication pub, java.lang.String fieldName, java.lang.String value, java.util.HashMap valueML)
This convenient method checks if the given multilingual field is required.- Parameters:
pub
- the publicationfieldName
- the name of the fieldvalue
- the value of the fieldvalueML
- the ML value of the field- Returns:
- a ControllerStatus
- Since:
- jcms-6.0.1
-
checkFieldRequired
protected ControllerStatus checkFieldRequired(Publication pub, java.lang.String fieldName, java.lang.String value)
This convenient method checks if the given field is required.- Parameters:
pub
- the publicationfieldName
- the name of the fieldvalue
- the value of the field- Returns:
- a ControllerStatus
- Since:
- jcms-6.0.1
-
updateFieldStatusMap
protected void updateFieldStatusMap(java.util.Map<java.lang.String,FieldStatus> map, java.lang.String fieldName, FieldStatus status)
This convenient methods update a FieldStatus map with the given status- Parameters:
map
- the FieldStatus mapfieldName
- the name of the field (i.e. the key of the map)status
- the FieldStatus to be added- Since:
- jcms-6.0.1
-
getOrder
public int getOrder()
Retrieve the order value used to sort BasicDataController.- Returns:
- an integer value, default is 0
- Since:
- jcms-7.1
-
-