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

http://git-wip-us.apache.org/repos/asf/incubator-openaz/blob/94fcdd90/openaz-xacml-pdp/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
----------------------------------------------------------------------
diff --git 
a/openaz-xacml-pdp/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
 
b/openaz-xacml-pdp/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
new file mode 100644
index 0000000..d6cacb9
--- /dev/null
+++ 
b/openaz-xacml-pdp/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
@@ -0,0 +1,176 @@
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionX500NameMatch.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionStringNormalize$OPERATION.class
+com/att/research/xacmlatt/pdp/policy/dom/DOMRule.class
+com/att/research/xacmlatt/pdp/policy/FunctionDefinition.class
+com/att/research/xacmlatt/pdp/std/combiners/LegacyPermitOverridesRule.class
+com/att/research/xacmlatt/pdp/std/combiners/PermitUnlessDeny$1.class
+com/att/research/xacmlatt/pdp/policy/AdviceExpression.class
+com/att/research/xacmlatt/pdp/std/StdPolicyFinderResult.class
+com/att/research/xacmlatt/pdp/std/combiners/DenyUnlessPermit.class
+com/att/research/xacmlatt/pdp/policy/dom/DOMMatch.class
+com/att/research/xacmlatt/pdp/policy/CombiningAlgorithmFactory.class
+com/att/research/xacmlatt/pdp/policy/CombiningElement.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionBase.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionDateTimeArithmetic$1.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionStringFunctions$1.class
+com/att/research/xacmlatt/pdp/policy/PolicyFinderResult.class
+com/att/research/xacmlatt/pdp/std/StdPolicyFinderFactory.class
+com/att/research/xacmlatt/pdp/policy/dom/DOMDocumentRepair.class
+com/att/research/xacmlatt/pdp/policy/Match.class
+com/att/research/xacmlatt/pdp/policy/RuleEffect.class
+com/att/research/xacmlatt/pdp/std/combiners/CombiningAlgorithmBase.class
+com/att/research/xacmlatt/pdp/policy/CombiningAlgorithm.class
+com/att/research/xacmlatt/pdp/std/combiners/LegacyDenyOverridesRule$1.class
+com/att/research/xacmlatt/pdp/policy/AttributeAssignmentExpression.class
+com/att/research/xacmlatt/pdp/std/StdEvaluationContextFactory.class
+com/att/research/xacmlatt/pdp/policy/expressions/Apply.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionXPath$OPERATION.class
+com/att/research/xacmlatt/pdp/policy/dom/DOMPolicyRepair.class
+com/att/research/xacmlatt/pdp/ATTPDPEngine.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionStringNormalize$1.class
+com/att/research/xacmlatt/pdp/std/combiners/DenyOverrides$1.class
+com/att/research/xacmlatt/pdp/std/combiners/LegacyPermitOverridesRule$1.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionComparison$1.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionXPath$1.class
+com/att/research/xacmlatt/pdp/policy/AllOf.class
+com/att/research/xacmlatt/pdp/std/functions/ConvertedArgument.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionSet$OPERATION.class
+com/att/research/xacmlatt/pdp/policy/dom/DOMAttributeSelector.class
+com/att/research/xacmlatt/pdp/policy/dom/DOMAttributeAssignmentExpression.class
+com/att/research/xacmlatt/pdp/std/combiners/OnlyOneApplicable.class
+com/att/research/xacmlatt/pdp/std/combiners/LegacyDenyOverridesPolicy.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionHomogeneousSimple.class
+com/att/research/xacmlatt/pdp/policy/FunctionDefinitionFactory.class
+com/att/research/xacmlatt/pdp/policy/FunctionArgument.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionAccessPermitted.class
+com/att/research/xacmlatt/pdp/eval/EvaluationResult.class
+com/att/research/xacmlatt/pdp/std/StdProperties.class
+com/att/research/xacmlatt/pdp/policy/Target.class
+com/att/research/xacmlatt/pdp/policy/Bag.class
+com/att/research/xacmlatt/pdp/policy/AnyOf.class
+com/att/research/xacmlatt/pdp/policy/PolicyIdReference.class
+com/att/research/xacmlatt/pdp/policy/ExpressionResult$ExpressionResultBag.class
+com/att/research/xacmlatt/pdp/policy/dom/DOMPolicy.class
+com/att/research/xacmlatt/pdp/policy/dom/DOMCombinerParameter.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionComparison.class
+com/att/research/xacmlatt/pdp/eval/Evaluatable.class
+com/att/research/xacmlatt/pdp/policy/FunctionArgumentExpression.class
+com/att/research/xacmlatt/pdp/policy/Expression.class
+com/att/research/xacmlatt/pdp/policy/ExpressionResult.class
+com/att/research/xacmlatt/pdp/eval/EvaluationException.class
+com/att/research/xacmlatt/pdp/policy/dom/DOMPolicySetIdReference.class
+com/att/research/xacmlatt/pdp/policy/expressions/AttributeSelector.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionRFC822NameMatch.class
+com/att/research/xacmlatt/pdp/policy/ExpressionResultBoolean.class
+com/att/research/xacmlatt/pdp/policy/dom/DOMPolicyDefaults.class
+com/att/research/xacmlatt/pdp/std/combiners/LegacyPermitOverridesPolicy$1.class
+com/att/research/xacmlatt/pdp/policy/TargetedCombinerParameter.class
+com/att/research/xacmlatt/pdp/policy/dom/DOMPolicyDef.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionBagOneAndOnly.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionXPath.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionHigherOrderBag.class
+com/att/research/xacmlatt/pdp/std/combiners/PermitUnlessDeny.class
+com/att/research/xacmlatt/pdp/ATTPDPEngineFactory.class
+com/att/research/xacmlatt/pdp/policy/dom/DOMPolicySetCombinerParameter.class
+com/att/research/xacmlatt/pdp/policy/PolicySetChild.class
+com/att/research/xacmlatt/pdp/std/StdPolicyFinder.class
+com/att/research/xacmlatt/pdp/policy/dom/DOMExpression.class
+com/att/research/xacmlatt/pdp/policy/dom/DOMPolicyIdReference.class
+com/att/research/xacmlatt/pdp/eval/MatchResult.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionHigherOrderBag$1.class
+com/att/research/xacmlatt/pdp/policy/Match$1.class
+com/att/research/xacmlatt/pdp/policy/ExpressionResult$ExpressionResultError.class
+com/att/research/xacmlatt/pdp/std/combiners/PermitOverrides.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionNumberTypeConversion.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionDateTimeArithmetic.class
+com/att/research/xacmlatt/pdp/policy/PolicySet$1.class
+com/att/research/xacmlatt/pdp/policy/dom/DOMPolicyIssuer.class
+com/att/research/xacmlatt/pdp/std/combiners/LegacyDenyOverridesPolicy$1.class
+com/att/research/xacmlatt/pdp/eval/MatchResult$MatchCode.class
+com/att/research/xacmlatt/pdp/policy/PolicySet.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionURIStringConcatenate.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionLogical$1.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionBag.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionComparison$OPERATION.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionEquality.class
+com/att/research/xacmlatt/pdp/std/combiners/FirstApplicable.class
+com/att/research/xacmlatt/pdp/policy/ExpressionResult$ExpressionResultSingle.class
+com/att/research/xacmlatt/pdp/std/StdFunctionDefinitionFactory.class
+com/att/research/xacmlatt/pdp/std/StdCombiningAlgorithms.class
+com/att/research/xacmlatt/pdp/policy/dom/DOMPolicyCombinerParameter.class
+com/att/research/xacmlatt/pdp/policy/dom/DOMVariableDefinition.class
+com/att/research/xacmlatt/pdp/eval/EvaluationContextFactory.class
+com/att/research/xacmlatt/pdp/policy/PolicyDef.class
+com/att/research/xacmlatt/pdp/policy/dom/DOMRuleCombinerParameters.class
+com/att/research/xacmlatt/pdp/policy/VariableDefinition.class
+com/att/research/xacmlatt/pdp/policy/PolicyFinderFactory.class
+com/att/research/xacmlatt/pdp/policy/Policy$1.class
+com/att/research/xacmlatt/pdp/policy/dom/DOMAnyOf.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionSet$1.class
+com/att/research/xacmlatt/pdp/std/StdPolicyFinder$1.class
+com/att/research/xacmlatt/pdp/policy/dom/DOMAttributeDesignator.class
+com/att/research/xacmlatt/pdp/policy/expressions/AttributeRetrievalBase.class
+com/att/research/xacmlatt/pdp/std/StdPolicyFinder$StdPolicyFinderException.class
+com/att/research/xacmlatt/pdp/eval/Matchable.class
+com/att/research/xacmlatt/pdp/policy/expressions/AttributeDesignator.class
+com/att/research/xacmlatt/pdp/policy/dom/DOMApply.class
+com/att/research/xacmlatt/pdp/eval/EvaluationContext.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionBagIsIn.class
+com/att/research/xacmlatt/pdp/std/combiners/CombinedPermitOverrides$1.class
+com/att/research/xacmlatt/pdp/policy/PolicyFinder.class
+com/att/research/xacmlatt/pdp/policy/dom/DOMTarget.class
+com/att/research/xacmlatt/pdp/std/StdCombiningAlgorithmFactory.class
+com/att/research/xacmlatt/pdp/std/StdFunctions.class
+com/att/research/xacmlatt/pdp/policy/dom/DOMObligationExpression.class
+com/att/research/xacmlatt/pdp/policy/PolicyComponent.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionRegexpMatch.class
+com/att/research/xacmlatt/pdp/policy/Condition.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionArithmetic.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionDateTimeArithmetic$OPERATION.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionTimeInRange.class
+com/att/research/xacmlatt/pdp/std/combiners/DenyOverrides.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionSet.class
+com/att/research/xacmlatt/pdp/policy/PolicyIssuer.class
+com/att/research/xacmlatt/pdp/std/combiners/CombinedPermitOverrides.class
+com/att/research/xacmlatt/pdp/std/combiners/DenyUnlessPermit$1.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionLogical.class
+com/att/research/xacmlatt/pdp/std/combiners/OnlyOneApplicable$1.class
+com/att/research/xacmlatt/pdp/policy/AnyOf$1.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionStringNormalize.class
+com/att/research/xacmlatt/pdp/policy/PolicySetIdReference.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionArithmetic$1.class
+com/att/research/xacmlatt/pdp/policy/FunctionArgumentBag.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionStringConversion.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionBagSize.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionArithmetic$OPERATION.class
+com/att/research/xacmlatt/pdp/policy/expressions/Function.class
+com/att/research/xacmlatt/pdp/policy/dom/DOMAllOf.class
+com/att/research/xacmlatt/pdp/policy/CombinerParameter.class
+com/att/research/xacmlatt/pdp/policy/VariableMap.class
+com/att/research/xacmlatt/pdp/policy/Rule$1.class
+com/att/research/xacmlatt/pdp/policy/dom/DOMAdviceExpression.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionHigherOrderBag$OPERATION.class
+com/att/research/xacmlatt/pdp/policy/Rule.class
+com/att/research/xacmlatt/pdp/policy/Policy.class
+com/att/research/xacmlatt/pdp/std/combiners/PermitOverrides$1.class
+com/att/research/xacmlatt/pdp/policy/expressions/VariableReference.class
+com/att/research/xacmlatt/pdp/std/combiners/LegacyDenyOverridesRule.class
+com/att/research/xacmlatt/pdp/policy/TargetedCombinerParameterMap.class
+com/att/research/xacmlatt/pdp/policy/PolicyDefaults.class
+com/att/research/xacmlatt/pdp/policy/FunctionArgumentAttributeValue.class
+com/att/research/xacmlatt/pdp/policy/ExpressionResult$ExpressionResultEmptyBag.class
+com/att/research/xacmlatt/pdp/policy/dom/DOMPolicySet.class
+com/att/research/xacmlatt/pdp/std/combiners/LegacyPermitOverridesPolicy.class
+com/att/research/xacmlatt/pdp/std/StdEvaluationContext.class
+com/att/research/xacmlatt/pdp/ATTPDPEngine$1.class
+com/att/research/xacmlatt/pdp/policy/PolicyIdReferenceBase.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionStringEqualIgnoreCase.class
+com/att/research/xacmlatt/pdp/policy/ObligationExpression.class
+com/att/research/xacmlatt/pdp/policy/AllOf$1.class
+com/att/research/xacmlatt/pdp/util/ATTPDPProperties.class
+com/att/research/xacmlatt/pdp/policy/AttributeAssignmentResult.class
+com/att/research/xacmlatt/pdp/eval/EvaluationContextException.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionStringFunctions.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionStringFunctions$OPERATION.class
+com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionLogical$OPERATION.class
+com/att/research/xacmlatt/pdp/policy/expressions/AttributeValueExpression.class

