Class MembersCsvImportHandler
- java.lang.Object
-
- com.jalios.jcms.context.JcmsContext
-
- com.jalios.jcms.context.JcmsJspContext
-
- com.jalios.jcms.handler.JcmsFormHandler
-
- com.jalios.jcms.handler.EditDataHandler
-
- com.jalios.jcms.handler.MembersCsvImportHandler
-
- All Implemented Interfaces:
JcmsConstants
,JaliosConstants
public class MembersCsvImportHandler extends EditDataHandler
This handler is used to perform Member CSV import through JCMS modal.
See alsoMemberImportManager
.- Since:
- jcms-8
- Version:
- $Revision: 136275 $
- Author:
- Sylvain Devaux
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
MembersCsvImportHandler.WorkspaceUnderRootCatSelector
Selects workspaces which catSet is under given rootCat.
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
ADMIN_USERS_MEMBER_ACL
protected boolean
asGuests
protected java.lang.Class<? extends Publication>
collaborativeSpaceClazz
The optional Collaborative Space class.protected boolean
collaborativeSpaceInitDone
protected boolean
collaborativeSpacePluginActive
static java.lang.String
CREATED_IDS_REQ_ATTR
static java.lang.String
CS_GROUP_ID_PARAM
protected java.lang.String[]
csGrpIds
static java.lang.String
CSV_COMMA_CHAR_SEP
static java.lang.String
CSV_FILE_HTML_PARAM
static java.lang.String
CSV_SEMICOLON_CHAR_SEP
protected java.io.File
csvFile
The uploaded csvFile.static java.lang.String
DBMEMBER_PARAM
protected java.lang.String
dbMembers
True to store as DBMember.class, false as Member.class.protected DocUploadInfo
docUploadInfo
static java.lang.String
EMAIL_SENT_REQ_ATTR
protected long
endTime
For debug purpose.protected java.lang.String
filename
Used to pass the fileDoc filename through different steps.protected static java.lang.String
FILENAME_HTML_PARAM
static java.lang.String
FORMHANDLER_REQ_ATTR
protected java.lang.String
gid
static java.lang.String
GID_PARAM
'gid' must be same than parameter added in member list when filtering on a Group.static java.lang.String
GLOBAL_GROUP_ID_PARAM
static java.lang.String
GLOBAL_GROUP_IDS_FLAG_PARAM
protected java.lang.String[]
globalGrpIds
protected boolean
hasToSendEmail
static java.lang.String
IMPORT_DONE_REQ_ATTR
static java.lang.String
IMPORT_TYPE_ACCOUNT
static java.lang.String
IMPORT_TYPE_CONTACT
static java.lang.String
IMPORT_TYPE_GUEST
static java.lang.String
IMPORT_TYPE_PARAM
protected MemberImportManager
importManager
protected boolean
isBlockingError
Is there any blocking error during checking the csv file ? Not implemented yet.protected boolean
isGlobalGrpStepReached
True only if common groups step was reached.protected java.util.List<MemberImport>
memberInfoList
The list containing each line.protected boolean
opUpload
static java.lang.String
REVISION
static java.lang.String
SEND_EMAIL_HTML_PARAM
protected java.lang.String
sendEmail
protected java.lang.String
separator
static java.lang.String
SEPARATOR_HTML_PARAM
protected long
startTime
For debug purpose.static int
STEP_1_FILE
static int
STEP_2_PREVIEW
static int
STEP_3
static int
STEP_4
static int
STEP_5
static java.lang.String
UPDATED_IDS_REQ_ATTR
protected int
usage
The usage to set for members to create.
By default creates Accounts.static java.lang.String
USAGE_PARAM
protected boolean
useDbMembers
Same asdbMembers
, as boolean.static java.lang.String
WS_GROUP_ID_PARAM
protected java.lang.String[]
wsGrpIds
-
Fields inherited from class com.jalios.jcms.handler.EditDataHandler
extFormHandler, id, isDeleteForced, opCancel, opCreate, opDelete, opRefresh, opUpdate, resultOpCreate, resultOpDelete, resultOpUpdate
-
Fields inherited from class com.jalios.jcms.handler.JcmsFormHandler
contextMap, csrfValidationEnabled, editFieldSet, formStep, noRedirect, noSendRedirect, op, opFinish, opNext, opPrevious, popupEdition, redirect, redirectOnClosePopup, workspaceForced
-
Fields inherited from class com.jalios.jcms.context.JcmsJspContext
AJAX_REQUEST_ATTRIBUTES, BODY_HEADER, CSS_FOOTER, CSS_HEADER, cssboMap, cssfoMap, CUSTOM_HEADER, editIcon, HTTPEQUIV_HEADER, httpequivMap, HTTPNAME_HEADER, httpnameMap, initEditIcon, JAVASCRIPT_CODE_SET_ATTRIBUTE, JAVASCRIPT_SET_ATTRIBUTE, jsboSet, jsfoSet, out, pageContext, SHOW_EDIT_ICON, STYLE_HEADER
-
Fields inherited from class com.jalios.jcms.context.JcmsContext
browser, caddy, channel, inFO, initDone, initWorkspace, isAdmin, isAjaxRequest, isDBMember, isDebug, isDebugTemplatePath, isLogged, loggedMember, request, response, userCountry, userLang, userLocale, userZoneId, workspace
-
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, 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_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_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 MembersCsvImportHandler()
The default constructor.
Checks first the actual member limit to avoid member import if limit is already reached.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
deleteCsvFile()
If the file exists, try to delete it.
This method has to be called each time the csvFile is no more used (eg.boolean
displayGuestOption()
boolean
displayUsageOption()
java.util.Collection<java.lang.String>
getAllGroupIds()
java.util.Set<Workspace>
getCollaborativeSpaceSet()
Retrieve all the Collaborative workspaces as a Set, with the following conditions : workspace's isCollaborativeSpace() method return true; workspace is open workspace is not a model member belongs to workspace, or collaborative space has public access.int
getCreateCount()
java.lang.String[]
getCsGrpIds()
java.lang.Class<? extends Data>
getDataClass()
Overriding EditDataHandler for Steps modal Form purpose, but not really editing a Data.java.lang.String
getFilename()
int
getFormStepCount()
The number of steps is dynamic, is minimum 2, and maximum 4.java.lang.String
getFormStepHiddenFields()
Stores through different steps the uploaded file path.java.lang.String
getGid()
Group
getGidGroup()
java.util.Set<Group>
getGlobalGroupSet()
java.lang.String[]
getGlobalGrpIds()
Return common groups selected by user in GUI to add new members to.Group
getGuestGroup()
protected java.lang.String
getHiddenField(java.lang.String htmlName, java.io.File csvFile)
Specific method to put a file relative to JCMS temp dir as hidden modal field.
Does not encode value, since super.getHiddenField() does it.java.lang.String
getImportType()
int
getInvalidCount()
java.util.List<MemberImport>
getMemberInfoList()
java.lang.String
getSendEmail()
java.lang.String
getSeparator()
int
getUpdateCount()
int
getUsage()
java.util.Set<Workspace>
getWorkspaceSet()
Retrieve all the workspaces as a Set, with the following conditions : workspace's getCatSet() is child of "$id.member.csv-import.ws-root-cat" root category.java.lang.String[]
getWsGrpIds()
boolean
hasGlobalGroupsStep()
boolean
hasToSendEmail()
protected void
init()
Method to implement if you need to initialize your handler from parameter received, prior to all security validation.boolean
isAccountMode()
Return true if import mode isAccount
.boolean
isAnyError()
protected boolean
isCollaborativeSpacePluginAvailable()
boolean
isCollaborativeSpaceStep()
boolean
isContactMode()
Return true if import mode isContact
.boolean
isGlobalGroupsStep()
boolean
isGuestMode()
boolean
isWorkspaceStep()
Returns weither Workspace step should be displayed.boolean
performCancel()
protected boolean
performPrevious()
boolean
processAction()
Performs the import (real or simulation) if a valid CSV file has been uploaded.void
setCsGrpIds(java.lang.String[] v)
void
setDbMembers(java.lang.String dbMembers)
Set true to create Member in DataBase.
False, to create JStore Members.
Only used for creation, not for updates.void
setDocuments(java.lang.String[] v)
Moves the plupload uploaded file to JCMS temp directory in order the uploaded files to be cleaned periodically by JCMS.void
setFilename(java.lang.String filename)
Set the name of the file, previous uploaded in temporary directory on first step, that we must use for CSV import.void
setGid(java.lang.String v)
void
setGlobalGrpIds(java.lang.String[] v)
void
setGlobalGrpIdsFlag(java.lang.String v)
A flag to indicate common groups step was reached.void
setGuest(java.lang.String v)
Set weither members have to be imported as guests.void
setImportType(java.lang.String importType)
void
setOpUpload(java.lang.String upload)
void
setSendEmail(java.lang.String sendEmail)
void
setSeparator(java.lang.String separator)
void
setUsage(int usage)
void
setWsGrpIds(java.lang.String[] v)
boolean
showFinishButton()
Check if the "Finish" button should be displayed in step modal form.boolean
showNextButton()
Check if the "Next" button should be displayed in step modal form.boolean
useDbMembers()
protected boolean
validateFinish()
protected boolean
validatePrevious()
boolean
validateUpload()
Validates the file format to import.-
Methods inherited from class com.jalios.jcms.handler.EditDataHandler
afterValidation, createUploadedFileDocument, createUploadedFileDocument, createUploadedFileDocument, createUploadedFileDocument, getAvailableData, getAvailableDataArray, getAvailableExtraDataMap, getAvailableExtraDBDataMap, getAvailableField, getControllerContext, getDeleteRedirect, getEnumLabels, getEnumValues, getExtFormHandler, getId, getModalRedirect, getTabGroupMaxCount, handleRestResponse, isFirstAccess, performCreateExtension, performRefresh, performUpdateExtension, processDataId, processDataIds, processDataIds, processMLData, processMLDataArray, restValidation, sendRedirect, setExtFormHandler, setExtraDBKeys, setExtraDBValues, setExtraKeys, setExtraValues, setFields, setForceDelete, setId, setOpCancel, setOpCreate, setOpDelete, setOpRefresh, setOpUpdate, validateCancel, validateCreateExtension, validateRefresh, validateUpdateExtension, validateUploadedFileDocument, validateUploadedFileDocument, validateUploadedFileDocument, validateUploadedFileDocument
-
Methods inherited from class com.jalios.jcms.handler.JcmsFormHandler
checkMissingField, getAvailableMainLanguage, getClosePopupUrl, getEditFieldSet, getFormStep, getFormStepFinishLabel, getFormStepLabels, getFormStepPrefixProp, getHiddenField, getHiddenField, getHiddenField, getHiddenField, getHiddenField, getHiddenField, getHiddenField, getHiddenField, getHiddenField, getHiddenField, getHiddenField, getHiddenField, getHiddenField, getHiddenField, getHiddenField, getHiddenFieldML, getMainLangValue, getMainLangValueArray, getMLMap, getMLMapArray, getMonolingualValue, getMonolingualValueArray, getMultilingualMainValue, getMultilingualMainValueArray, getMultilingualMLMap, getMultilingualMLMapArray, getRedirect, getRedirectOnClosePopup, getWorkspace, isFieldEdition, isFieldMissing, isFormStepClickable, isPartialFieldEdition, isPopupEdition, isWorkspaceForced, mapStringArrayToMapStringList, mapStringListToMapStringArray, mustSendForbiddenOnCSRF, performFinish, performNext, processStatus, sanitize, sanitize, sendRedirect, sendRedirect, setEditField, setFormStep, setNoRedirect, setNoSendRedirect, setOpFinish, setOpNext, setOpPrevious, setPopupEdition, setRedirect, setRedirectOnClosePopup, setWorkspace, setWs, showCancelButton, showPreviousButton, updateUploadedField, updateUploadedFields, updateUploadedFields, validate, validateCSRF, validateNext
-
Methods inherited from class com.jalios.jcms.context.JcmsJspContext
addAvoidanceLink, addBodyAttributes, addCSSHeader, addCSSHeader, addCSSHeader, addCSSHeader, addCustomHeader, addHandlebarTemplate, addHttpEquivHeader, addHttpNameHeader, addJavaScript, addJavaScript, addJavaScript, addJavaScriptCode, addPrefetchHeader, addStyleHeader, addStyleHeader, addWebAssets, checkAccess, checkAccess, checkCSRF, debugDisplayContext, disablePacker, forceEditIcon, forceUpdate, getAjaxRequestAttribute, getAjaxRequestId, getAllHeadersDiffMap, getAllHeadersMap, getAvoidanceLinks, getBackOfficeCSSHeader, getBackOfficeJavaScriptSet, getBodyAttributes, getContentForm, getCSSHeaders, getCtxCategories, getCurrentCategory, getCustomHeaders, getDocType, getFinalCSSFooterMap, getFinalCSSMap, getFinalJavaScriptSet, getFrontOfficeCSSHeader, getFrontOfficeJavaScriptSet, getHandlebarTemplates, getHttpEquivHeaders, getHttpNameHeaders, getJavaScriptCodeSet, getJavaScriptSet, getJSONBridge, getPageContext, getPageTitle, getPageZone, getPortal, getPortalCategory, getPortlet, getPublication, getStyleHeaders, getTemplateUsage, internalSetupEmptyHeader, isEditIcon, isEditIcon, isEditIconForPublish, isEditIconForPublish, isPrintView, registerDisplayContext, removeAjaxRequestAttribute, setAjaxRequestAttribute, setAjaxRequestId, setAllHeadersDiffMap, setDocType, setEditIcon, setPageContext, setPageTitle, setPageZone, setShowEditIcon, setTemplateUsage, showEditIcon, showEditIcon, showEditIcon, workaroundBrowserBaseHrefBug
-
Methods inherited from class com.jalios.jcms.context.JcmsContext
addCookie, addMsg, addMsg, addMsgSession, addMsgSession, addToastr, addToastr, addToastrSession, addToastrSession, applySelector, forceWorkspaceUpdate, getBaseUrl, getBrowser, getCaddy, getContextPath, getErrorMsg, getErrorMsgList, getErrorMsgSession, getErrorMsgSessionList, getInfoMsg, getInfoMsgList, getInfoMsgSession, getInfoMsgSessionList, getLoggedMember, getMsgList, getMsgSessionList, getRequest, getResponse, getSession, getSuccessMsg, getSuccessMsgList, getSuccessMsgSession, getSuccessMsgSessionList, getToastrCollection, getToastrSessionCollection, getUploadedFile, getUploadedFileList, getUploadedFiles, getUploadedFiles, getUrlWithCommonUpdatedParams, getUserCountry, getUserLang, getUserLocale, getUserZoneId, getWarningMsg, getWarningMsgList, getWarningMsgSession, getWarningMsgSessionList, glp, isAdmin, isAdminZone, isAjaxRequest, isDBMember, isDebug, isDebugTemplate, isInFrontOffice, isLogged, isWebdavAccess, isWorkZone, removeMessage, removeMessage, retrieveUploadedFile, select, sendError, sendError, sendForbidden, sendForbidden, sendRedirect, sendRedirect, sendRedirect, setErrorMsg, setErrorMsg, setErrorMsgSession, setErrorMsgSession, setInfoMsg, setInfoMsg, setInfoMsgSession, setInfoMsgSession, setLoggedMember, setRequest, setResponse, setSuccessMsg, setSuccessMsg, setSuccessMsgSession, setSuccessMsgSession, setWarningMsg, setWarningMsg, setWarningMsgSession, setWarningMsgSession, updateWorkspace, validateRegexp, validateSchedule
-
-
-
-
Field Detail
-
REVISION
public static final java.lang.String REVISION
- See Also:
- Constant Field Values
-
ADMIN_USERS_MEMBER_ACL
public static final java.lang.String ADMIN_USERS_MEMBER_ACL
- See Also:
- Constant Field Values
-
opUpload
protected boolean opUpload
-
separator
protected java.lang.String separator
-
sendEmail
protected java.lang.String sendEmail
-
hasToSendEmail
protected boolean hasToSendEmail
-
wsGrpIds
protected java.lang.String[] wsGrpIds
-
csGrpIds
protected java.lang.String[] csGrpIds
-
globalGrpIds
protected java.lang.String[] globalGrpIds
-
gid
protected java.lang.String gid
-
isGlobalGrpStepReached
protected boolean isGlobalGrpStepReached
True only if common groups step was reached.When true, user common groups choices must not be "silently modified"
(default group must not be added for example)
- Since:
- jcms-10.0.6 JCMS-8958
-
docUploadInfo
protected DocUploadInfo docUploadInfo
-
dbMembers
protected java.lang.String dbMembers
True to store as DBMember.class, false as Member.class.- Since:
- jcms-8.0.1
-
useDbMembers
protected boolean useDbMembers
Same asdbMembers
, as boolean.
-
usage
protected int usage
The usage to set for members to create.
By default creates Accounts.- Since:
- jcms-8.0.1
-
asGuests
protected boolean asGuests
-
csvFile
protected java.io.File csvFile
The uploaded csvFile. May only be set after step 1.
It is retrieved only when filename is posted (as hidden field).
-
CSV_SEMICOLON_CHAR_SEP
public static final java.lang.String CSV_SEMICOLON_CHAR_SEP
- See Also:
- Constant Field Values
-
CSV_COMMA_CHAR_SEP
public static final java.lang.String CSV_COMMA_CHAR_SEP
- See Also:
- Constant Field Values
-
CSV_FILE_HTML_PARAM
public static final java.lang.String CSV_FILE_HTML_PARAM
- See Also:
- Constant Field Values
-
SEPARATOR_HTML_PARAM
public static final java.lang.String SEPARATOR_HTML_PARAM
- See Also:
- Constant Field Values
-
SEND_EMAIL_HTML_PARAM
public static final java.lang.String SEND_EMAIL_HTML_PARAM
- See Also:
- Constant Field Values
-
WS_GROUP_ID_PARAM
public static final java.lang.String WS_GROUP_ID_PARAM
- See Also:
- Constant Field Values
-
CS_GROUP_ID_PARAM
public static final java.lang.String CS_GROUP_ID_PARAM
- See Also:
- Constant Field Values
-
GLOBAL_GROUP_ID_PARAM
public static final java.lang.String GLOBAL_GROUP_ID_PARAM
- See Also:
- Constant Field Values
-
GID_PARAM
public static final java.lang.String GID_PARAM
'gid' must be same than parameter added in member list when filtering on a Group.- Since:
- jcms-10.0.7
- See Also:
- Constant Field Values
-
GLOBAL_GROUP_IDS_FLAG_PARAM
public static final java.lang.String GLOBAL_GROUP_IDS_FLAG_PARAM
- See Also:
- Constant Field Values
-
DBMEMBER_PARAM
public static final java.lang.String DBMEMBER_PARAM
- See Also:
- Constant Field Values
-
IMPORT_TYPE_PARAM
public static final java.lang.String IMPORT_TYPE_PARAM
- See Also:
- Constant Field Values
-
USAGE_PARAM
public static final java.lang.String USAGE_PARAM
- See Also:
- Constant Field Values
-
IMPORT_DONE_REQ_ATTR
public static final java.lang.String IMPORT_DONE_REQ_ATTR
- See Also:
- Constant Field Values
-
CREATED_IDS_REQ_ATTR
public static final java.lang.String CREATED_IDS_REQ_ATTR
- See Also:
- Constant Field Values
-
UPDATED_IDS_REQ_ATTR
public static final java.lang.String UPDATED_IDS_REQ_ATTR
- See Also:
- Constant Field Values
-
EMAIL_SENT_REQ_ATTR
public static final java.lang.String EMAIL_SENT_REQ_ATTR
- See Also:
- Constant Field Values
-
FORMHANDLER_REQ_ATTR
public static final java.lang.String FORMHANDLER_REQ_ATTR
- See Also:
- Constant Field Values
-
FILENAME_HTML_PARAM
protected static final java.lang.String FILENAME_HTML_PARAM
- See Also:
- Constant Field Values
-
STEP_1_FILE
public static final int STEP_1_FILE
- See Also:
- Constant Field Values
-
STEP_2_PREVIEW
public static final int STEP_2_PREVIEW
- See Also:
- Constant Field Values
-
STEP_3
public static final int STEP_3
- See Also:
- Constant Field Values
-
STEP_4
public static final int STEP_4
- See Also:
- Constant Field Values
-
STEP_5
public static final int STEP_5
- See Also:
- Constant Field Values
-
startTime
protected long startTime
For debug purpose.
-
endTime
protected long endTime
For debug purpose.
-
isBlockingError
protected boolean isBlockingError
Is there any blocking error during checking the csv file ? Not implemented yet. (No case of blocking error).
-
filename
protected java.lang.String filename
Used to pass the fileDoc filename through different steps.
-
memberInfoList
protected java.util.List<MemberImport> memberInfoList
The list containing each line.
-
importManager
protected MemberImportManager importManager
-
IMPORT_TYPE_ACCOUNT
public static final java.lang.String IMPORT_TYPE_ACCOUNT
- See Also:
- Constant Field Values
-
IMPORT_TYPE_CONTACT
public static final java.lang.String IMPORT_TYPE_CONTACT
- See Also:
- Constant Field Values
-
IMPORT_TYPE_GUEST
public static final java.lang.String IMPORT_TYPE_GUEST
- See Also:
- Constant Field Values
-
collaborativeSpaceClazz
protected java.lang.Class<? extends Publication> collaborativeSpaceClazz
The optional Collaborative Space class.- Since:
- jcms-8
-
collaborativeSpacePluginActive
protected boolean collaborativeSpacePluginActive
-
collaborativeSpaceInitDone
protected boolean collaborativeSpaceInitDone
-
-
Method Detail
-
init
protected void init()
Description copied from class:JcmsFormHandler
Method to implement if you need to initialize your handler from parameter received, prior to all security validation.You must absolutely not perform any action which modify data or site configuration.
Therefore it is strongly recommend NOT TO implement this method, or use very wisely.
- Overrides:
init
in classJcmsFormHandler
- Since:
- jcms-8
- See Also:
JcmsFormHandler.init()
-
processAction
public boolean processAction() throws java.io.IOException
Performs the import (real or simulation) if a valid CSV file has been uploaded.- Overrides:
processAction
in classEditDataHandler
- Returns:
- true if import has been performed.
- Throws:
java.io.IOException
- IO Exception- Since:
- jcms-8
-
getDataClass
public java.lang.Class<? extends Data> getDataClass()
Overriding EditDataHandler for Steps modal Form purpose, but not really editing a Data.- Specified by:
getDataClass
in classEditDataHandler
- Since:
- jcms-8
- See Also:
EditDataHandler.getDataClass()
-
getHiddenField
protected java.lang.String getHiddenField(java.lang.String htmlName, java.io.File csvFile)
Specific method to put a file relative to JCMS temp dir as hidden modal field.
Does not encode value, since super.getHiddenField() does it.- Parameters:
htmlName
- : the HTTP param name.csvFile
- : the File.- Returns:
- the hidden input as HTML.
- Since:
- jcms-8
-
validatePrevious
protected boolean validatePrevious() throws java.io.IOException
- Overrides:
validatePrevious
in classJcmsFormHandler
- Throws:
java.io.IOException
- Since:
- jcms-8
-
validateFinish
protected boolean validateFinish() throws java.io.IOException
- Overrides:
validateFinish
in classJcmsFormHandler
- Throws:
java.io.IOException
- Since:
- jcms-8
-
performPrevious
protected boolean performPrevious() throws java.io.IOException
- Overrides:
performPrevious
in classJcmsFormHandler
- Throws:
java.io.IOException
- Since:
- jcms-10.0.1
-
showNextButton
public boolean showNextButton()
Description copied from class:JcmsFormHandler
Check if the "Next" button should be displayed in step modal form.The default implementation of this method is to return true unless the finish button is being displayed by method
JcmsFormHandler.showFinishButton()
.You can provide a custom FormHandler to override this behavior.
See jcore/doStepButtons.jspf for use of this method.
- Overrides:
showNextButton
in classJcmsFormHandler
- Returns:
- true to display the "Next" button, false to hide it
- Since:
- jcms-8
-
performCancel
public boolean performCancel() throws java.io.IOException
- Overrides:
performCancel
in classEditDataHandler
- Throws:
java.io.IOException
-
showFinishButton
public boolean showFinishButton()
Description copied from class:JcmsFormHandler
Check if the "Finish" button should be displayed in step modal form.The default implementation of this method is to return true if the current step (as returned by
JcmsFormHandler.getFormStep()
is the last one (as compared withJcmsFormHandler.getFormStepCount()
.You can provide a custom FormHandler to override this behavior.
See jcore/doStepButtons.jspf for use of this method.
- Overrides:
showFinishButton
in classJcmsFormHandler
- Returns:
- true to display the "Finish" button, false to hide it
- Since:
- jcms-8
-
getFormStepHiddenFields
public java.lang.String getFormStepHiddenFields()
Stores through different steps the uploaded file path.- Overrides:
getFormStepHiddenFields
in classJcmsFormHandler
- Returns:
- the uploaded file path.
- Since:
- jcms-8
-
getFormStepCount
public int getFormStepCount()
The number of steps is dynamic, is minimum 2, and maximum 4.- 1. file
- 2. verifications and finish
- 3. (optional) workspaces's groups
- 4. (optional) collaborative workspaces's groups
- Overrides:
getFormStepCount
in classJcmsFormHandler
- Returns:
- the total number of steps in this formhandler
- Since:
- jcms-8
- See Also:
JcmsFormHandler.getFormStepCount()
-
isCollaborativeSpacePluginAvailable
protected boolean isCollaborativeSpacePluginAvailable()
- Returns:
- true if CollaborativeSpace plugin is active.
- Since:
- jcms-8
-
validateUpload
public boolean validateUpload() throws java.io.IOException
Validates the file format to import.- Returns:
- true if file is ok.
- Throws:
java.io.IOException
- if an exception occurs while simulating import.- Since:
- jcms-8.0.1
-
deleteCsvFile
protected void deleteCsvFile()
If the file exists, try to delete it.
This method has to be called each time the csvFile is no more used (eg. return from step 2 to step 1; Error on step 1; last step success; etc...)
If this method cannot be called (cancel by user, browser closed, ...) then the MultipartFilter will do his job by cleaning the UPLOAD dir at next JCMS restart. (SeeMultipartFilter.initFileUpload()
).- Since:
- jcms-8
-
isWorkspaceStep
public boolean isWorkspaceStep()
Returns weither Workspace step should be displayed.- Returns:
- true if a valid Workspaces root category has been defined,
and the logged member can see at least one workspace under this cat.
See
getWorkspaceSet()
. - Since:
- jcms-8
-
isCollaborativeSpaceStep
public boolean isCollaborativeSpaceStep()
- Returns:
- true if the current loggedMember can see any Collaborative Space.
- Since:
- jcms-8
-
hasGlobalGroupsStep
public boolean hasGlobalGroupsStep()
- Returns:
- true if the current loggedMember can see any global groups.
- Since:
- jcms-10.0.5
-
isGlobalGroupsStep
public boolean isGlobalGroupsStep()
-
getWorkspaceSet
public java.util.Set<Workspace> getWorkspaceSet()
Retrieve all the workspaces as a Set, with the following conditions :- workspace's getCatSet() is child of "$id.member.csv-import.ws-root-cat" root category.
- the workspace is not a collaborative space
- the workspace is not a model
- the workspace is open
- the workspace does have at least one group visible by loggedMember
- Returns:
- the ws set.
- Since:
- jcms-8
-
getCollaborativeSpaceSet
public java.util.Set<Workspace> getCollaborativeSpaceSet()
Retrieve all the Collaborative workspaces as a Set, with the following conditions :- workspace's isCollaborativeSpace() method return true;
- workspace is open
- workspace is not a model
- member belongs to workspace, or collaborative space has public access.
- the workspace does have at least one group visible by loggedMember
- Returns:
- the ws set.
- Since:
- jcms-8
-
getGlobalGroupSet
public java.util.Set<Group> getGlobalGroupSet()
-
setDocuments
public void setDocuments(java.lang.String[] v)
Moves the plupload uploaded file to JCMS temp directory in order the uploaded files to be cleaned periodically by JCMS.- Parameters:
v
- the documents argument from plupload.- Since:
- jcms-8
-
setOpUpload
public void setOpUpload(java.lang.String upload)
- Parameters:
upload
- set the opUpload- Since:
- jcms-8.0.1
-
getSeparator
public java.lang.String getSeparator()
- Returns:
- the separator
- Since:
- jcms-8
-
setSeparator
public void setSeparator(java.lang.String separator)
- Parameters:
separator
- the separator to set- Since:
- jcms-8
-
getSendEmail
public java.lang.String getSendEmail()
- Returns:
- the sendEmail
- Since:
- jcms-8
-
setSendEmail
public void setSendEmail(java.lang.String sendEmail)
- Parameters:
sendEmail
- the sendEmail to set- Since:
- jcms-8
-
hasToSendEmail
public boolean hasToSendEmail()
- Returns:
- the sendEmail
- Since:
- jcms-8
-
setDbMembers
public void setDbMembers(java.lang.String dbMembers)
Set true to create Member in DataBase.
False, to create JStore Members.
Only used for creation, not for updates.- Parameters:
dbMembers
- the dbMembers to set- Since:
- jcms-8.0.1
-
useDbMembers
public boolean useDbMembers()
- Returns:
- Weither to use DBMember or Member class.
- Since:
- jcms-8.0.1
-
getCreateCount
public int getCreateCount()
- Returns:
- the createCount
- Since:
- jcms-8
-
getUpdateCount
public int getUpdateCount()
- Returns:
- the updateCount
- Since:
- jcms-8
-
getInvalidCount
public int getInvalidCount()
- Returns:
- the invalidCount
- Since:
- jcms-8
-
getMemberInfoList
public java.util.List<MemberImport> getMemberInfoList()
- Returns:
- the memberInfoList
- Since:
- jcms-8
-
isAnyError
public boolean isAnyError()
- Returns:
- true if the current import manager contains error.
- Since:
- jcms-8
-
getWsGrpIds
public java.lang.String[] getWsGrpIds()
- Returns:
- the wsGrpIds
- Since:
- jcms-8
-
setWsGrpIds
public void setWsGrpIds(java.lang.String[] v)
- Parameters:
v
- the wsGrpIds to set- Since:
- jcms-8
-
getCsGrpIds
public java.lang.String[] getCsGrpIds()
- Returns:
- the csGrpIds
- Since:
- jcms-8
-
setCsGrpIds
public void setCsGrpIds(java.lang.String[] v)
- Parameters:
v
- the csGrpIds to set- Since:
- jcms-8
-
getGlobalGrpIds
public java.lang.String[] getGlobalGrpIds()
Return common groups selected by user in GUI to add new members to.Note: before 10.0.7 (JCMS-9493):
Automatically adds channel default group by default, only if file validation step was reached, and if common groups step was not reached, when opImport is posted. Since 10.0.7 (JCMS-9493), this no longer happen for guests accounts import.- Returns:
- the globalGrpIds
- Since:
- jcms-10.0.5
-
setGlobalGrpIds
public void setGlobalGrpIds(java.lang.String[] v)
- Parameters:
v
- the globalGrpIds to set- Since:
- jcms-10.0.5
-
setGlobalGrpIdsFlag
public void setGlobalGrpIdsFlag(java.lang.String v)
A flag to indicate common groups step was reached.Note: before 10.0.7 (JCMS-9493):
When true, selected common groups will not be modified, and will be exactly ones user requested.
When false, default common groups can be selected by the system. (eg: the channel default Group)
Since 10.0.7 (JCMS-9493), default group is no longer added to those groups.- Parameters:
v
- true when step was reached- Since:
- jcms-10.0.6 JCMS-8958
-
getGid
public java.lang.String getGid()
-
getGidGroup
public Group getGidGroup()
-
setGid
public void setGid(java.lang.String v)
-
getAllGroupIds
public java.util.Collection<java.lang.String> getAllGroupIds()
- Returns:
- all the groups members to be added in
- Since:
- jcms-10.0.7
-
setImportType
public void setImportType(java.lang.String importType)
- Parameters:
importType
- the type of import- Since:
- jcms-10.0.5 / JCMS-8503
-
getImportType
public java.lang.String getImportType()
- Returns:
- tye type of import
- Since:
- jcms-10.0.5 / JCMS-8503
-
getUsage
public int getUsage()
- Returns:
- the usage (Account or contact) for members to create.
- Since:
- jcms-8.0.1
-
setUsage
public void setUsage(int usage)
- Parameters:
usage
- the usage (Account or contact) for members to create to set.- Since:
- jcms-8.0.1
-
isAccountMode
public boolean isAccountMode()
Return true if import mode isAccount
.- Returns:
- true if import mode is
Account
. - Since:
- jcms-8.0.1
-
isContactMode
public boolean isContactMode()
Return true if import mode isContact
.- Returns:
- true if import mode is
Contact
. - Since:
- jcms-8.0.1
-
displayUsageOption
public boolean displayUsageOption()
- Returns:
- true if option usage must be proposed.
- Since:
- jcms-8.0.1
-
displayGuestOption
public boolean displayGuestOption()
- Returns:
- true if option import as guests must be proposed.
- Since:
- jcms-10.0.5 / JCMS-8503
-
isGuestMode
public boolean isGuestMode()
- Returns:
- true if members should be imported as CSP guests.
- Since:
- jcms-10.0.5 / JCMS-8503
-
getGuestGroup
public Group getGuestGroup()
- Returns:
- the guest group if any
- Since:
- jcms-10.0.5 / JCMS-8503
-
setGuest
public void setGuest(java.lang.String v)
Set weither members have to be imported as guests.- Parameters:
v
- form parameter- Since:
- jcms-10.0.5 / JCMS-8503
-
getFilename
public java.lang.String getFilename()
- Returns:
- the relative filename of the imported file.
- Since:
- jcms-8.0.1
-
setFilename
public void setFilename(java.lang.String filename)
Set the name of the file, previous uploaded in temporary directory on first step, that we must use for CSV import.- Parameters:
filename
- the filename to set- Since:
- jcms-8.0.1
-
-