- 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

@ -1,78 +1,79 @@
/*
* Copyright [2011] [wisemapping]
*
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
* It is basically the Apache License, Version 2.0 (the "License") plus the
* "powered by wisemapping" text requirement on every single page;
* you may not use this file except in compliance with the License.
* You may obtain a copy of the license at
*
* http://www.wisemapping.org/license
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.wisemapping.model;
import org.jetbrains.annotations.NotNull;
import java.util.Calendar;
import java.util.Set;
import java.util.HashSet;
public class Collaborator {
private long id;
private String email;
private Calendar creationDate;
private Set<Collaboration> collaborations = new HashSet<Collaboration>();
public Collaborator() {}
public Collaborator(Set<Collaboration> collaborations) {
this.collaborations = collaborations;
}
public void setCollaborations(Set<Collaboration> collaborations)
{
this.collaborations = collaborations;
}
public void addCollaboration(@NotNull Collaboration collaboration)
{
collaborations.add(collaboration);
}
public Set<Collaboration> getCollaborations()
{
return collaborations;
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public Calendar getCreationDate() {
return creationDate;
}
public void setCreationDate(Calendar creationDate) {
this.creationDate = creationDate;
}
}
/*
* Copyright [2011] [wisemapping]
*
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
* It is basically the Apache License, Version 2.0 (the "License") plus the
* "powered by wisemapping" text requirement on every single page;
* you may not use this file except in compliance with the License.
* You may obtain a copy of the license at
*
* http://www.wisemapping.org/license
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
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 implements Serializable {
private long id;
private String email;
private Calendar creationDate;
private Set<Collaboration> collaborations = new HashSet<Collaboration>();
public Collaborator() {}
public Collaborator(Set<Collaboration> collaborations) {
this.collaborations = collaborations;
}
public void setCollaborations(Set<Collaboration> collaborations)
{
this.collaborations = collaborations;
}
public void addCollaboration(@NotNull Collaboration collaboration)
{
collaborations.add(collaboration);
}
public Set<Collaboration> getCollaborations()
{
return collaborations;
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public Calendar getCreationDate() {
return creationDate;
}
public void setCreationDate(Calendar creationDate) {
this.creationDate = 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>