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 + + + + + + + + +*/
