/** * 領域マスタの1レコードをMap形式で返す。 引数には主キー値を渡す。 * * @param connection * @param labelKubun * @param value * @return * @throws NoDataFoundException * @throws DataAccessException */ public static Map selectRecord(Connection connection, String ryouikiNo) throws NoDataFoundException, DataAccessException { // ----------------------- // SQL文の作成 // ----------------------- String select = "SELECT" + " A.RYOIKI_NO" + ",A.RYOIKI_RYAKU" + ",A.KOMOKU_NO" // 2006/06/26 苗 修正ここから + ",A.SETTEI_KIKAN" // 設定期間 + ",A.SETTEI_KIKAN_KAISHI" // 設定期間(開始年度) + ",A.SETTEI_KIKAN_SHURYO" // 設定期間(終了年度) // 2006/06/26 苗 修正ここまで + ",A.BIKO" + " FROM MASTER_RYOIKI A" + " WHERE RYOIKI_NO = ? "; if (log.isDebugEnabled()) { log.debug("query:" + select); } // ----------------------- // レコード取得 // ----------------------- List result = SelectUtil.select(connection, select, new String[] {ryouikiNo}); if (result.isEmpty()) { throw new NoDataFoundException("当該レコードは存在しません。領域No=" + ryouikiNo); } return (Map) result.get(0); }
private void handleSignupPost(Request request, HttpServletResponse httpServletResponse) throws Exception { String userId = request.getParameter(PARAM_USER_ID); String userName = request.getParameter(PARAM_USER_NAME); String email = request.getParameter(PARAM_EMAIL); String stringPassword = request.getParameter(PARAM_PASSWORD); String stringPasswordConfirm = request.getParameter(PARAM_PASSWORD_CONFIRM); if (!stringPassword.equals(stringPasswordConfirm)) { WebUtils.redirectToError( "Mismatch between password and password confirmation", request, httpServletResponse); return; } SecureRandom secureRandom = new SecureRandom(); String salt = "" + secureRandom.nextLong(); byte[] password = User.computeHashedPassword(stringPassword, salt); User user = userDb.get(userId); if (user != null) { WebUtils.redirectToError( "There already exists a user with the ID " + userId, request, httpServletResponse); return; } user = new User( userId, userName, password, salt, email, new ArrayList<String>(), Config.getConfig().activateAccountsAtCreation, false); // ttt2 add confirmation by email, captcha, ... List<String> fieldErrors = user.checkFields(); if (!fieldErrors.isEmpty()) { StringBuilder bld = new StringBuilder("Invalid values when trying to create user with ID ") .append(userId) .append("<br/>"); for (String s : fieldErrors) { bld.append(s).append("<br/>"); } WebUtils.redirectToError(bld.toString(), request, httpServletResponse); return; } // ttt2 2 clients can add the same userId simultaneously userDb.add(user); httpServletResponse.sendRedirect("/"); }
/** * 領域マスタの1レコードをMap形式で返す。 引数には主キー値を渡す。 * * @param connection * @param labelKubun * @param value * @return * @throws NoDataFoundException * @throws DataAccessException */ public static Map selectRecord(Connection connection, RyouikiInfoPk pkInfo, String ryoikiKbn) throws NoDataFoundException, DataAccessException { // ----------------------- // SQL文の作成 // ----------------------- String select = "SELECT" + " A.RYOIKI_NO" + ",A.RYOIKI_RYAKU" + ",A.KOMOKU_NO" // 2006/07/04 苗 修正ここから + ",A.SETTEI_KIKAN" // 設定期間 + ",A.SETTEI_KIKAN_KAISHI" // 設定期間(開始年度) + ",A.SETTEI_KIKAN_SHURYO" // 設定期間(終了年度) // 2006/07/04 苗 修正ここまで + " FROM MASTER_RYOIKI A" + " WHERE RYOIKI_NO = ? " + " AND KOMOKU_NO = ? "; // 計画研究の場合 if ("1".equals(ryoikiKbn)) { select = select + " AND KEIKAKU_FLG = '1'"; } // 公募研究の場合 else if ("2".equals(ryoikiKbn)) { select = select + " AND KOUBO_FLG = '1'"; } if (log.isDebugEnabled()) { log.debug("query:" + select); } // ----------------------- // レコード取得 // ----------------------- List result = SelectUtil.select( connection, select, new String[] {pkInfo.getRyoikiNo(), pkInfo.getKomokuNo()}); if (result.isEmpty()) { throw new NoDataFoundException("当該レコードは存在しません。"); } return (Map) result.get(0); }