View Javadoc

1   package de.tivsource.page.admin.converter;
2   
3   import java.util.ArrayList;
4   import java.util.List;
5   import java.util.Map;
6   
7   import javax.naming.Context;
8   import javax.naming.InitialContext;
9   
10  import org.apache.struts2.util.StrutsTypeConverter;
11  
12  import com.opensymphony.xwork2.conversion.TypeConversionException;
13  
14  import de.tivsource.page.dao.administration.RoleDaoLocal;
15  import de.tivsource.page.entity.administration.Role;
16  
17  
18  public class RoleListConverter extends StrutsTypeConverter {
19  
20      @SuppressWarnings("rawtypes")
21  	@Override
22      public Object convertFromString(Map context, String[] values, Class toClass) {
23      	
24      	List<Role> roleList = null;
25  
26          if(values.length<=0) {
27              throw new TypeConversionException("Kein gültigen Rollen angegeben");
28          }
29      	
30      	for ( int i = 0; i < values.length; i++ ){
31      		
32      		if(i==0){
33      			roleList = new ArrayList<Role>();
34      		}
35      		
36      		String roleId = values[i];
37              try {
38                  RoleDaoLocal roleDaoLocal;
39                  Context earContext = new InitialContext();
40                  roleDaoLocal = (RoleDaoLocal) earContext.lookup("java:global/tiv-page/dao-0.0.1/RoleDao");
41                  Role role = roleDaoLocal.findByUuid(roleId);
42                  roleList.add(role);
43              }
44              catch (Exception e) {
45                  e.printStackTrace();
46                  throw new RuntimeException(e);
47              }
48      	}
49  
50          if(roleList.size()<=0) {
51              throw new TypeConversionException("Kein gültige Role - UUID");
52          }
53  
54          return roleList;
55      }
56  
57      @SuppressWarnings("rawtypes")
58  	@Override
59      public String convertToString(Map context, Object o) {
60              Role role = (Role)o;
61              return ""+role.getUuid();
62      }
63  }