SessionStore.java
1.51 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
package fi.codecrew.moya.handler;
import java.io.Serializable;
import java.util.Locale;
import javax.ejb.EJB;
import javax.enterprise.context.SessionScoped;
import javax.faces.context.FacesContext;
import javax.inject.Named;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import fi.codecrew.moya.beans.EventBeanLocal;
@Named
@SessionScoped
public class SessionStore implements Serializable {
private static final long serialVersionUID = 594517648650107916L;
private static final Locale DEFAULT_LOCALE = new Locale("fi");
@EJB
private EventBeanLocal eventbean;
private Locale locale;
private boolean manageContentLinks = false;
private static final Logger logger = LoggerFactory.getLogger(SessionStore.class);
public Locale getLocale() {
Locale ret = locale;
if (ret == null)
{
String retStr = eventbean.getCurrentEvent().getOrganiser().getBundleCountry();
if (retStr != null && !retStr.isEmpty()) {
try {
ret = Locale.forLanguageTag(retStr);
} catch (Throwable t) {
logger.warn("Error setting locale from current event for {}", retStr);
ret = null;
}
}
if (ret == null) {
ret = DEFAULT_LOCALE;
}
locale = ret;
}
return ret;
}
public void setLocale(Locale locale)
{
this.locale = locale;
FacesContext.getCurrentInstance().getViewRoot().setLocale(locale);
}
public boolean isManageContentLinks() {
return manageContentLinks;
}
public void setManageContentLinks(boolean manageContentLinks) {
this.manageContentLinks = manageContentLinks;
}
}