1
2
3
4 package de.tivsource.page.converter;
5
6 import java.util.Map;
7 import java.util.logging.Logger;
8
9 import javax.naming.Context;
10 import javax.naming.InitialContext;
11
12 import org.apache.struts2.util.StrutsTypeConverter;
13
14 import com.opensymphony.xwork2.conversion.TypeConversionException;
15
16 import de.tivsource.page.common.captcha.Captcha;
17 import de.tivsource.page.dao.captcha.CaptchaDaoLocal;
18
19
20
21
22
23 public class CaptchaConverter extends StrutsTypeConverter {
24
25 private static final Logger LOGGER = Logger.getLogger("INFO");
26
27
28
29
30 @SuppressWarnings("rawtypes")
31 @Override
32 public Object convertFromString(Map context, String[] values, Class toClass) {
33 if (values == null || values.length == 0 || values[0].trim().length() == 0) {
34 LOGGER.info("Kein Captcha angegeben.");
35 throw new TypeConversionException("Kein Captcha angegeben.");
36 }
37
38 try {
39
40 String uuid = values[0];
41 Context initialContext = new InitialContext();
42
43 CaptchaDaoLocal captchaDaoLocal = (CaptchaDaoLocal) initialContext.lookup("java:global/tiv-page/dao-0.0.1/CaptchaDao");
44 return captchaDaoLocal.findByUuid(uuid);
45 } catch (Exception e) {
46 LOGGER.info("Keinen gültigen Captcha angegeben.");
47 throw new TypeConversionException("Keinen gültigen Captcha angegeben.");
48 }
49 }
50
51
52
53
54 @SuppressWarnings("rawtypes")
55 @Override
56 public String convertToString(Map context, Object o) {
57 Captcha captcha = (Captcha)o;
58 return ""+captcha.getUuid();
59 }
60
61 }