package com.transmem.action; import java.util.logging.Logger; import javax.servlet.ServletException; import javax.servlet.ServletContext; import java.io.IOException; import java.sql.SQLException; import java.sql.Connection; import java.util.ArrayList; import java.util.Locale; import java.util.ResourceBundle; import com.transmem.data.db.Databases; import com.transmem.data.db.Users; /** * Asynchronous action class for checking availability of user name. * * @version 0.1 * @author Ted Wen * @date Jun. 2007 */ public class Username extends BaseAction { private Logger log_ = Logger.getLogger(Username.class.getName()); public Username() { super(); } public void execute(ServletParams param) throws ServletException, IOException { log_.entering("Username","execute"); Session session = param.getSession(); param.setContentType("text/html;charset=utf-8"); param.setHeader("Cache-Control", "no-cache"); String uid = param.getParameter("username"); if (uid==null || uid.length()<4) { param.getWriter().write("-Invalid name"); return; } Connection conn = null; try { conn = getConnection(param,Databases.CATEGORY_USER); Users usr = new Users(conn); int found = usr.checkUsername(uid); ResourceBundle rb = session.getResourceBundle(); if (found > 0) { param.getWriter().write("+"+rb.getString("reg.info.nameused")); } else { param.getWriter().write("-"+rb.getString("reg.info.nameavail")); } } catch (SQLException x) { log_.severe("SQLException when getConnection(USER)"+x); param.sendError(MessageCode.ERR_DB_CONNECT); } finally { if (conn != null) try { conn.close(); } catch (SQLException e) {} } } }