1 package de.webman.acl.resolver; 2 3 import java.util.Hashtable ; 4 import com.teamkonzept.lib.TKException; 5 import com.teamkonzept.lib.TKVector; 6 import de.webman.acl.Login; 7 import de.webman.acl.PolicyFactory; 8 import com.teamkonzept.webman.mainint.WebmanExceptionHandler; 9 10 18 public class GenericResolver 19 extends ResolverBase 20 implements Resolver 21 { 22 23 25 27 32 protected GenericResolver (Login login) 33 { 34 super(login); 35 } 36 37 38 40 51 public final void resolve (Hashtable collection, 52 Integer context, 53 Integer type, 54 Integer reference) 55 throws TKException 56 { 57 try 58 { 59 processPolicies(collection, resolvePolicies(context, type, reference)); 61 } 62 catch (Exception x) 63 { 64 throw WebmanExceptionHandler.getException(x); 65 } 66 } 67 68 69 71 81 private final TKVector resolvePolicies (Integer context, 82 Integer type, 83 Integer reference) 84 throws TKException 85 { 86 TKVector proxies = null; 87 88 try 89 { 90 proxies = resolutionCacheRead(context, 91 type, 92 reference, 93 null); 94 95 if (proxies == null) 96 { 97 proxies = PolicyFactory.getInstance() 98 .getPolicyProxies(getLogin().getID(), 99 context, 100 type, 101 reference); 102 103 resolutionCacheWrite(context, 104 type, 105 reference, 106 null, 107 proxies); 108 } 109 } 110 catch (Exception x) 111 { 112 throw WebmanExceptionHandler.getException(x); 113 } 114 115 return proxies; 116 } 117 118 } 119 | Popular Tags |