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

📄 forumxml.java

📁 java servlet著名论坛源代码
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
                    }
                    String memberName=DAOFactory.getMemberDAO().getMember_forPublic(Integer.parseInt(forumWatch[0])).getMemberName();
                    xmlWriter.startElement("ForumWatch");
                    xmlWriter.startElement("MemberName");
                    xmlWriter.writeData(memberName);
                    xmlWriter.endElement("MemberName");
                    xmlWriter.startElement("WatchType");
                    xmlWriter.writeData(forumWatch[1]);
                    xmlWriter.endElement("WatchType");
                    xmlWriter.startElement("WatchOption");
                    xmlWriter.writeData(forumWatch[2]);
                    xmlWriter.endElement("WatchOption");
                    xmlWriter.startElement("WatchStatus");
                    xmlWriter.writeData(forumWatch[3]);
                    xmlWriter.endElement("WatchStatus");
                    xmlWriter.startElement("WatchCreationDate");
                    xmlWriter.writeData(forumWatch[4]);
                    xmlWriter.endElement("WatchCreationDate");
                    xmlWriter.startElement("WatchLastSentDate");
                    xmlWriter.writeData(forumWatch[5]);
                    xmlWriter.endElement("WatchLastSentDate");
                    xmlWriter.startElement("WatchEndDate");
                    xmlWriter.writeData(forumWatch[6]);
                    xmlWriter.endElement("WatchEndDate");
                    xmlWriter.endElement("ForumWatch");
                }
            } catch (NoSuchElementException e) {
                //no more database records
            }
            xmlWriter.endElement("ForumWatchList");
         //} catch throw exportexception
    }

    public static void exportMemberForumPermissionsForForum(XMLWriter xmlWriter, int forumID)
    throws IOException, ExportException, NumberFormatException, ObjectNotFoundException,
    DatabaseException {
        Collection memberForumPermissions=ExportWebHelper.execSqlQuery(
                   "SELECT MemberID, Permission"+
                   " FROM "+MemberForumDAO.TABLE_NAME+
                   " WHERE ForumID="+Integer.toString(forumID));
        Iterator iter=memberForumPermissions.iterator();
        String[] memberForumPermission=null;
        //try {
            xmlWriter.startElement("MemberForumPermissionList");
            try {
                while ( (memberForumPermission=(String[])iter.next()) !=null) {
                    if (memberForumPermission.length!=2) {
                        throw new ExportException("Error while retrieving data about member forum-specific permissions for forumID=="+forumID);
                    }
                    String memberName=DAOFactory.getMemberDAO().getMember_forPublic(Integer.parseInt(memberForumPermission[0])).getMemberName();
                    xmlWriter.startElement("MemberForumPermission");
                    xmlWriter.startElement("MemberName");
                    xmlWriter.writeData(memberName);
                    xmlWriter.endElement("MemberName");
                    xmlWriter.startElement("ForumPermission");
                    xmlWriter.writeData(memberForumPermission[1]);
                    xmlWriter.endElement("ForumPermission");
                    xmlWriter.endElement("MemberForumPermission");
                }
            } catch (NoSuchElementException e) {
                //no more database records
            }
            xmlWriter.endElement("MemberForumPermissionList");
         //} catch throw exportexception
    }

    public static void exportGroupForumPermissionsForForum(XMLWriter xmlWriter, int forumID)
    throws IOException, DatabaseException, ExportException {
        Collection groupForumPermissions=ExportWebHelper.execSqlQuery(
                   "SELECT G.GroupName, GF.Permission"+
                   " FROM "+GroupForumDAO.TABLE_NAME+" AS GF, "+
                   GroupsDAO.TABLE_NAME+" AS G "+
                   " WHERE G.GroupID=GF.GroupID AND ForumID="+Integer.toString(forumID));
        Iterator iter=groupForumPermissions.iterator();
        String[] groupForumPermission=null;
        //try {
            xmlWriter.startElement("GroupForumPermissionList");
            try {
                while ( (groupForumPermission=(String[])iter.next()) !=null) {
                    if (groupForumPermission.length!=2) {
                        throw new ExportException("Error while retrieving data about group forum-specific permissions for forumID=="+forumID);
                    }
                    xmlWriter.startElement("GroupForumPermission");
                    xmlWriter.startElement("GroupName");
                    xmlWriter.writeData(groupForumPermission[0]);
                    xmlWriter.endElement("GroupName");
                    xmlWriter.startElement("ForumPermission");
                    xmlWriter.writeData(groupForumPermission[1]);
                    xmlWriter.endElement("ForumPermission");
                    xmlWriter.endElement("GroupForumPermission");
                }
            } catch (NoSuchElementException e) {
                //no more database records
            }
            xmlWriter.endElement("GroupForumPermissionList");
         //} catch throw exportexception
    }

    public static void exportForum(XMLWriter xmlWriter, int forumID)
    throws NumberFormatException, IOException, ExportException, ObjectNotFoundException,
    DatabaseException {
        Collection forum1=ExportWebHelper.execSqlQuery(
                   "SELECT LastPostMemberName, ForumName,"+
                   " ForumDesc, ForumCreationDate, ForumModifiedDate, ForumLastPostDate,"+
                   " ForumOrder, ForumType, ForumFormatOption, ForumOption,"+
                   " ForumStatus, ForumModerationMode, ForumPassword,"+
                   " ForumThreadCount, ForumPostCount"+
                   " FROM "+ForumDAO.TABLE_NAME+
                   " WHERE ForumID="+Integer.toString(forumID));
        Iterator iter=forum1.iterator();
        String[] forum=null;
        //try {
            try {
                if ( (forum=(String[])iter.next()) ==null) {
                    throw new ExportException("Can't find data for forumID=="+forumID);
                }
                if (forum.length!=15) {
                    throw new ExportException("Error while retrieving data about forum with forumID=="+forumID);
                }
            } catch (NoSuchElementException e) {
                throw new ExportException("Can't find data for forumID=="+forumID);
            }

            //if I am here, that means I now have correct object forum
            xmlWriter.startElement("Forum");

            xmlWriter.startElement("ForumLastPostMemberName");
            xmlWriter.writeData(forum[0]);
            xmlWriter.endElement("ForumLastPostMemberName");
            xmlWriter.startElement("ForumName");
            xmlWriter.writeData(DisableHtmlTagFilter.filter(forum[1]));
            xmlWriter.endElement("ForumName");
            xmlWriter.startElement("ForumDesc");
            xmlWriter.writeData(DisableHtmlTagFilter.filter(forum[2]));
            xmlWriter.endElement("ForumDesc");
            xmlWriter.startElement("ForumCreationDate");
            xmlWriter.writeData(forum[3]);
            xmlWriter.endElement("ForumCreationDate");
            xmlWriter.startElement("ForumModifiedDate");
            xmlWriter.writeData(forum[4]);
            xmlWriter.endElement("ForumModifiedDate");

            xmlWriter.startElement("ForumLastPostDate");
            xmlWriter.writeData(forum[5]);
            xmlWriter.endElement("ForumLastPostDate");
            xmlWriter.startElement("ForumOrder");
            xmlWriter.writeData(forum[6]);
            xmlWriter.endElement("ForumOrder");
            xmlWriter.startElement("ForumType");
            xmlWriter.writeData(forum[7]);
            xmlWriter.endElement("ForumType");
            xmlWriter.startElement("ForumFormatOption");
            xmlWriter.writeData(forum[8]);
            xmlWriter.endElement("ForumFormatOption");
            xmlWriter.startElement("ForumOption");
            xmlWriter.writeData(forum[9]);
            xmlWriter.endElement("ForumOption");

            xmlWriter.startElement("ForumStatus");
            xmlWriter.writeData(forum[10]);
            xmlWriter.endElement("ForumStatus");
            xmlWriter.startElement("ForumModerationMode");
            xmlWriter.writeData(forum[11]);
            xmlWriter.endElement("ForumModerationMode");
            xmlWriter.startElement("ForumPassword");
            xmlWriter.writeData(DisableHtmlTagFilter.filter(forum[12]));
            xmlWriter.endElement("ForumPassword");
            xmlWriter.startElement("ForumThreadCount");
            xmlWriter.writeData(forum[13]);
            xmlWriter.endElement("ForumThreadCount");
            xmlWriter.startElement("ForumPostCount");
            xmlWriter.writeData(forum[14]);
            xmlWriter.endElement("ForumPostCount");

            exportMemberForumPermissionsForForum(xmlWriter, forumID);
            exportGroupForumPermissionsForForum(xmlWriter, forumID);
            exportForumWatchesForForum(xmlWriter, forumID);
            ThreadXML.exportThreadList(xmlWriter, forumID);
            xmlWriter.endElement("Forum");
         //} catch throw exportexception
    }

    //todo Igor important: merge exportForumList and exportForum so I use only one SQL query
    //same for category(list), ...
    public static void exportForumList(XMLWriter xmlWriter, int parentCategoryID)
    throws IOException, ExportException, ObjectNotFoundException, DatabaseException {
        Collection forumIDs=ExportWebHelper.execSqlQuery(
                   "SELECT ForumID"+
                   " FROM "+ForumDAO.TABLE_NAME+
                   " WHERE CategoryID="+Integer.toString(parentCategoryID));
        Iterator iter=forumIDs.iterator();
        String[] forumID=null;
        //try {
            xmlWriter.startElement("ForumList");
            try {
                while ( (forumID=(String[])iter.next()) !=null) {
                    if (forumID.length!=1) {
                        throw new ExportException("Error while retrieving list of forums.");
                    }
                    try {
                        int i=Integer.parseInt(forumID[0]);
                        exportForum(xmlWriter, i);
                    } catch (NumberFormatException e) {
                        throw new ExportException("Error while retrieving list of forums.");
                    }
                }
            } catch (NoSuchElementException e) {
                //no more database records
            }
            xmlWriter.endElement("ForumList");
         //} catch throw exportexception
    }


}

⌨️ 快捷键说明

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