1
2
3
4 package de.tivsource.page.admin.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.location.LocationDaoLocal;
18 import de.tivsource.page.entity.location.Location;
19
20
21
22
23
24 public class LocationConverter extends StrutsTypeConverter {
25
26
27
28
29 private static final Logger LOGGER = LogManager.getLogger(LocationConverter.class);
30
31
32
33
34 @SuppressWarnings("rawtypes")
35 @Override
36 public Object convertFromString(Map context, String[] values, Class toClass) {
37
38 if (values == null || values.length == 0 || values[0].trim().length() == 0) {
39 LOGGER.info("Keine Location UUID angegeben.");
40 throw new TypeConversionException("Keine Location UUID angegeben angegeben.");
41 }
42
43 try {
44 Context initialContext = new InitialContext();
45
46 LocationDaoLocal locationDaoLocal = (LocationDaoLocal) initialContext.lookup("java:global/tiv-page/dao-0.0.1/LocationDao");
47 return locationDaoLocal.findByUuidWidthEvents(values[0]);
48 } catch (Exception e) {
49 LOGGER.info("Keine gültige Location UUID angegeben.");
50 throw new TypeConversionException("Keine gültige Location UUID angegeben.");
51 }
52 }
53
54
55
56
57 @SuppressWarnings("rawtypes")
58 @Override
59 public String convertToString(Map context, Object o) {
60 Location location = (Location)o;
61 return location.getUuid();
62 }
63
64 }