/**
   * mongodb update
   *
   * @param txtLimitCount
   * @param txtMacCount
   * @param txtFindPage
   * @param txtResultPage
   * @throws Exception
   */
  public static void updateMongoDBUserInfoData(
      String txtLimitCount, String txtMacCount, String txtFindPage, String txtResultPage)
      throws Exception {
    SqlMapClient sqlClient = TadpoleSQLManager.getInstance(TadpoleSystemInitializer.getUserDB());
    UserInfoDataDAO userInfoData = new UserInfoDataDAO();
    userInfoData.setUser_seq(SessionManager.getSeq());

    // 	MONGO_DEFAULT_LIMIT
    userInfoData.setName(PreferenceDefine.MONGO_DEFAULT_LIMIT);
    userInfoData.setValue0(txtLimitCount);
    sqlClient.update("userInfoDataUpdate", userInfoData); // $NON-NLS-1$

    // MONGO_DEFAULT_MAX_COUNT
    userInfoData.setName(PreferenceDefine.MONGO_DEFAULT_MAX_COUNT);
    userInfoData.setValue0(txtMacCount);
    sqlClient.update("userInfoDataUpdate", userInfoData); // $NON-NLS-1$

    // MONGO_DEFAULT_FIND
    userInfoData.setName(PreferenceDefine.MONGO_DEFAULT_FIND);
    userInfoData.setValue0(txtFindPage);
    sqlClient.update("userInfoDataUpdate", userInfoData); // $NON-NLS-1$

    // MONGO_DEFAULT_RESULT
    userInfoData.setName(PreferenceDefine.MONGO_DEFAULT_RESULT);
    userInfoData.setValue0(txtResultPage);
    sqlClient.update("userInfoDataUpdate", userInfoData); // $NON-NLS-1$
  }
  /**
   * general 정보의 export delimit을 저장합니다.
   *
   * @param sessionTimeOut
   * @throws Exception
   */
  public static void updateGeneralExportDelimitData(String delimit) throws Exception {
    SqlMapClient sqlClient = TadpoleSQLManager.getInstance(TadpoleSystemInitializer.getUserDB());
    UserInfoDataDAO userInfoData = new UserInfoDataDAO();
    userInfoData.setUser_seq(SessionManager.getSeq());

    // 	select 제한  갯수
    userInfoData.setName(PreferenceDefine.EXPORT_DILIMITER);
    userInfoData.setValue0(delimit);
    sqlClient.update("userInfoDataUpdate", userInfoData); // $NON-NLS-1$
  }
  /**
   * general 정보의 session time을 저장합니다.
   *
   * @param sessionTimeOut
   * @throws Exception
   */
  public static void updateGeneralUserInfoData(String sessionTimeOut) throws Exception {
    SqlMapClient sqlClient = TadpoleSQLManager.getInstance(TadpoleSystemInitializer.getUserDB());
    UserInfoDataDAO userInfoData = new UserInfoDataDAO();
    userInfoData.setUser_seq(SessionManager.getSeq());

    // 	select 제한  갯수
    userInfoData.setName(PreferenceDefine.SESSION_DFEAULT_PREFERENCE);
    userInfoData.setValue0(sessionTimeOut);
    sqlClient.update("userInfoDataUpdate", userInfoData); // $NON-NLS-1$
  }
  /**
   * default home page
   *
   * @param use
   * @throws Exception
   */
  public static void updateDefaultHomePageUse(String use) throws Exception {
    SqlMapClient sqlClient = TadpoleSQLManager.getInstance(TadpoleSystemInitializer.getUserDB());
    UserInfoDataDAO userInfoData = new UserInfoDataDAO();
    userInfoData.setUser_seq(SessionManager.getSeq());

    // 	select 제한  갯수
    userInfoData.setName(PreferenceDefine.DEFAULT_HOME_PAGE_USE);
    userInfoData.setValue0(use);
    sqlClient.update("userInfoDataUpdate", userInfoData); // $NON-NLS-1$
  }
  /**
   * update SQLFormatter
   *
   * @param userdb
   * @param tabSize
   * @param resultSelect
   * @param sqlFormatIn
   */
  public static void updateSQLFormatterInfoData(
      String tabSize, String sqlFormatDecode, String sqlFormatIn) throws Exception {
    SqlMapClient sqlClient = TadpoleSQLManager.getInstance(TadpoleSystemInitializer.getUserDB());
    UserInfoDataDAO userInfoData = new UserInfoDataDAO();
    userInfoData.setUser_seq(SessionManager.getSeq());

    userInfoData.setName(PreferenceDefine.DEFAULT_TAB_SIZE_PREFERENCE);
    userInfoData.setValue0(tabSize);
    sqlClient.update("userInfoDataUpdate", userInfoData); // $NON-NLS-1$

    userInfoData.setName(PreferenceDefine.SQL_FORMATTER_DECODE_PREFERENCE);
    userInfoData.setValue0(sqlFormatDecode);
    sqlClient.update("userInfoDataUpdate", userInfoData); // $NON-NLS-1$

    userInfoData.setName(PreferenceDefine.SQL_FORMATTER_IN_PREFERENCE);
    userInfoData.setValue0(sqlFormatIn);
    sqlClient.update("userInfoDataUpdate", userInfoData); // $NON-NLS-1$
  }
  /**
   * 신규 사용자의 기본 유저 데이터 정보를 저장합니다.
   *
   * @param userdb
   * @param limitSelect
   * @param resultSelect
   * @param oraclePlan
   */
  public static void updateRDBUserInfoData(
      String limitSelect, String resultSelect, String oraclePlan) throws Exception {
    SqlMapClient sqlClient = TadpoleSQLManager.getInstance(TadpoleSystemInitializer.getUserDB());
    UserInfoDataDAO userInfoData = new UserInfoDataDAO();
    userInfoData.setUser_seq(SessionManager.getSeq());

    // 	select 제한  갯수
    userInfoData.setName(PreferenceDefine.SELECT_LIMIT_COUNT);
    userInfoData.setValue0(limitSelect);
    sqlClient.update("userInfoDataUpdate", userInfoData); // $NON-NLS-1$

    // 검색 결과 페이지 당 보여주는 갯수
    userInfoData.setName(PreferenceDefine.SELECT_RESULT_PAGE_PREFERENCE);
    userInfoData.setValue0(resultSelect);
    sqlClient.update("userInfoDataUpdate", userInfoData); // $NON-NLS-1$

    // ORACLE PLAN TABLE
    userInfoData.setName(PreferenceDefine.ORACLE_PLAN_TABLE);
    userInfoData.setValue0(oraclePlan);
    sqlClient.update("userInfoDataUpdate", userInfoData); // $NON-NLS-1$
  }
 /**
  * 사용자 정보 데이터.
  *
  * @param key
  * @return
  * @throws Exception
  */
 public static Object getUserInfoData(String key) throws Exception {
   SqlMapClient sqlClient = TadpoleSQLManager.getInstance(TadpoleSystemInitializer.getUserDB());
   return sqlClient.queryForObject("getUserInfoData", SessionManager.getSeq()); // $NON-NLS-1$
 }
  @Override
  public boolean connection() {
    if (!isValidate()) return false;

    String dbUrl = "";
    if (comboConnType.getText().equals("SID")) {
      dbUrl =
          String.format(
              DBDefine.ORACLE_DEFAULT.getDB_URL_INFO(),
              textHost.getText(),
              textPort.getText(),
              textDatabase.getText());
    } else if (comboConnType.getText().equals("Service Name")) {
      dbUrl =
          String.format(
              "jdbc:oracle:thin:@%s:%s/%s",
              textHost.getText(), textPort.getText(), textDatabase.getText());
    }

    userDB = new UserDBDAO();
    userDB.setTypes(DBDefine.ORACLE_DEFAULT.getDBToString());
    userDB.setUrl(dbUrl);
    userDB.setDb(textDatabase.getText());
    userDB.setGroup_name(comboGroup.getText().trim());
    userDB.setDisplay_name(textDisplayName.getText());
    userDB.setOperation_type(
        DBOperationType.getNameToType(comboOperationType.getText()).toString());
    userDB.setHost(textHost.getText());
    userDB.setPasswd(textPassword.getText());
    userDB.setPort(textPort.getText());
    //		userDB.setLocale(comboLocale.getText().trim());
    userDB.setUsers(textUser.getText());

    // 기존 데이터 업데이트
    if (oldUserDB != null) {
      if (!MessageDialog.openConfirm(null, "Confirm", Messages.SQLiteLoginComposite_13))
        return false; //$NON-NLS-1$

      if (!checkDatabase(userDB)) return false;

      try {
        TadpoleSystem_UserDBQuery.updateUserDB(userDB, oldUserDB, SessionManager.getSeq());
      } catch (Exception e) {
        logger.error(Messages.SQLiteLoginComposite_8, e);
        Status errStatus =
            new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(), e); // $NON-NLS-1$
        ExceptionDetailsErrorDialog.openError(
            getShell(), "Error", Messages.SQLiteLoginComposite_5, errStatus); // $NON-NLS-1$

        return false;
      }

      // 신규 데이터 저장.
    } else {
      // db가 정상적인지 채크해본다
      try {
        SqlMapClient sqlClient = TadpoleSQLManager.getInstance(userDB);
        List showTables = sqlClient.queryForList("tableList", textDatabase.getText());

      } catch (Exception e) {
        logger.error(Messages.OracleLoginComposite_7, e);
        Status errStatus =
            new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(), e); // $NON-NLS-1$
        ExceptionDetailsErrorDialog.openError(
            getShell(), "Error", Messages.OracleLoginComposite_10, errStatus); // $NON-NLS-1$

        return false;
      }

      try {
        TadpoleSystem_UserDBQuery.newUserDB(userDB, SessionManager.getSeq());
      } catch (Exception e) {
        logger.error("Oracle db info save", e);
        Status errStatus =
            new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(), e); // $NON-NLS-1$
        ExceptionDetailsErrorDialog.openError(
            getShell(), "Error", Messages.OracleLoginComposite_11, errStatus); // $NON-NLS-1$
      }
    }

    return true;
  }