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.picture.PictureDaoLocal;
18 import de.tivsource.page.entity.picture.Picture;
19
20
21
22
23
24 public class PictureConverter extends StrutsTypeConverter {
25
26
27
28
29 private static final Logger LOGGER = LogManager.getLogger(PictureConverter.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 Picture UUID angegeben.");
40 throw new TypeConversionException("Keine Picture UUID angegeben angegeben.");
41 }
42
43 try {
44 Context initialContext = new InitialContext();
45
46 PictureDaoLocal pictureDaoLocal = (PictureDaoLocal) initialContext.lookup("java:global/tiv-page/dao-0.0.1/PictureDao");
47 return pictureDaoLocal.findByUuid(values[0]);
48 } catch (Exception e) {
49 LOGGER.info("Keine gültige Picture UUID angegeben.");
50 throw new TypeConversionException("Keine gültige Picture UUID angegeben.");
51 }
52 }
53
54
55
56
57 @SuppressWarnings("rawtypes")
58 @Override
59 public String convertToString(Map context, Object o) {
60 Picture picture = (Picture)o;
61 return picture.getUuid();
62 }
63
64 }