package pl.matisoft.soy.global.runtime.resolvers;
import com.google.template.soy.data.SoyMapData;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.text.DateFormat;
import java.util.Date;
import java.util.Map;
/**
* Created with IntelliJ IDEA.
* User: mati
* Date: 01/11/2013
* Time: 18:21
*/
@Deprecated
public class HttpSessionDataResolver implements RuntimeDataResolver {
private String prefix = "_http.session.";
@Override
public void resolveData(final HttpServletRequest request, final HttpServletResponse response, final Map<String, ? extends Object> model, final SoyMapData root) {
final HttpSession session = request.getSession(false);
if (session == null) {
return;
}
appendId(root, session);
appendCreationTime(root, session);
appendLastAccessedTime(root, session);
appendMaxInactiveInterval(root, session);
}
private void appendMaxInactiveInterval(final SoyMapData root, final HttpSession session) {
root.put(prefix + "maxInactiveInterval", session.getMaxInactiveInterval());
}
private void appendLastAccessedTime(final SoyMapData root, final HttpSession session) {
root.put(prefix + "lastAccessedTime", DateFormat.getDateTimeInstance().format(new Date(session.getLastAccessedTime())));
}
private void appendCreationTime(final SoyMapData root, final HttpSession session) {
root.put(prefix + "creationTime", DateFormat.getDateTimeInstance().format(new Date(session.getCreationTime())));
}
private void appendId(final SoyMapData root, final HttpSession session) {
if (session.getId() != null) {
root.put(prefix + "id", session.getId());
}
}
}