diff options
| author | Stefan Suhren <suhren.stefan@fh-swf.de> | 2015-11-22 15:07:27 +0100 |
|---|---|---|
| committer | Stefan Suhren <suhren.stefan@fh-swf.de> | 2015-11-23 15:57:23 +0100 |
| commit | df8c8d8eaa3fd74b2f6a76341611555ee6d8834d (patch) | |
| tree | 40e93e3b3674f32d4870486eb9f5870d9fe45b2b /src/beans/UserManager.java | |
| download | JCatalog-df8c8d8eaa3fd74b2f6a76341611555ee6d8834d.tar.gz JCatalog-df8c8d8eaa3fd74b2f6a76341611555ee6d8834d.zip | |
Add initial files
Diffstat (limited to 'src/beans/UserManager.java')
| -rw-r--r-- | src/beans/UserManager.java | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/src/beans/UserManager.java b/src/beans/UserManager.java new file mode 100644 index 0000000..9e08543 --- /dev/null +++ b/src/beans/UserManager.java @@ -0,0 +1,100 @@ +/* + * $RCSFile$ + * + * Created on 06.12.2006 + * for Project: + * by steins + * + * (C) 2005-2006 by + */ +package beans; + +import java.util.List; + +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.EntityTransaction; +import javax.persistence.Persistence; +import javax.persistence.Query; + +import jpa.User; +import static util.DigestUtils.md5; + +public class UserManager { + private User current; + + private boolean loggedIn; + + public UserManager() { + current = new User(); + } + + public String login() { + String outcome = "failure"; + if (current.getUsername() != null && current.getUsername().length() > 0 + && current.getPassword() != null + && current.getPassword().length() > 0) { + EntityManagerFactory factory = Persistence + .createEntityManagerFactory("catalog"); + EntityManager manager = factory.createEntityManager(); + Query query = manager + .createQuery("SELECT u FROM User u where u.username = :username and u.password = :password"); + query.setParameter("username", current.getUsername()); + query.setParameter("password", md5(current.getPassword())); + List results = query.getResultList(); + + if (!results.isEmpty()) { + loggedIn = true; + current = (User) results.get(0); + outcome = "success"; + } + } + // System.out.println(outcome); + return outcome; + } + + public String logout() { + loggedIn = false; + current = new User(); + return "home"; + } + + public void setUsername(String username) { + current.setUsername(username); + } + + public String getUsername() { + return current.getUsername(); + } + + public void setPassword(String password) { + current.setPassword(password); + } + + public String getPassword() { + return current.getPassword(); + } + + public boolean isLoggedIn() { + return loggedIn; + } + + public User getCurrent() { + EntityManagerFactory factory = Persistence + .createEntityManagerFactory("catalog"); + EntityManager manager = factory.createEntityManager(); + + EntityTransaction tx = manager.getTransaction(); + tx.begin(); + try { + current = manager.find(User.class, getUsername()); + + tx.commit(); + } catch (Exception ex) { + ex.printStackTrace(System.err); + tx.rollback(); + } + + return current; + } +} |