http://git-wip-us.apache.org/repos/asf/incubator-openaz/blob/94fcdd90/openaz-xacml-pdp/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
----------------------------------------------------------------------
diff --git 
a/openaz-xacml-pdp/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
 
b/openaz-xacml-pdp/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
new file mode 100644
index 0000000..b9e94a4
--- /dev/null
+++ 
b/openaz-xacml-pdp/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
@@ -0,0 +1,142 @@
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/PolicySet.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionXPath.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/dom/DOMAllOf.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionBagOneAndOnly.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionAccessPermitted.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/dom/DOMExpression.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/std/combiners/LegacyDenyOverridesRule.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/eval/package-info.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionEquality.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/dom/DOMPolicy.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/PolicyIssuer.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionBag.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/std/StdEvaluationContextFactory.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/expressions/Function.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/RuleEffect.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/std/combiners/LegacyPermitOverridesPolicy.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/Match.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/dom/DOMVariableDefinition.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/PolicyIdReferenceBase.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/std/combiners/CombiningAlgorithmBase.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/Bag.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/FunctionArgumentBag.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/TargetedCombinerParameterMap.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/eval/Matchable.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/CombinerParameter.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/FunctionDefinition.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionComparison.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/expressions/AttributeDesignator.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/dom/DOMPolicySetIdReference.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionSet.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/ObligationExpression.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/eval/EvaluationContext.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/dom/DOMRuleCombinerParameters.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/dom/DOMAnyOf.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/ExpressionResultBoolean.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/std/StdCombiningAlgorithms.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/expressions/AttributeSelector.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionStringNormalize.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/Expression.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/TargetedCombinerParameter.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/util/ATTPDPProperties.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/dom/package-info.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/std/StdProperties.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/PolicyDef.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/ATTPDPEngineFactory.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/std/combiners/PermitOverrides.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/package-info.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/dom/DOMMatch.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/dom/DOMTarget.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionHigherOrderBag.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionBagIsIn.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/dom/DOMRule.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/CombiningAlgorithmFactory.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/std/StdCombiningAlgorithmFactory.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/expressions/Apply.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/std/combiners/CombinedPermitOverrides.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/Policy.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/FunctionArgumentAttributeValue.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/dom/DOMAttributeDesignator.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionStringFunctions.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/dom/DOMPolicySet.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/PolicyFinderFactory.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/FunctionArgument.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/dom/DOMApply.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/std/StdPolicyFinderFactory.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/std/StdFunctions.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/dom/DOMPolicyCombinerParameter.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/dom/DOMAttributeSelector.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/AttributeAssignmentExpression.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/ExpressionResult.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/eval/MatchResult.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/CombiningAlgorithm.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionNumberTypeConversion.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/eval/EvaluationContextFactory.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/PolicyFinder.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/std/combiners/DenyUnlessPermit.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/dom/DOMAdviceExpression.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/dom/DOMAttributeAssignmentExpression.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/dom/DOMPolicySetCombinerParameter.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/eval/EvaluationContextException.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/package-info.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/dom/DOMPolicyRepair.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/PolicyFinderResult.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/std/combiners/package-info.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/expressions/package-info.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionTimeInRange.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionBase.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/expressions/AttributeRetrievalBase.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/dom/DOMCombinerParameter.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/dom/DOMPolicyDef.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/dom/DOMDocumentRepair.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/std/StdPolicyFinder.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/eval/EvaluationException.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/std/combiners/FirstApplicable.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/AnyOf.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionHomogeneousSimple.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/AllOf.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/VariableMap.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/std/combiners/LegacyDenyOverridesPolicy.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionStringEqualIgnoreCase.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/PolicySetIdReference.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/dom/DOMObligationExpression.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/std/StdEvaluationContext.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/Condition.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/AttributeAssignmentResult.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/std/combiners/PermitUnlessDeny.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/std/functions/package-info.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/VariableDefinition.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/std/StdFunctionDefinitionFactory.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/std/combiners/OnlyOneApplicable.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/std/combiners/LegacyPermitOverridesRule.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/expressions/VariableReference.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/PolicyIdReference.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/PolicyDefaults.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/PolicySetChild.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/expressions/AttributeValueExpression.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/dom/DOMPolicyIssuer.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/ATTPDPEngine.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionX500NameMatch.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionStringConversion.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/Target.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionDateTimeArithmetic.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/PolicyComponent.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/eval/Evaluatable.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionRFC822NameMatch.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/std/functions/ConvertedArgument.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/CombiningElement.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/dom/DOMPolicyIdReference.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/FunctionArgumentExpression.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/std/combiners/DenyOverrides.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionBagSize.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionURIStringConcatenate.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/eval/EvaluationResult.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionLogical.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/std/StdPolicyFinderResult.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/AdviceExpression.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionRegexpMatch.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/std/package-info.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/dom/DOMPolicyDefaults.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/Rule.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/std/functions/FunctionDefinitionArithmetic.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-pdp/src/main/java/com/att/research/xacmlatt/pdp/policy/FunctionDefinitionFactory.java

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

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

