private void clearActivitySession(RunData rundata, Context context) { List<String> list = new ArrayList<String>(); // エンティティIDの初期化 list.add("entityid"); // 選択しているタブ情報の削除 list.add("tab"); // 選択しているタブ情報の削除2 list.add("category"); ALEipUtils.removeTemp(rundata, context, list); }
/** * @param rundata * @param context * @param values * @param msgList * @return */ @SuppressWarnings("unchecked") @Override protected boolean action( RunData rundata, Context context, List<String> values, List<String> msgList) { try { // カテゴリを削除 // DBテーブルのカスケード設定で, // トピックおよび添付ファイルのレコードも自動的に削除される. SelectQuery<EipTMsgboardCategory> query = getSelectQuery(rundata, values); List<EipTMsgboardCategory> list = query.fetchList(); if (list == null || list.size() == 0) { // カテゴリリストが空の場合 logger.debug("[MsgboardMultiDelete] Empty CategoryIDs..."); return false; } for (EipTMsgboardCategory category : list) { // 添付ファイルの削除 List<EipTMsgboardTopic> topics = category.getEipTMsgboardTopics(); for (EipTMsgboardTopic topic : topics) { MsgboardUtils.deleteAttachmentFiles(topic); } Database.delete(category); // イベントログに保存 ALEventlogFactoryService.getInstance() .getEventlogHandler() .log( category.getCategoryId(), ALEventlogConstants.PORTLET_TYPE_MSGBOARD_CATEGORY, category.getCategoryName()); } Database.commit(); // 一覧表示画面のフィルタに設定されているカテゴリのセッション情報を削除 String filtername = MsgboardTopicSelectData.class.getSimpleName() + ALEipConstants.LIST_FILTER; ALEipUtils.removeTemp(rundata, context, filtername); } catch (Exception ex) { Database.rollback(); logger.error("msgboard", ex); return false; } return true; }
/** * 掲示板カテゴリを削除します。 <br> * * @param rundata * @param context * @param msgList * @return */ @SuppressWarnings("unchecked") @Override protected boolean deleteFormData(RunData rundata, Context context, List<String> msgList) throws ALPageNotFoundException, ALDBErrorException { try { // オブジェクトモデルを取得 EipTMsgboardCategory category = MsgboardUtils.getEipTMsgboardCategory(rundata, context, true); if (category == null) { return false; } // 掲示板カテゴリを削除 // DBテーブルのカスケード設定で, // トピックおよび添付ファイルのレコードも自動的に削除される. // イベントログに保存 ALEventlogFactoryService.getInstance() .getEventlogHandler() .log( category.getCategoryId(), ALEventlogConstants.PORTLET_TYPE_MSGBOARD_CATEGORY, category.getCategoryName()); List<EipTMsgboardTopic> topics = category.getEipTMsgboardTopics(); for (EipTMsgboardTopic topic : topics) { MsgboardUtils.deleteAttachmentFiles(topic); } Database.delete(category); Database.commit(); // 一覧表示画面のフィルタに設定されているカテゴリのセッション情報を削除 String filtername = MsgboardTopicSelectData.class.getName() + ALEipConstants.LIST_FILTER; ALEipUtils.removeTemp(rundata, context, filtername); } catch (Exception e) { Database.rollback(); logger.error("[MsgboardFormData]", e); throw new ALDBErrorException(); } return true; }
protected List<VEipTScheduleList> getScheduleList(RunData rundata, Context context) { Calendar cal = Calendar.getInstance(); cal.setTime(getViewDate().getValue()); cal.add(Calendar.DATE, 1); cal.add(Calendar.MILLISECOND, -1); ALDateTimeField field = new ALDateTimeField(); field.setValue(cal.getTime()); String filter = ALEipUtils.getTemp(rundata, context, ScheduleUtils.FILTER_NAMESPACE); String filter_type = ALEipUtils.getTemp(rundata, context, ScheduleUtils.FILTER_NAMESPACE_TYPE); if ("all".equals(filter)) { filter = filter_type = null; ALEipUtils.removeTemp(rundata, context, ScheduleUtils.FILTER_NAMESPACE); ALEipUtils.removeTemp(rundata, context, ScheduleUtils.FILTER_NAMESPACE_TYPE); } if (filter == null || filter_type == null || filter.equals("") || tmpViewDate2 != null) { members = new ArrayList<ALEipUser>(); members.add(ALEipUtils.getALEipUser(rundata)); ScheduleOnedayContainer con = new ScheduleOnedayContainer(); con.initField(); con.initHour(startHour, endHour); Integer uid = Integer.valueOf(ALEipUtils.getUserId(rundata)); this.termmap.put(uid, new ArrayList<ScheduleOnedayResultData>()); this.map.put(uid, con); this.todomap.put(uid, new ArrayList<ScheduleToDoResultData>()); return ScheduleUtils.getScheduleList( userid, getViewDate().getValue(), field.getValue(), Arrays.asList(userid), null); } // グループ名からユーザを取得 List<Integer> ulist = ALEipUtils.getUserIds(filter); // グループにユーザが存在しない場合はダミーユーザを設定し、検索します。(0件ヒット) // ダミーユーザーID = -1 int size = ulist.size(); if (size == 0) { ulist.add(Integer.valueOf(-1)); } else { for (int i = 0; i < size; i++) { Integer id = ulist.get(i); ScheduleOnedayContainer con = new ScheduleOnedayContainer(); con.initField(); con.initHour(startHour, endHour); this.termmap.put(id, new ArrayList<ScheduleOnedayResultData>()); this.map.put(id, con); this.todomap.put(id, new ArrayList<ScheduleToDoResultData>()); } } // List facilityIds = FacilitiesUtils.getFacilityIds(filter); List<Integer> facilityIds = null; String[] filteres = filter.split(";"); if ("Facility".equals(filter)) { facilityIds = getFacilityIdAllList(); } else if (("group".equals(filter_type)) && !("f".equals(filteres[0]))) { facilityIds = FacilitiesUtils.getFacilityIds(filteres[0]); } else { if ("f".equals(filteres[0])) { facilityIds = FacilitiesUtils.getFacilityGroupIds(Integer.valueOf(filteres[1])); } else { if (ScheduleUtils.isNumberValue(filter)) { facilityIds = FacilitiesUtils.getFacilityGroupIds(Integer.valueOf(filter)); } else { facilityIds = new ArrayList<Integer>(); String[] split = filter.split(","); if (split.length == 2) { // URLパラメータにfilterが含まれてしまっていた場合 // デフォルト値のセットしなおし // facilityIds初期化 VelocityPortlet portlet = ALEipUtils.getPortlet(rundata, context); String groupName = portlet.getPortletConfig().getInitParameter("p3a-group"); if (groupName != null) { ALEipUtils.setTemp(rundata, context, ScheduleUtils.FILTER_NAMESPACE, groupName); ALEipUtils.setTemp(rundata, context, ScheduleUtils.FILTER_NAMESPACE_TYPE, "group"); } } } } } int f_size = facilityIds.size(); if (f_size == 0) { facilityIds.add(Integer.valueOf(-1)); } else { for (int i = 0; i < f_size; i++) { Integer id = facilityIds.get(i); ScheduleOnedayContainer con = new ScheduleOnedayContainer(); con.initField(); con.initHour(startHour, endHour); this.facilitymap.put(id, con); } } members = ALEipUtils.getUsers(filter); String flag_changeturn = ALEipUtils.getTemp(rundata, context, ScheduleUtils.FLAG_CHANGE_TURN_STR); if ("0".equals(flag_changeturn)) { // ログインユーザの行けジュールを一番上に表示させるため, // メンバリストの初めの要素にログインユーザを配置する. ALEipUser eipUser = null; int memberSize = members.size(); for (int i = 0; i < memberSize; i++) { eipUser = members.get(i); if (eipUser.getUserId().getValue() == userid) { members.remove(i); members.add(0, eipUser); } } } if ("Facility".equals(filter)) { facilityList = FacilitiesUtils.getFacilityList(filter); } else if ("facilitygroup".equals(filter_type) || "f".equals(filteres[0])) { if ("f".equals(filteres[0])) { facilityList = FacilitiesUtils.getFacilityGroupList(Integer.valueOf(filteres[1])); } else { if (ScheduleUtils.isNumberValue(filter)) { facilityList = FacilitiesUtils.getFacilityGroupList(Integer.valueOf(filter)); } } } else { facilityList = FacilitiesUtils.getFacilityList(filter); } if (!("f".equals(filteres[0]))) { current_filter = filter; } else { current_filter = filteres[1]; } current_filter_type = filter_type; return ScheduleUtils.getScheduleList( userid, getViewDate().getValue(), field.getValue(), ulist, facilityIds); }