http://git-wip-us.apache.org/repos/asf/incubator-openaz/blob/94fcdd90/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/test/policy/TestPolicy.java
----------------------------------------------------------------------
diff --git 
a/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/test/policy/TestPolicy.java
 
b/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/test/policy/TestPolicy.java
new file mode 100755
index 0000000..1f16046
--- /dev/null
+++ 
b/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/test/policy/TestPolicy.java
@@ -0,0 +1,785 @@
+/*
+ *                        AT&T - PROPRIETARY
+ *          THIS FILE CONTAINS PROPRIETARY INFORMATION OF
+ *        AT&T AND IS NOT TO BE DISCLOSED OR USED EXCEPT IN
+ *             ACCORDANCE WITH APPLICABLE AGREEMENTS.
+ *
+ *          Copyright (c) 2014 AT&T Knowledge Ventures
+ *              Unpublished and Not for Publication
+ *                     All Rights Reserved
+ */
+package com.att.research.xacmlatt.pdp.test.policy;
+
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.nio.file.FileVisitResult;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.nio.file.SimpleFileVisitor;
+import java.nio.file.attribute.BasicFileAttributes;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.regex.Matcher;
+
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.Marshaller;
+
+import oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributeType;
+import oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributeValueType;
+import oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributesType;
+import oasis.names.tc.xacml._3_0.core.schema.wd_17.ObjectFactory;
+import oasis.names.tc.xacml._3_0.core.schema.wd_17.PolicySetType;
+import oasis.names.tc.xacml._3_0.core.schema.wd_17.PolicyType;
+import oasis.names.tc.xacml._3_0.core.schema.wd_17.RequestType;
+
+import org.apache.commons.cli.CommandLine;
+import org.apache.commons.cli.GnuParser;
+import org.apache.commons.cli.Option;
+import org.apache.commons.cli.ParseException;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import com.att.research.xacml.api.AttributeValue;
+import com.att.research.xacml.api.DataType;
+import com.att.research.xacml.api.DataTypeException;
+import com.att.research.xacml.api.DataTypeFactory;
+import com.att.research.xacml.api.Identifier;
+import com.att.research.xacml.api.XACML3;
+import com.att.research.xacml.std.IdentifierImpl;
+import com.att.research.xacml.util.FactoryException;
+import com.att.research.xacml.util.XACMLObjectCopy;
+import com.att.research.xacml.util.XACMLPolicyAggregator;
+import com.att.research.xacml.util.XACMLPolicyScanner;
+import com.att.research.xacml.util.XACMLProperties;
+import com.att.research.xacmlatt.pdp.test.TestBase;
+
+
+/**
+ * This class reads the policy in and extracts all the attributes and their 
values that is contained
+ * in the Policy. It then generates a request every single combination of 
attributes found.
+ * 
+ * The attributes mostly come from the Target Match elements, since they have 
both an attribute designator/selector
+ * matched with an attribute value.
+ * 
+ * @author pameladragosh
+ *
+ */
+public class TestPolicy extends TestBase {
+       private static Log logger       = LogFactory.getLog(TestPolicy.class);
+
+       private boolean skip;
+       private Path policy;
+       private XACMLPolicyAggregator aggregator = new XACMLPolicyAggregator();
+       private long index;
+       
+       //
+       // Our command line parameters
+       //
+       public static final String OPTION_POLICY = "policy";
+       public static final String OPTION_SKIP_GENERATE = "skip";
+
+       static {
+               options.addOption(new Option(OPTION_POLICY, true, "Path to the 
policy file."));
+               options.addOption(new Option(OPTION_SKIP_GENERATE, false, "Skip 
generating requests."));
+       }
+       
+       public class FlattenerObject {
+               Identifier category;
+               Identifier datatype;
+               Identifier attribute;
+               Set<AttributeValue<?>> values;
+       }
+       
+       /**
+        * This application exercises a policy by producing ALL the possible 
request combinations for a policy.
+        * 
+        * -policy Path to a policy file
+        * 
+        * @param args
+        * @throws HelpException 
+        * @throws org.apache.commons.cli.ParseException
+        * @throws java.net.MalformedURLException
+        */
+
+       public TestPolicy(String[] args) throws MalformedURLException, 
ParseException, HelpException {
+               super(args);
+       }
+
+       /* 
+        * Look for the -policy command line argument. This application needs a 
pointer to a specific policy
+        * in order to run.
+        * 
+        * 
+        * (non-Javadoc)
+        * @see 
com.att.research.xacmlatt.pdp.test.TestBase#parseCommands(java.lang.String[])
+        */
+       @Override
+       protected void parseCommands(String[] args) throws ParseException, 
MalformedURLException, HelpException {
+               //
+               // Have our super do its job
+               //
+               super.parseCommands(args);
+               //
+               // Look for the policy option
+               //
+               CommandLine cl;
+               cl = new GnuParser().parse(options, args);
+               if (cl.hasOption(OPTION_POLICY)) {
+                       this.policy = 
Paths.get(cl.getOptionValue(OPTION_POLICY));
+                       //
+                       // Ensure it exists
+                       //
+                       if (Files.notExists(this.policy)) {
+                               throw new ParseException("Policy file does not 
exist.");
+                       }
+               } else {
+                       throw new ParseException("You need to specify the 
policy file to be used.");
+               }
+               if (cl.hasOption(OPTION_SKIP_GENERATE)) {
+                       this.skip = true;
+               } else {
+                       this.skip = false;
+               }
+       }
+
+       /* 
+        * We override this method because here is where we want to scan the 
policy and aggregate all
+        * the attributes that are defined within the policy. This routine will 
then dump all the possible
+        * requests into the requests sub-directory. Thus, when this method 
returns the TestBase can proceed
+        * to iterate each generated request and run it against the PDP engine.
+        * 
+        * (non-Javadoc)
+        * @see com.att.research.xacmlatt.pdp.test.TestBase#configure()
+        */
+       @Override
+       protected void configure() throws FactoryException {
+               //
+               // Have our base class do its thing
+               //
+               super.configure();
+               //
+               // Setup where the PDP can find the policy
+               //
+               System.setProperty(XACMLProperties.PROP_ROOTPOLICIES, "policy");
+               System.setProperty("policy.file", this.policy.toString());
+               //
+               // Determine if they want us to skip generation. This helps 
when a huge number of
+               // requests will get generated for a policy and can take some 
time to do so. The user
+               // can generate the requests once and then start testing a 
policy against the requests. Thus,
+               // the attributes never changed but the policy logic did (saves 
time).
+               //
+               if (this.skip) {
+                       return;
+               }
+               //
+               // Now we will scan the policy and get all the attributes.
+               //
+               XACMLPolicyScanner scanner = new 
XACMLPolicyScanner(this.policy, this.aggregator);
+               //
+               // The scanner returns us a policy object
+               //
+               Object policyObject = scanner.scan();
+               //
+               // Just dump some info
+               //
+               if (policyObject instanceof PolicySetType) {
+                       logger.info("Creating requests for policyset: " + 
((PolicySetType)policyObject).getDescription());
+               } else if (policyObject instanceof PolicyType) {
+                       logger.info("Creating requests for policy: " + 
((PolicyType)policyObject).getDescription());
+               }
+               //
+               // Call the function to create the requests
+               //
+               if (policyObject != null) {
+                       this.createRequests();
+               }
+
+               logger.info("Completed Generating requests.");
+       }
+
+       @SuppressWarnings("unchecked")
+       protected void createRequests() {
+               //
+               // Clear out our request directory
+               //
+               this.removeRequests();
+               //
+               // Get our map
+               //
+               Map<Identifier, Map<Identifier, Map<Identifier, 
Set<AttributeValue<?>>>>> attributeMap = this.aggregator.getAttributeMap();
+               //
+               // We're going to create an initial flat list of requests for 
each unique attribute ID. Unique being the
+               // category, datatype and attribute id.
+               //
+               // By flattening the list, it makes it easier to then generate 
all the combinations of possible requests.
+               //
+               List<FlattenerObject> attributes = new 
ArrayList<FlattenerObject>();
+               //
+               // Iterate through all the maps, we are going to flatten it
+               // out into an array list.
+               //
+               for (Map.Entry<Identifier, Map<Identifier, Map<Identifier, 
Set<AttributeValue<?>>>>> categoryEntry : attributeMap.entrySet()) {
+                       String category = categoryEntry.getKey().toString();
+                       if (logger.isDebugEnabled()) {
+                               logger.debug("Category: " + category);
+                       }
+                       Map<Identifier, Map<Identifier, 
Set<AttributeValue<?>>>> datatypeMap = categoryEntry.getValue();
+                       for (Map.Entry<Identifier, Map<Identifier, 
Set<AttributeValue<?>>>> datatypeEntry : datatypeMap.entrySet()) {
+                               String datatype = 
datatypeEntry.getKey().toString();
+                               if (logger.isDebugEnabled()) {
+                                       logger.debug("\tData Type: " + 
datatype);
+                               }
+                               Map<Identifier, Set<AttributeValue<?>>> 
attributeIDMap = datatypeEntry.getValue();
+                               for (Map.Entry<Identifier, 
Set<AttributeValue<?>>> attributeIDEntry : attributeIDMap.entrySet()) {
+                                       String attributeID = 
attributeIDEntry.getKey().toString();
+                                       if (logger.isDebugEnabled()) {
+                                               logger.debug("\t\tAttribute ID: 
" + attributeID);
+                                       }
+                                       Set<AttributeValue<?>> 
attributeValueSet = attributeIDEntry.getValue();
+                                       //
+                                       // Sanity check to see if there are any 
values. Sometimes there isn't if an attribute
+                                       // is a designator that is part of a 
condition or variable.
+                                       //
+                                       if (attributeValueSet.isEmpty()) {
+                                               if (logger.isDebugEnabled()) {
+                                                       logger.debug("No values 
for attribute " + attributeIDEntry.getKey().stringValue());
+                                               }
+                                               //
+                                               // Check for the boolean 
datatype, in that case we can safely
+                                               // assume the true/false are 
ALL the possible values.
+                                               //
+                                               if 
(datatypeEntry.getKey().equals(XACML3.ID_DATATYPE_BOOLEAN) == false) {
+                                                       //
+                                                       // Not boolean, so skip 
it
+                                                       //
+                                                       continue;
+                                               }
+                                               if (logger.isDebugEnabled()) {
+                                                       logger.debug("No values 
but its a boolean datatype, we will include it anyway.");
+                                               }
+                                       }
+                                       //
+                                       // Create our flattener object
+                                       //
+                                       FlattenerObject flat = new 
FlattenerObject();
+                                       flat.category = categoryEntry.getKey();
+                                       flat.datatype = datatypeEntry.getKey();
+                                       flat.attribute = 
attributeIDEntry.getKey();
+                                       flat.values = new 
HashSet<AttributeValue<?>>();
+                                       if 
(datatypeEntry.getKey().equals(XACML3.ID_DATATYPE_BOOLEAN)) {
+                                               //
+                                               // There are only 2 possible 
values, true or false
+                                               //
+                                               
flat.values.add(this.createAttributeValue(flat.datatype, true));
+                                               
flat.values.add(this.createAttributeValue(flat.datatype, false));
+                                       } else {
+                                               
flat.values.addAll(attributeValueSet);
+                                       }
+                                       attributes.add(flat);
+                               }
+                       }
+               }
+               if (attributes.size() <= 1) {
+                       //
+                       // Only one attribute, why bother
+                       //
+                       logger.info("Not enough attributes in policy: " + 
attributes.size());
+                       return;
+               }
+               /*
+                * PLD work more on this later. This combinatorial formula is 
only accurate if each
+                * attribute has one value.
+                * 
+                */
+               if (logger.isDebugEnabled()) {
+                       //
+                       // This isn't really accurate, if an attribute has more 
than one value
+                       //
+                       logger.debug(attributes.size() + " will generate " + 
computePossibleCombinations(attributes.size()));
+               }
+               this.index = 1;
+               for (int i = 0; i < attributes.size(); i++) {
+                       FlattenerObject flat = attributes.get(i);
+                       for (AttributeValue<?> value : flat.values) {
+                               //
+                               // Create a basic request object for just that 
attribute value.
+                               //
+                               RequestType request = new RequestType();
+                               //
+                               AttributesType attrs = new AttributesType();
+                               attrs.setCategory(flat.category.stringValue());
+                               request.getAttributes().add(attrs);
+                               //
+                               AttributeType attr = new AttributeType();
+                               
attr.setAttributeId(flat.attribute.stringValue());
+                               attrs.getAttribute().add(attr);
+                               //
+                               AttributeValueType val = new 
AttributeValueType();
+                               val.setDataType(flat.datatype.stringValue());
+                               if (value.getValue() instanceof Collection) {
+                                       val.getContent().addAll((Collection<? 
extends Object>) value.getValue());
+                               } else {
+                                       
val.getContent().add(value.getValue().toString());
+                               }
+                               //
+                               attr.getAttributeValue().add(val);
+                               //
+                               // Dump it out
+                               //
+                               this.writeRequest(request);
+                               //
+                               // Initiate recursive call to add other 
attributes to the request
+                               //
+                               this.recursivelyGenerateRequests(request, i + 
1, attributes);
+                       }
+               }
+       }
+       
+       protected void recursivelyGenerateRequests(RequestType request, int i, 
List<FlattenerObject> attributes) {
+               if (logger.isTraceEnabled()) {
+                       logger.trace("recursiveGenerate index: " + index + " i: 
" + i);
+               }
+               for ( ; i < attributes.size(); i++) {
+                       FlattenerObject flat = attributes.get(i);
+                       for (AttributeValue<?> value : flat.values) {
+                               //
+                               // Make a copy of the request
+                               //
+                               RequestType copyRequest = 
XACMLObjectCopy.deepCopy(request);
+                               //
+                               // Create the value object
+                               //
+                               AttributeValueType newValue = new 
AttributeValueType();
+                               
newValue.setDataType(flat.datatype.stringValue());
+                               if (value.getValue() instanceof Collection) {
+                                       for (Object v : (Collection<?>) 
value.getValue()) {
+                                               
newValue.getContent().add(v.toString());
+                                       }
+                               } else {
+                                       
newValue.getContent().add(value.getValue().toString());
+                               }
+                               //
+                               // Add the value to the request
+                               //
+                               this.addAttribute(copyRequest, 
flat.category.stringValue(), flat.attribute.stringValue(), newValue);
+                               //
+                               // Now write it out
+                               //
+                               this.writeRequest(copyRequest);
+                               //
+                               // Recursively go through the rest of the 
attributes
+                               //
+                               this.recursivelyGenerateRequests(copyRequest, i 
+ 1, attributes);
+                       }
+               }
+       }
+       
+       public static long      computePossibleCombinations(long 
numberOfAttributes) {
+               long num = 0;
+               for (long i = numberOfAttributes; i > 0; i--) {
+                       num += computeCombinations(numberOfAttributes, i);
+               }
+               return num;
+       }
+       
+       public static long      computeFactorial(long n) {
+               long fact = 1;
+               for (long i = 1; i <= n; i++) {
+                       fact *= i;
+               }
+               return fact;
+       }
+
+       public static long      computePermutationsWithoutRepetition(long n, 
long r) {
+               //
+               //      n!
+               //      ---------
+               //   (n - r)!
+               //
+               long nPrime = 1;
+               long n_rPrime = 1;
+               for (long i = n; i > 1; i--) {
+                       nPrime *= i; 
+               }
+               
+               for (long i = (n - r); i > 1; i--) {
+                       n_rPrime *= i; 
+               }
+               return nPrime / n_rPrime;
+       }
+       
+       public static long      computeCombinations(long n, long r) {
+               //
+               //               n!
+               //      -----------
+               //  r! * (n-r)!
+               //
+               long nPrime = 1;
+               long rPrime = 1;
+               long n_rPrime = 1;
+               
+               for (long i = n; i > 1; i--) {
+                       nPrime *= i; 
+               }
+               
+               for (long i = r; i > 1; i--) {
+                       rPrime *= i; 
+               }
+               
+               for (long i = (n - r); i > 1; i--) {
+                       n_rPrime *= i; 
+               }
+               
+               return nPrime / (rPrime * n_rPrime);
+       }
+
+       protected Set<AttributeValue<?>> getAttributeValues(RequestType 
request) {
+               //
+               // Get our map
+               //
+               Map<Identifier, Map<Identifier, Map<Identifier, 
Set<AttributeValue<?>>>>> attributeMap = this.aggregator.getAttributeMap();
+               //
+               // Find the attribute
+               //
+               AttributesType attrs = request.getAttributes().get(0);
+               Map<Identifier, Map<Identifier, Set<AttributeValue<?>>>> 
categoryMap = attributeMap.get(new IdentifierImpl(attrs.getCategory()));
+               if (categoryMap != null) {
+                       AttributeType a = attrs.getAttribute().get(0);
+                       Map<Identifier, Set<AttributeValue<?>>> datatypeMap = 
categoryMap.get(new IdentifierImpl(a.getAttributeValue().get(0).getDataType()));
+                       if (datatypeMap != null) {
+                               Set<AttributeValue<?>> values = 
datatypeMap.get(new IdentifierImpl(a.getAttributeId()));
+                               if (values != null) {
+                                       return values;
+                               }
+                       }
+               }
+               return Collections.emptySet();
+       }
+       
+       protected AttributeValue<?> createAttributeValue(Identifier datatype, 
Object value) {
+               DataTypeFactory dataTypeFactory         = null;
+               try {
+                       dataTypeFactory = DataTypeFactory.newInstance();
+                       if (dataTypeFactory == null) {
+                               logger.error("Could not create data type 
factory");
+                               return null;
+                       }
+               } catch (FactoryException e) {
+                       logger.error("Can't get Data type Factory: " + 
e.getLocalizedMessage());
+                       return null;
+               }               
+               DataType<?> dataTypeExtended    = 
dataTypeFactory.getDataType(datatype);
+               if (dataTypeExtended == null) {
+                       logger.error("Unknown datatype: " + datatype);
+                       return null;
+               }
+               try {
+                       return dataTypeExtended.createAttributeValue(value);
+               } catch (DataTypeException e) {
+                       logger.error(e);
+               }
+               return null;
+       }
+       
+       protected void removeRequests() {
+               //
+               // Delete any existing request files that we generate. i.e. 
Have the Unknown in the file name.
+               //
+               try {
+                       Files.walkFileTree(Paths.get(this.directory.toString(), 
"requests"), new SimpleFileVisitor<Path>() {
+
+                               @Override
+                               public FileVisitResult visitFile(Path file, 
BasicFileAttributes attrs) throws IOException {
+                                       //
+                                       // Sanity check the file name
+                                       //
+                                       Matcher matcher = 
pattern.matcher(file.getFileName().toString());
+                                       if (matcher.matches()) {
+                                               try {
+                                                       //
+                                                       // Pull what this 
request is supposed to be
+                                                       //
+                                                       String group = null;
+                                                       int count = 
matcher.groupCount();
+                                                       if (count >= 1) {
+                                                               group = 
matcher.group(count-1);
+                                                       }
+                                                       //
+                                                       // Send it
+                                                       //
+                                                       if 
(group.equals("Unknown")) {
+                                                               //
+                                                               // Remove the 
file
+                                                               //
+                                                               
Files.delete(file);
+                                                       }
+                                               } catch (Exception e) {
+                                                       logger.error(e);
+                                                       e.printStackTrace();
+                                               }
+                                       }
+                                       return super.visitFile(file, attrs);
+                               }                               
+                       });
+               } catch (IOException e) {
+                       logger.error("Failed to removeRequests from " + 
this.directory + " " + e);
+               }
+       }
+
+       protected void addRequests(RequestType request, List<RequestType> 
requests, int index) {
+               for (RequestType req : requests) {
+                       //
+                       // There really should only be one attribute
+                       //
+                       for (AttributesType attrs : req.getAttributes()) {
+                               for (AttributeType attr : attrs.getAttribute()) 
{
+                                       for (AttributeValueType value : 
attr.getAttributeValue()) {
+                                               if (this.addAttribute(request, 
attrs.getCategory(), attr.getAttributeId(), value)) {
+                                                       
this.writeRequest(request);
+                                               }
+                                       }
+                               }
+                       }
+               }
+       }
+
+       /**
+        * Writes the request into the "requests" sub-directory, relative to 
the value of the "directory" setup
+        * during initialization.
+        * 
+        * Writing the requests out allows one to go back and easily refer to 
the request when analyzing the responses
+        * generated after the PDP decide() call. Also, one can then use the 
generated requests into any test tools
+        * they wish to build.
+        * 
+        * @param request - The request to be written.
+        */
+       protected void writeRequest(RequestType request) {
+               if (logger.isTraceEnabled()) {
+                       logger.trace("writeRequest: " + index);
+               }
+               try {
+                       ObjectFactory of = new ObjectFactory();
+                       JAXBElement<RequestType> requestElement = 
of.createRequest(request);
+                       JAXBContext context = 
JAXBContext.newInstance(RequestType.class);
+                       Marshaller m = context.createMarshaller();
+                       m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, 
Boolean.TRUE);
+                       Path outFile = Paths.get(this.directory, "requests", 
String.format("Request.%06d.Unknown.xml", this.index));
+                       m.marshal(requestElement, outFile.toFile());
+               } catch (Exception e) {
+                       logger.error("Failed to write request: " + 
e.getMessage());
+               }
+               this.index++;
+       }
+
+       protected boolean       addAttribute(RequestType request, String 
category, String id, AttributeValueType value) {
+               //
+               // See if the category exists
+               //
+               for (AttributesType attrs : request.getAttributes()) {
+                       if (attrs.getCategory().equals(category)) {
+                               //
+                               // It does have the category. But does it have 
the attribute ID?
+                               //
+                               for (AttributeType attr : attrs.getAttribute()) 
{
+                                       if (attr.getAttributeId().equals(id)) {
+                                               //
+                                               // Yes, check for the same 
datatype
+                                               //
+                                               for (AttributeValueType val : 
attr.getAttributeValue()) {
+                                                       if 
(val.getDataType().equals(value.getDataType())) {
+                                                               //
+                                                               // We have 
something already there
+                                                               //
+                                                               return false;
+                                                       }
+                                               }
+                                               //
+                                               // The ID exists, but not the 
datatype
+                                               //
+                                               
attr.getAttributeValue().add(value);
+                                               return true;
+                                       }
+                               }
+                               //
+                               // If we get here, the ID does not exist
+                               //
+                               AttributeType attr = new AttributeType();
+                               attr.setAttributeId(id);
+                               attr.getAttributeValue().add(value);
+                               attrs.getAttribute().add(attr);
+                               return true;
+                       }
+               }
+               //
+               // If we get here, the category does not exist. So add it in.
+               //
+               AttributesType attrs = new AttributesType();
+               attrs.setCategory(category);
+               AttributeType attr = new AttributeType();
+               attr.setAttributeId(id);
+               attr.getAttributeValue().add(value);
+               attrs.getAttribute().add(attr);
+               request.getAttributes().add(attrs);
+               return true;
+       }
+
+       public static void main(String[] args) {
+               try {
+                       new TestPolicy(args).run();
+               } catch (ParseException | IOException | FactoryException e) {
+                       logger.error(e);
+               } catch (HelpException e) {
+               }
+       }
+
+       /*
+       // Map<CATEGORY, MAP<DATATYPE, MAP<ATTRIBUTEID, SET<VALUES>>>
+       @SuppressWarnings("unchecked")
+       private void generateRequests(Map<Identifier, Map<Identifier, 
Map<Identifier, Set<AttributeValue<?>>>>> categoryMap) {
+               meta = new ArrayList<>();
+               
+               for (Map.Entry<Identifier, Map<Identifier, Map<Identifier, 
Set<AttributeValue<?>>>>> categoryEntry : categoryMap.entrySet()) {
+                       String category = categoryEntry.getKey().toString();
+                       logger.debug("Category: " + category);
+                       Map<Identifier, Map<Identifier, 
Set<AttributeValue<?>>>> datatypeMap = categoryEntry.getValue();
+                       for (Map.Entry<Identifier, Map<Identifier, 
Set<AttributeValue<?>>>> datatypeEntry : datatypeMap.entrySet()) {
+                               String datatype = 
datatypeEntry.getKey().toString();
+                               logger.debug("\tData Type: " + datatype);
+                               Map<Identifier, Set<AttributeValue<?>>> 
attributeIDMap = datatypeEntry.getValue();
+                               for (Map.Entry<Identifier, 
Set<AttributeValue<?>>> attributeIDEntry : attributeIDMap.entrySet()) {
+                                       String attributeID = 
attributeIDEntry.getKey().toString();
+                                       logger.debug("\t\tAttribute ID: " + 
attributeID);
+                                       Set<AttributeValue<?>> 
attributeValueSet = attributeIDEntry.getValue();
+                                       for (AttributeValue<?> value : 
attributeValueSet) {
+                                               logger.debug("\t\t\tAttribute 
Value: " + value);                                                
+                                       }
+                                       Iterator<AttributeValue<?>> iterator = 
attributeValueSet.iterator();
+                                       logger.debug("\t\t\t# of Attribute 
values: " + attributeValueSet.size());
+                                       meta.add(new Object[] {category, 
datatype, attributeID, iterator.next(), iterator, attributeValueSet});
+                               }
+                       }
+               }
+               
+               int count = 0;
+               for (File file : output.toFile().listFiles()) {
+                       file.delete();
+               }
+                       
+               do {
+                       RequestType request = new RequestType();
+                       request.setCombinedDecision(false);
+                       request.setReturnPolicyIdList(false);
+                       List<AttributesType> attributesList = 
request.getAttributes();
+                       
+                       Map<String, AttributesType> category2Attribute= new 
HashMap<>();
+                       for (int i = 0; i < meta.size(); i++) {
+                               Object[] record = meta.get(i);
+                               
+                               AttributesType attributes = null;
+                               if 
(category2Attribute.containsKey(record[0].toString()))
+                                       attributes = 
category2Attribute.get(record[0].toString());
+                               else {
+                                       attributes = new AttributesType();
+                                       
attributes.setCategory(record[0].toString());
+                                       
category2Attribute.put(record[0].toString(), attributes);
+                                       attributesList.add(attributes);         
                
+                               }
+//                             attributes.setId(record[2].toString());
+                               List<AttributeType> attrList = 
attributes.getAttribute();
+                               
+                               AttributeType attribute = new AttributeType();
+                               attribute.setAttributeId(record[2].toString());
+                               List<AttributeValueType> valueList = 
attribute.getAttributeValue();
+
+                               AttributeValue<?> attributeValue = 
(AttributeValue<?>) record[3];
+
+                               AttributeValueType value = new 
AttributeValueType();
+                               
value.setDataType(attributeValue.getDataTypeId().toString());
+                               List<Object> content = value.getContent();
+                               content.addAll((Collection<? extends Object>) 
attributeValue.getValue());
+                               valueList.add(value);
+
+                               attrList.add(attribute);
+                       }
+                       
+                       try {
+                               ObjectFactory of = new ObjectFactory();
+                               JAXBElement<RequestType> requestElement = 
of.createRequest(request);
+                               JAXBContext context = 
JAXBContext.newInstance(RequestType.class);
+                               Marshaller m = context.createMarshaller();
+                               m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, 
Boolean.TRUE);
+                               m.marshal(requestElement, 
output.resolve("request" + count + ".xml").toFile());
+                               
+//                             if (count == 0) {//Just send the first request 
to the engine
+                                       StringWriter sw = new StringWriter();
+                                       m.marshal(requestElement, sw);
+                                       logger.info(sw.toString());
+                                       EngineCaller engine = new 
LocalEngineCaller();
+                                       if (engine.startEngine("")) {
+                                               String response = 
engine.decide(sw.toString(), "xml");
+                                               FileWriter writer = new 
FileWriter(output.resolve("response" + count + ".xml").toFile());
+                                               writer.write(response);
+                                               writer.close();
+                                               logger.info("Response received: 
\n" + response);                                        
+                                       }
+//                             }
+                       } catch (Exception e) {
+                               e.printStackTrace();
+                       }
+                       
+                       count++;
+               } while (hasNextRequest());
+                       
+               logger.info("# of requests generated: " + count);
+       }
+       
+       private boolean hasNextRequest() {
+               int i = meta.size() - 1;
+               Object[] record = meta.get(i);
+               
+               @SuppressWarnings("unchecked")
+               Iterator<AttributeValue<?>> iterator = 
(Iterator<AttributeValue<?>>) record[4];
+               if (iterator.hasNext()) {
+                       record[3] = iterator.next();
+               } else {
+                       return recycleAttributeValue(i);
+               }
+               
+               return true;
+       }
+       
+       @SuppressWarnings("unchecked")
+       private boolean recycleAttributeValue(int position) {
+               boolean rc = true;
+               
+               if (position == 0)
+                       return false;
+               
+               Object[] record = meta.get(position);
+               Set<AttributeValue<?>> attributeValueSet = 
(Set<AttributeValue<?>>) record[5];
+               Iterator<AttributeValue<?>> newIt = 
attributeValueSet.iterator();
+               record[4] = newIt;
+               record[3] = newIt.next();
+               int i = position - 1;
+               Object[] previous = meta.get(i);
+               Iterator<AttributeValue<?>> preIt = 
(Iterator<AttributeValue<?>>) previous[4];
+               if (preIt.hasNext()) {
+                       previous[3] = preIt.next();
+               } else {
+                       rc = recycleAttributeValue(i);
+               }
+               
+               return rc;
+       }
+       
+       */
+       
+}
+       
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-openaz/blob/94fcdd90/openaz-xacml-test/src/test/resources/log4j.properties
----------------------------------------------------------------------
diff --git a/openaz-xacml-test/src/test/resources/log4j.properties 
b/openaz-xacml-test/src/test/resources/log4j.properties
new file mode 100755
index 0000000..b45fa2f
--- /dev/null
+++ b/openaz-xacml-test/src/test/resources/log4j.properties
@@ -0,0 +1,22 @@
+#
+# Use this properties for debugging and development.
+#
+#
+# Set root logger level to DEBUG and its only appender to A1.
+log4j.rootLogger=DEBUG, MAIN_LOG
+
+# A1 is set to be a ConsoleAppender.
+log4j.appender.MAIN_LOG=org.apache.log4j.ConsoleAppender
+
+# A1 uses PatternLayout.
+log4j.appender.MAIN_LOG.layout=org.apache.log4j.PatternLayout
+log4j.appender.MAIN_LOG.layout.ConversionPattern=%d{yyyy_MM_dd_HH_mm_ss_SSS} 
[%t] %-5p %l- %m%n
+
+#
+# This is specifically for Xacml request/response logging
+#
+log4j.logger.xacml.request=INFO, REQUEST_LOG
+
+log4j.appender.REQUEST_LOG=org.apache.log4j.ConsoleAppender
+log4j.appender.REQUEST_LOG.layout=org.apache.log4j.PatternLayout
+log4j.appender.REQUEST_LOG.layout.ConversionPattern=%d{yyyy_MM_dd_HH_mm_ss_SSS}
 %m%n
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-openaz/blob/94fcdd90/openaz-xacml-test/src/test/resources/logging.properties
----------------------------------------------------------------------
diff --git a/openaz-xacml-test/src/test/resources/logging.properties 
b/openaz-xacml-test/src/test/resources/logging.properties
new file mode 100755
index 0000000..e3ae0de
--- /dev/null
+++ b/openaz-xacml-test/src/test/resources/logging.properties
@@ -0,0 +1,12 @@
+handlers = java.util.logging.ConsoleHandler, java.util.logging.FileHandler
+
+.level = FINE
+
+java.util.logging.SimpleFormatter.format=%4$s: %5$s %n
+
+java.util.logging.ConsoleHandler.level = FINEST
+java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
+
+java.util.logging.FileHandler.level = SEVERE
+java.util.logging.FileHandler.pattern=%h/xacml_log%u.log
+java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter

http://git-wip-us.apache.org/repos/asf/incubator-openaz/blob/94fcdd90/openaz-xacml-test/target/maven-archiver/pom.properties
----------------------------------------------------------------------
diff --git a/openaz-xacml-test/target/maven-archiver/pom.properties 
b/openaz-xacml-test/target/maven-archiver/pom.properties
new file mode 100644
index 0000000..b09fc74
--- /dev/null
+++ b/openaz-xacml-test/target/maven-archiver/pom.properties
@@ -0,0 +1,5 @@
+#Generated by Maven
+#Tue Apr 07 07:43:01 EDT 2015
+version=0.0.1-SNAPSHOT
+groupId=org.openliberty.openaz
+artifactId=openaz-xacml-test

http://git-wip-us.apache.org/repos/asf/incubator-openaz/blob/94fcdd90/openaz-xacml-test/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
----------------------------------------------------------------------
diff --git 
a/openaz-xacml-test/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
 
b/openaz-xacml-test/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
new file mode 100644
index 0000000..e69de29

http://git-wip-us.apache.org/repos/asf/incubator-openaz/blob/94fcdd90/openaz-xacml-test/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
----------------------------------------------------------------------
diff --git 
a/openaz-xacml-test/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
 
b/openaz-xacml-test/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
new file mode 100644
index 0000000..4f303eb
--- /dev/null
+++ 
b/openaz-xacml-test/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
@@ -0,0 +1,61 @@
+com/att/research/xacmlatt/pdp/test/annotations/TestAnnotation$MyMultiRequestAttributes.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionXPathTest.class
+com/att/research/xacmlatt/pdp/test/conformance/ConformanceScopeResolver$1.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionLogicalTest.class
+com/att/research/xacmlatt/pdp/test/annotations/TestAnnotation$MyRequestAttributes.class
+com/att/research/xacmlatt/pdp/test/policy/TestPolicy.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionBagIsInTest.class
+com/att/research/xacmlatt/pdp/test/conformance/ConformanceScopeResolver.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionRegexpMatchTest.class
+com/att/research/xacmlatt/pdp/test/conformance/ConformanceTestEngine.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionAccessPermittedTest$1.class
+com/att/research/xacmlatt/pdp/std/json/ResponseTest.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionStringEqualIgnoreCaseTest.class
+com/att/research/xacmlatt/pdp/test/conformance/ResponseMatchResult.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionBaseTest.class
+com/att/research/xacmlatt/pdp/test/TestBase$1.class
+com/att/research/xacmlatt/pdp/test/conformance/ConformanceTestSet.class
+com/att/research/xacmlatt/pdp/std/dom/DOMResponseTest.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionComparisonTest.class
+com/att/research/xacmlatt/pdp/test/annotations/TestAnnotation.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionDateTimeArithmeticTest.class
+com/att/research/xacmlatt/pdp/test/custom/TestCustom.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionBagOneAndOnlyTest.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionStringConversionTest.class
+com/att/research/xacmlatt/pdp/std/json/RequestCategoryTest.class
+com/att/research/xacmlatt/pdp/std/json/RequestConformanceTest.class
+com/att/research/xacmlatt/pdp/test/TestBase$Generator.class
+com/att/research/xacmlatt/pdp/test/policy/TestPolicy$1.class
+com/att/research/xacmlatt/pdp/std/json/RequestDefaultCategoryTest.class
+com/att/research/xacmlatt/pdp/test/custom/CustomDataTypeFactory.class
+com/att/research/xacmlatt/pdp/test/conformance/ConformanceTest.class
+com/att/research/xacmlatt/pdp/test/TestBase$HelpException.class
+com/att/research/xacmlatt/pdp/test/custom/CustomFunctionDefinitionFactory.class
+com/att/research/xacmlatt/pdp/test/custom/DataTypePublicKey.class
+com/att/research/xacmlatt/pdp/std/dom/DOMResponseConformanceTest.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionNumberTypeConversionTest.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionArithmeticTest.class
+com/att/research/xacmlatt/pdp/test/conformance/ConformancePIPEngine.class
+com/att/research/xacmlatt/pdp/test/conformance/ConformanceRepository.class
+com/att/research/xacmlatt/pdp/test/policy/TestPolicy$FlattenerObject.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionAccessPermittedTest.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionBagSizeTest.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionHomogeneousSimpleTest.class
+com/att/research/xacmlatt/pdp/test/conformance/ResultMatchResult.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionStringNormalizeTest.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionURIStringConcatenateTest.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionSpecialMatchTest.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionEqualityTest.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionHigherOrderBagTest.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionSetTest.class
+com/att/research/xacmlatt/pdp/std/json/RequestMainTest.class
+com/att/research/xacmlatt/pdp/test/conformance/Conformance.class
+com/att/research/xacmlatt/pdp/test/conformance/ConformanceTestSet$1.class
+com/att/research/xacmlatt/pdp/test/custom/FunctionDefinitionDecrypt.class
+com/att/research/xacmlatt/pdp/test/custom/DataTypePrivateKey.class
+com/att/research/xacmlatt/pdp/std/json/ResponseConformanceTest.class
+com/att/research/xacmlatt/pdp/test/TestBase.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionBagTest.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionXPathTest$1.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionStringFunctionsTest.class
+com/att/research/xacmlatt/pdp/test/conformance/ConformanceTestResult.class

http://git-wip-us.apache.org/repos/asf/incubator-openaz/blob/94fcdd90/openaz-xacml-test/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
----------------------------------------------------------------------
diff --git 
a/openaz-xacml-test/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
 
b/openaz-xacml-test/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
new file mode 100644
index 0000000..484c772
--- /dev/null
+++ 
b/openaz-xacml-test/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
@@ -0,0 +1,50 @@
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/std/dom/DOMResponseConformanceTest.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/test/conformance/ConformanceScopeResolver.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionArithmeticTest.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionLogicalTest.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionXPathTest.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/std/json/RequestMainTest.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionDateTimeArithmeticTest.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/std/json/ResponseConformanceTest.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionURIStringConcatenateTest.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/test/conformance/ConformanceTestResult.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionBaseTest.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/std/json/ResponseTest.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionHomogeneousSimpleTest.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionEqualityTest.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/test/conformance/ResultMatchResult.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/test/custom/FunctionDefinitionDecrypt.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionBagIsInTest.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/test/conformance/ConformanceTest.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionBagOneAndOnlyTest.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionSetTest.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/std/dom/DOMResponseTest.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionStringEqualIgnoreCaseTest.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/test/TestBase.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/std/json/RequestCategoryTest.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/test/custom/CustomDataTypeFactory.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionAccessPermittedTest.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/test/custom/TestCustom.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/std/json/RequestDefaultCategoryTest.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionHigherOrderBagTest.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionBagTest.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/std/json/RequestConformanceTest.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/test/policy/TestPolicy.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/test/custom/DataTypePublicKey.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionStringNormalizeTest.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/test/annotations/TestAnnotation.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/test/custom/DataTypePrivateKey.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/test/conformance/ConformanceRepository.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/test/conformance/ConformancePIPEngine.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionStringFunctionsTest.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/test/conformance/ResponseMatchResult.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionNumberTypeConversionTest.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/test/conformance/ConformanceTestEngine.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/test/conformance/ConformanceTestSet.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionBagSizeTest.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/test/conformance/Conformance.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionComparisonTest.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionSpecialMatchTest.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/test/custom/CustomFunctionDefinitionFactory.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionRegexpMatchTest.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionStringConversionTest.java

http://git-wip-us.apache.org/repos/asf/incubator-openaz/blob/94fcdd90/openaz-xacml-test/target/openaz-xacml-test-0.0.1-SNAPSHOT.jar
----------------------------------------------------------------------
diff --git a/openaz-xacml-test/target/openaz-xacml-test-0.0.1-SNAPSHOT.jar 
b/openaz-xacml-test/target/openaz-xacml-test-0.0.1-SNAPSHOT.jar
new file mode 100644
index 0000000..a9a705b
Binary files /dev/null and 
b/openaz-xacml-test/target/openaz-xacml-test-0.0.1-SNAPSHOT.jar differ

http://git-wip-us.apache.org/repos/asf/incubator-openaz/blob/94fcdd90/openaz-xacml-test/target/surefire-reports/TEST-com.att.research.xacmlatt.pdp.std.dom.DOMResponseConformanceTest.xml
----------------------------------------------------------------------
diff --git 
a/openaz-xacml-test/target/surefire-reports/TEST-com.att.research.xacmlatt.pdp.std.dom.DOMResponseConformanceTest.xml
 
b/openaz-xacml-test/target/surefire-reports/TEST-com.att.research.xacmlatt.pdp.std.dom.DOMResponseConformanceTest.xml
new file mode 100644
index 0000000..9b43392
--- /dev/null
+++ 
b/openaz-xacml-test/target/surefire-reports/TEST-com.att.research.xacmlatt.pdp.std.dom.DOMResponseConformanceTest.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<testsuite 
name="com.att.research.xacmlatt.pdp.std.dom.DOMResponseConformanceTest" 
time="2.289" tests="1" errors="0" skipped="0" failures="0">
+  <properties>
+    <property name="idea.version" value="14.0.3"/>
+    <property name="java.runtime.name" value="Java(TM) SE Runtime 
Environment"/>
+    <property name="sun.boot.library.path" 
value="/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib"/>
+    <property name="java.vm.version" value="24.75-b04"/>
+    <property name="gopherProxySet" value="false"/>
+    <property name="java.vm.vendor" value="Oracle Corporation"/>
+    <property name="java.vendor.url" value="http://java.oracle.com/"/>
+    <property name="path.separator" value=":"/>
+    <property name="guice.disable.misplaced.annotation.check" value="true"/>
+    <property name="java.vm.name" value="Java HotSpot(TM) 64-Bit Server VM"/>
+    <property name="file.encoding.pkg" value="sun.io"/>
+    <property name="idea.launcher.port" value="7533"/>
+    <property name="user.country" value="US"/>
+    <property name="sun.java.launcher" value="SUN_STANDARD"/>
+    <property name="sun.os.patch.level" value="unknown"/>
+    <property name="java.vm.specification.name" value="Java Virtual Machine 
Specification"/>
+    <property name="user.dir" value="/Users/ajith/IdeaProjects/openaz"/>
+    <property name="java.runtime.version" value="1.7.0_75-b13"/>
+    <property name="java.awt.graphicsenv" 
value="sun.awt.CGraphicsEnvironment"/>
+    <property name="java.endorsed.dirs" 
value="/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/endorsed"/>
+    <property name="os.arch" value="x86_64"/>
+    <property name="java.io.tmpdir" 
value="/var/folders/xs/4h_cw5ds0bj_lpk90db3v9dr0000gn/T/"/>
+    <property name="line.separator" value="&#10;"/>
+    <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
+    <property name="os.name" value="Mac OS X"/>
+    <property name="classworlds.conf" 
value="/Applications/apache-maven-3.1.1/bin/m2.conf"/>
+    <property name="sun.jnu.encoding" value="UTF-8"/>
+    <property name="java.library.path" 
value="/Users/ajith/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:."/>
+    <property name="java.specification.name" value="Java Platform API 
Specification"/>
+    <property name="java.class.version" value="51.0"/>
+    <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered 
Compilers"/>
+    <property name="os.version" value="10.10.2"/>
+    <property name="user.home" value="/Users/ajith"/>
+    <property name="user.timezone" value="America/New_York"/>
+    <property name="java.awt.printerjob" value="sun.lwawt.macosx.CPrinterJob"/>
+    <property name="java.specification.version" value="1.7"/>
+    <property name="idea.launcher.bin.path" value="/Applications/IntelliJ IDEA 
14 CE.app/Contents/bin"/>
+    <property name="file.encoding" value="UTF-8"/>
+    <property name="user.name" value="ajith"/>
+    <property name="java.class.path" 
value="/Applications/apache-maven-3.1.1/boot/plexus-classworlds-2.5.1.jar:/Applications/IntelliJ
 IDEA 14 CE.app/Contents/lib/idea_rt.jar"/>
+    <property name="org.slf4j.simpleLogger.defaultLogLevel" value="info"/>
+    <property name="java.vm.specification.version" value="1.7"/>
+    <property name="sun.arch.data.model" value="64"/>
+    <property name="java.home" 
value="/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre"/>
+    <property name="sun.java.command" 
value="com.intellij.rt.execution.application.AppMain 
org.codehaus.classworlds.Launcher -Didea.version=14.0.3 install"/>
+    <property name="java.specification.vendor" value="Oracle Corporation"/>
+    <property name="user.language" value="en"/>
+    <property name="awt.toolkit" value="sun.lwawt.macosx.LWCToolkit"/>
+    <property name="java.vm.info" value="mixed mode"/>
+    <property name="java.version" value="1.7.0_75"/>
+    <property name="java.ext.dirs" 
value="/Users/ajith/Library/Java/Extensions:/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/ext:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java"/>
+    <property name="sun.boot.class.path" 
value="/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/resources.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/rt.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/sunrsasign.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/jsse.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/jce.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/charsets.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/jfr.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/classes"/>
+    <property name="java.vendor" value="Oracle Corporation"/>
+    <property name="maven.home" value="/Applications/apache-maven-3.1.1"/>
+    <property name="file.separator" value="/"/>
+    <property name="java.vendor.url.bug" 
value="http://bugreport.sun.com/bugreport/"/>
+    <property name="sun.cpu.endian" value="little"/>
+    <property name="sun.io.unicode.encoding" value="UnicodeBig"/>
+    <property name="sun.cpu.isalist" value=""/>
+  </properties>
+  <testcase name="testDOMResponse" 
classname="com.att.research.xacmlatt.pdp.std.dom.DOMResponseConformanceTest" 
time="2.289"/>
+</testsuite>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-openaz/blob/94fcdd90/openaz-xacml-test/target/surefire-reports/TEST-com.att.research.xacmlatt.pdp.std.dom.DOMResponseTest.xml
----------------------------------------------------------------------
diff --git 
a/openaz-xacml-test/target/surefire-reports/TEST-com.att.research.xacmlatt.pdp.std.dom.DOMResponseTest.xml
 
b/openaz-xacml-test/target/surefire-reports/TEST-com.att.research.xacmlatt.pdp.std.dom.DOMResponseTest.xml
new file mode 100644
index 0000000..64f983e
--- /dev/null
+++ 
b/openaz-xacml-test/target/surefire-reports/TEST-com.att.research.xacmlatt.pdp.std.dom.DOMResponseTest.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<testsuite name="com.att.research.xacmlatt.pdp.std.dom.DOMResponseTest" 
time="0.107" tests="8" errors="0" skipped="0" failures="0">
+  <properties>
+    <property name="idea.version" value="14.0.3"/>
+    <property name="java.runtime.name" value="Java(TM) SE Runtime 
Environment"/>
+    <property name="sun.boot.library.path" 
value="/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib"/>
+    <property name="java.vm.version" value="24.75-b04"/>
+    <property name="gopherProxySet" value="false"/>
+    <property name="java.vm.vendor" value="Oracle Corporation"/>
+    <property name="java.vendor.url" value="http://java.oracle.com/"/>
+    <property name="path.separator" value=":"/>
+    <property name="guice.disable.misplaced.annotation.check" value="true"/>
+    <property name="java.vm.name" value="Java HotSpot(TM) 64-Bit Server VM"/>
+    <property name="file.encoding.pkg" value="sun.io"/>
+    <property name="idea.launcher.port" value="7533"/>
+    <property name="user.country" value="US"/>
+    <property name="sun.java.launcher" value="SUN_STANDARD"/>
+    <property name="sun.os.patch.level" value="unknown"/>
+    <property name="java.vm.specification.name" value="Java Virtual Machine 
Specification"/>
+    <property name="user.dir" value="/Users/ajith/IdeaProjects/openaz"/>
+    <property name="java.runtime.version" value="1.7.0_75-b13"/>
+    <property name="java.awt.graphicsenv" 
value="sun.awt.CGraphicsEnvironment"/>
+    <property name="java.endorsed.dirs" 
value="/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/endorsed"/>
+    <property name="os.arch" value="x86_64"/>
+    <property name="java.io.tmpdir" 
value="/var/folders/xs/4h_cw5ds0bj_lpk90db3v9dr0000gn/T/"/>
+    <property name="line.separator" value="&#10;"/>
+    <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
+    <property name="os.name" value="Mac OS X"/>
+    <property name="classworlds.conf" 
value="/Applications/apache-maven-3.1.1/bin/m2.conf"/>
+    <property name="sun.jnu.encoding" value="UTF-8"/>
+    <property name="java.library.path" 
value="/Users/ajith/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:."/>
+    <property name="java.specification.name" value="Java Platform API 
Specification"/>
+    <property name="java.class.version" value="51.0"/>
+    <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered 
Compilers"/>
+    <property name="os.version" value="10.10.2"/>
+    <property name="user.home" value="/Users/ajith"/>
+    <property name="user.timezone" value="America/New_York"/>
+    <property name="java.awt.printerjob" value="sun.lwawt.macosx.CPrinterJob"/>
+    <property name="java.specification.version" value="1.7"/>
+    <property name="idea.launcher.bin.path" value="/Applications/IntelliJ IDEA 
14 CE.app/Contents/bin"/>
+    <property name="file.encoding" value="UTF-8"/>
+    <property name="user.name" value="ajith"/>
+    <property name="java.class.path" 
value="/Applications/apache-maven-3.1.1/boot/plexus-classworlds-2.5.1.jar:/Applications/IntelliJ
 IDEA 14 CE.app/Contents/lib/idea_rt.jar"/>
+    <property name="org.slf4j.simpleLogger.defaultLogLevel" value="info"/>
+    <property name="java.vm.specification.version" value="1.7"/>
+    <property name="sun.arch.data.model" value="64"/>
+    <property name="java.home" 
value="/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre"/>
+    <property name="sun.java.command" 
value="com.intellij.rt.execution.application.AppMain 
org.codehaus.classworlds.Launcher -Didea.version=14.0.3 install"/>
+    <property name="java.specification.vendor" value="Oracle Corporation"/>
+    <property name="user.language" value="en"/>
+    <property name="awt.toolkit" value="sun.lwawt.macosx.LWCToolkit"/>
+    <property name="java.vm.info" value="mixed mode"/>
+    <property name="java.version" value="1.7.0_75"/>
+    <property name="java.ext.dirs" 
value="/Users/ajith/Library/Java/Extensions:/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/ext:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java"/>
+    <property name="sun.boot.class.path" 
value="/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/resources.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/rt.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/sunrsasign.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/jsse.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/jce.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/charsets.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/jfr.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/classes"/>
+    <property name="java.vendor" value="Oracle Corporation"/>
+    <property name="maven.home" value="/Applications/apache-maven-3.1.1"/>
+    <property name="file.separator" value="/"/>
+    <property name="java.vendor.url.bug" 
value="http://bugreport.sun.com/bugreport/"/>
+    <property name="sun.cpu.endian" value="little"/>
+    <property name="sun.io.unicode.encoding" value="UnicodeBig"/>
+    <property name="sun.cpu.isalist" value=""/>
+  </properties>
+  <testcase name="testAllFieldsResponse" 
classname="com.att.research.xacmlatt.pdp.std.dom.DOMResponseTest" time="0.085"/>
+  <testcase name="testEmptyAndDecisions" 
classname="com.att.research.xacmlatt.pdp.std.dom.DOMResponseTest" time="0.002"/>
+  <testcase name="testAttributes" 
classname="com.att.research.xacmlatt.pdp.std.dom.DOMResponseTest" time="0.012"/>
+  <testcase name="testPolicyIdentifier" 
classname="com.att.research.xacmlatt.pdp.std.dom.DOMResponseTest" time="0.001"/>
+  <testcase name="testObligations" 
classname="com.att.research.xacmlatt.pdp.std.dom.DOMResponseTest" time="0.002"/>
+  <testcase name="testDecisionStatusMatch" 
classname="com.att.research.xacmlatt.pdp.std.dom.DOMResponseTest" time="0.003"/>
+  <testcase name="testAdvice" 
classname="com.att.research.xacmlatt.pdp.std.dom.DOMResponseTest" time="0.001"/>
+  <testcase name="testStatus" 
classname="com.att.research.xacmlatt.pdp.std.dom.DOMResponseTest" time="0.001"/>
+</testsuite>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-openaz/blob/94fcdd90/openaz-xacml-test/target/surefire-reports/TEST-com.att.research.xacmlatt.pdp.std.functions.FunctionDefinitionAccessPermittedTest.xml
----------------------------------------------------------------------
diff --git 
a/openaz-xacml-test/target/surefire-reports/TEST-com.att.research.xacmlatt.pdp.std.functions.FunctionDefinitionAccessPermittedTest.xml
 
b/openaz-xacml-test/target/surefire-reports/TEST-com.att.research.xacmlatt.pdp.std.functions.FunctionDefinitionAccessPermittedTest.xml
new file mode 100644
index 0000000..4e82a6a
--- /dev/null
+++ 
b/openaz-xacml-test/target/surefire-reports/TEST-com.att.research.xacmlatt.pdp.std.functions.FunctionDefinitionAccessPermittedTest.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<testsuite 
name="com.att.research.xacmlatt.pdp.std.functions.FunctionDefinitionAccessPermittedTest"
 time="0" tests="1" errors="0" skipped="1" failures="0">
+  <properties>
+    <property name="idea.version" value="14.0.3"/>
+    <property name="java.runtime.name" value="Java(TM) SE Runtime 
Environment"/>
+    <property name="sun.boot.library.path" 
value="/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib"/>
+    <property name="java.vm.version" value="24.75-b04"/>
+    <property name="gopherProxySet" value="false"/>
+    <property name="java.vm.vendor" value="Oracle Corporation"/>
+    <property name="java.vendor.url" value="http://java.oracle.com/"/>
+    <property name="path.separator" value=":"/>
+    <property name="guice.disable.misplaced.annotation.check" value="true"/>
+    <property name="java.vm.name" value="Java HotSpot(TM) 64-Bit Server VM"/>
+    <property name="file.encoding.pkg" value="sun.io"/>
+    <property name="idea.launcher.port" value="7533"/>
+    <property name="user.country" value="US"/>
+    <property name="sun.java.launcher" value="SUN_STANDARD"/>
+    <property name="sun.os.patch.level" value="unknown"/>
+    <property name="java.vm.specification.name" value="Java Virtual Machine 
Specification"/>
+    <property name="user.dir" value="/Users/ajith/IdeaProjects/openaz"/>
+    <property name="java.runtime.version" value="1.7.0_75-b13"/>
+    <property name="java.awt.graphicsenv" 
value="sun.awt.CGraphicsEnvironment"/>
+    <property name="java.endorsed.dirs" 
value="/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/endorsed"/>
+    <property name="os.arch" value="x86_64"/>
+    <property name="java.io.tmpdir" 
value="/var/folders/xs/4h_cw5ds0bj_lpk90db3v9dr0000gn/T/"/>
+    <property name="line.separator" value="&#10;"/>
+    <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
+    <property name="os.name" value="Mac OS X"/>
+    <property name="classworlds.conf" 
value="/Applications/apache-maven-3.1.1/bin/m2.conf"/>
+    <property name="sun.jnu.encoding" value="UTF-8"/>
+    <property name="java.library.path" 
value="/Users/ajith/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:."/>
+    <property name="java.specification.name" value="Java Platform API 
Specification"/>
+    <property name="java.class.version" value="51.0"/>
+    <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered 
Compilers"/>
+    <property name="os.version" value="10.10.2"/>
+    <property name="user.home" value="/Users/ajith"/>
+    <property name="user.timezone" value="America/New_York"/>
+    <property name="java.awt.printerjob" value="sun.lwawt.macosx.CPrinterJob"/>
+    <property name="java.specification.version" value="1.7"/>
+    <property name="idea.launcher.bin.path" value="/Applications/IntelliJ IDEA 
14 CE.app/Contents/bin"/>
+    <property name="file.encoding" value="UTF-8"/>
+    <property name="user.name" value="ajith"/>
+    <property name="java.class.path" 
value="/Applications/apache-maven-3.1.1/boot/plexus-classworlds-2.5.1.jar:/Applications/IntelliJ
 IDEA 14 CE.app/Contents/lib/idea_rt.jar"/>
+    <property name="org.slf4j.simpleLogger.defaultLogLevel" value="info"/>
+    <property name="java.vm.specification.version" value="1.7"/>
+    <property name="sun.arch.data.model" value="64"/>
+    <property name="java.home" 
value="/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre"/>
+    <property name="sun.java.command" 
value="com.intellij.rt.execution.application.AppMain 
org.codehaus.classworlds.Launcher -Didea.version=14.0.3 install"/>
+    <property name="java.specification.vendor" value="Oracle Corporation"/>
+    <property name="user.language" value="en"/>
+    <property name="awt.toolkit" value="sun.lwawt.macosx.LWCToolkit"/>
+    <property name="java.vm.info" value="mixed mode"/>
+    <property name="java.version" value="1.7.0_75"/>
+    <property name="java.ext.dirs" 
value="/Users/ajith/Library/Java/Extensions:/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/ext:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java"/>
+    <property name="sun.boot.class.path" 
value="/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/resources.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/rt.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/sunrsasign.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/jsse.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/jce.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/charsets.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/jfr.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/classes"/>
+    <property name="java.vendor" value="Oracle Corporation"/>
+    <property name="maven.home" value="/Applications/apache-maven-3.1.1"/>
+    <property name="file.separator" value="/"/>
+    <property name="java.vendor.url.bug" 
value="http://bugreport.sun.com/bugreport/"/>
+    <property name="sun.cpu.endian" value="little"/>
+    <property name="sun.io.unicode.encoding" value="UnicodeBig"/>
+    <property name="sun.cpu.isalist" value=""/>
+  </properties>
+  <testcase name="testAccess_permitted" 
classname="com.att.research.xacmlatt.pdp.std.functions.FunctionDefinitionAccessPermittedTest"
 time="0">
+    <skipped/>
+  </testcase>
+</testsuite>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-openaz/blob/94fcdd90/openaz-xacml-test/target/surefire-reports/TEST-com.att.research.xacmlatt.pdp.std.functions.FunctionDefinitionArithmeticTest.xml
----------------------------------------------------------------------
diff --git 
a/openaz-xacml-test/target/surefire-reports/TEST-com.att.research.xacmlatt.pdp.std.functions.FunctionDefinitionArithmeticTest.xml
 
b/openaz-xacml-test/target/surefire-reports/TEST-com.att.research.xacmlatt.pdp.std.functions.FunctionDefinitionArithmeticTest.xml
new file mode 100644
index 0000000..ee004a4
--- /dev/null
+++ 
b/openaz-xacml-test/target/surefire-reports/TEST-com.att.research.xacmlatt.pdp.std.functions.FunctionDefinitionArithmeticTest.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<testsuite 
name="com.att.research.xacmlatt.pdp.std.functions.FunctionDefinitionArithmeticTest"
 time="0.112" tests="13" errors="0" skipped="0" failures="0">
+  <properties>
+    <property name="idea.version" value="14.0.3"/>
+    <property name="java.runtime.name" value="Java(TM) SE Runtime 
Environment"/>
+    <property name="sun.boot.library.path" 
value="/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib"/>
+    <property name="java.vm.version" value="24.75-b04"/>
+    <property name="gopherProxySet" value="false"/>
+    <property name="java.vm.vendor" value="Oracle Corporation"/>
+    <property name="java.vendor.url" value="http://java.oracle.com/"/>
+    <property name="path.separator" value=":"/>
+    <property name="guice.disable.misplaced.annotation.check" value="true"/>
+    <property name="java.vm.name" value="Java HotSpot(TM) 64-Bit Server VM"/>
+    <property name="file.encoding.pkg" value="sun.io"/>
+    <property name="idea.launcher.port" value="7533"/>
+    <property name="user.country" value="US"/>
+    <property name="sun.java.launcher" value="SUN_STANDARD"/>
+    <property name="sun.os.patch.level" value="unknown"/>
+    <property name="java.vm.specification.name" value="Java Virtual Machine 
Specification"/>
+    <property name="user.dir" value="/Users/ajith/IdeaProjects/openaz"/>
+    <property name="java.runtime.version" value="1.7.0_75-b13"/>
+    <property name="java.awt.graphicsenv" 
value="sun.awt.CGraphicsEnvironment"/>
+    <property name="java.endorsed.dirs" 
value="/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/endorsed"/>
+    <property name="os.arch" value="x86_64"/>
+    <property name="java.io.tmpdir" 
value="/var/folders/xs/4h_cw5ds0bj_lpk90db3v9dr0000gn/T/"/>
+    <property name="line.separator" value="&#10;"/>
+    <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
+    <property name="os.name" value="Mac OS X"/>
+    <property name="classworlds.conf" 
value="/Applications/apache-maven-3.1.1/bin/m2.conf"/>
+    <property name="sun.jnu.encoding" value="UTF-8"/>
+    <property name="java.library.path" 
value="/Users/ajith/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:."/>
+    <property name="java.specification.name" value="Java Platform API 
Specification"/>
+    <property name="java.class.version" value="51.0"/>
+    <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered 
Compilers"/>
+    <property name="os.version" value="10.10.2"/>
+    <property name="user.home" value="/Users/ajith"/>
+    <property name="user.timezone" value="America/New_York"/>
+    <property name="java.awt.printerjob" value="sun.lwawt.macosx.CPrinterJob"/>
+    <property name="java.specification.version" value="1.7"/>
+    <property name="idea.launcher.bin.path" value="/Applications/IntelliJ IDEA 
14 CE.app/Contents/bin"/>
+    <property name="file.encoding" value="UTF-8"/>
+    <property name="user.name" value="ajith"/>
+    <property name="java.class.path" 
value="/Applications/apache-maven-3.1.1/boot/plexus-classworlds-2.5.1.jar:/Applications/IntelliJ
 IDEA 14 CE.app/Contents/lib/idea_rt.jar"/>
+    <property name="org.slf4j.simpleLogger.defaultLogLevel" value="info"/>
+    <property name="java.vm.specification.version" value="1.7"/>
+    <property name="sun.arch.data.model" value="64"/>
+    <property name="java.home" 
value="/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre"/>
+    <property name="sun.java.command" 
value="com.intellij.rt.execution.application.AppMain 
org.codehaus.classworlds.Launcher -Didea.version=14.0.3 install"/>
+    <property name="java.specification.vendor" value="Oracle Corporation"/>
+    <property name="user.language" value="en"/>
+    <property name="awt.toolkit" value="sun.lwawt.macosx.LWCToolkit"/>
+    <property name="java.vm.info" value="mixed mode"/>
+    <property name="java.version" value="1.7.0_75"/>
+    <property name="java.ext.dirs" 
value="/Users/ajith/Library/Java/Extensions:/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/ext:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java"/>
+    <property name="sun.boot.class.path" 
value="/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/resources.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/rt.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/sunrsasign.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/jsse.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/jce.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/charsets.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/jfr.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/classes"/>
+    <property name="java.vendor" value="Oracle Corporation"/>
+    <property name="maven.home" value="/Applications/apache-maven-3.1.1"/>
+    <property name="file.separator" value="/"/>
+    <property name="java.vendor.url.bug" 
value="http://bugreport.sun.com/bugreport/"/>
+    <property name="sun.cpu.endian" value="little"/>
+    <property name="sun.io.unicode.encoding" value="UnicodeBig"/>
+    <property name="sun.cpu.isalist" value=""/>
+  </properties>
+  <testcase name="testDouble_floor" 
classname="com.att.research.xacmlatt.pdp.std.functions.FunctionDefinitionArithmeticTest"
 time="0.085"/>
+  <testcase name="testDouble_round" 
classname="com.att.research.xacmlatt.pdp.std.functions.FunctionDefinitionArithmeticTest"
 time="0"/>
+  <testcase name="testDouble_subtract" 
classname="com.att.research.xacmlatt.pdp.std.functions.FunctionDefinitionArithmeticTest"
 time="0"/>
+  <testcase name="testDouble_abs" 
classname="com.att.research.xacmlatt.pdp.std.functions.FunctionDefinitionArithmeticTest"
 time="0"/>
+  <testcase name="testDouble_add" 
classname="com.att.research.xacmlatt.pdp.std.functions.FunctionDefinitionArithmeticTest"
 time="0"/>
+  <testcase name="testInteger_abs" 
classname="com.att.research.xacmlatt.pdp.std.functions.FunctionDefinitionArithmeticTest"
 time="0.001"/>
+  <testcase name="testInteger_add" 
classname="com.att.research.xacmlatt.pdp.std.functions.FunctionDefinitionArithmeticTest"
 time="0.024"/>
+  <testcase name="testInteger_mod" 
classname="com.att.research.xacmlatt.pdp.std.functions.FunctionDefinitionArithmeticTest"
 time="0.001"/>
+  <testcase name="testInteger_multiply" 
classname="com.att.research.xacmlatt.pdp.std.functions.FunctionDefinitionArithmeticTest"
 time="0"/>
+  <testcase name="testDouble_multiply" 
classname="com.att.research.xacmlatt.pdp.std.functions.FunctionDefinitionArithmeticTest"
 time="0.001"/>
+  <testcase name="testDouble_divide" 
classname="com.att.research.xacmlatt.pdp.std.functions.FunctionDefinitionArithmeticTest"
 time="0"/>
+  <testcase name="testInteger_divide" 
classname="com.att.research.xacmlatt.pdp.std.functions.FunctionDefinitionArithmeticTest"
 time="0"/>
+  <testcase name="testInteger_subtract" 
classname="com.att.research.xacmlatt.pdp.std.functions.FunctionDefinitionArithmeticTest"
 time="0"/>
+</testsuite>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-openaz/blob/94fcdd90/openaz-xacml-test/target/surefire-reports/TEST-com.att.research.xacmlatt.pdp.std.functions.FunctionDefinitionBagIsInTest.xml
----------------------------------------------------------------------
diff --git 
a/openaz-xacml-test/target/surefire-reports/TEST-com.att.research.xacmlatt.pdp.std.functions.FunctionDefinitionBagIsInTest.xml
 
b/openaz-xacml-test/target/surefire-reports/TEST-com.att.research.xacmlatt.pdp.std.functions.FunctionDefinitionBagIsInTest.xml
new file mode 100644
index 0000000..ae25458
--- /dev/null
+++ 
b/openaz-xacml-test/target/surefire-reports/TEST-com.att.research.xacmlatt.pdp.std.functions.FunctionDefinitionBagIsInTest.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<testsuite 
name="com.att.research.xacmlatt.pdp.std.functions.FunctionDefinitionBagIsInTest"
 time="0.113" tests="1" errors="0" skipped="0" failures="0">
+  <properties>
+    <property name="idea.version" value="14.0.3"/>
+    <property name="java.runtime.name" value="Java(TM) SE Runtime 
Environment"/>
+    <property name="sun.boot.library.path" 
value="/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib"/>
+    <property name="java.vm.version" value="24.75-b04"/>
+    <property name="gopherProxySet" value="false"/>
+    <property name="java.vm.vendor" value="Oracle Corporation"/>
+    <property name="java.vendor.url" value="http://java.oracle.com/"/>
+    <property name="path.separator" value=":"/>
+    <property name="guice.disable.misplaced.annotation.check" value="true"/>
+    <property name="java.vm.name" value="Java HotSpot(TM) 64-Bit Server VM"/>
+    <property name="file.encoding.pkg" value="sun.io"/>
+    <property name="idea.launcher.port" value="7533"/>
+    <property name="user.country" value="US"/>
+    <property name="sun.java.launcher" value="SUN_STANDARD"/>
+    <property name="sun.os.patch.level" value="unknown"/>
+    <property name="java.vm.specification.name" value="Java Virtual Machine 
Specification"/>
+    <property name="user.dir" value="/Users/ajith/IdeaProjects/openaz"/>
+    <property name="java.runtime.version" value="1.7.0_75-b13"/>
+    <property name="java.awt.graphicsenv" 
value="sun.awt.CGraphicsEnvironment"/>
+    <property name="java.endorsed.dirs" 
value="/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/endorsed"/>
+    <property name="os.arch" value="x86_64"/>
+    <property name="java.io.tmpdir" 
value="/var/folders/xs/4h_cw5ds0bj_lpk90db3v9dr0000gn/T/"/>
+    <property name="line.separator" value="&#10;"/>
+    <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
+    <property name="os.name" value="Mac OS X"/>
+    <property name="classworlds.conf" 
value="/Applications/apache-maven-3.1.1/bin/m2.conf"/>
+    <property name="sun.jnu.encoding" value="UTF-8"/>
+    <property name="java.library.path" 
value="/Users/ajith/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:."/>
+    <property name="java.specification.name" value="Java Platform API 
Specification"/>
+    <property name="java.class.version" value="51.0"/>
+    <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered 
Compilers"/>
+    <property name="os.version" value="10.10.2"/>
+    <property name="user.home" value="/Users/ajith"/>
+    <property name="user.timezone" value="America/New_York"/>
+    <property name="java.awt.printerjob" value="sun.lwawt.macosx.CPrinterJob"/>
+    <property name="java.specification.version" value="1.7"/>
+    <property name="idea.launcher.bin.path" value="/Applications/IntelliJ IDEA 
14 CE.app/Contents/bin"/>
+    <property name="file.encoding" value="UTF-8"/>
+    <property name="user.name" value="ajith"/>
+    <property name="java.class.path" 
value="/Applications/apache-maven-3.1.1/boot/plexus-classworlds-2.5.1.jar:/Applications/IntelliJ
 IDEA 14 CE.app/Contents/lib/idea_rt.jar"/>
+    <property name="org.slf4j.simpleLogger.defaultLogLevel" value="info"/>
+    <property name="java.vm.specification.version" value="1.7"/>
+    <property name="sun.arch.data.model" value="64"/>
+    <property name="java.home" 
value="/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre"/>
+    <property name="sun.java.command" 
value="com.intellij.rt.execution.application.AppMain 
org.codehaus.classworlds.Launcher -Didea.version=14.0.3 install"/>
+    <property name="java.specification.vendor" value="Oracle Corporation"/>
+    <property name="user.language" value="en"/>
+    <property name="awt.toolkit" value="sun.lwawt.macosx.LWCToolkit"/>
+    <property name="java.vm.info" value="mixed mode"/>
+    <property name="java.version" value="1.7.0_75"/>
+    <property name="java.ext.dirs" 
value="/Users/ajith/Library/Java/Extensions:/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/ext:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java"/>
+    <property name="sun.boot.class.path" 
value="/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/resources.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/rt.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/sunrsasign.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/jsse.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/jce.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/charsets.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/jfr.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/classes"/>
+    <property name="java.vendor" value="Oracle Corporation"/>
+    <property name="maven.home" value="/Applications/apache-maven-3.1.1"/>
+    <property name="file.separator" value="/"/>
+    <property name="java.vendor.url.bug" 
value="http://bugreport.sun.com/bugreport/"/>
+    <property name="sun.cpu.endian" value="little"/>
+    <property name="sun.io.unicode.encoding" value="UnicodeBig"/>
+    <property name="sun.cpu.isalist" value=""/>
+  </properties>
+  <testcase name="testString" 
classname="com.att.research.xacmlatt.pdp.std.functions.FunctionDefinitionBagIsInTest"
 time="0.113"/>
+</testsuite>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-openaz/blob/94fcdd90/openaz-xacml-test/target/surefire-reports/TEST-com.att.research.xacmlatt.pdp.std.functions.FunctionDefinitionBagOneAndOnlyTest.xml
----------------------------------------------------------------------
diff --git 
a/openaz-xacml-test/target/surefire-reports/TEST-com.att.research.xacmlatt.pdp.std.functions.FunctionDefinitionBagOneAndOnlyTest.xml
 
b/openaz-xacml-test/target/surefire-reports/TEST-com.att.research.xacmlatt.pdp.std.functions.FunctionDefinitionBagOneAndOnlyTest.xml
new file mode 100644
index 0000000..9f3d6d0
--- /dev/null
+++ 
b/openaz-xacml-test/target/surefire-reports/TEST-com.att.research.xacmlatt.pdp.std.functions.FunctionDefinitionBagOneAndOnlyTest.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<testsuite 
name="com.att.research.xacmlatt.pdp.std.functions.FunctionDefinitionBagOneAndOnlyTest"
 time="0.11" tests="2" errors="0" skipped="0" failures="0">
+  <properties>
+    <property name="idea.version" value="14.0.3"/>
+    <property name="java.runtime.name" value="Java(TM) SE Runtime 
Environment"/>
+    <property name="sun.boot.library.path" 
value="/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib"/>
+    <property name="java.vm.version" value="24.75-b04"/>
+    <property name="gopherProxySet" value="false"/>
+    <property name="java.vm.vendor" value="Oracle Corporation"/>
+    <property name="java.vendor.url" value="http://java.oracle.com/"/>
+    <property name="path.separator" value=":"/>
+    <property name="guice.disable.misplaced.annotation.check" value="true"/>
+    <property name="java.vm.name" value="Java HotSpot(TM) 64-Bit Server VM"/>
+    <property name="file.encoding.pkg" value="sun.io"/>
+    <property name="idea.launcher.port" value="7533"/>
+    <property name="user.country" value="US"/>
+    <property name="sun.java.launcher" value="SUN_STANDARD"/>
+    <property name="sun.os.patch.level" value="unknown"/>
+    <property name="java.vm.specification.name" value="Java Virtual Machine 
Specification"/>
+    <property name="user.dir" value="/Users/ajith/IdeaProjects/openaz"/>
+    <property name="java.runtime.version" value="1.7.0_75-b13"/>
+    <property name="java.awt.graphicsenv" 
value="sun.awt.CGraphicsEnvironment"/>
+    <property name="java.endorsed.dirs" 
value="/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/endorsed"/>
+    <property name="os.arch" value="x86_64"/>
+    <property name="java.io.tmpdir" 
value="/var/folders/xs/4h_cw5ds0bj_lpk90db3v9dr0000gn/T/"/>
+    <property name="line.separator" value="&#10;"/>
+    <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
+    <property name="os.name" value="Mac OS X"/>
+    <property name="classworlds.conf" 
value="/Applications/apache-maven-3.1.1/bin/m2.conf"/>
+    <property name="sun.jnu.encoding" value="UTF-8"/>
+    <property name="java.library.path" 
value="/Users/ajith/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:."/>
+    <property name="java.specification.name" value="Java Platform API 
Specification"/>
+    <property name="java.class.version" value="51.0"/>
+    <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered 
Compilers"/>
+    <property name="os.version" value="10.10.2"/>
+    <property name="user.home" value="/Users/ajith"/>
+    <property name="user.timezone" value="America/New_York"/>
+    <property name="java.awt.printerjob" value="sun.lwawt.macosx.CPrinterJob"/>
+    <property name="java.specification.version" value="1.7"/>
+    <property name="idea.launcher.bin.path" value="/Applications/IntelliJ IDEA 
14 CE.app/Contents/bin"/>
+    <property name="file.encoding" value="UTF-8"/>
+    <property name="user.name" value="ajith"/>
+    <property name="java.class.path" 
value="/Applications/apache-maven-3.1.1/boot/plexus-classworlds-2.5.1.jar:/Applications/IntelliJ
 IDEA 14 CE.app/Contents/lib/idea_rt.jar"/>
+    <property name="org.slf4j.simpleLogger.defaultLogLevel" value="info"/>
+    <property name="java.vm.specification.version" value="1.7"/>
+    <property name="sun.arch.data.model" value="64"/>
+    <property name="java.home" 
value="/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre"/>
+    <property name="sun.java.command" 
value="com.intellij.rt.execution.application.AppMain 
org.codehaus.classworlds.Launcher -Didea.version=14.0.3 install"/>
+    <property name="java.specification.vendor" value="Oracle Corporation"/>
+    <property name="user.language" value="en"/>
+    <property name="awt.toolkit" value="sun.lwawt.macosx.LWCToolkit"/>
+    <property name="java.vm.info" value="mixed mode"/>
+    <property name="java.version" value="1.7.0_75"/>
+    <property name="java.ext.dirs" 
value="/Users/ajith/Library/Java/Extensions:/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/ext:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java"/>
+    <property name="sun.boot.class.path" 
value="/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/resources.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/rt.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/sunrsasign.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/jsse.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/jce.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/charsets.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/jfr.jar:/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/classes"/>
+    <property name="java.vendor" value="Oracle Corporation"/>
+    <property name="maven.home" value="/Applications/apache-maven-3.1.1"/>
+    <property name="file.separator" value="/"/>
+    <property name="java.vendor.url.bug" 
value="http://bugreport.sun.com/bugreport/"/>
+    <property name="sun.cpu.endian" value="little"/>
+    <property name="sun.io.unicode.encoding" value="UnicodeBig"/>
+    <property name="sun.cpu.isalist" value=""/>
+  </properties>
+  <testcase name="testBoolean" 
classname="com.att.research.xacmlatt.pdp.std.functions.FunctionDefinitionBagOneAndOnlyTest"
 time="0.11"/>
+  <testcase name="testString" 
classname="com.att.research.xacmlatt.pdp.std.functions.FunctionDefinitionBagOneAndOnlyTest"
 time="0"/>
+</testsuite>
\ No newline at end of file

Reply via email to