@Override
    protected void importUsers() throws CmsImportExportException {

        try {
            // getAll user nodes
            List<Node> userNodes = m_docXml.selectNodes("//" + A_CmsImport.N_USERDATA);
            // walk threw all groups in manifest
            for (int i = 0; i < userNodes.size(); i++) {
                Element currentElement = (Element)userNodes.get(i);

                String name = getChildElementTextValue(currentElement, A_CmsImport.N_NAME);
                name = OpenCms.getImportExportManager().translateUser(name);

                // decode passwords using base 64 decoder
                String pwd = getChildElementTextValue(currentElement, A_CmsImport.N_PASSWORD);
                String password = new String(Base64.decodeBase64(pwd.trim().getBytes()));

                String flags = getChildElementTextValue(currentElement, A_CmsImport.N_FLAGS);
                String firstname = getChildElementTextValue(currentElement, A_CmsImport.N_FIRSTNAME);
                String lastname = getChildElementTextValue(currentElement, A_CmsImport.N_LASTNAME);
                String email = getChildElementTextValue(currentElement, A_CmsImport.N_EMAIL);
                long dateCreated = Long.parseLong(getChildElementTextValue(currentElement, A_CmsImport.N_DATECREATED));

                // get the userinfo and put it into the additional info map
                Map<String, Object> userInfo = new HashMap<String, Object>();
                Iterator<Node> itInfoNodes = currentElement.selectNodes(
                    "./" + A_CmsImport.N_USERINFO + "/" + A_CmsImport.N_USERINFO_ENTRY).iterator();
                while (itInfoNodes.hasNext()) {
                    Element infoEntryNode = (Element)itInfoNodes.next();
                    String key = infoEntryNode.attributeValue(A_CmsImport.A_NAME);
                    String type = infoEntryNode.attributeValue(A_CmsImport.A_TYPE);
                    String value = infoEntryNode.getTextTrim();
                    userInfo.put(key, CmsDataTypeUtil.dataImport(value, type));
                }

                // get the groups of the user and put them into the list
                List<Node> groupNodes = currentElement.selectNodes("*/" + A_CmsImport.N_GROUPNAME);
                List<String> userGroups = new ArrayList<String>();
                for (int j = 0; j < groupNodes.size(); j++) {
                    Element currentGroup = (Element)groupNodes.get(j);
                    String userInGroup = getChildElementTextValue(currentGroup, A_CmsImport.N_NAME);
                    userInGroup = OpenCms.getImportExportManager().translateGroup(userInGroup);
                    userGroups.add(userInGroup);
                }

                // import this user
                importUser(name, flags, password, firstname, lastname, email, dateCreated, userInfo, userGroups);
            }
        } catch (CmsImportExportException e) {
            throw e;
        } catch (Exception e) {
            m_report.println(e);
            CmsMessageContainer message = Messages.get().container(Messages.ERR_IMPORTEXPORT_ERROR_IMPORTING_USERS_0);
            if (LOG.isDebugEnabled()) {
                LOG.debug(message.key(), e);
            }
            throw new CmsImportExportException(message, e);
        }
    }
@ Override protected void importUsers ( ) throws CmsImportExportException { try { List < Node > userNodes = m_docXml . selectNodes ( "//" + A_CmsImport . N_USERDATA ) ; for ( int i = 0 ; i < userNodes . size ( ) ; i ++ ) { Element currentElement = ( Element ) userNodes . get ( i ) ; String name = getChildElementTextValue ( currentElement , A_CmsImport . N_NAME ) ; name = OpenCms . getImportExportManager ( ) . translateUser ( name ) ; String pwd = getChildElementTextValue ( currentElement , A_CmsImport . N_PASSWORD ) ; String password = new String ( Base64 . decodeBase64 ( pwd . trim ( ) . getBytes ( ) ) ) ; String flags = getChildElementTextValue ( currentElement , A_CmsImport . N_FLAGS ) ; String firstname = getChildElementTextValue ( currentElement , A_CmsImport . N_FIRSTNAME ) ; String lastname = getChildElementTextValue ( currentElement , A_CmsImport . N_LASTNAME ) ; String email = getChildElementTextValue ( currentElement , A_CmsImport . N_EMAIL ) ; long dateCreated = Long . parseLong ( getChildElementTextValue ( currentElement , A_CmsImport . N_DATECREATED ) ) ; Map < String , Object > userInfo = new HashMap < String , Object > ( ) ; Iterator < Node > itInfoNodes = currentElement . selectNodes ( "./" + A_CmsImport . N_USERINFO + "/" + A_CmsImport . N_USERINFO_ENTRY ) . iterator ( ) ; while ( itInfoNodes . hasNext ( ) ) { Element infoEntryNode = ( Element ) itInfoNodes . next ( ) ; String key = infoEntryNode . attributeValue ( A_CmsImport . A_NAME ) ; String type = infoEntryNode . attributeValue ( A_CmsImport . A_TYPE ) ; String value = infoEntryNode . getTextTrim ( ) ; userInfo . put ( key , CmsDataTypeUtil . dataImport ( value , type ) ) ; } List < Node > groupNodes = currentElement . selectNodes ( "*/" + A_CmsImport . N_GROUPNAME ) ; List < String > userGroups = new ArrayList < String > ( ) ; for ( int j = 0 ; j < groupNodes . size ( ) ; j ++ ) { Element currentGroup = ( Element ) groupNodes . get ( j ) ; String userInGroup = getChildElementTextValue ( currentGroup , A_CmsImport . N_NAME ) ; userInGroup = OpenCms . getImportExportManager ( ) . translateGroup ( userInGroup ) ; userGroups . add ( userInGroup ) ; } importUser ( name , flags , password , firstname , lastname , email , dateCreated , userInfo , userGroups ) ; } } catch ( CmsImportExportException e ) { throw e ; } catch ( Exception e ) { m_report . println ( e ) ; CmsMessageContainer message = Messages . get ( ) . container ( Messages . ERR_IMPORTEXPORT_ERROR_IMPORTING_USERS_0 ) ; if ( LOG . isDebugEnabled ( ) ) { LOG . debug ( message . key ( ) , e ) ; } throw new CmsImportExportException ( message , e ) ; } }
Imports the OpenCms users.<p>

@throws CmsImportExportException if something goes wrong