実践編のWebメール > Webメールの既読を未読に戻す機能に取り組み終わらせました。
基本的にはeclipsenの検索機能を使いreadMailを含むメソッドをコピーしunreadMailなどに名前を変えたものを同じクラス内に加え最後に。
lib/mail/src/main/java/com/aimluck/eip/mail/file/ALFileLocalFolder.java 内に
+
+ @Override
+ public boolean unreadMails(List msgIndexes) {
+ try {
+ SelectQuery query = Database.query(EipTMail.class);
+ Expression exp1 =
+ ExpressionFactory.inDbExp(EipTMail.MAIL_ID_PK_COLUMN, msgIndexes);
+ Expression exp2 =
+ ExpressionFactory.matchExp(EipTMail.USER_ID_PROPERTY, Integer
+ .valueOf(user_id));
+
+ List mail_list =
+ query.andQualifier(exp1).andQualifier(exp2).fetchList();
+ if (mail_list == null || mail_list.size() == 0) {
+ logger.debug(“[ALFileLocalFolder] Not found ID…”);
+ throw new ALPageNotFoundException();
+ }
+ for (EipTMail record : mail_list) {
+ record.setReadFlg(“F”);
+ }
+ Database.commit();
+ } catch (Throwable t) {
+ Database.rollback();
+ logger.error(“ALFileLocalFolder.unreadMails”, t);
+ return false;
+ }
+ return true;
とsetReadFlgの値をFに帰るものを加えます。