⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dbdataimport.java

📁 java开发的一套非常好用的oa系统
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
        private StringBuffer description = new StringBuffer();
        private StringBuffer creationDate = new StringBuffer();
        private StringBuffer modifiedDate = new StringBuffer();

        private ContentHandler parentHandler;

        /**
         * Sets the parentHandler of the handler. Control will be passed back
         * to the parent when this handler is done parsing the XML it knows
         * how to handle.
         */
        public void setParentHandler(DefaultHandler parentHandler) {
            this.parentHandler = parentHandler;

            // Reset values.
            forum = null;
            forumCreated = false;
            doCreateForum = false;
            isNameSet = false;
            isDescriptionSet = false;
            isCreationDateSet = false;
            isModifiedDateSet = false;

            name.setLength(0);
            description.setLength(0);
            creationDate.setLength(0);
            modifiedDate.setLength(0);
        }

        public void addProperty(String name, String value) {
            try {
                forum.setProperty(name,value);
            }
            catch (UnauthorizedException ue) {
                ue.printStackTrace();
            }
            catch (Exception e) {
                print("Exception adding forum property, name=" + name +
                    ", value=" + value);
                e.printStackTrace();
            }
        }

        public void startElement(String uri, String localName, String tag,
                Attributes attribs)
                throws SAXParseException
        {
            if (localName.equals("Name")) {
                mode = NAME;
                isNameSet = true;
            }
            else if (localName.equals("Description")) {
                mode = DESCRIPTION;
                isDescriptionSet = true;
            }
            else if (localName.equals("CreationDate")) {
                mode = CREATION_DATE;
                isCreationDateSet = true;
            }
            else if (localName.equals("ModifiedDate")) {
                mode = MODIFIED_DATE;
                isModifiedDateSet = true;
            }
            else if (localName.equals("PermissionList")) {
                permissionListHandler.setParentHandler(this);
                parser.setContentHandler(permissionListHandler);
            }
            else if (localName.equals("PropertyList")) {
                propertyListHandler.setParentHandler(this);
                propertyListHandler.setPropertyStore(this);
                parser.setContentHandler(propertyListHandler);
            }
            else if (localName.equals("ThreadList")) {
                threadListHandler.setParentHandler(this);
                parser.setContentHandler(threadListHandler);
            }
        }

        public void characters(char[] buf, int start, int length)
                throws SAXParseException
        {
            switch (mode) {
                case NAME:
                    name.append(buf, start, length);
                    break;
                case DESCRIPTION:
                    description.append(buf, start, length);
                    break;
                case CREATION_DATE:
                    creationDate.append(buf, start, length);
                    break;
                case MODIFIED_DATE:
                    modifiedDate.append(buf, start, length);
                    break;
            }

            doCreateForum = (isNameSet && isCreationDateSet && isModifiedDateSet);
            if (doCreateForum && !forumCreated) {
                createForum();
                forumCreated = true;
            }
        }

        public void endElement(String uri, String localName, String tag)
                throws SAXParseException
        {
            // reset the mode now -- (fixes whitespace padding)
            mode = 0;

            if (localName.equals("Forum")) {
                // Let parent resume handling SAX events
                parser.setContentHandler(parentHandler);
            }
        }

        private void createForum() {
            try {
                // TODO: check to see if name or description is null
                forum = forumFactory.createForum(name.toString(),description.toString());

                Date cDate = parseDate(creationDate.toString());
                Date mDate = parseDate(modifiedDate.toString());

                forum.setCreationDate(cDate);
                forum.setModifiedDate(mDate);
            }
            catch (ForumAlreadyExistsException faee) {
                print("Forum \"" + name + "\" already exists.");
            }
            catch (Exception e) {
                print("Error creating forum.");
                e.printStackTrace();
            }
        }
    }

    /**
     *
     */
    private class PermissionListHandler extends DefaultHandler {

        private ContentHandler parentHandler;

        /**
         * Sets the parentHandler of the handler. Control will be passed back
         * to the parent when this handler is done parsing the XML it knows
         * how to handle.
         */
        public void setParentHandler(DefaultHandler parentHandler) {
            this.parentHandler = parentHandler;
        }

        public void startElement(String uri, String localName, String tag,
                Attributes attribs)
                throws SAXParseException
        {
            if (localName.equals("UserPermissionList")) {
                userPermissionListHandler.setParentHandler(this);
                parser.setContentHandler(userPermissionListHandler);
            }
            else if (localName.equals("GroupPermissionList")) {
                groupPermissionListHandler.setParentHandler(this);
                parser.setContentHandler(groupPermissionListHandler);
            }
        }

        public void endElement(String uri, String localName, String tag)
                throws SAXParseException
        {
            parser.setContentHandler(parentHandler);
        }
    }

    /**
     *
     */
    private class UserPermissionListHandler extends DefaultHandler {

        private ContentHandler parentHandler;

        /**
         * Sets the parentHandler of the handler. Control will be passed back
         * to the parent when this handler is done parsing the XML it knows
         * how to handle.
         */
        public void setParentHandler(DefaultHandler parentHandler) {
            this.parentHandler = parentHandler;
        }

        public void startElement(String uri, String localName, String tag,
                Attributes attribs)
                throws SAXParseException
        {
            if (localName.equals("UserPermission")) {
                String usertype = attribs.getValue("usertype");
                String username = attribs.getValue("username");
                String permission = attribs.getValue("permission");
                // Add the permission to the jive system
                User user = null;
                //Now, grant the user permission
                try {
                    int permType = ((Integer)jivePermissions.get(permission)).intValue();
                    if (usertype.equals("ANONYMOUS")) {
                        forum.getPermissionsManager().addAnonymousUserPermission(permType);
                    }
                    else if (usertype.equals("REGISTERED_USERS")) {
                        forum.getPermissionsManager().addRegisteredUserPermission(permType);
                    }
                    else {
                        try {
                            user = userManager.getUser(username);
                            forum.getPermissionsManager().addUserPermission(user,permType);
                        }
                        catch (UserNotFoundException unfe) {
                            print("User '" + username + "' not found, won't add user permission");
                        }
                    }
                }
                catch (UnauthorizedException e) {
                    print("Can't grant user permission, no authorization");
                }
            }
        }
        public void endElement(String uri, String localName, String tag)
                throws SAXParseException
        {
            if (localName.equals("UserPermissionList")) {
                parser.setContentHandler(parentHandler);
            }
        }
    }

    /**
     *
     */
    private class GroupPermissionListHandler extends DefaultHandler {

        private ContentHandler parentHandler;

        /**
         * Sets the parentHandler of the handler. Control will be passed back
         * to the parent when this handler is done parsing the XML it knows
         * how to handle.
         */
        public void setParentHandler(DefaultHandler parentHandler) {
            this.parentHandler = parentHandler;
        }

        public void startElement(String uri, String localName, String tag,
                Attributes attribs)
                throws SAXParseException
        {
            if (localName.equals("GroupPermission")) {
                String groupname = attribs.getValue("groupname");
                String permission = attribs.getValue("permission");
                // Add the permission to the jive system
                Group group = null;
                try {
                    group = groupManager.getGroup(groupname);
                }
                catch( GroupNotFoundException e ) {
                }
                // try to grant the group permission
                try {
                    forum.getPermissionsManager().addGroupPermission(
                        group,
                        ((Integer)jivePermissions.get(permission)).intValue()
                    );
                }
                catch (UnauthorizedException ue) {
                    print("Can't grant group permission, no authorization");
                }
            }
        }

        public void endElement(String uri, String localName, String tag)
                throws SAXParseException
        {
            parser.setContentHandler(parentHandler);
        }
    }

    /**
     *
     */
    private class ThreadListHandler extends DefaultHandler {

        private ContentHandler parentHandler;

        /**
         * Sets the parentHandler of the handler. Control will be passed back
         * to the parent when this handler is done parsing the XML it knows
         * how to handle.
         */
        public void setParentHandler(DefaultHandler parentHandler) {
            this.parentHandler = parentHandler;
        }

        public void startElement(String uri, String localName, String tag,
                Attributes attribs)
                throws SAXParseException
        {
            if (localName.equals("Thread")) {
                threadHandler.setParentHandler(this);
                parser.setContentHandler(threadHandler);
            }
        }

        public void endElement(String uri, String localName, String tag)
                throws SAXParseException
        {
            parser.setContentHandler(parentHandler);
        }
    }

    /**
     *
     */
    private class ThreadHandler extends DefaultHandler {

        private StringBuffer creationDate = new StringBuffer();
        private StringBuffer modifiedDate = new StringBuffer();

        private ContentHandler parentHandler;

        /**
         * Sets the parentHandler of the handler. Control will be passed back
         * to the parent when this handler is done parsing the XML it knows
         * how to handle.
         */
        public void setParentHandler(DefaultHandler parentHandler) {
            this.parentHandler = parentHandler;

            thread = null;
            threadHasRootMessage = false;
            creationDate.setLength(0);
            modifiedDate.setLength(0);
        }

        public void addProperty( String name, String value ) {
            try {
                thread.setProperty(name,value);
            }
            catch (UnauthorizedException ue) {
                ue.printStackTrace();
            }
        }

        public void startElement(String uri, String localName, String tag,
                Attributes attribs)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -