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
22
23
24 public class ReasonConverter extends StrutsTypeConverter {
25
26
27
28
29 private static final Logger LOGGER = LogManager.getLogger(ReasonConverter.class);
30
31
32
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
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
56
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 }