?? categoryxml.java
字號:
* @throws DuplicateKeyException
* @throws ForeignKeyNotFoundException
*
*/
public void addCategoryWatch(String memberName,
String watchType, String watchOption,
String watchStatus, String watchCreationDate,
String watchLastSentDate, String watchEndDate)
throws BadInputException, CreateException, DatabaseException,
ObjectNotFoundException, DuplicateKeyException, ForeignKeyNotFoundException {
if (categoryID<0) {
throw new CreateException("Found category watch that is not assigned to any known category.");
}
int watchType1;
int watchOption1;
int watchStatus1;
java.sql.Timestamp watchCreationDate1;
java.sql.Timestamp watchLastSentDate1;
java.sql.Timestamp watchEndDate1;
try {
if (memberName==null) memberName="";
watchType1= XMLUtil.stringToIntDef(watchType, 0);
watchOption1= XMLUtil.stringToIntDef(watchOption, 0);
watchStatus1= XMLUtil.stringToIntDef(watchStatus, 0);
watchCreationDate1= XMLUtil.stringToSqlTimestampDefNow(watchCreationDate);
watchLastSentDate1= XMLUtil.stringToSqlTimestampDefNull(watchLastSentDate);
watchEndDate1= XMLUtil.stringToSqlTimestampDefNull(watchEndDate);
} catch (NumberFormatException e) {
throw new CreateException("Invalid data for a category. Expected a number.");
}
//todo Igor: Shoud I allow memberID==0 here?
int memberID=0;
if (!memberName.equals("")) {
memberID=DAOFactory.getMemberDAO().getMemberIDFromMemberName(memberName);
}
DAOFactory.getWatchDAO().create(
memberID, categoryID, 0/*forumId*/, 0/*threadId*/,
watchType1, watchOption1, watchStatus1,
watchCreationDate1, watchLastSentDate1, watchEndDate1);
}
// ===============================================================
// ==================== STATIC EXPORT METHODS ====================
// ===============================================================
public static void exportCategoryWatchesForCategory(XMLWriter xmlWriter, int categoryID)
throws IOException, ExportException, NumberFormatException,
ObjectNotFoundException, DatabaseException {
Collection categoryWatches=ExportWebHelper.execSqlQuery(
"SELECT MemberID, WatchType, WatchOption, WatchStatus, WatchCreationDate, WatchLastSentDate, WatchEndDate"+
" FROM "+WatchDAO.TABLE_NAME+
" WHERE ForumID=0 AND ThreadID=0"+
" AND CategoryID="+Integer.toString(categoryID));
Iterator iter=categoryWatches.iterator();
String[] categoryWatch=null;
//try {
xmlWriter.startElement("CategoryWatchList");
try {
while ( (categoryWatch=(String[])iter.next()) !=null) {
if (categoryWatch.length!=7) {
throw new ExportException("Error while retrieving data about category watch for categoryID=="+categoryID);
}
String memberName=DAOFactory.getMemberDAO().getMember_forPublic(Integer.parseInt(categoryWatch[0])).getMemberName();
xmlWriter.startElement("CategoryWatch");
xmlWriter.startElement("MemberName");
xmlWriter.writeData(memberName);
xmlWriter.endElement("MemberName");
xmlWriter.startElement("WatchType");
xmlWriter.writeData(categoryWatch[1]);
xmlWriter.endElement("WatchType");
xmlWriter.startElement("WatchOption");
xmlWriter.writeData(categoryWatch[2]);
xmlWriter.endElement("WatchOption");
xmlWriter.startElement("WatchStatus");
xmlWriter.writeData(categoryWatch[3]);
xmlWriter.endElement("WatchStatus");
xmlWriter.startElement("WatchCreationDate");
xmlWriter.writeData(categoryWatch[4]);
xmlWriter.endElement("WatchCreationDate");
xmlWriter.startElement("WatchLastSentDate");
xmlWriter.writeData(categoryWatch[5]);
xmlWriter.endElement("WatchLastSentDate");
xmlWriter.startElement("WatchEndDate");
xmlWriter.writeData(categoryWatch[6]);
xmlWriter.endElement("WatchEndDate");
xmlWriter.endElement("CategoryWatch");
}
} catch (NoSuchElementException e) {
//no more database records
}
xmlWriter.endElement("CategoryWatchList");
//} catch throw exportexception
}
public static void exportCategory(XMLWriter xmlWriter, int categoryID)
throws NumberFormatException, IOException, ExportException, ObjectNotFoundException, DatabaseException {
Collection category1=ExportWebHelper.execSqlQuery(
"SELECT CategoryName, CategoryDesc,"+
" CategoryCreationDate, CategoryModifiedDate, CategoryOrder,"+
" CategoryOption, CategoryStatus FROM "+CategoryDAO.TABLE_NAME+
" WHERE CategoryID="+Integer.toString(categoryID));
Iterator iter=category1.iterator();
String[] category=null;
//try {
try {
if ( (category=(String[])iter.next()) ==null) {
throw new ExportException("Can't find data for categoryID=="+categoryID);
}
if (category.length!=7) {
throw new ExportException("Error while retrieving data about category with categoryID=="+categoryID);
}
} catch (NoSuchElementException e) {
throw new ExportException("Can't find data for categoryID=="+categoryID);
}
//if I am here, that means I now have correct object category
xmlWriter.startElement("Category");
xmlWriter.startElement("CategoryName");
xmlWriter.writeData(DisableHtmlTagFilter.filter(category[0]));
xmlWriter.endElement("CategoryName");
xmlWriter.startElement("CategoryDesc");
xmlWriter.writeData(DisableHtmlTagFilter.filter(category[1]));
xmlWriter.endElement("CategoryDesc");
xmlWriter.startElement("CategoryCreationDate");
xmlWriter.writeData(category[2]);
xmlWriter.endElement("CategoryCreationDate");
xmlWriter.startElement("CategoryModifiedDate");
xmlWriter.writeData(category[3]);
xmlWriter.endElement("CategoryModifiedDate");
xmlWriter.startElement("CategoryOrder");
xmlWriter.writeData(category[4]);
xmlWriter.endElement("CategoryOrder");
xmlWriter.startElement("CategoryOption");
xmlWriter.writeData(category[5]);
xmlWriter.endElement("CategoryOption");
xmlWriter.startElement("CategoryStatus");
xmlWriter.writeData(category[6]);
xmlWriter.endElement("CategoryStatus");
exportCategoryWatchesForCategory(xmlWriter, categoryID);
ForumXML.exportForumList(xmlWriter, categoryID);
exportSubCategoryList(xmlWriter, categoryID);
xmlWriter.endElement("Category");
//} catch throw exportexception
}
public static void exportSubCategoryList(XMLWriter xmlWriter, int parentCategoryID)
throws IOException, ExportException, ObjectNotFoundException, DatabaseException {
Collection categoryIDs=ExportWebHelper.execSqlQuery(
"SELECT CategoryID"+
" FROM "+CategoryDAO.TABLE_NAME+
" WHERE ParentCategoryID="+Integer.toString(parentCategoryID));
Iterator iter=categoryIDs.iterator();
String[] categoryID=null;
//try {
xmlWriter.startElement("CategoryList");
try {
while ( (categoryID=(String[])iter.next()) !=null) {
if (categoryID.length!=1) {
throw new ExportException("Error while retrieving list of categories.");
}
try {
int i=Integer.parseInt(categoryID[0]);
exportCategory(xmlWriter, i);
} catch (NumberFormatException e) {
throw new ExportException("Error while retrieving list of categories.");
}
}
} catch (NoSuchElementException e) {
//no more database records
}
xmlWriter.endElement("CategoryList");
//} catch throw exportexception
}
public static void exportCategoryList(XMLWriter xmlWriter)
throws IOException, ExportException, ObjectNotFoundException, DatabaseException {
exportSubCategoryList(xmlWriter, 0/*parentCategoryID*/);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -