Update of /cvsroot/sunxacml/sunxacml/com/sun/xacml
In directory sc8-pr-cvs1:/tmp/cvs-serv25166/com/sun/xacml
Modified Files:
AbstractPolicy.java Policy.java PolicySet.java
Log Message:
Added support for the new ordered combining algs from 1.1 and added enforcement
code to make sure that Policy/PolicySet instances use the right kind of algs
Index: AbstractPolicy.java
===================================================================
RCS file: /cvsroot/sunxacml/sunxacml/com/sun/xacml/AbstractPolicy.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** AbstractPolicy.java 17 Jun 2003 18:23:52 -0000 1.3
--- AbstractPolicy.java 14 Aug 2003 22:56:48 -0000 1.4
***************
*** 39,42 ****
--- 39,44 ----
import com.sun.xacml.combine.CombiningAlgorithm;
import com.sun.xacml.combine.CombiningAlgFactory;
+ import com.sun.xacml.combine.PolicyCombiningAlgorithm;
+ import com.sun.xacml.combine.RuleCombiningAlgorithm;
import com.sun.xacml.ctx.Result;
***************
*** 154,158 ****
*
* @param root the DOM root of the policy
! * @param policyPrefix typically "Policy" or "PolicySet"
* @param combiningName name of the field naming the combining alg
*
--- 156,160 ----
*
* @param root the DOM root of the policy
! * @param policyPrefix either "Policy" or "PolicySet"
* @param combiningName name of the field naming the combining alg
*
***************
*** 173,178 ****
}
try {
- // now get the combining algorithm
URI algId = new URI(attrs.getNamedItem(combiningName).
getNodeValue());
--- 175,180 ----
}
+ // now get the combining algorithm...
try {
URI algId = new URI(attrs.getNamedItem(combiningName).
getNodeValue());
***************
*** 181,184 ****
--- 183,197 ----
throw new ParsingException("Error parsing combining algorithm" +
" in " + policyPrefix, e);
+ }
+
+ // ...and make sure it's the right kind
+ if (policyPrefix.equals("Policy")) {
+ if (! (combiningAlg instanceof RuleCombiningAlgorithm))
+ throw new ParsingException("Policy must use a Rule " +
+ "Combining Algorithm");
+ } else {
+ if (! (combiningAlg instanceof PolicyCombiningAlgorithm))
+ throw new ParsingException("PolicySet must use a Policy " +
+ "Combining Algorithm");
}
Index: Policy.java
===================================================================
RCS file: /cvsroot/sunxacml/sunxacml/com/sun/xacml/Policy.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** Policy.java 17 Jun 2003 18:23:52 -0000 1.2
--- Policy.java 14 Aug 2003 22:56:48 -0000 1.3
***************
*** 37,41 ****
package com.sun.xacml;
! import com.sun.xacml.combine.CombiningAlgorithm;
import com.sun.xacml.ctx.Result;
--- 37,41 ----
package com.sun.xacml;
! import com.sun.xacml.combine.RuleCombiningAlgorithm;
import com.sun.xacml.ctx.Result;
***************
*** 73,77 ****
* @param target the <code>Target</code> for this policy
*/
! public Policy(URI id, CombiningAlgorithm combiningAlg, Target target) {
this(id, combiningAlg, null, target, null, null, null);
}
--- 73,77 ----
* @param target the <code>Target</code> for this policy
*/
! public Policy(URI id, RuleCombiningAlgorithm combiningAlg, Target target) {
this(id, combiningAlg, null, target, null, null, null);
}
***************
*** 91,95 ****
* <code>Rule</code>
*/
! public Policy(URI id, CombiningAlgorithm combiningAlg, Target target,
List rules) {
this(id, combiningAlg, null, target, null, rules, null);
--- 91,95 ----
* <code>Rule</code>
*/
! public Policy(URI id, RuleCombiningAlgorithm combiningAlg, Target target,
List rules) {
this(id, combiningAlg, null, target, null, rules, null);
***************
*** 111,115 ****
* <code>Rule</code>
*/
! public Policy(URI id, CombiningAlgorithm combiningAlg, Target target,
String defaultVersion, List rules) {
this(id, combiningAlg, null, target, defaultVersion, rules, null);
--- 111,115 ----
* <code>Rule</code>
*/
! public Policy(URI id, RuleCombiningAlgorithm combiningAlg, Target target,
String defaultVersion, List rules) {
this(id, combiningAlg, null, target, defaultVersion, rules, null);
***************
*** 131,136 ****
* <code>Rule</code>
*/
! public Policy(URI id, CombiningAlgorithm combiningAlg, String description,
! Target target, List rules) {
this(id, combiningAlg, description, target, null, rules, null);
}
--- 131,136 ----
* <code>Rule</code>
*/
! public Policy(URI id, RuleCombiningAlgorithm combiningAlg,
! String description, Target target, List rules) {
this(id, combiningAlg, description, target, null, rules, null);
}
***************
*** 152,157 ****
* <code>Rule</code>
*/
! public Policy(URI id, CombiningAlgorithm combiningAlg, String description,
! Target target, String defaultVersion, List rules) {
this(id, combiningAlg, description, target, defaultVersion, rules,
null);
--- 152,158 ----
* <code>Rule</code>
*/
! public Policy(URI id, RuleCombiningAlgorithm combiningAlg,
! String description, Target target, String defaultVersion,
! List rules) {
this(id, combiningAlg, description, target, defaultVersion, rules,
null);
***************
*** 175,181 ****
* <code>Rule</code>
*/
! public Policy(URI id, CombiningAlgorithm combiningAlg, String description,
! Target target, String defaultVersion, List rules,
! Set obligations) {
super(id, combiningAlg, description, target, defaultVersion,
obligations);
--- 176,182 ----
* <code>Rule</code>
*/
! public Policy(URI id, RuleCombiningAlgorithm combiningAlg,
! String description, Target target, String defaultVersion,
! List rules, Set obligations) {
super(id, combiningAlg, description, target, defaultVersion,
obligations);
Index: PolicySet.java
===================================================================
RCS file: /cvsroot/sunxacml/sunxacml/com/sun/xacml/PolicySet.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** PolicySet.java 17 Jun 2003 18:23:52 -0000 1.2
--- PolicySet.java 14 Aug 2003 22:56:48 -0000 1.3
***************
*** 37,41 ****
package com.sun.xacml;
! import com.sun.xacml.combine.CombiningAlgorithm;
import com.sun.xacml.ctx.Result;
--- 37,41 ----
package com.sun.xacml;
! import com.sun.xacml.combine.PolicyCombiningAlgorithm;
import com.sun.xacml.ctx.Result;
***************
*** 75,79 ****
* @param target the <code>Target</code> for this set
*/
! public PolicySet(URI id, CombiningAlgorithm combiningAlg, Target target) {
this(id, combiningAlg, null, target, null, null, null);
}
--- 75,80 ----
* @param target the <code>Target</code> for this set
*/
! public PolicySet(URI id, PolicyCombiningAlgorithm combiningAlg,
! Target target) {
this(id, combiningAlg, null, target, null, null, null);
}
***************
*** 93,98 ****
* <code>AbstractPolicy</code>
*/
! public PolicySet(URI id, CombiningAlgorithm combiningAlg, Target target,
! List policies) {
this(id, combiningAlg, null, target, policies, null, null);
}
--- 94,99 ----
* <code>AbstractPolicy</code>
*/
! public PolicySet(URI id, PolicyCombiningAlgorithm combiningAlg,
! Target target, List policies) {
this(id, combiningAlg, null, target, policies, null, null);
}
***************
*** 113,118 ****
* <code>AbstractPolicy</code>
*/
! public PolicySet(URI id, CombiningAlgorithm combiningAlg, Target target,
! List policies, String defaultVersion) {
this(id, combiningAlg, null, target, policies, defaultVersion, null);
}
--- 114,119 ----
* <code>AbstractPolicy</code>
*/
! public PolicySet(URI id, PolicyCombiningAlgorithm combiningAlg,
! Target target, List policies, String defaultVersion) {
this(id, combiningAlg, null, target, policies, defaultVersion, null);
}
***************
*** 133,137 ****
* <code>AbstractPolicy</code>
*/
! public PolicySet(URI id, CombiningAlgorithm combiningAlg,
String description, Target target, List policies) {
this(id, combiningAlg, description, target, policies, null, null);
--- 134,138 ----
* <code>AbstractPolicy</code>
*/
! public PolicySet(URI id, PolicyCombiningAlgorithm combiningAlg,
String description, Target target, List policies) {
this(id, combiningAlg, description, target, policies, null, null);
***************
*** 154,158 ****
* <code>AbstractPolicy</code>
*/
! public PolicySet(URI id, CombiningAlgorithm combiningAlg,
String description, Target target, List policies,
String defaultVersion) {
--- 155,159 ----
* <code>AbstractPolicy</code>
*/
! public PolicySet(URI id, PolicyCombiningAlgorithm combiningAlg,
String description, Target target, List policies,
String defaultVersion) {
***************
*** 178,182 ****
* <code>AbstractPolicy</code>
*/
! public PolicySet(URI id, CombiningAlgorithm combiningAlg,
String description, Target target, List policies,
String defaultVersion, Set obligations) {
--- 179,183 ----
* <code>AbstractPolicy</code>
*/
! public PolicySet(URI id, PolicyCombiningAlgorithm combiningAlg,
String description, Target target, List policies,
String defaultVersion, Set obligations) {
|