/** * <br> * [機 能] 表示するグループ一覧を設定する。 <br> * [解 説] <br> * [備 考] * * @param paramMdl BmkPtl020ParamModel * @param con コネクション * @throws SQLException SQL実行例外 */ private void __setGroupList(BmkPtl020ParamModel paramMdl, Connection con) throws SQLException { PtlPortalPositionParamDao paramDao = new PtlPortalPositionParamDao(con); int ptlSid = paramMdl.getPtlPortalSid(); GroupBiz grpBiz = new GroupBiz(); // 全グループのリスト ArrayList<GroupModel> tree = grpBiz.getGroupCombList(con); if (tree == null) { tree = new ArrayList<GroupModel>(); } // すでに設定されているグループのリスト List<PtlPortalPositionParamModel> list = paramDao.getParamList(ptlSid, BMK_PORTLET_PARAM1); if (list == null) { list = new ArrayList<PtlPortalPositionParamModel>(); } // グループSIDのリストを作成 List<Integer> grepSidList = new ArrayList<Integer>(); for (PtlPortalPositionParamModel model : list) { int sid = NullDefault.getInt(model.getPpmParamValue(), 0); grepSidList.add(sid); } ArrayList<GroupModel> dspList = new ArrayList<GroupModel>(); for (GroupModel grepModel : tree) { if (!grepSidList.contains(grepModel.getGroupSid())) { dspList.add(grepModel); } } paramMdl.setTree(dspList); }
/** * <br> * [機 能] 初期表示情報を設定する <br> * [解 説] <br> * [備 考] * * @param paramMdl BmkPtl020ParamModel * @param con コネクション * @throws Exception 実行例外 */ public void setInitData(BmkPtl020ParamModel paramMdl, Connection con) throws Exception { log__.debug("START"); // プラグインポートレットコンボを設定 CommonBiz cmnBiz = new CommonBiz(); GsMessage gsMsg = new GsMessage(reqMdl__); paramMdl.setPortletTypeCombo(cmnBiz.getPluginPortletCombo(con, gsMsg, reqMdl__.getDomain())); // 表示グループを設定 __setGroupList(paramMdl, con); log__.debug("End"); }
/** * <br> * [機 能] プラグイン追加処理を行う <br> * [解 説] <br> * [備 考] * * @param paramMdl BmkPtl020ParamModel * @param con コネクション * @param pconfig プラグインコンフィグ * @throws SQLException SQL実行例外 */ public void insertData(BmkPtl020ParamModel paramMdl, Connection con, PluginConfig pconfig) throws SQLException { PtlPortalPositionParamDao positionParamDao = new PtlPortalPositionParamDao(con); PtlPortalPositionDao ptlPositionDao = new PtlPortalPositionDao(con); PtlPortalLayoutDao layoutDao = new PtlPortalLayoutDao(con); int ptlSid = paramMdl.getPtlPortalSid(); UDate now = new UDate(); String itemId = now.getTimeStamp(); CommonBiz cmnBiz = new CommonBiz(); int groupSid = paramMdl.getBmkptl020GrpSid(); // プラグイン選択済フラグ paramMdl.setBmkptl020selectFlg(true); // レイアウト情報を取得する。 List<PtlPortalLayoutModel> layoutList = layoutDao.getLayoutList(ptlSid, GSConstPortal.LAYOUT_VIEW_ON); // プラグインを追加するポジションを取得する。 List<Integer> positionSidList = new ArrayList<Integer>(); positionSidList.add(GSConstPortal.LAYOUT_POSITION_LEFT); positionSidList.add(GSConstPortal.LAYOUT_POSITION_CENTER); positionSidList.add(GSConstPortal.LAYOUT_POSITION_RIGHT); positionSidList.add(GSConstPortal.LAYOUT_POSITION_TOP); positionSidList.add(GSConstPortal.LAYOUT_POSITION_BOTTOM); int plyPosition = GSConstPortal.LAYOUT_POSITION_LEFT; boolean endFlg = false; for (Integer position : positionSidList) { for (PtlPortalLayoutModel model : layoutList) { if (model.getPlyPosition() == position) { plyPosition = position; endFlg = true; break; } } if (endFlg) { break; } } // ポータル位置情報の最大値を取得する。 int maxSort = ptlPositionDao.getMaxSort(ptlSid, plyPosition); // 選択画面ID String screenId = GSConstBookmark.SCREENID_BMKPTL020; // ポートレット画面IDを取得する。 String dspScreenId = cmnBiz.getPluginPortletScreenId(pconfig, GSConstBookmark.PLUGIN_ID_BOOKMARK, screenId); // ポータル位置情報を登録する。 PtlPortalPositionModel posiModel = new PtlPortalPositionModel(); posiModel.setPtlSid(ptlSid); posiModel.setPtpItemid(now.getTimeStamp()); posiModel.setPlyPosition(plyPosition); posiModel.setPtpSort(maxSort + 1); posiModel.setPtpType(GSConstPortal.PTP_TYPE_PLUGINPORTLET); posiModel.setPltSid(-1); posiModel.setPctPid(GSConstBookmark.PLUGIN_ID_BOOKMARK); posiModel.setMscId(dspScreenId); posiModel.setPtpView(GSConstPortal.PTL_OPENKBN_OK); posiModel.setPtpParamkbn(GSConstPortal.PTP_PARAMKBN_ON); ptlPositionDao.insert(posiModel); // ポータル_位置設定_パラメータを登録する。(1つ目 groupSid) PtlPortalPositionParamModel positionParamModel = new PtlPortalPositionParamModel(); positionParamModel.setPtlSid(ptlSid); positionParamModel.setPtpItemid(itemId); positionParamModel.setPpmParamNo(1); positionParamModel.setPpmParamName(BMK_PORTLET_PARAM1); positionParamModel.setPpmParamValue(String.valueOf(groupSid)); positionParamDao.insert(positionParamModel); // ポータル_位置設定_パラメータを登録する(2つ目 itemId) positionParamModel = new PtlPortalPositionParamModel(); positionParamModel.setPtlSid(ptlSid); positionParamModel.setPtpItemid(itemId); positionParamModel.setPpmParamNo(2); positionParamModel.setPpmParamName(BMK_PORTLET_PARAM2); positionParamModel.setPpmParamValue(String.valueOf(itemId)); positionParamDao.insert(positionParamModel); }