http://git-wip-us.apache.org/repos/asf/incubator-openaz/blob/94fcdd90/openaz-xacml-pdp/xacml.properties
----------------------------------------------------------------------
diff --git a/openaz-xacml-pdp/xacml.properties 
b/openaz-xacml-pdp/xacml.properties
new file mode 100755
index 0000000..8394be9
--- /dev/null
+++ b/openaz-xacml-pdp/xacml.properties
@@ -0,0 +1,26 @@
+# Default XACML Properties File
+# Standard API Factories
+#
+xacml.dataTypeFactory=com.att.research.xacml.std.StdDataTypeFactory
+xacml.pdpEngineFactory=com.att.research.xacmlatt.pdp.ATTPDPEngineFactory
+xacml.pepEngineFactory=com.att.research.xacml.std.pep.StdEngineFactory
+xacml.pipFinderFactory=com.att.research.xacml.std.pip.StdPIPFinderFactory
+
+# If there is a standard set of PIPEngines:
+# xacml.pip.engines=engine1,engine2,...,engineN
+# engine1.classname=com.att.research.xacmlpip.OraclePIP
+# engine1.prop1=foo
+# engine1.prop2=bar
+# ...
+# engine2.classname=com.att.research.xacmlpip.ActiveDirectoryPIP
+# ...
+
+# AT&T PDP Implementation Factories
+#
+xacml.att.evaluationContextFactory=com.att.research.xacmlatt.pdp.std.StdEvaluationContextFactory
+xacml.att.combiningAlgorithmFactory=com.att.research.xacmlatt.pdp.std.StdCombiningAlgorithmFactory
+xacml.att.functionDefinitionFactory=com.att.research.xacmlatt.pdp.std.StdFunctionDefinitionFactory
+xacml.att.policyFinderFactory=com.att.research.xacmlatt.pdp.std.StdPolicyFinderFactory
+
+# If there is a standard policy for the engine:
+# xacml.att.stdPolicyFinderFactory.rootPolicyFile=/etc/stdpolicyset.xml

