View Javadoc

1   package de.tivsource.page.converter;
2   
3   import java.util.Map;
4   import java.util.SortedSet;
5   import java.util.TreeSet;
6   
7   import javax.naming.Context;
8   import javax.naming.InitialContext;
9   
10  import org.apache.logging.log4j.LogManager;
11  import org.apache.logging.log4j.Logger;
12  import org.apache.struts2.util.StrutsTypeConverter;
13  
14  import com.opensymphony.xwork2.conversion.TypeConversionException;
15  
16  import de.tivsource.page.common.css.CSSFile;
17  import de.tivsource.page.dao.cssfile.CSSFileDaoLocal;
18  
19  
20  public class CSSFileListConverter extends StrutsTypeConverter {
21  
22      /**
23       * Statischer Logger der Klasse.
24       */
25      private static final Logger LOGGER = LogManager.getLogger(CSSFileListConverter.class);
26  
27      @SuppressWarnings("rawtypes")
28  	@Override
29      public Object convertFromString(Map context, String[] values, Class toClass) {
30          LOGGER.info("convertFromString(Map context, String[] values, Class toClass) aufgerufen.");
31      	SortedSet<CSSFile> files = null;
32  
33          if(values.length<=0) {
34              throw new TypeConversionException("Kein gültigen CSS - Dateien angegeben");
35          }
36      	
37      	for ( int i = 0; i < values.length; i++ ){
38      		
39      		if(i==0){
40      			files = new TreeSet<CSSFile>();
41      		}
42      		
43      		String cssFileUuid = values[i];
44              try {
45              	CSSFileDaoLocal cssFileDaoLocal;
46                  Context earContext = new InitialContext();
47                  cssFileDaoLocal = (CSSFileDaoLocal) earContext.lookup("java:global/tiv-page/dao-0.0.1/CSSFileDao");
48                  CSSFile cssFile = cssFileDaoLocal.findByUuid(cssFileUuid);
49                  files.add(cssFile);
50              }
51              catch (Exception e) {
52                  e.printStackTrace();
53                  throw new RuntimeException(e);
54              }
55      	}
56  
57          if(files.size()<=0) {
58              throw new TypeConversionException("Kein gültige CSS-Datei-UUID");
59          }
60  
61          return files;
62      }
63  
64      @SuppressWarnings("rawtypes")
65  	@Override
66      public String convertToString(Map context, Object o) {
67      	CSSFile files = (CSSFile)o;
68      	return ""+files.getUuid();
69      }
70  
71  }// Ende class