Exemplo n.º 1
0
  /**
   * <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);
  }
Exemplo n.º 2
0
  /**
   * <br>
   * [機 能] ポータル情報の登録処理を行う <br>
   * [解 説] <br>
   * [備 考]
   *
   * @param paramMdl パラメータ情報
   * @param con コネクション
   * @param cntCon MlCountMtController
   * @param userSid セッションユーザSID
   * @throws SQLException SQL実行例外
   */
  public void insertData(
      Ptl050knParamModel paramMdl, Connection con, MlCountMtController cntCon, int userSid)
      throws SQLException {

    PtlPortalDao ptlDao = new PtlPortalDao(con);
    PtlPortalSortDao ptlSortDao = new PtlPortalSortDao(con);
    PtlPortalLayoutDao ptlLayoutDao = new PtlPortalLayoutDao(con);
    PtlPortalConfReadDao ptlConfReadDao = new PtlPortalConfReadDao(con);
    PtlCommonBiz ptlBiz = new PtlCommonBiz(con);

    UDate now = new UDate();

    // ポータルSID採番
    int ptlSid =
        (int)
            cntCon.getSaibanNumber(
                GSConstPortal.SBNSID_SUB_PORTAL, GSConstPortal.SBNSID_SUB_PORTAL, userSid);

    // ポータル情報の登録
    PtlPortalModel ptlModel = new PtlPortalModel();
    ptlModel.setPtlSid(ptlSid);
    ptlModel.setPtlName(NullDefault.getString(paramMdl.getPtl050name(), ""));
    ptlModel.setPtlOpen(paramMdl.getPtl050openKbn());
    ptlModel.setPtlDescription(NullDefault.getString(paramMdl.getPtl050description(), ""));
    ptlModel.setPtlAccess(paramMdl.getPtl050accessKbn());
    ptlModel.setPtlAuid(userSid);
    ptlModel.setPtlAdate(now);
    ptlModel.setPtlEuid(userSid);
    ptlModel.setPtlEdate(now);
    ptlDao.insert(ptlModel);

    // 並び順の最大値を取得する。
    int maxSort = ptlSortDao.getMaxSort(GSConstPortal.PTS_KBN_COMMON);

    // ポータル並び順の登録
    PtlPortalSortModel ptlSortModel = new PtlPortalSortModel();
    ptlSortModel.setPtlSid(ptlSid);
    ptlSortModel.setPtsKbn(GSConstPortal.PTS_KBN_COMMON);
    ptlSortModel.setPtsSort(maxSort + 1);
    ptlSortModel.setUsrSid(0);
    ptlSortDao.insert(ptlSortModel);

    // ポータルレイアウトの登録
    PtlPortalLayoutModel ptlLayoutModel = new PtlPortalLayoutModel();
    ptlLayoutModel.setPtlSid(ptlSid);
    ptlLayoutModel.setPtsView(GSConstPortal.PTL_OPENKBN_OK);
    ptlLayoutModel.setPlyAuid(userSid);
    ptlLayoutModel.setPlyAdate(now);
    ptlLayoutModel.setPlyEuid(userSid);
    ptlLayoutModel.setPlyEdate(now);

    List<Integer> positionList = new ArrayList<Integer>();
    positionList.add(GSConstPortal.LAYOUT_POSITION_TOP);
    positionList.add(GSConstPortal.LAYOUT_POSITION_BOTTOM);
    positionList.add(GSConstPortal.LAYOUT_POSITION_LEFT);
    positionList.add(GSConstPortal.LAYOUT_POSITION_CENTER);
    positionList.add(GSConstPortal.LAYOUT_POSITION_RIGHT);

    for (Integer position : positionList) {
      ptlLayoutModel.setPlyPosition(position);
      ptlLayoutDao.insert(ptlLayoutModel);
    }

    // ポータル閲覧設定の登録
    if (paramMdl.getPtl050accessKbn() == GSConstPortal.PTL_ACCESS_ON) {

      String[] memberSids = paramMdl.getPtl050memberSid();
      if (memberSids != null && memberSids.length > 0) {
        ptlConfReadDao.insert(ptlSid, memberSids);
      }
    }

    // インフォメーションの登録
    int ptpSort = 1;
    ptlBiz.insertInfomation(ptlSid, userSid, GSConstPortal.LAYOUT_POSITION_TOP, ptpSort);
  }