?? forumxml.java
字號:
}
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 + -