private void closeQuitely(Statement stmt) { if(stmt != null) { Connection con = null; try { con = stmt.getConnection(); } catch (Exception e) { } try { stmt.close(); } catch (SQLException e) { // ignore } closeQuitely(con); } }
/** * Get all user names from the database. */ public String[] getAllUserNames() throws FtpException { Statement stmt = null; ResultSet rs = null; try { // create sql query String sql = selectAllStmt; LOG.info(sql); // execute query stmt = createConnection().createStatement(); rs = stmt.executeQuery(sql); // populate list ArrayList<String> names = new ArrayList<String>(); while (rs.next()) { names.add(rs.getString(ATTR_LOGIN)); } return names.toArray(new String[0]); } catch (SQLException ex) { LOG.error("DbUserManager.getAllUserNames()", ex); throw new FtpException("DbUserManager.getAllUserNames()", ex); } finally { closeQuitely(rs); closeQuitely(stmt); } }
/** * Get the user object. Fetch the row from the table. */ public User getUserByName(String name) throws FtpException { Statement stmt = null; ResultSet rs = null; try { BaseUser user = selectUserByName(name); if(user != null) { // reset the password, not to be sent to API users user.setPassword(null); } return user; } catch (SQLException ex) { LOG.error("DbUserManager.getUserByName()", ex); throw new FtpException("DbUserManager.getUserByName()", ex); } finally { closeQuitely(rs); closeQuitely(stmt); } }
/** * User existance check. */ public boolean doesExist(String name) throws FtpException { Statement stmt = null; ResultSet rs = null; try { // create the sql HashMap<String, Object> map = new HashMap<String, Object>(); map.put(ATTR_LOGIN, escapeString(name)); String sql = StringUtils.replaceString(selectUserStmt, map); LOG.info(sql); // execute query stmt = createConnection().createStatement(); rs = stmt.executeQuery(sql); return rs.next(); } catch (SQLException ex) { LOG.error("DbUserManager.doesExist()", ex); throw new FtpException("DbUserManager.doesExist()", ex); } finally { closeQuitely(rs); closeQuitely(stmt); } }
/** * @return true if user with this login is administrator */ @Override public boolean isAdmin(String login) throws FtpException { // check input if (login == null) { return false; } Statement stmt = null; ResultSet rs = null; try { // create the sql query HashMap<String, Object> map = new HashMap<String, Object>(); map.put(ATTR_LOGIN, escapeString(login)); String sql = StringUtils.replaceString(isAdminStmt, map); LOG.info(sql); // execute query stmt = createConnection().createStatement(); rs = stmt.executeQuery(sql); return rs.next(); } catch (SQLException ex) { LOG.error("DbUserManager.isAdmin()", ex); throw new FtpException("DbUserManager.isAdmin()", ex); } finally { closeQuitely(rs); closeQuitely(stmt); } }
/** * Delete user. Delete the row from the table. */ public void delete(String name) throws FtpException { // create sql query HashMap<String, Object> map = new HashMap<String, Object>(); map.put(ATTR_LOGIN, escapeString(name)); String sql = StringUtils.replaceString(deleteUserStmt, map); LOG.info(sql); // execute query Statement stmt = null; try { stmt = createConnection().createStatement(); stmt.executeUpdate(sql); } catch (SQLException ex) { LOG.error("DbUserManager.delete()", ex); throw new FtpException("DbUserManager.delete()", ex); } finally { closeQuitely(stmt); } }
"Failed to open connection to user database", ex); } finally{ closeQuitely(con);
"Authentication failed", ex); } finally { closeQuitely(rs); closeQuitely(stmt);
closeQuitely(rs); throw new FtpException("DbUserManager.save()", ex); } finally { closeQuitely(stmt);