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 classMembersCsvImportHandler.WorkspaceUnderRootCatSelectorSelects workspaces which catSet is under given rootCat.
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringADMIN_USERS_MEMBER_ACLprotected booleanasGuestsprotected java.lang.Class<? extends Publication>collaborativeSpaceClazzThe optional Collaborative Space class.protected booleancollaborativeSpaceInitDoneprotected booleancollaborativeSpacePluginActivestatic java.lang.StringCREATED_IDS_REQ_ATTRstatic java.lang.StringCS_GROUP_ID_PARAMprotected java.lang.String[]csGrpIdsstatic java.lang.StringCSV_COMMA_CHAR_SEPstatic java.lang.StringCSV_FILE_HTML_PARAMstatic java.lang.StringCSV_SEMICOLON_CHAR_SEPprotected java.io.FilecsvFileThe uploaded csvFile.static java.lang.StringDBMEMBER_PARAMprotected java.lang.StringdbMembersTrue to store as DBMember.class, false as Member.class.protected DocUploadInfodocUploadInfostatic java.lang.StringEMAIL_SENT_REQ_ATTRprotected longendTimeFor debug purpose.protected java.lang.StringfilenameUsed to pass the fileDoc filename through different steps.protected static java.lang.StringFILENAME_HTML_PARAMstatic java.lang.StringFORMHANDLER_REQ_ATTRprotected java.lang.Stringgidstatic java.lang.StringGID_PARAM'gid' must be same than parameter added in member list when filtering on a Group.static java.lang.StringGLOBAL_GROUP_ID_PARAMstatic java.lang.StringGLOBAL_GROUP_IDS_FLAG_PARAMprotected java.lang.String[]globalGrpIdsprotected booleanhasToSendEmailstatic java.lang.StringIMPORT_DONE_REQ_ATTRstatic java.lang.StringIMPORT_TYPE_ACCOUNTstatic java.lang.StringIMPORT_TYPE_CONTACTstatic java.lang.StringIMPORT_TYPE_GUESTstatic java.lang.StringIMPORT_TYPE_PARAMprotected MemberImportManagerimportManagerprotected booleanisBlockingErrorIs there any blocking error during checking the csv file ? Not implemented yet.protected booleanisGlobalGrpStepReachedTrue only if common groups step was reached.protected java.util.List<MemberImport>memberInfoListThe list containing each line.protected booleanopUploadstatic java.lang.StringREVISIONstatic java.lang.StringSEND_EMAIL_HTML_PARAMprotected java.lang.StringsendEmailprotected java.lang.Stringseparatorstatic java.lang.StringSEPARATOR_HTML_PARAMprotected longstartTimeFor debug purpose.static intSTEP_1_FILEstatic intSTEP_2_PREVIEWstatic intSTEP_3static intSTEP_4static intSTEP_5static java.lang.StringUPDATED_IDS_REQ_ATTRprotected intusageThe usage to set for members to create.
By default creates Accounts.static java.lang.StringUSAGE_PARAMprotected booleanuseDbMembersSame asdbMembers, as boolean.static java.lang.StringWS_GROUP_ID_PARAMprotected 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 voiddeleteCsvFile()If the file exists, try to delete it.
This method has to be called each time the csvFile is no more used (eg.booleandisplayGuestOption()booleandisplayUsageOption()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.intgetCreateCount()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.StringgetFilename()intgetFormStepCount()The number of steps is dynamic, is minimum 2, and maximum 4.java.lang.StringgetFormStepHiddenFields()Stores through different steps the uploaded file path.java.lang.StringgetGid()GroupgetGidGroup()java.util.Set<Group>getGlobalGroupSet()java.lang.String[]getGlobalGrpIds()Return common groups selected by user in GUI to add new members to.GroupgetGuestGroup()protected java.lang.StringgetHiddenField(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.StringgetImportType()intgetInvalidCount()java.util.List<MemberImport>getMemberInfoList()java.lang.StringgetSendEmail()java.lang.StringgetSeparator()intgetUpdateCount()intgetUsage()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()booleanhasGlobalGroupsStep()booleanhasToSendEmail()protected voidinit()Method to implement if you need to initialize your handler from parameter received, prior to all security validation.booleanisAccountMode()Return true if import mode isAccount.booleanisAnyError()protected booleanisCollaborativeSpacePluginAvailable()booleanisCollaborativeSpaceStep()booleanisContactMode()Return true if import mode isContact.booleanisGlobalGroupsStep()booleanisGuestMode()booleanisWorkspaceStep()Returns weither Workspace step should be displayed.booleanperformCancel()protected booleanperformPrevious()booleanprocessAction()Performs the import (real or simulation) if a valid CSV file has been uploaded.voidsetCsGrpIds(java.lang.String[] v)voidsetDbMembers(java.lang.String dbMembers)Set true to create Member in DataBase.
False, to create JStore Members.
Only used for creation, not for updates.voidsetDocuments(java.lang.String[] v)Moves the plupload uploaded file to JCMS temp directory in order the uploaded files to be cleaned periodically by JCMS.voidsetFilename(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.voidsetGid(java.lang.String v)voidsetGlobalGrpIds(java.lang.String[] v)voidsetGlobalGrpIdsFlag(java.lang.String v)A flag to indicate common groups step was reached.voidsetGuest(java.lang.String v)Set weither members have to be imported as guests.voidsetImportType(java.lang.String importType)voidsetOpUpload(java.lang.String upload)voidsetSendEmail(java.lang.String sendEmail)voidsetSeparator(java.lang.String separator)voidsetUsage(int usage)voidsetWsGrpIds(java.lang.String[] v)booleanshowFinishButton()Check if the "Finish" button should be displayed in step modal form.booleanshowNextButton()Check if the "Next" button should be displayed in step modal form.booleanuseDbMembers()protected booleanvalidateFinish()protected booleanvalidatePrevious()booleanvalidateUpload()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:JcmsFormHandlerMethod 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:
initin classJcmsFormHandler- Since:
- jcms-8
- See Also:
JcmsFormHandler.init()
-
processAction
public boolean processAction() throws java.io.IOExceptionPerforms the import (real or simulation) if a valid CSV file has been uploaded.- Overrides:
processActionin 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:
getDataClassin 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:
validatePreviousin classJcmsFormHandler- Throws:
java.io.IOException- Since:
- jcms-8
-
validateFinish
protected boolean validateFinish() throws java.io.IOException- Overrides:
validateFinishin classJcmsFormHandler- Throws:
java.io.IOException- Since:
- jcms-8
-
performPrevious
protected boolean performPrevious() throws java.io.IOException- Overrides:
performPreviousin classJcmsFormHandler- Throws:
java.io.IOException- Since:
- jcms-10.0.1
-
showNextButton
public boolean showNextButton()
Description copied from class:JcmsFormHandlerCheck 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:
showNextButtonin classJcmsFormHandler- Returns:
- true to display the "Next" button, false to hide it
- Since:
- jcms-8
-
performCancel
public boolean performCancel() throws java.io.IOException- Overrides:
performCancelin classEditDataHandler- Throws:
java.io.IOException
-
showFinishButton
public boolean showFinishButton()
Description copied from class:JcmsFormHandlerCheck 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:
showFinishButtonin 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:
getFormStepHiddenFieldsin 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:
getFormStepCountin 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.IOExceptionValidates 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
-
-