Ok, one step forward: now the policy is deployed in the policy repository. But now the handle of my function:
public class NHIN_InstanceIdentifierEqual extends AbstractFunction implements Function
{
/**
*
*/
private static final long serialVersionUID = 2881960288838865975L;
/** XACML function ID. */
public static final String ID = "http://www.hhs.gov/healthit/nhin/function#instance-identifier-equal";
public String getFunctionId() {
return ID;
}
public Object handle(Object... arg0) throws FunctionProcessingException {
System.out.println("LEN IS: " + arg0.length);
return 1;
}
}
is never called

In TargetMatchImpl, I have:
List<?> requestAttributeValues = (List<?>) designator.handle(request, evaluationContext); // Fetches
and it is called
@Override
public Object handle(RequestType request, EvaluationContext evaluationContext) throws ExpressionProcessingException,
MissingAttributeException, SyntaxException {
List<Object> returnValues = new ArrayList<Object>();
from ResourceAttributeDesignator and in the for loop
for (ResourceType res : resources) {
for (AttributeType attr : res.getAttributes()) {
if (getAttributeId().equals(attr.getAttributeId())
&& getDataType().toString().equals(attr.getDataType().toString())) {
if (getIssuer() != null) {
if (getIssuer().equals(attr.getIssuer())) {
addAndConvertAttrValue(returnValues, attr.getAttributeValues());
}
} else {
addAndConvertAttrValue(returnValues, attr.getAttributeValues());
}
}
}
}
it is called
addAndConvertAttrValue(returnValues, attr.getAttributeValues());
which fails, The content of the AttributeValueType can't be greater than 1, as a ExpressionProcessingException resulting in this log:
13:24:07.642 [main] DEBUG o.h.x.c.c.p.i.PolicyOnlyOneApplicableAlgorithm - Starting evaluation of: 2011-10-19-08-53-01-0000507
13:24:07.651 [main] DEBUG o.h.x.c.c.AbstractCombiningAlgorithm - Starting target match.
13:24:07.651 [main] DEBUG o.h.x.c.t.impl.TargetMatcherImpl - Starting subjects match.
13:24:07.651 [main] DEBUG o.h.x.c.t.impl.TargetMatcherImpl - No subjects present.
13:24:07.652 [main] DEBUG o.h.x.c.t.impl.TargetMatcherImpl - Subjects match resulted in: true
13:24:07.652 [main] DEBUG o.h.x.c.t.impl.TargetMatcherImpl - Starting recources match.
13:24:07.652 [main] DEBUG o.h.x.c.t.impl.TargetMatcherImpl - Starting resource match. (id:org.herasaf.xacml.core.policy.impl.ResourceType@6a0239f6)
13:24:58.742 [main] DEBUG o.h.x.c.t.impl.TargetMatcherImpl - Matching with function: http://www.hhs.gov/healthit/nhin/function#instance-identifier-equal
13:28:33.055 [main] DEBUG o.h.x.c.c.AbstractCombiningAlgorithm - Processing error occurred.
13:28:35.876 [main] DEBUG o.h.x.c.c.AbstractCombiningAlgorithm - Target match resulted in: INDETERMINATE