Update of /cvsroot/sunxacml/sunxacml/com/sun/xacml/cond
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27240/com/sun/xacml/cond
Modified Files:
ComparisonFunction.java ConditionBagFunction.java
ConditionSetFunction.java DateMathFunction.java
EqualFunction.java GeneralBagFunction.java
GeneralSetFunction.java HigherOrderFunction.java
Log Message:
updated getSupportedIdentifiers to be much more efficient
Index: GeneralBagFunction.java
===================================================================
RCS file: /cvsroot/sunxacml/sunxacml/com/sun/xacml/cond/GeneralBagFunction.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** GeneralBagFunction.java 18 Mar 2004 21:13:09 -0000 1.3
--- GeneralBagFunction.java 24 May 2004 21:39:22 -0000 1.4
***************
*** 44,47 ****
--- 44,48 ----
import java.util.Arrays;
+ import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
***************
*** 68,71 ****
--- 69,73 ----
// mapping of function name to its associated parameters
private static HashMap paramMap;
+ private static Set supportedIds;
/**
***************
*** 75,88 ****
static {
paramMap = new HashMap();
-
- paramMap.put(NAME_BASE_ONE_AND_ONLY,
- new BagParameters(ID_BASE_ONE_AND_ONLY, null, true, 1,
- null, false));
- paramMap.put(NAME_BASE_BAG_SIZE,
- new BagParameters(ID_BASE_BAG_SIZE, null, true, 1,
- IntegerAttribute.identifier, false));
- paramMap.put(NAME_BASE_BAG,
- new BagParameters(ID_BASE_BAG, null, false, -1, null,
- true));
for (int i = 0; i < baseTypes.length; i++) {
--- 77,80 ----
***************
*** 103,106 ****
--- 95,113 ----
baseType, true));
}
+
+ supportedIds = Collections.
+ unmodifiableSet(new HashSet(paramMap.keySet()));
+
+ paramMap.put(NAME_BASE_ONE_AND_ONLY,
+ new BagParameters(ID_BASE_ONE_AND_ONLY, null, true, 1,
+ null, false));
+ paramMap.put(NAME_BASE_BAG_SIZE,
+ new BagParameters(ID_BASE_BAG_SIZE, null, true, 1,
+ IntegerAttribute.identifier, false));
+ paramMap.put(NAME_BASE_BAG,
+ new BagParameters(ID_BASE_BAG, null, false, -1, null,
+ true));
+
+
};
***************
*** 228,242 ****
*/
public static Set getSupportedIdentifiers() {
! Set set = new HashSet();
!
! for (int i = 0; i < simpleTypes.length; i++) {
! String baseName = FunctionBase.FUNCTION_NS + simpleTypes[i];
!
! set.add(baseName + NAME_BASE_ONE_AND_ONLY);
! set.add(baseName + NAME_BASE_BAG_SIZE);
! set.add(baseName + NAME_BASE_BAG);
! }
!
! return set;
}
--- 235,239 ----
*/
public static Set getSupportedIdentifiers() {
! return supportedIds;
}
Index: ConditionSetFunction.java
===================================================================
RCS file: /cvsroot/sunxacml/sunxacml/com/sun/xacml/cond/ConditionSetFunction.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** ConditionSetFunction.java 18 Mar 2004 21:13:09 -0000 1.3
--- ConditionSetFunction.java 24 May 2004 21:39:22 -0000 1.4
***************
*** 43,46 ****
--- 43,47 ----
import com.sun.xacml.attr.BooleanAttribute;
+ import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
***************
*** 70,73 ****
--- 71,77 ----
private static HashMap typeMap;
+ // the actual supported ids
+ private static Set supportedIds;
+
/**
* Static initializer that sets up the paramater info for all the
***************
*** 78,86 ****
typeMap = new HashMap();
- idMap.put(NAME_BASE_AT_LEAST_ONE_MEMBER_OF,
- new Integer(ID_BASE_AT_LEAST_ONE_MEMBER_OF));
- idMap.put(NAME_BASE_SUBSET, new Integer(ID_BASE_SUBSET));
- idMap.put(NAME_BASE_SET_EQUALS, new Integer(ID_BASE_SET_EQUALS));
-
for (int i = 0; i < baseTypes.length; i++) {
String baseName = FUNCTION_NS + simpleTypes[i];
--- 82,85 ----
***************
*** 98,101 ****
--- 97,108 ----
typeMap.put(baseName + NAME_BASE_SET_EQUALS, baseType);
}
+
+ supportedIds = Collections.
+ unmodifiableSet(new HashSet(idMap.keySet()));
+
+ idMap.put(NAME_BASE_AT_LEAST_ONE_MEMBER_OF,
+ new Integer(ID_BASE_AT_LEAST_ONE_MEMBER_OF));
+ idMap.put(NAME_BASE_SUBSET, new Integer(ID_BASE_SUBSET));
+ idMap.put(NAME_BASE_SET_EQUALS, new Integer(ID_BASE_SET_EQUALS));
};
***************
*** 164,178 ****
*/
public static Set getSupportedIdentifiers() {
! Set set = new HashSet();
!
! for (int i = 0; i < simpleTypes.length; i++) {
! String baseName = FunctionBase.FUNCTION_NS + simpleTypes[i];
!
! set.add(baseName + NAME_BASE_AT_LEAST_ONE_MEMBER_OF);
! set.add(baseName + NAME_BASE_SUBSET);
! set.add(baseName + NAME_BASE_SET_EQUALS);
! }
!
! return set;
}
--- 171,175 ----
*/
public static Set getSupportedIdentifiers() {
! return supportedIds;
}
Index: ComparisonFunction.java
===================================================================
RCS file: /cvsroot/sunxacml/sunxacml/com/sun/xacml/cond/ComparisonFunction.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** ComparisonFunction.java 18 Mar 2004 21:13:09 -0000 1.5
--- ComparisonFunction.java 24 May 2004 21:39:22 -0000 1.6
***************
*** 48,51 ****
--- 48,52 ----
import com.sun.xacml.attr.TimeAttribute;
+ import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
***************
*** 379,410 ****
*/
public static Set getSupportedIdentifiers() {
! Set set = new HashSet();
!
! set.add(NAME_INTEGER_GREATER_THAN);
! set.add(NAME_INTEGER_GREATER_THAN_OR_EQUAL);
! set.add(NAME_INTEGER_LESS_THAN);
! set.add(NAME_INTEGER_LESS_THAN_OR_EQUAL);
! set.add(NAME_DOUBLE_GREATER_THAN);
! set.add(NAME_DOUBLE_GREATER_THAN_OR_EQUAL);
! set.add(NAME_DOUBLE_LESS_THAN);
! set.add(NAME_DOUBLE_LESS_THAN_OR_EQUAL);
! set.add(NAME_STRING_GREATER_THAN);
! set.add(NAME_STRING_GREATER_THAN_OR_EQUAL);
! set.add(NAME_STRING_LESS_THAN);
! set.add(NAME_STRING_LESS_THAN_OR_EQUAL);
! set.add(NAME_TIME_GREATER_THAN);
! set.add(NAME_TIME_GREATER_THAN_OR_EQUAL);
! set.add(NAME_TIME_LESS_THAN);
! set.add(NAME_TIME_LESS_THAN_OR_EQUAL);
! set.add(NAME_DATETIME_GREATER_THAN);
! set.add(NAME_DATETIME_GREATER_THAN_OR_EQUAL);
! set.add(NAME_DATETIME_LESS_THAN);
! set.add(NAME_DATETIME_LESS_THAN_OR_EQUAL);
! set.add(NAME_DATE_GREATER_THAN);
! set.add(NAME_DATE_GREATER_THAN_OR_EQUAL);
! set.add(NAME_DATE_LESS_THAN);
! set.add(NAME_DATE_LESS_THAN_OR_EQUAL);
!
! return set;
}
--- 380,384 ----
*/
public static Set getSupportedIdentifiers() {
! return Collections.unmodifiableSet(idMap.keySet());
}
Index: HigherOrderFunction.java
===================================================================
RCS file: /cvsroot/sunxacml/sunxacml/com/sun/xacml/cond/HigherOrderFunction.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** HigherOrderFunction.java 18 Mar 2004 21:13:09 -0000 1.5
--- HigherOrderFunction.java 24 May 2004 21:39:22 -0000 1.6
***************
*** 47,50 ****
--- 47,51 ----
import java.util.ArrayList;
+ import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
***************
*** 185,198 ****
*/
public static Set getSupportedIdentifiers() {
! Set set = new HashSet();
!
! set.add(NAME_ANY_OF);
! set.add(NAME_ALL_OF);
! set.add(NAME_ANY_OF_ANY);
! set.add(NAME_ALL_OF_ANY);
! set.add(NAME_ANY_OF_ALL);
! set.add(NAME_ALL_OF_ALL);
!
! return set;
}
--- 186,190 ----
*/
public static Set getSupportedIdentifiers() {
! return Collections.unmodifiableSet(idMap.keySet());
}
Index: GeneralSetFunction.java
===================================================================
RCS file: /cvsroot/sunxacml/sunxacml/com/sun/xacml/cond/GeneralSetFunction.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** GeneralSetFunction.java 18 Mar 2004 21:13:09 -0000 1.3
--- GeneralSetFunction.java 24 May 2004 21:39:22 -0000 1.4
***************
*** 42,45 ****
--- 42,46 ----
import com.sun.xacml.attr.BagAttribute;
+ import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
***************
*** 155,168 ****
*/
public static Set getSupportedIdentifiers() {
! Set set = new HashSet();
!
! for (int i = 0; i < simpleTypes.length; i++) {
! String baseName = FunctionBase.FUNCTION_NS + simpleTypes[i];
!
! set.add(baseName + NAME_BASE_INTERSECTION);
! set.add(baseName + NAME_BASE_UNION);
! }
!
! return set;
}
--- 156,160 ----
*/
public static Set getSupportedIdentifiers() {
! return Collections.unmodifiableSet(idMap.keySet());
}
Index: ConditionBagFunction.java
===================================================================
RCS file: /cvsroot/sunxacml/sunxacml/com/sun/xacml/cond/ConditionBagFunction.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** ConditionBagFunction.java 18 Mar 2004 21:13:09 -0000 1.3
--- ConditionBagFunction.java 24 May 2004 21:39:22 -0000 1.4
***************
*** 43,46 ****
--- 43,47 ----
import com.sun.xacml.attr.BooleanAttribute;
+ import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
***************
*** 125,136 ****
*/
public static Set getSupportedIdentifiers() {
! Set set = new HashSet();
!
! for (int i = 0; i < simpleTypes.length; i++) {
! set.add(FunctionBase.FUNCTION_NS + simpleTypes[i] +
! NAME_BASE_IS_IN);
! }
!
! return set;
}
--- 126,130 ----
*/
public static Set getSupportedIdentifiers() {
! return Collections.unmodifiableSet(argMap.keySet());
}
Index: EqualFunction.java
===================================================================
RCS file: /cvsroot/sunxacml/sunxacml/com/sun/xacml/cond/EqualFunction.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** EqualFunction.java 18 Mar 2004 21:13:09 -0000 1.5
--- EqualFunction.java 24 May 2004 21:39:22 -0000 1.6
***************
*** 55,58 ****
--- 55,59 ----
import com.sun.xacml.attr.X500NameAttribute;
+ import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
***************
*** 257,279 ****
*/
public static Set getSupportedIdentifiers() {
! Set set = new HashSet();
!
! set.add(NAME_STRING_EQUAL);
! set.add(NAME_BOOLEAN_EQUAL);
! set.add(NAME_INTEGER_EQUAL);
! set.add(NAME_DOUBLE_EQUAL);
! set.add(NAME_DATE_EQUAL);
! set.add(NAME_TIME_EQUAL);
! set.add(NAME_DATETIME_EQUAL);
! set.add(NAME_DAYTIME_DURATION_EQUAL);
! set.add(NAME_YEARMONTH_DURATION_EQUAL);
! set.add(NAME_ANYURI_EQUAL);
! set.add(NAME_X500NAME_EQUAL);
! set.add(NAME_RFC822NAME_EQUAL);
! set.add(NAME_HEXBINARY_EQUAL);
! set.add(NAME_BASE64BINARY_EQUAL);
!
! return set;
! }
/**
--- 258,263 ----
*/
public static Set getSupportedIdentifiers() {
! return Collections.unmodifiableSet(typeMap.keySet());
! }
/**
Index: DateMathFunction.java
===================================================================
RCS file: /cvsroot/sunxacml/sunxacml/com/sun/xacml/cond/DateMathFunction.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** DateMathFunction.java 18 Mar 2004 21:13:09 -0000 1.4
--- DateMathFunction.java 24 May 2004 21:39:22 -0000 1.5
***************
*** 46,49 ****
--- 46,50 ----
import java.util.Calendar;
+ import java.util.Collections;
import java.util.Date;
import java.util.GregorianCalendar;
***************
*** 232,245 ****
*/
public static Set getSupportedIdentifiers() {
! Set set = new HashSet();
!
! set.add(NAME_DATETIME_ADD_DAYTIMEDURATION);
! set.add(NAME_DATETIME_SUBTRACT_DAYTIMEDURATION);
! set.add(NAME_DATETIME_ADD_YEARMONTHDURATION);
! set.add(NAME_DATETIME_SUBTRACT_YEARMONTHDURATION);
! set.add(NAME_DATE_ADD_YEARMONTHDURATION);
! set.add(NAME_DATE_SUBTRACT_YEARMONTHDURATION);
!
! return set;
}
--- 233,237 ----
*/
public static Set getSupportedIdentifiers() {
! return Collections.unmodifiableSet(idMap.keySet());
}
|