// Path: src/main/java/org/owasp/oneliner/user/User.java
// @XmlAccessorType(XmlAccessType.PUBLIC_MEMBER)
// @XmlRootElement
// public class User {
//     public final String userName;
//     public final String nickName;
//     private HashedPassword hashedPassword;
//     private SessionId sessionId;
// 
//     // Package default to give access to factory class only
//     User(String userName, String nickName, HashedPassword hashedPassword) {
//         this.userName = userName;
//         this.nickName = nickName;
//         this.hashedPassword = hashedPassword;
//     }
// 
//     @Override
//     public String toString() {
//         return userName + ":" + nickName;
//     }
// 
//     public String getUserName() {
//         return userName;
//     }
// 
//     public String getNickName() {
//         return nickName;
//     }
// 
//     public HashedPassword getHashedPassword() {
//         return hashedPassword;
//     }
// 
//     public SessionId getSessionId() {
//         return sessionId;
//     }
// 
//     public void setSessionId(SessionId sessionId) {
//         this.sessionId = sessionId;
//     }
// 
//     public boolean hasActiveSession() {
//         Date now = new Date();
//         return now.before(sessionId.expires()) && now.after(sessionId.starts());
//     }
// 
//     // Here for JAXB
//     public User() {
//         this.userName = null;
//         this.nickName = null;
//     }
// }


import org.owasp.oneliner.user.User;
import javax.annotation.Resource;
package org.owasp.oneliner.session;



/**
 * Author: @johnwilander
 * Date: 2010-12-18
 */
public class SessionManager {
    @Resource
    SessionIdFactory sessionIdFactory;

// Path: src/main/java/org/owasp/oneliner/user/User.java
// @XmlAccessorType(XmlAccessType.PUBLIC_MEMBER)
// @XmlRootElement
// public class User {
//     public final String userName;
//     public final String nickName;
//     private HashedPassword hashedPassword;
//     private SessionId sessionId;
// 
//     // Package default to give access to factory class only
//     User(String userName, String nickName, HashedPassword hashedPassword) {
//         this.userName = userName;
//         this.nickName = nickName;
//         this.hashedPassword = hashedPassword;
//     }
// 
//     @Override
//     public String toString() {
//         return userName + ":" + nickName;
//     }
// 
//     public String getUserName() {
//         return userName;
//     }
// 
//     public String getNickName() {
//         return nickName;
//     }
// 
//     public HashedPassword getHashedPassword() {
//         return hashedPassword;
//     }
// 
//     public SessionId getSessionId() {
//         return sessionId;
//     }
// 
//     public void setSessionId(SessionId sessionId) {
//         this.sessionId = sessionId;
//     }
// 
//     public boolean hasActiveSession() {
//         Date now = new Date();
//         return now.before(sessionId.expires()) && now.after(sessionId.starts());
//     }
// 
//     // Here for JAXB
//     public User() {
//         this.userName = null;
//         this.nickName = null;
//     }
// }


// Path: src/main/java/org/owasp/oneliner/session/SessionManager.java
import org.owasp.oneliner.user.User;
import javax.annotation.Resource;

package org.owasp.oneliner.session;



/**
 * Author: @johnwilander
 * Date: 2010-12-18
 */
public class SessionManager {
    @Resource
    SessionIdFactory sessionIdFactory;

    public SessionId createAuthenticatedSession(User user) {