View Javadoc

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   * @author Marc Michele
21   *
22   */
23  public class CaptchaConverter extends StrutsTypeConverter {
24  
25      private static final Logger LOGGER = Logger.getLogger("INFO");
26  
27      /* (non-Javadoc)
28       * @see org.apache.struts2.util.StrutsTypeConverter#convertFromString(java.util.Map, java.lang.String[], java.lang.Class)
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              // Setze die übergebene ID
40              String uuid = values[0];
41              Context initialContext = new InitialContext();
42              // TODO: Remove version number from dao
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      /* (non-Javadoc)
52       * @see org.apache.struts2.util.StrutsTypeConverter#convertToString(java.util.Map, java.lang.Object)
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  }// Ende class