http://git-wip-us.apache.org/repos/asf/incubator-openaz/blob/94fcdd90/openaz-xacml-rest/pom.xml
----------------------------------------------------------------------
diff --git a/openaz-xacml-rest/pom.xml b/openaz-xacml-rest/pom.xml
new file mode 100755
index 0000000..cf8b334
--- /dev/null
+++ b/openaz-xacml-rest/pom.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0";
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
+    <parent>
+        <artifactId>openaz</artifactId>
+        <groupId>org.openliberty.openaz</groupId>
+        <version>0.0.1-SNAPSHOT</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+    <artifactId>openaz-xacml-rest</artifactId>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.openliberty.openaz</groupId>
+            <artifactId>openaz-xacml</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>javax.servlet</groupId>
+            <artifactId>javax.servlet-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>commons-logging</groupId>
+            <artifactId>commons-logging</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.google.guava</groupId>
+            <artifactId>guava</artifactId>
+        </dependency>
+    </dependencies>
+
+</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-openaz/blob/94fcdd90/openaz-xacml-rest/src/main/java/com/att/research/xacml/rest/XACMLRest.java
----------------------------------------------------------------------
diff --git 
a/openaz-xacml-rest/src/main/java/com/att/research/xacml/rest/XACMLRest.java 
b/openaz-xacml-rest/src/main/java/com/att/research/xacml/rest/XACMLRest.java
new file mode 100755
index 0000000..83a8c7b
--- /dev/null
+++ b/openaz-xacml-rest/src/main/java/com/att/research/xacml/rest/XACMLRest.java
@@ -0,0 +1,201 @@
+/*
+ *                        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) 2013 AT&T Knowledge Ventures
+ *              Unpublished and Not for Publication
+ *                     All Rights Reserved
+ */
+package com.att.research.xacml.rest;
+
+import java.io.IOException;
+import java.util.Enumeration;
+import java.util.Map;
+import java.util.Properties;
+import java.util.Set;
+
+import javax.servlet.ServletConfig;
+import javax.servlet.http.HttpServletRequest;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import com.att.research.xacml.util.XACMLProperties;
+
+/**
+ * This static class is used by both the PDP and PAP servlet's. It contains 
some common
+ * static functions and objects used by both the servlet's.
+ * 
+ * @author pameladragosh
+ *
+ */
+public class XACMLRest {
+       private static final Log logger = LogFactory.getLog(XACMLRest.class);
+       private static Properties restProperties = new Properties();
+       
+       /**
+        * This must be called during servlet initialization. It sets up the 
xacml.?.properties
+        * file as a system property. If the System property is already set, 
then it does not
+        * do anything. This allows the developer to specify their own 
xacml.properties file to be
+        * used. They can 1) modify the default properties that comes with the 
project, or 2) change
+        * the WebInitParam annotation, or 3) specify an alternative path in 
the web.xml, or 4) set
+        * the Java System property to point to their xacml.properties file.
+        * 
+        * The recommended way of overriding the default xacml.properties file 
is using a Java System
+        * property:
+        * 
+        * -Dxacml.properties=/opt/app/xacml/etc/xacml.admin.properties
+        * 
+        * This way one does not change any actual code or files in the project 
and can leave the 
+        * defaults alone.
+        * 
+        * @param config - The servlet config file passed from the javax 
servlet init() function
+        */
+       public static void xacmlInit(ServletConfig config) {
+               //
+               // Get the XACML Properties File parameter first
+               //
+               String propFile = 
config.getInitParameter("XACML_PROPERTIES_NAME");
+               if (propFile != null) {
+                       //
+                       // Look for system override
+                       //
+                       String xacmlPropertiesName = 
System.getProperty(XACMLProperties.XACML_PROPERTIES_NAME);
+                       if (xacmlPropertiesName == null) {
+                               //
+                               // Set it to our servlet default
+                               //
+                               if (logger.isDebugEnabled()) {
+                                       logger.debug("Using Servlet Config 
Property for XACML_PROPERTIES_NAME:" + propFile);
+                               }
+                               
System.setProperty(XACMLProperties.XACML_PROPERTIES_NAME, propFile);
+                       } else {
+                               if (logger.isDebugEnabled()) {
+                                       logger.debug("Using System Property for 
XACML_PROPERTIES_NAME:" + xacmlPropertiesName);
+                               }
+                       }
+               }
+               //
+               // Setup the remaining properties
+               //
+               Enumeration<String> params = config.getInitParameterNames();
+               while (params.hasMoreElements()) {
+                       String param = params.nextElement();
+                       if (! param.equals("XACML_PROPERTIES_NAME")) {
+                               String value = config.getInitParameter(param);
+                               logger.info(param + "=" + 
config.getInitParameter(param));
+                               restProperties.setProperty(param, value);
+                       }
+               }
+       }
+       
+       /**
+        * Reset's the XACMLProperties internal properties object so we start
+        * in a fresh environment. Then adds back in our Servlet init 
properties that were
+        * passed in the javax Servlet init() call.
+        * 
+        * This function is primarily used when a new configuration is passed 
in and the
+        * PDP servlet needs to load a new PDP engine instance.
+        * 
+        * @param pipProperties - PIP configuration properties
+        * @param policyProperties  - Policy configuration properties
+        */
+       public static void loadXacmlProperties(Properties policyProperties, 
Properties pipProperties) {
+               try {
+                       //
+                       // Start fresh
+                       //
+                       XACMLProperties.reloadProperties();
+                       //
+                       // Now load our init properties
+                       //
+                       
XACMLProperties.getProperties().putAll(XACMLRest.restProperties);
+                       //
+                       // Load our policy properties
+                       //
+                       if (policyProperties != null) {
+                               
XACMLProperties.getProperties().putAll(policyProperties);
+                       }
+                       //
+                       // Load our pip config properties
+                       //
+                       if (pipProperties != null) {
+                               
XACMLProperties.getProperties().putAll(pipProperties);
+                       }
+               } catch (IOException e) {
+                       logger.error("Failed to put init properties into Xacml 
properties", e);
+               }
+               //
+               // Dump them
+               //
+               if (logger.isDebugEnabled()) {
+                       try {
+                               
logger.debug(XACMLProperties.getProperties().toString());
+                       } catch (IOException e) {
+                               logger.error("Cannot dump properties", e);
+                       }
+               }
+       }
+       
+       /**
+        * Helper routine to dump the HTTP servlet request being serviced. 
Primarily for debugging.
+        * 
+        * @param request - Servlet request (from a POST/GET/PUT/etc.)
+        */
+       public static void dumpRequest(HttpServletRequest request) {
+               if (logger.isDebugEnabled()) {
+                       // special-case for receiving heartbeat - don't need to 
repeatedly output all of the information in multiple lines
+                       if (request.getMethod().equals("GET") && 
"hb".equals(request.getParameter("type"))  ) {
+                               logger.debug("GET type=hb : heartbeat 
received");
+                               return;
+                       }
+                       logger.debug(request.getMethod() + ":" + 
request.getRemoteAddr() + " " + request.getRemoteHost() + " " + 
request.getRemotePort());
+                       logger.debug(request.getLocalAddr() + " " + 
request.getLocalName() + " " + request.getLocalPort());
+                       Enumeration<String> en = request.getHeaderNames();
+                       logger.debug("Headers:");
+                       while (en.hasMoreElements()) {
+                               String element = en.nextElement();
+                               Enumeration<String> values = 
request.getHeaders(element);
+                               while (values.hasMoreElements()) {
+                                       String value = values.nextElement();
+                                       logger.debug(element + ":" + value);
+                               }
+                       }
+                       logger.debug("Attributes:");
+                       en = request.getAttributeNames();
+                       while (en.hasMoreElements()) {
+                               String element = en.nextElement();
+                               logger.debug(element + ":" + 
request.getAttribute(element));
+                       }
+                       logger.debug("ContextPath: " + 
request.getContextPath());
+                       if (request.getMethod().equals("PUT") || 
request.getMethod().equals("POST")) {
+                               // POST and PUT are allowed to have parameters 
in the content, but in our usage the parameters are always in the Query string.
+                               // More importantly, there are cases where the 
POST and PUT content is NOT parameters (e.g. it might contain a Policy file).
+                               // Unfortunately the request.getParameterMap 
method reads the content to see if there are any parameters,
+                               // and once the content is read it cannot be 
read again.
+                               // Thus for PUT and POST we must avoid reading 
the content here so that the main code can read it.
+                               logger.debug("Query String:" + 
request.getQueryString());
+                               try {
+                                       if (request.getInputStream() == null) {
+                                               logger.debug("Content: No 
content inputStream");
+                                       } else {
+                                               logger.debug("Content 
available: " + request.getInputStream().available());
+                                       }
+                               } catch (Exception e) {
+                                       logger.debug("Content: inputStream 
exception: " + e.getMessage() + ";  (May not be relevant)");
+                               }
+                       } else {
+                               logger.debug("Parameters:");
+                               Map<String, String[]> params = 
request.getParameterMap();
+                               Set<String> keys = params.keySet();
+                               for (String key : keys) {
+                                       String[] values = params.get(key);
+                                       logger.debug(key + "(" + values.length 
+ "): " + (values.length > 0 ? values[0] : ""));
+                               }
+                       }
+                       logger.debug("Request URL:" + request.getRequestURL());
+               }
+       }
+}

http://git-wip-us.apache.org/repos/asf/incubator-openaz/blob/94fcdd90/openaz-xacml-rest/src/main/java/com/att/research/xacml/rest/XACMLRestProperties.java
----------------------------------------------------------------------
diff --git 
a/openaz-xacml-rest/src/main/java/com/att/research/xacml/rest/XACMLRestProperties.java
 
b/openaz-xacml-rest/src/main/java/com/att/research/xacml/rest/XACMLRestProperties.java
new file mode 100755
index 0000000..d70f33e
--- /dev/null
+++ 
b/openaz-xacml-rest/src/main/java/com/att/research/xacml/rest/XACMLRestProperties.java
@@ -0,0 +1,137 @@
+/*
+ *                        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) 2013 AT&T Knowledge Ventures
+ *              Unpublished and Not for Publication
+ *                     All Rights Reserved
+ */
+package com.att.research.xacml.rest;
+
+import com.att.research.xacml.util.XACMLProperties;
+
+/**
+ * These are XACML Properties that are relevant to the RESTful API interface 
for
+ * the PDP, PAP and AC interfaces.
+ * 
+ *  
+ * @author pameladragosh
+ *
+ */
+public class XACMLRestProperties extends XACMLProperties {
+       /**
+        * A unique identifier for the PDP servlet instance. Usually set to the 
URL
+        * it is running as in the J2EE container.
+        * 
+        * Eg. http://localhost:8080/pdp/
+        */
+       public static final String      PROP_PDP_ID     = "xacml.rest.pdp.id";
+       /**
+        * A PDP servlet's configuration directory. Holds the pip and policy 
configuration
+        * data as well as the local policy cache.
+        * 
+        * Eg: /opt/app/xacml/config
+        */
+       public static final String      PROP_PDP_CONFIG = 
"xacml.rest.pdp.config";
+       /**
+        * Set this property to true or false if the PDP servlet should 
register itself upon
+        * startup with the PAP servlet.
+        */
+       public static final String      PROP_PDP_REGISTER = 
"xacml.rest.pdp.register";
+       /**
+        * Number of seconds the PDP will sleep while retrying registration 
with the PAP. 
+        * This value must be greater or equal to 5.
+        */
+       public static final String      PROP_PDP_REGISTER_SLEEP = 
"xacml.rest.pdp.register.sleep";
+       /**
+        * Number of retry attempts at registration with the PAP. A value of -1 
indicates infinite retries.
+        */
+       public static final String      PROP_PDP_REGISTER_RETRIES = 
"xacml.rest.pdp.register.retries";
+       /**
+        * Max content length accepted for an incoming POST XML/JSON request. 
Default is 32767 bytes.
+        */
+       public static final String      PROP_PDP_MAX_CONTENT = 
"xacml.rest.pdp.maxcontent";
+       /**
+        * Custom HTTP header used by PDP to send the value of the PROP_PDP_ID
+        */
+       public static final String      PROP_PDP_HTTP_HEADER_ID = 
"X-XACML-PDP-ID";
+       /**
+        * Custom HHTP header used by PDP to send its heartbeat value.
+        */
+       public static final String      PROP_PDP_HTTP_HEADER_HB = 
"X-XACML-PDP-HB";
+       /**
+        * The URL of the PAP servlet. Used by PDP servlet's to communicate. 
Because administrators
+        * can set whatever context they want to run the PAP servlet, it isn't 
easy to determine a return
+        * URL for the PAP servlet. This is especially true upon initialization.
+        */
+       public static final String      PROP_PAP_URL = "xacml.rest.pap.url";
+       /**
+        * Upon startup, have the PAP servlet send latest configuration 
information to all
+        * the PDP nodes it knows about.
+        */
+       public static final String PROP_PAP_INITIATE_PDP_CONFIG = 
"xacml.rest.pap.initiate.pdp";
+       /**
+        * The interval the PAP servlet uses to send heartbeat requests to the 
PDP nodes.
+        */
+       public static final String      PROP_PAP_HEARTBEAT_INTERVAL = 
"xacml.rest.pap.heartbeat.interval";
+       /**
+        * Timeout value used by the PAP servlet when trying to check the 
heartbeat of a PDP node.
+        */
+       public static final String      PROP_PAP_HEARTBEAT_TIMEOUT = 
"xacml.rest.pap.heartbeat.timeout";
+       /*
+        * Local path to  where the GIT repository exists.
+        * 
+        * Eg. /opt/app/xacml/repository
+        */
+       public static final String PROP_ADMIN_REPOSITORY = 
"xacml.rest.admin.repository";
+       /*
+        * Local path to where user workspaces exist. The user workspace 
contains temporary files, the
+        * user's clone of the GIT repository, anything specific to the user, 
etc.
+        */
+       public static final String PROP_ADMIN_WORKSPACE = 
"xacml.rest.admin.workspace";
+       /*
+        * This is the domain you can setup for your organization, it should be 
a URI.
+        * 
+        * Eg. com:sample:foo
+        */
+       public static final String PROP_ADMIN_DOMAIN = 
"xacml.rest.admin.domain";
+       /**
+        * PROP_ADMIN_USER_NAME is simply a name for the logged in user.
+        * 
+        * AC authentication is out the scope of the web application itself. It 
is up to the
+        * developer to setup authentication as they please in the J2EE 
container used to run
+        * the web application. Whatever authentication mechanism they use, 
they should then set
+        * the attribute into the HttpSession object. The Admin Console will be 
able to read that
+        * value (default to "guest") in. 
+        * 
+        * ((HttpServletRequest) 
request).getSession().setAttribute("xacml.rest.admin.user.name", "Homer");
+        * 
+        */
+       public static final String      PROP_ADMIN_USER_NAME = 
"xacml.rest.admin.user.name";
+       /**
+        * 
+        * PROP_ADMIN_USER_ID is an id for the logged in user.
+        * 
+        * Eg. hs1234
+        *
+        * @see #PROP_ADMIN_USER_NAME for more information.
+        */
+       public static final String      PROP_ADMIN_USER_ID = 
"xacml.rest.admin.user.id";
+       /**
+        * 
+        * PROP_ADMIN_USER_EMAIL is a user's email address.
+        * 
+        * @see #PROP_ADMIN_USER_NAME for more information.
+        */
+       public static final String      PROP_ADMIN_USER_EMAIL = 
"xacml.rest.admin.user.email";
+       /**
+        * Directory path containing sub-directories where the Subscriber 
servlet puts files sent through data feeds.
+        */
+       public static final String      PROP_SUBSCRIBER_INCOMING = 
"xacml.subscriber.incoming";
+       /**
+        * The specific data feed name for the Subscriber servlet to register 
for.
+        */
+       public static final String      PROP_SUBSCRIBER_FEED = 
"xacml.subscriber.feed";
+}

http://git-wip-us.apache.org/repos/asf/incubator-openaz/blob/94fcdd90/openaz-xacml-rest/target/classes/com/att/research/xacml/rest/XACMLRest.class
----------------------------------------------------------------------
diff --git 
a/openaz-xacml-rest/target/classes/com/att/research/xacml/rest/XACMLRest.class 
b/openaz-xacml-rest/target/classes/com/att/research/xacml/rest/XACMLRest.class
new file mode 100644
index 0000000..ef86656
Binary files /dev/null and 
b/openaz-xacml-rest/target/classes/com/att/research/xacml/rest/XACMLRest.class 
differ

http://git-wip-us.apache.org/repos/asf/incubator-openaz/blob/94fcdd90/openaz-xacml-rest/target/classes/com/att/research/xacml/rest/XACMLRestProperties.class
----------------------------------------------------------------------
diff --git 
a/openaz-xacml-rest/target/classes/com/att/research/xacml/rest/XACMLRestProperties.class
 
b/openaz-xacml-rest/target/classes/com/att/research/xacml/rest/XACMLRestProperties.class
new file mode 100644
index 0000000..b6570eb
Binary files /dev/null and 
b/openaz-xacml-rest/target/classes/com/att/research/xacml/rest/XACMLRestProperties.class
 differ

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

http://git-wip-us.apache.org/repos/asf/incubator-openaz/blob/94fcdd90/openaz-xacml-rest/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
----------------------------------------------------------------------
diff --git 
a/openaz-xacml-rest/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
 
b/openaz-xacml-rest/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
new file mode 100644
index 0000000..d842d7d
--- /dev/null
+++ 
b/openaz-xacml-rest/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
@@ -0,0 +1,2 @@
+com/att/research/xacml/rest/XACMLRestProperties.class
+com/att/research/xacml/rest/XACMLRest.class

http://git-wip-us.apache.org/repos/asf/incubator-openaz/blob/94fcdd90/openaz-xacml-rest/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
----------------------------------------------------------------------
diff --git 
a/openaz-xacml-rest/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
 
b/openaz-xacml-rest/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
new file mode 100644
index 0000000..f772e13
--- /dev/null
+++ 
b/openaz-xacml-rest/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
@@ -0,0 +1,2 @@
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-rest/src/main/java/com/att/research/xacml/rest/XACMLRest.java
+/Users/ajith/IdeaProjects/openaz/openaz-xacml-rest/src/main/java/com/att/research/xacml/rest/XACMLRestProperties.java

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

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

http://git-wip-us.apache.org/repos/asf/incubator-openaz/blob/94fcdd90/openaz-xacml-test/pom.xml
----------------------------------------------------------------------
diff --git a/openaz-xacml-test/pom.xml b/openaz-xacml-test/pom.xml
new file mode 100755
index 0000000..c88e4c0
--- /dev/null
+++ b/openaz-xacml-test/pom.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0";
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
+    <parent>
+        <artifactId>openaz</artifactId>
+        <groupId>org.openliberty.openaz</groupId>
+        <version>0.0.1-SNAPSHOT</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+    <artifactId>openaz-xacml-test</artifactId>
+
+    <dependencies>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>openaz-xacml</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>openaz-xacml-rest</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>openaz-xacml-pdp</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.httpcomponents</groupId>
+            <artifactId>httpclient</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>commons-codec</groupId>
+            <artifactId>commons-codec</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>commons-logging</groupId>
+            <artifactId>commons-logging</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>commons-cli</groupId>
+            <artifactId>commons-cli</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>commons-io</groupId>
+            <artifactId>commons-io</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.google.guava</groupId>
+            <artifactId>guava</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.h2database</groupId>
+            <artifactId>h2</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>mysql</groupId>
+            <artifactId>mysql-connector-java</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>postgresql</groupId>
+            <artifactId>postgresql</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.hsqldb</groupId>
+            <artifactId>hsqldb</artifactId>
+        </dependency>
+    </dependencies>
+
+</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-openaz/blob/94fcdd90/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/std/dom/DOMResponseConformanceTest.java
----------------------------------------------------------------------
diff --git 
a/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/std/dom/DOMResponseConformanceTest.java
 
b/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/std/dom/DOMResponseConformanceTest.java
new file mode 100755
index 0000000..de3851b
--- /dev/null
+++ 
b/openaz-xacml-test/src/test/java/com/att/research/xacmlatt/pdp/std/dom/DOMResponseConformanceTest.java
@@ -0,0 +1,187 @@
+/*
+ *                        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) 2013 AT&T Knowledge Ventures
+ *              Unpublished and Not for Publication
+ *                     All Rights Reserved
+ */
+package com.att.research.xacmlatt.pdp.std.dom;
+
+import static org.junit.Assert.fail;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.junit.Test;
+
+import com.att.research.xacml.api.Response;
+import com.att.research.xacml.std.dom.DOMResponse;
+
+/**
+ * Tests for handling the XML version of the XACML Response object.
+ * 
+ * TO RUN - use jUnit
+ * In Eclipse select this file or the enclosing directory, right-click and 
select Run As/JUnit Test
+ * 
+ * Normally the Response is generated by the PDP and returned through the 
RESTful interface as JSON.
+ * Testing of the XML interface is minimal and not complete.
+ * 
+ * 
+ * 
+ * @author glenngriffin
+ *
+ */
+public class DOMResponseConformanceTest {
+       
+       // where to find the conformance test XML files
+       private final String CONFORMANCE_DIRECTORY_PATH = 
"testsets/conformance/xacml3.0-ct-v.0.4";
+       
+       // The request object output from each test conversion from JSON string
+       Response response;
+
+       
+       
+       // Load the Conformance test responses into Response objects, generate 
the output XML for that Response and compare with the original files.
+       @Test
+       public void testDOMResponse() {
+               List<File> filesInDirectory = null;
+               
+               File conformanceDirectory = null;
+               
+               File currentFile = null;
+               
+               try {
+                       conformanceDirectory = new 
File(CONFORMANCE_DIRECTORY_PATH);
+                       filesInDirectory = 
getRequestsInDirectory(conformanceDirectory);
+               } catch (Exception e) {
+                       fail("Unable to set up Conformance tests for dir '" + 
conformanceDirectory.getAbsolutePath()+"' e="+ e);
+               }
+               
+               // run through each XML file
+               //      - load the file from XML into an internal Response 
object
+               //      - generate the XML representation from that Response 
object
+               //      - reload the file into a String
+               //      - compare the 2 XML strings
+               Response xmlResponse = null;
+               try {
+                       for (File f : filesInDirectory) {
+                               currentFile = f;
+
+//// This is a simple way to select just one file for debugging - comment out 
when not being used
+//if ( ! f.getName().equals("IID302Response.xml")) {   continue;  }
+
+// during debugging it is helpful to know what file it is starting to work on
+//                             System.out.println("starting 
file="+currentFile.getName());
+                               
+                               
+                               BufferedReader br = new BufferedReader(new 
FileReader(f));
+                               StringBuffer sb = new StringBuffer();
+                               String line;
+                               while ((line = br.readLine()) != null) {
+                                       sb.append(line + "\n");
+                               }
+                               br.close();
+                               
+                               String xmlFromFile = sb.toString();
+                               
+                               try {
+                                       // load XML into a Response object
+                                       xmlResponse = 
DOMResponse.load(xmlFromFile);
+                               } catch (Exception e) {
+                                       // if XML does not load, just note it 
and continue with next file
+                                       System.out.println("XML file did not 
load: '" + f.getName() + "  e=" + e);
+                                       continue;
+                               }
+//System.out.println(xmlFromFile);                             
+                               
+                               // create String version from the Response 
object
+                               String xmlResponseString = 
DOMResponse.toString(xmlResponse, false);
+                               
+                               // Comparing the string directly to the String 
from the file is difficult.
+                               // We can minimize the problems with newlines 
and whitespace, but we have other issues with how various object values are 
represented.
+                               // For instance, and input double of "23.50" is 
output as "23.5" which is the same value but not identical strings.
+                               // Therefore we take the XML output and use it 
to create a new Response object, then compare the two objects.
+
+//System.out.println(xmlResponseString);                       
+                               Response reGeneratedResponse = 
DOMResponse.load(xmlResponseString);
+                               
+                               if ( ! xmlResponse.equals(reGeneratedResponse)) 
{
+                                       String normalizedFromFile = 
xmlFromFile.replaceAll("\\r|\\n", "");
+                                       normalizedFromFile = 
normalizedFromFile.replaceAll("\\s+", " ");
+                                       normalizedFromFile = 
normalizedFromFile.replaceAll(">\\s*<", "><");
+                                       
System.out.println("File="+normalizedFromFile);
+                                       System.out.println("Gend="+ 
xmlResponseString);
+                                       
+                                       
System.out.println(DOMResponse.toString(xmlResponse, true));
+                               
+                                       fail("Output string did not re-generate 
eqivilent object.");
+                               }
+
+//                             // Normally whitespace is significant in XML.
+//                             // However in this case we are generating an 
XML string for output and comparing it to a hand-made file.
+//                             // The file may contain extra newlines or fewer 
spaces then our prettyPrinted output version.
+//                             // Therefore we do the comparison on the 
un-prettyPrinted generated string.
+//                             // To do this we have to remove the extra 
whitespace from the version read from the file.
+//                             String normalizedFromFile = 
xmlFromFile.replaceAll("\\r|\\n", "");
+//                             normalizedFromFile = 
normalizedFromFile.replaceAll("\\s+", " ");
+//                             normalizedFromFile = 
normalizedFromFile.replaceAll(">\\s*<", "><");
+//                     
+//                             if ( ! 
xmlResponseString.equals(normalizedFromFile)) {
+//                                     
System.out.println("file="+normalizedFromFile+"\ngend="+xmlResponseString);
+//                                     fail("file not same as generated 
string: " + f.getName()+ "\nFile="+xmlFromFile + "\nString="+xmlResponseString);
+//                             }
+
+
+                       }                       
+
+               } catch (Exception e) {
+                       fail ("Failed test with '" + currentFile.getName() + 
"', e=" + e);
+               }
+
+               
+       }
+       
+       
+       
+       //
+       // HELPER to get list of all Request files in the given directory
+       //
+       
+       private List<File> getRequestsInDirectory(File directory) {
+               List<File> fileList = new ArrayList<File>();
+               
+               File[] fileArray = directory.listFiles();
+               for (File f : fileArray) {
+                       if (f.isDirectory()) {
+                               List<File> subDirList = 
getRequestsInDirectory(f);
+                               fileList.addAll(subDirList);
+                       }
+                       if (f.getName().endsWith("Response.xml")) {
+                               fileList.add(f);
+                       }
+               }
+               return fileList;
+               
+       }
+       
+       
+}
+
+
+/*
+Place to edit long strings output during tests
+
+
+
+
+
+
+
+
+*/

Reply via email to