/* * Created on 04.09.2006 * Author: Moritz Kroll */ package jplagHomepage; import java.util.ArrayList; public class JSPDeveloperData { private static final String errorBegin="<font color=\"red\">"; private static final String errorEnd="</font>"; JPlagBean jplagBean = null; private ArrayList<String> errorList = new ArrayList<String>(); private String username = ""; private String password = ""; private String signwhat = ""; private boolean signAsDeveloper = true; private String initial = "true"; public String getUsername() { return username; } public void setUsername(String val) { username = val; } public String getPassword() { return password; } public void setPassword(String val) { password = val; } public String getSignwhat() { return signwhat; } public void setSignwhat(String val) { signwhat = val; } public boolean getSignAsDeveloper() { return signAsDeveloper; } public String getInitial() { return initial; } public void setInitial(String val) { initial = val; } private boolean checkString(String str, String name) { if(str != null && str.length() != 0) return true; errorList.add("You have to provide a " + name + "!"); return false; } private JPlagBean getJPlagBean() { if(jplagBean == null) jplagBean = new JPlagBean(); return jplagBean; } public boolean checkUsername() { return checkString(username, "username"); } public boolean checkPassword() { return checkString(password, "password"); } public boolean checkSignwhat() { if(signwhat.equals("signup")) { signAsDeveloper = true; return true; } else if(signwhat.equals("signoff")) { signAsDeveloper = false; return true; } errorList.add("You have to choose whether you want to sign up or sign " + "off for developer mails!"); return false; } public boolean checkAll() { boolean bUser = checkUsername(), bPass = checkPassword(), bSign = checkSignwhat(); return bUser && bPass && bSign; } public String setDeveloperState() { if(initial.equals("true")) return ""; errorList.clear(); if(checkAll()) { String str = getJPlagBean().setDeveloperState(this); if(str.length() == 0) { // TODO: This doesn't seem to work... setPassword(""); // clear password setInitial("true"); // don't reexecute if(signAsDeveloper) return "You have been successfully marked as a developer!"; else return "You have been successfully unmarked as a developer!"; } errorList.add(str); } String errorMessage; if(errorList.size() == 1) errorMessage = errorBegin + "The following error occurred:<ul>"; else errorMessage = errorBegin + "The following errors occurred:<ul>"; for(String errorStr : errorList) errorMessage += "<li>" + errorStr; errorMessage += "</ul>" + errorEnd; return errorMessage; } /** * This is a workaround to allow the user to clear out fields... * Stupid JSP spec... */ public void setReset(String ignore) { username = ""; password = ""; signwhat = ""; initial = "true"; } }