package com.pugh.sockso.commands; import com.pugh.sockso.Utils; import com.pugh.sockso.db.Database; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class UserList extends BaseCommand { private final Database db; public UserList( final Database db ) { this.db = db; } @Override public String getName() { return "userlist"; } @Override public String getDescription() { return "Lists the users"; } @Override public String execute( final String[] args ) throws SQLException { final StringBuffer sb = new StringBuffer(); PreparedStatement st = null; ResultSet rs = null; try { final String sql = " select id, name, email, is_admin, is_active " + " from users " + " order by name asc "; st = db.prepare( sql ); rs = st.executeQuery(); while ( rs.next() ) { sb.append( rs.getString("id") ); sb.append( "\t" ); sb.append( rs.getString("name") ); sb.append( "\t" ); sb.append( rs.getString("email") ); sb.append( "\t" ); sb.append( rs.getBoolean("is_admin") ? "ADMIN" : "" ); sb.append( "\t" ); sb.append( rs.getInt("is_active") == 1 ? "" : "PENDING" ); sb.append( "\n" ); } return sb.toString(); } finally { Utils.close( rs ); Utils.close( st ); } } @Override public int getNumArgs() { return 0; } }