- Add support for serialized sessions...

This commit is contained in:
Paulo Gustavo Veiga 2012-09-16 20:02:08 -03:00
parent 36a35b44d7
commit a0ea9a6980
4 changed files with 95 additions and 82 deletions

View File

@ -32,7 +32,7 @@ import java.util.Set;
public class BrowserSupportInterceptor extends HandlerInterceptorAdapter {
private Set<String> exclude;
public static final String USER_AGENT = "wisemapping.userAgent";
public static final String USER_AGENT = "wisemapping.user_agent";
public boolean preHandle(@NotNull HttpServletRequest request, @NotNull HttpServletResponse response, Object object) throws Exception {

View File

@ -26,13 +26,11 @@ import java.io.Serializable;
public class WiseUserAgent implements Serializable {
public static final String USER_AGENT_HEADER = "User-Agent";
private UserAgent userAgent;
transient private UserAgent userAgent;
private String header;
private WiseUserAgent(@NotNull final String header) {
this.header = header;
this.userAgent = new UserAgent(header);
}
public static WiseUserAgent create(@NotNull final HttpServletRequest request) {
@ -41,6 +39,7 @@ public class WiseUserAgent implements Serializable {
public boolean isBrowserSupported() {
final UserAgent userAgent = this.getUserAgent();
final Browser browser = userAgent.getBrowser();
final Version version = userAgent.getBrowserVersion();
final OperatingSystem os = userAgent.getOperatingSystem();
@ -58,7 +57,17 @@ public class WiseUserAgent implements Serializable {
return result;
}
@NotNull
synchronized
private UserAgent getUserAgent() {
if (userAgent == null) {
userAgent = new UserAgent(header);
}
return userAgent;
}
public boolean needsGCF() {
final UserAgent userAgent = this.getUserAgent();
final Browser browser = userAgent.getBrowser();
final Version version = userAgent.getBrowserVersion();
final OperatingSystem os = userAgent.getOperatingSystem();
@ -70,4 +79,6 @@ public class WiseUserAgent implements Serializable {
public static WiseUserAgent create(@NotNull final String userAgent) {
return new WiseUserAgent(userAgent);
}
}

View File

@ -20,12 +20,13 @@ package com.wisemapping.model;
import org.jetbrains.annotations.NotNull;
import java.io.Serializable;
import java.util.Calendar;
import java.util.Set;
import java.util.HashSet;
public class Collaborator {
public class Collaborator implements Serializable {
private long id;
private String email;
private Calendar creationDate;

View File

@ -5,6 +5,7 @@
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<distributable/>
<context-param>
<param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
<param-value>messages</param-value>