View Javadoc

1   /**
2    * 
3    */
4   package de.tivsource.page.converter;
5   
6   import java.util.Map;
7   
8   import javax.naming.Context;
9   import javax.naming.InitialContext;
10  
11  import org.apache.logging.log4j.LogManager;
12  import org.apache.logging.log4j.Logger;
13  import org.apache.struts2.util.StrutsTypeConverter;
14  
15  import com.opensymphony.xwork2.conversion.TypeConversionException;
16  
17  import de.tivsource.page.dao.reason.ReasonDaoLocal;
18  import de.tivsource.page.entity.request.Reason;
19  
20  /**
21   * @author marc
22   *
23   */
24  public class ReasonConverter extends StrutsTypeConverter {
25  
26      /**
27       * Statischer Logger der Klasse.
28       */
29      private static final Logger LOGGER = LogManager.getLogger(ReasonConverter.class);
30  
31  	/* (non-Javadoc)
32  	 * @see org.apache.struts2.util.StrutsTypeConverter#convertFromString(java.util.Map, java.lang.String[], java.lang.Class)
33  	 */
34  	@SuppressWarnings("rawtypes")
35  	@Override
36  	public Object convertFromString(Map context, String[] values, Class toClass) {
37  	    LOGGER.info("convertFromString(Map context, String[] values, Class toClass) aufgerufen.");
38  
39          if (values == null || values.length == 0 || values[0].trim().length() == 0) {
40          	LOGGER.info("Keine Reason UUID angegeben.");
41          	throw new TypeConversionException("Keine Reason UUID angegeben angegeben.");
42          }
43          
44          try {
45              Context initialContext = new InitialContext();
46              // TODO: Remove version number from dao
47              ReasonDaoLocal reasonDaoLocal = (ReasonDaoLocal) initialContext.lookup("java:global/tiv-page/dao-0.0.1/ReasonDao");
48              return reasonDaoLocal.findByUuid(values[0]);
49          } catch (Exception e) {
50          	LOGGER.info("Keine gültige Reason UUID angegeben.");
51          	throw new TypeConversionException("Keine gültige Reason UUID angegeben.");
52          }
53  	}
54  
55  	/* (non-Javadoc)
56  	 * @see org.apache.struts2.util.StrutsTypeConverter#convertToString(java.util.Map, java.lang.Object)
57  	 */
58  	@SuppressWarnings("rawtypes")
59  	@Override
60  	public String convertToString(Map context, Object o) {
61  	    Reason reason = (Reason)o;
62  		return reason.getUuid();
63  	}
64  
65  }// Ende class