1 19 20 package com.sslexplorer.policyframework; 21 22 import java.util.ArrayList ; 23 import java.util.Collection ; 24 import java.util.Collections ; 25 import java.util.Iterator ; 26 import java.util.List ; 27 28 import org.apache.commons.logging.Log; 29 import org.apache.commons.logging.LogFactory; 30 import org.apache.struts.util.LabelValueBean; 31 32 import com.sslexplorer.input.MultiSelectDataSource; 33 import com.sslexplorer.security.SessionInfo; 34 import com.sslexplorer.security.User; 35 36 public class DelegatedPoliciesDataSource implements MultiSelectDataSource { 37 38 final static Log log = LogFactory.getLog(DelegatedPoliciesDataSource.class); 39 40 private Policy checkPolicy; 41 private ResourceType checkResourceType; 42 private String checkPermissionClass; 43 private User checkUser; 44 45 public DelegatedPoliciesDataSource(Policy checkPolicy, ResourceType checkResourceType, String checkPermissionClass, User checkUser) { 46 this.checkPolicy = checkPolicy; 47 this.checkResourceType = checkResourceType; 48 this.checkPermissionClass = checkPermissionClass; 49 this.checkUser = checkUser; 50 } 51 52 public Collection <LabelValueBean> getValues(SessionInfo session) { 53 List l = new ArrayList (); 54 try { 55 Policy pol = null; 56 boolean ok = true; 57 List policies = PolicyDatabaseFactory.getInstance().getPolicies(checkUser.getRealm()); 58 Collections.sort(policies); 59 for (Iterator i = policies.iterator(); ok && i.hasNext();) { 60 pol = (Policy) i.next(); 61 if (checkPolicy != null) { 62 if (pol.getResourceId() == checkPolicy.getResourceId()) { 63 ok = false; 64 } 65 } 66 if (ok) { 67 l.add(new LabelValueBean(pol.getResourceName(), String.valueOf(pol.getResourceId()))); 68 } 69 ok = true; 70 } 71 } catch (Exception e) { 72 log.error("Failed to list policies.", e); 73 } 74 return l; 75 } 76 }
| Popular Tags
|