1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.myfaces.tobago.convert;
21
22 import org.slf4j.Logger;
23 import org.slf4j.LoggerFactory;
24 import org.apache.myfaces.tobago.config.TobagoConfig;
25 import org.apache.myfaces.tobago.context.Theme;
26
27 import javax.faces.component.UIComponent;
28 import javax.faces.context.FacesContext;
29 import javax.faces.convert.Converter;
30 import javax.faces.convert.ConverterException;
31
32 @org.apache.myfaces.tobago.apt.annotation.Converter(forClass = "org.apache.myfaces.tobago.context.Theme")
33 public class ThemeConverter implements Converter {
34
35 private static final Logger LOG = LoggerFactory.getLogger(ThemeConverter.class);
36
37 public static final String CONVERTER_ID = "org.apache.myfaces.tobago.Theme";
38
39 public String getAsString(
40 FacesContext facesContext, UIComponent component, Object object)
41 throws ConverterException {
42 try {
43 return ((Theme) object).getName();
44 } catch (ClassCastException e) {
45 throw new ConverterException("object='" + object + "'", e);
46 }
47 }
48
49 public Object getAsObject(
50 FacesContext facesContext, UIComponent component, String string)
51 throws ConverterException {
52 try {
53 return TobagoConfig.getInstance(facesContext).getTheme(string);
54 } catch (Exception e) {
55 LOG.error("string='" + string + "'", e);
56 throw new ConverterException("string='" + string + "'", e);
57 }
58 }
59
60 }