package com.sun.xacml.finder.impl; import java.util.HashSet; import java.util.Set; import com.sun.xacml.EvaluationCtx; import com.sun.xacml.ParsingException; import com.sun.xacml.UnknownIdentifierException; import com.sun.xacml.attr.AttributeDesignator; import com.sun.xacml.attr.StandardAttributeFactory; import com.sun.xacml.ctx.Attribute; import com.sun.xacml.finder.RequiredAttributesModule; /** * * Simple class / naiv implementation which does not do any prefetching * and simply returns the currently required attribute * * */ public class CurrentRequiredAttributeModule extends RequiredAttributesModule { private static StandardAttributeFactory attrFactory = StandardAttributeFactory.getFactory(); @Override public Set<Attribute> resolveRequiredAttributes(EvaluationCtx context, AttributeDesignator attrDesignator) { Set<Attribute> attr = new HashSet<Attribute>(); try { attr.add(new Attribute(attrDesignator.getId(), attrDesignator.getIssuer() == null ? null : attrDesignator.getIssuer().toString(), attrFactory.createValue(attrDesignator.getType(), null))); } catch (UnknownIdentifierException e) { e.printStackTrace(); } catch (ParsingException e) { e.printStackTrace(); } return attr; } }