View Javadoc

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   * @author marc
22   *
23   */
24  public class ContentItemConverter extends StrutsTypeConverter {
25  
26      /**
27       * Statischer Logger der Klasse.
28       */
29      private static final Logger LOGGER = LogManager.getLogger(ContentItemConverter.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  
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              // TODO: Remove version number from dao
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  	/* (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  		ContentItem contentItem = (ContentItem)o;
62  		return contentItem.getUuid();
63  	}
64  
65  }// Ende class