/** * Private helper that handles the pdp elements. */ private PDPConfig parsePDPConfig(Node root) throws ParsingException { ArrayList attrModules = new ArrayList(); HashSet policyModules = new HashSet(); ArrayList rsrcModules = new ArrayList(); // go through all elements of the pdp, loading the specified modules NodeList children = root.getChildNodes(); for (int i = 0; i < children.getLength(); i++) { Node child = children.item(i); String name = SunxacmlUtil.getNodeName(child); if (name.equals("policyFinderModule")) { policyModules.add(loadClass("module", child)); } else if (name.equals("attributeFinderModule")) { attrModules.add(loadClass("module", child)); } else if (name.equals("resourceFinderModule")) { rsrcModules.add(loadClass("module", child)); } } // after loading the modules, use the collections to setup a // PDPConfig based on this pdp element AttributeFinder attrFinder = new AttributeFinder(); attrFinder.setModules(attrModules); PolicyFinder policyFinder = new PolicyFinder(); policyFinder.setModules(policyModules); ResourceFinder rsrcFinder = new ResourceFinder(); rsrcFinder.setModules(rsrcModules); return new PDPConfig(attrFinder, policyFinder, rsrcFinder); }
pdp = new PDP(new PDPConfig(attributeFinder, policyFinder, null));
public PDPConfig getPDPConfig(List<AttributeFinderModule> attributeFinders, Set<PolicyFinderModule> policyFinders, List<ResourceFinderModule> resourceFinders) { AttributeFinder attr = new AttributeFinder(); attr.setModules(attributeFinders); PolicyFinder policy = new PolicyFinder(); policy.setModules(policyFinders); ResourceFinder rsrc = new ResourceFinder(); rsrc.setModules(resourceFinders); return new PDPConfig(attr, policy, rsrc); }
public PDPConfig getPDPConfig(List<AttributeFinderModule> attributeFinders, Set<PolicyFinderModule> policyFinders, List<ResourceFinderModule> resourceFinders) { AttributeFinder attr = new AttributeFinder(); attr.setModules(attributeFinders); PolicyFinder policy = new PolicyFinder(); policy.setModules(policyFinders); ResourceFinder rsrc = new ResourceFinder(); rsrc.setModules(resourceFinders); return new PDPConfig(attr, policy, rsrc); }