* LoginAction.java - Use UserDAOImpl type for better source lookup * TermAction.ava - Use obvious serialization version - Implemented add() * UserAction.java - Use more obvious serialization version * TermDAO.java - Renamed listTermById() to getTermById() - Added Javadoc * TermDAOImpl.java - Fixed "FROM term" bug (no SQL, case-sensitive) - saveOrUpdate() now returns boolean (for TermAction) * Term.java - Now imports java.io.Serializable - Added serialization version ID - Use TermDAOImpl type for better source lookup * struts.xml - /doTermAdd now triggers add() - Added basic Term actions * user/nav.jsp - Added /listTerm link to trigger user/termList.jsp * user/termAddForm.jsp - Now functional and reusable for Rename Term * General: - Clean-up: + Renamed Object to ObjectEntity + Source formatting - Added javax.persistence and org.hibernate sources (for Javadoc) - Added PDF documentation generated from OpenDocument Text
/trunk/src/ch/ffhs/webE/action/TermAction.java |
---|
1,15 → 1,20 |
package ch.ffhs.webE.action; |
import java.util.ArrayList; |
import java.util.Date; |
import java.util.List; |
import java.util.Map; |
import javax.servlet.http.HttpServletRequest; |
import org.apache.struts2.StrutsStatics; |
import ch.ffhs.webE.dao.TermDAO; |
import ch.ffhs.webE.dao.TermDAOImpl; |
import ch.ffhs.webE.dao.UserDAOImpl; |
import ch.ffhs.webE.domain.ObjectEntity; |
import ch.ffhs.webE.domain.ObjectType; |
import ch.ffhs.webE.domain.Term; |
import ch.ffhs.webE.domain.User; |
import com.opensymphony.xwork2.Action; |
import com.opensymphony.xwork2.ActionContext; |
23,12 → 28,18 |
*/ |
public class TermAction extends ActionSupport implements ModelDriven<Term> |
{ |
private static final long serialVersionUID = -6659925652584240539L; |
private static final long serialVersionUID = 1L; |
private Term term = new Term(); |
private List<Term> termList = new ArrayList<Term>(); |
private final TermDAO termDAO = new TermDAOImpl(); |
private final TermDAOImpl termDAO = new TermDAOImpl(); |
private final UserDAOImpl userDAO = new UserDAOImpl(); |
/** |
* Session object |
*/ |
Map<String, Object> session = ActionContext.getContext().getSession(); |
/* |
* (non-Javadoc) |
* |
44,14 → 55,23 |
* |
* @return {@link Action#SUCCESS} |
*/ |
public String addOrUpdate() |
public String add() |
{ |
this.termDAO.saveOrUpdate(this.term); |
User user = this.userDAO.searchUsername((String) this.session |
.get("username")); |
ObjectEntity obj = new ObjectEntity(user, new ObjectType(ObjectType.TERM), |
user, null, new Date(), false, this.term, null, null); |
this.term.setObject(obj); |
if (this.termDAO.saveOrUpdate(this.term)) |
{ |
return Action.SUCCESS; |
} |
return Action.ERROR; |
} |
/** |
* DB query for userList |
* DB query for term list |
* |
* @return SUCCESS |
*/ |
71,14 → 91,15 |
if (id > 0) |
{ |
this.term = this.termDAO.listTermById(id); |
this.term = this.termDAO.getTermById(id); |
if (this.term != null) |
{ |
return Action.SUCCESS; |
} |
else |
{ |
} |
return Action.ERROR; |
} |
} |
/** |
* Gets the ID Parameter for update / delete requests |
/trunk/src/ch/ffhs/webE/action/LoginAction.java |
---|
2,10 → 2,10 |
import java.util.Map; |
import ch.ffhs.webE.dao.UserDAO; |
import ch.ffhs.webE.dao.UserDAOImpl; |
import ch.ffhs.webE.domain.User; |
import com.opensymphony.xwork2.Action; |
import com.opensymphony.xwork2.ActionContext; |
import com.opensymphony.xwork2.ActionSupport; |
import com.opensymphony.xwork2.ModelDriven; |
14,16 → 14,21 |
{ |
private static final long serialVersionUID = 1799753056277211344L; |
private User user = new User(); |
private UserDAO userDAO = new UserDAOImpl(); |
private final User user = new User(); |
private final UserDAOImpl userDAO = new UserDAOImpl(); |
// Form fields |
/* Form fields */ |
private String userName; |
private String pw; |
// Session Object |
/** |
* JSP session object |
*/ |
Map<String, Object> session = ActionContext.getContext().getSession(); |
/** |
* |
*/ |
public LoginAction() |
{ |
} |
32,31 → 37,32 |
{ |
// If password or user name are empty, the login fails. |
if ("".equals(getUserName()) || "".equals(getPw()) |
|| getUserName() == null || getPw() == null) |
if ("".equals(this.getUserName()) || "".equals(this.getPw()) |
|| this.getUserName() == null || this.getPw() == null) |
{ |
addFieldError("userName", "Falscher Username oder Passwort"); |
return ERROR; |
this.addFieldError("userName", "Falscher Username oder Passwort"); |
return Action.ERROR; |
} |
String verifiedUser = verifyUser(getUserName(), getPw()); |
String verifiedUser = this.verifyUser(this.getUserName(), this.getPw()); |
if (verifiedUser.equals("failed")) |
{ |
addFieldError("userName", "Falscher Username oder Passwort"); |
return ERROR; |
this.addFieldError("userName", "Falscher Username oder Passwort"); |
return Action.ERROR; |
} |
else |
{ |
// Put user name, password into session |
session.put("username", getUserName()); |
session.put("pw", getPw()); |
this.session.put("username", this.getUserName()); |
this.session.put("pw", this.getPw()); |
return verifiedUser; |
} |
} |
/** |
* Logout ausführen. Zerstört die Daten in der Session |
* Logout ausf�hren. Zerst�rt die Daten in der Session |
* |
* @return String |
*/ |
public String doLogout() |
63,7 → 69,7 |
{ |
//Kill Session content |
ActionContext.getContext().getSession().clear(); |
return SUCCESS; |
return Action.SUCCESS; |
} |
/** |
78,15 → 84,19 |
public String verifyUser(String username, String password) |
{ |
// DB Query |
User u = userDAO.searchUsername(username); |
User u = this.userDAO.searchUsername(username); |
// User does not exist |
if (u == null) |
return ERROR; |
{ |
return Action.ERROR; |
} |
// User password does not match |
if (!u.getPassword().equals(password)) |
return ERROR; |
{ |
return Action.ERROR; |
} |
// User credentials are fine, check for admin rights |
if (u.isAdmin()) |
101,7 → 111,7 |
public String getUserName() |
{ |
return userName; |
return this.userName; |
} |
public void setUserName(String userName) |
111,7 → 121,7 |
public String getPw() |
{ |
return pw; |
return this.pw; |
} |
public void setPw(String pw) |
122,6 → 132,6 |
@Override |
public User getModel() |
{ |
return user; |
return this.user; |
} |
} |
/trunk/src/ch/ffhs/webE/action/UserAction.java |
---|
5,29 → 5,29 |
import javax.servlet.http.HttpServletRequest; |
import org.apache.struts2.ServletActionContext; |
import org.apache.struts2.StrutsStatics; |
import ch.ffhs.webE.dao.UserDAOImpl; |
import ch.ffhs.webE.domain.User; |
import com.opensymphony.xwork2.Action; |
import com.opensymphony.xwork2.ActionContext; |
import com.opensymphony.xwork2.ActionSupport; |
import com.opensymphony.xwork2.ModelDriven; |
import ch.ffhs.webE.dao.UserDAO; |
import ch.ffhs.webE.dao.UserDAOImpl; |
import ch.ffhs.webE.domain.User; |
public class UserAction extends ActionSupport implements ModelDriven<User> |
{ |
private static final long serialVersionUID = -6659925652584240539L; |
private static final long serialVersionUID = 1L; |
private User user = new User(); |
private List<User> userList = new ArrayList<User>(); |
private UserDAO userDAO = new UserDAOImpl(); |
private final UserDAOImpl userDAO = new UserDAOImpl(); |
@Override |
public User getModel() |
{ |
return user; |
return this.user; |
} |
/** |
37,8 → 37,8 |
*/ |
public String addOrUpdate() |
{ |
userDAO.saveOrUpdateUser(user); |
return SUCCESS; |
this.userDAO.saveOrUpdateUser(this.user); |
return Action.SUCCESS; |
} |
/** |
48,22 → 48,22 |
*/ |
public String list() |
{ |
userList = userDAO.listUser(); |
return SUCCESS; |
this.userList = this.userDAO.listUser(); |
return Action.SUCCESS; |
} |
public String edit() |
{ |
int id = getIdParameter(); |
int id = this.getIdParameter(); |
if (id > 0) |
{ |
user = userDAO.listUserById(id); |
return SUCCESS; |
this.user = this.userDAO.listUserById(id); |
return Action.SUCCESS; |
} |
else |
{ |
return ERROR; |
return Action.ERROR; |
} |
} |
75,7 → 75,7 |
private int getIdParameter() |
{ |
HttpServletRequest request = (HttpServletRequest) ActionContext |
.getContext().get(ServletActionContext.HTTP_REQUEST); |
.getContext().get(StrutsStatics.HTTP_REQUEST); |
int id = -1; |
try |
91,8 → 91,8 |
} |
/** |
* deletes a user, gets the ID from the "id" parameter that was submitted |
* with the HTTP request |
* deletes a user, gets the ID from the "id" parameter that was submitted with |
* the HTTP request |
* |
* @return String - either SUCCESS or ERROR constant |
*/ |
99,17 → 99,17 |
public String delete() |
{ |
int id = getIdParameter(); |
int id = this.getIdParameter(); |
// Check for malicious ID values |
if (id > 0) |
{ |
userDAO.deleteUser(id); |
return SUCCESS; |
this.userDAO.deleteUser(id); |
return Action.SUCCESS; |
} |
else |
{ |
return ERROR; |
return Action.ERROR; |
} |
} |
119,7 → 119,7 |
public User getUser() |
{ |
return user; |
return this.user; |
} |
public void setUser(User user) |
129,7 → 129,7 |
public List<User> getUserList() |
{ |
return userList; |
return this.userList; |
} |
public void setUserList(List<User> userList) |