@SuppressWarnings("unchecked") @Override public String execute() { float usage; int percent; int userRootDir; session = ActionContext.getContext().getSession(); conn = DB.getConnection(); System.out.println("Request for registering a account recieved"); if (conn == null) { return ERROR; } if (username == null || username.isEmpty()) { addFieldError(username, "Username can not be empty"); return ERROR; } if (password == null || password.isEmpty()) { addFieldError(password, "Password can not be empty"); return ERROR; } if (email == null || email.isEmpty()) { addFieldError(email, "Email can not be empty"); return ERROR; } if (password2 == null || password != password2) { addFieldError(password2, "Password provided do not match"); return ERROR; } if ((User.findExistingUser(username)).equals("Exists")) { addFieldError(username, "Username is not available"); return ERROR; } System.out.println( "being inserted: " + username + " " + password + " " + email + " 000000000000000000000000000000000000000"); sqlQuery1 = "insert into users (username,password,emailid) values ('" + username + "','" + password + "','" + email + "')"; try { stmt = conn.createStatement(); rows = stmt.executeUpdate( sqlQuery1, Statement .RETURN_GENERATED_KEYS); // by this method we retrieve user id that has been auto // generated by mysql. rs = stmt.getGeneratedKeys(); if (rs.next()) { newGeneratedUId = rs.getInt(1); } sqlQuery2 = "insert into user_folders(foldername,userid) values('root', " + newGeneratedUId + " ) "; rows = stmt.executeUpdate(sqlQuery2); session.put("userkey", username); session.put("uid", newGeneratedUId); userRootDir = Directory.getUserRootDir(newGeneratedUId); session.put("userrootdirid", userRootDir); session.put("usercurrentdirid", userRootDir); usage = UserFile.getUserUsage(newGeneratedUId); session.put("usage", usage); percent = (int) (usage * 2); session.put("percent", percent); return SUCCESS; } catch (Exception ex) { ex.printStackTrace(); return ERROR; } finally { try { conn.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }