View Javadoc

1   package fr.in2p3.jsaga.adaptor.security;
2   
3   import java.util.ArrayList;
4   import java.util.HashSet;
5   import java.util.Iterator;
6   import java.util.List;
7   import java.util.Set;
8   
9   /* ***************************************************
10   * *** Centre de Calcul de l'IN2P3 - Lyon (France) ***
11   * ***             http://cc.in2p3.fr/             ***
12   * ***************************************************
13   * File:   DelegationTypeMap
14   * Author: lionel.schwarz@in2p3.fr
15   * Date:   27 nov 2013
16   * ***************************************************
17   * Description:                                      */
18  // TODO: simplify this class ... is not really a map ...
19  public class DelegationTypeMap {
20  
21      public static final String LIMITED = "LIMITED";
22      public static final String FULL = "FULL";
23      public static final String NONE = "NONE";
24      private static List<String> map = createList();
25      
26      private static List<String> createList() {  
27         List<String> map = new ArrayList<String>();
28         map.add(LIMITED);
29         map.add(FULL);
30         map.add(NONE);
31         return map;
32      }
33  
34      public static boolean toLimitedValue(String type) {
35          return (type.equalsIgnoreCase(LIMITED));
36      }
37      
38      public static boolean isValid(String type) {
39          return map.contains(type.toUpperCase());
40      }
41      
42      public static Set<String> getValidTypes() {
43          return new HashSet<String>(map);
44      }
45      
46      public static String getExpected() {
47          Set<String> valids = DelegationTypeMap.getValidTypes();
48          String msg = "\"" + GlobusContext.DELEGATION + "\": Expected: ";
49          for (Iterator<String> i = valids.iterator(); i.hasNext();) {
50              msg += i.next() + " | ";
51          }
52          return msg;
53      }
54  }