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