Class MemberCsvImportHandler

    • Field Detail

      • ADMIN_USERS_MEMBER_ACL

        public static final java.lang.String ADMIN_USERS_MEMBER_ACL
        See Also:
        Constant Field Values
      • 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
      • GLOBAL_GROUP_IDS_FLAG_PARAM

        public static final java.lang.String GLOBAL_GROUP_IDS_FLAG_PARAM
        See Also:
        Constant Field Values
      • IMPORT_TYPE_PARAM

        public static final java.lang.String IMPORT_TYPE_PARAM
        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
      • 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
      • separator

        protected java.lang.String separator
      • sendEmail

        protected boolean sendEmail
      • 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
      • dbMembers

        protected java.lang.String dbMembers
      • useDbMembers

        protected boolean useDbMembers
      • usage

        protected int usage
      • asGuests

        protected boolean asGuests
      • csvFile

        protected java.io.File csvFile
      • filename

        protected java.lang.String filename
      • collaborativeSpaceClazz

        protected java.lang.Class<? extends Publication> collaborativeSpaceClazz
      • collaborativeSpacePluginActive

        protected boolean collaborativeSpacePluginActive
      • collaborativeSpaceInitDone

        protected boolean collaborativeSpaceInitDone
    • Constructor Detail

      • MemberCsvImportHandler

        public MemberCsvImportHandler()
    • 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 class JcmsFormHandler
      • processAction

        public boolean processAction()
                              throws java.io.IOException
        Description copied from class: JcmsFormHandler
        Method to be implemented to check/validate action to be performed and process them.

        Default implementation is to return false. No need to call super method.

        This method may NOT be invoked at all if security validation are not met.

        You must ensure your handler and JSP can work properly without any code invoked in this method.

        Overrides:
        processAction in class EditDataHandler
        Returns:
        false if no redirection is needed, true otherwise
        Throws:
        java.io.IOException - IO Exception
      • validatePrevious

        protected boolean validatePrevious()
                                    throws java.io.IOException
        Overrides:
        validatePrevious in class JcmsFormHandler
        Throws:
        java.io.IOException
      • validateFinish

        protected boolean validateFinish()
                                  throws java.io.IOException
        Overrides:
        validateFinish in class JcmsFormHandler
        Throws:
        java.io.IOException
      • isImportInProgress

        public boolean isImportInProgress()
      • isPreviewStep

        public boolean isPreviewStep()
      • isImportProcessAuthor

        public boolean isImportProcessAuthor()
      • performFinish

        protected boolean performFinish()
                                 throws java.io.IOException
        Overrides:
        performFinish in class JcmsFormHandler
        Throws:
        java.io.IOException
      • performPrevious

        protected boolean performPrevious()
                                   throws java.io.IOException
        Overrides:
        performPrevious in class JcmsFormHandler
        Throws:
        java.io.IOException
      • showPreviousButton

        public boolean showPreviousButton()
        Description copied from class: JcmsFormHandler
        Check if the "Previous" 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 higher than 0.

        You can provide a custom FormHandler to override this behavior.

        See jcore/doStepButtons.jspf for use of this method.

        Overrides:
        showPreviousButton in class JcmsFormHandler
        Returns:
        true to display the "Previous" button, false to hide it
      • 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 class JcmsFormHandler
        Returns:
        true to display the "Next" button, false to hide it
      • performCancel

        public boolean performCancel()
                              throws java.io.IOException
        Overrides:
        performCancel in class EditDataHandler
        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 with JcmsFormHandler.getFormStepCount().

        You can provide a custom FormHandler to override this behavior.

        See jcore/doStepButtons.jspf for use of this method.

        Overrides:
        showFinishButton in class JcmsFormHandler
        Returns:
        true to display the "Finish" button, false to hide it
      • getFormStepCount

        public int getFormStepCount()
        Description copied from class: JcmsFormHandler
        Retrieve the total number of steps used for edition when invoking this form handler.

        The default implementation of this method is to return 1, corresponding to one step (which means only 1 screen being displayed).

        You can provide a custom FormHandler to override this behavior.

        See jcore/doSteps.jspf for use of this method.

        Overrides:
        getFormStepCount in class JcmsFormHandler
        Returns:
        the total number of steps in this formhandler
      • getModalTitle

        public java.lang.String getModalTitle()
      • getModalHtmlAttributes

        public java.lang.String getModalHtmlAttributes()
      • getModalCss

        public java.lang.String getModalCss()
      • isCollaborativeSpacePluginAvailable

        protected boolean isCollaborativeSpacePluginAvailable()
        Returns:
        true if CollaborativeSpace plugin is active.
        Since:
        jcms-10.0.8
      • validateNext

        protected boolean validateNext()
                                throws java.io.IOException
        Does custom check on csv file in update file step.
        Overrides:
        validateNext in class JcmsFormHandler
        Returns:
        true if file is ok at upload step, else if opNext is clicked
        Throws:
        java.io.IOException - if an exception occurs while simulating import.
        Since:
        jcms-10.0.8
      • hasWorkspaceStep

        public boolean hasWorkspaceStep()
        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().
      • hasCollaborativeSpaceStep

        public boolean hasCollaborativeSpaceStep()
        Returns:
        true if the current loggedMember can see any Collaborative Space.
      • 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-10.0.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-10.0.8
      • getGlobalGroupSet

        public java.util.Set<Group> getGlobalGroupSet()
      • isAnotherProcessRunning

        public boolean isAnotherProcessRunning()
      • 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-10.0.8
      • getSeparator

        public java.lang.String getSeparator()
        Returns:
        the separator
        Since:
        jcms-10.0.8
      • setSeparator

        public void setSeparator​(java.lang.String separator)
        Parameters:
        separator - the separator to set
        Since:
        jcms-10.0.8
      • getSendEmail

        public java.lang.String getSendEmail()
        Returns:
        the sendEmail
        Since:
        jcms-10.0.8
      • setSendEmail

        public void setSendEmail​(java.lang.String sendEmail)
        Parameters:
        sendEmail - the sendEmail to set
        Since:
        jcms-10.0.8
      • hasToSendEmail

        public boolean hasToSendEmail()
        Returns:
        the sendEmail
        Since:
        jcms-10.0.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-10.0.8
      • useDbMembers

        public boolean useDbMembers()
        Returns:
        Weither to use DBMember or Member class.
        Since:
        jcms-10.0.8
      • getCreateCount

        public int getCreateCount()
        Returns:
        the createCount
        Since:
        jcms-10.0.8
      • getUpdateCount

        public int getUpdateCount()
        Returns:
        the updateCount
        Since:
        jcms-10.0.8
      • getInvalidCount

        public int getInvalidCount()
        Returns:
        the invalidCount
        Since:
        jcms-10.0.8
      • getMemberInfoList

        public java.util.List<MemberImport> getMemberInfoList()
        Returns:
        the memberInfoList
        Since:
        jcms-10.0.8
      • isAnyError

        public boolean isAnyError()
        Returns:
        true if the current import manager contains error.
        Since:
        jcms-10.0.8
      • getWsGrpIds

        public java.lang.String[] getWsGrpIds()
        Returns:
        the wsGrpIds
        Since:
        jcms-10.0.8
      • setWsGrpIds

        public void setWsGrpIds​(java.lang.String[] v)
        Parameters:
        v - the wsGrpIds to set
        Since:
        jcms-10.0.8
      • getCsGrpIds

        public java.lang.String[] getCsGrpIds()
        Returns:
        the csGrpIds
        Since:
        jcms-10.0.8
      • setCsGrpIds

        public void setCsGrpIds​(java.lang.String[] v)
        Parameters:
        v - the csGrpIds to set
        Since:
        jcms-10.0.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-10.0.8
      • setUsage

        public void setUsage​(int usage)
        Parameters:
        usage - the usage (Account or contact) for members to create to set.
        Since:
        jcms-10.0.8
      • isAccountMode

        public boolean isAccountMode()
        Return true if import mode is Account.
        Returns:
        true if import mode is Account.
        Since:
        jcms-10.0.8
      • isContactMode

        public boolean isContactMode()
        Return true if import mode is Contact.
        Returns:
        true if import mode is Contact.
        Since:
        jcms-10.0.8
      • displayUsageOption

        public boolean displayUsageOption()
        Returns:
        true if option usage must be proposed.
        Since:
        jcms-10.0.8
      • 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-10.0.8
      • 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-10.0.8
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object