2002/css-validator/org/w3c/css/properties/css3 CssFont.java,1.4,1.5 CssFontStretch.java,1.2,1.3 CssFontVariantCaps.java,1.2,1.3 CssFontVariantEastAsian.java,1.2,1.3 CssFontVariantPosition.java,1.2,1.3 CssFontWeight.java,1.2,1.3

Update of /sources/public/2002/css-validator/org/w3c/css/properties/css3
In directory hutz:/tmp/cvs-serv4412

Modified Files:
	CssFont.java CssFontStretch.java CssFontVariantCaps.java 
	CssFontVariantEastAsian.java CssFontVariantPosition.java 
	CssFontWeight.java 
Log Message:
case sensitivity of idents

Index: CssFontStretch.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/properties/css3/CssFontStretch.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- CssFontStretch.java	19 Aug 2012 17:28:25 -0000	1.2
+++ CssFontStretch.java	23 Aug 2012 13:55:34 -0000	1.3
@@ -12,7 +12,7 @@
 import org.w3c.css.values.CssTypes;
 import org.w3c.css.values.CssValue;
 
-import java.util.HashMap;
+import java.util.Arrays;
 
 /**
  * @spec http://www.w3.org/TR/2011/WD-css3-fonts-20111004/#font-stretch-prop
@@ -22,13 +22,22 @@
 	static final String[] _allowed_values = {"normal", "ultra-condensed",
 			"extra-condensed", "condensed", "semi-condensed", "semi-expanded",
 			"expanded", "extra-expanded", "ultra-expanded"};
-	static final HashMap<String, CssIdent> allowed_values;
+	static final CssIdent[] allowed_values;
 
 	static {
-		allowed_values = new HashMap<String, CssIdent>(_allowed_values.length);
-		for (String s : _allowed_values) {
-			allowed_values.put(s, CssIdent.getIdent(s));
+		allowed_values = new CssIdent[_allowed_values.length];
+		for (int i = 0; i < allowed_values.length; i++) {
+			allowed_values[i] = CssIdent.getIdent(_allowed_values[i]);
 		}
+		Arrays.sort(allowed_values);
+	}
+
+	public static final CssIdent getAllowedValue(CssIdent ident) {
+		int idx = Arrays.binarySearch(allowed_values, ident);
+		if (idx >= 0) {
+			return allowed_values[idx];
+		}
+		return null;
 	}
 
 	/**
@@ -63,7 +72,7 @@
 			if (inherit.equals(ident)) {
 				value = inherit;
 			} else {
-				value = allowed_values.get(val.toString().toLowerCase());
+				value = getAllowedValue(ident);
 				if (value == null) {
 					throw new InvalidParamException("value",
 							val.toString(),

Index: CssFontVariantCaps.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/properties/css3/CssFontVariantCaps.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- CssFontVariantCaps.java	19 Aug 2012 17:28:25 -0000	1.2
+++ CssFontVariantCaps.java	23 Aug 2012 13:55:34 -0000	1.3
@@ -12,7 +12,7 @@
 import org.w3c.css.values.CssTypes;
 import org.w3c.css.values.CssValue;
 
-import java.util.HashMap;
+import java.util.Arrays;
 
 /**
  * @spec http://www.w3.org/TR/2011/WD-css3-fonts-20111004/#font-variant-caps-prop
@@ -20,33 +20,44 @@
 public class CssFontVariantCaps extends org.w3c.css.properties.css.CssFontVariantCaps {
 
 	public static final CssIdent normal;
-	public static final HashMap<String, CssIdent> capsValues;
+	public static final CssIdent[] capsValues;
 	public static final String _capsValues[] = {"small-caps", "all-small-caps",
 			"petite-caps", "all-petite-caps", "titling-caps", "unicase"};
 
 	static {
 		normal = CssIdent.getIdent("normal");
-		capsValues = new HashMap<String, CssIdent>(_capsValues.length);
-		for (String s: _capsValues) {
-			capsValues.put(s, CssIdent.getIdent(s));
+		capsValues = new CssIdent[_capsValues.length];
+		int i = 0;
+		for (String s : _capsValues) {
+			capsValues[i++] = CssIdent.getIdent(s);
 		}
+		Arrays.sort(capsValues);
 	}
-    /**
-     * Create a new CssFontVariantCaps
-     */
-    public CssFontVariantCaps() {
+
+	public static final CssIdent getCapsValue(CssIdent ident) {
+		int idx = Arrays.binarySearch(capsValues, ident);
+		if (idx >= 0) {
+			return capsValues[idx];
+		}
+		return null;
+	}
+
+	/**
+	 * Create a new CssFontVariantCaps
+	 */
+	public CssFontVariantCaps() {
 		value = initial;
-    }
+	}
 
-    /**
-     * Creates a new CssFontVariantCaps
-     *
-     * @param expression The expression for this property
-     * @throws org.w3c.css.util.InvalidParamException
-     *          Expressions are incorrect
-     */
-    public CssFontVariantCaps(ApplContext ac, CssExpression expression, boolean check)
-            throws InvalidParamException {
+	/**
+	 * Creates a new CssFontVariantCaps
+	 *
+	 * @param expression The expression for this property
+	 * @throws org.w3c.css.util.InvalidParamException
+	 *          Expressions are incorrect
+	 */
+	public CssFontVariantCaps(ApplContext ac, CssExpression expression, boolean check)
+			throws InvalidParamException {
 		if (check && expression.getCount() > 1) {
 			throw new InvalidParamException("unrecognize", ac);
 		}
@@ -65,7 +76,7 @@
 			} else if (normal.equals(ident)) {
 				value = normal;
 			} else {
-				value = capsValues.get(ident.toString().toLowerCase());
+				value = getCapsValue(ident);
 				if (value == null) {
 					throw new InvalidParamException("value",
 							val.toString(),
@@ -78,12 +89,12 @@
 					getPropertyName(), ac);
 		}
 		expression.next();
-    }
+	}
 
-    public CssFontVariantCaps(ApplContext ac, CssExpression expression)
-            throws InvalidParamException {
-        this(ac, expression, false);
-    }
+	public CssFontVariantCaps(ApplContext ac, CssExpression expression)
+			throws InvalidParamException {
+		this(ac, expression, false);
+	}
 
 }
 

Index: CssFont.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/properties/css3/CssFont.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- CssFont.java	23 Aug 2012 13:24:19 -0000	1.4
+++ CssFont.java	23 Aug 2012 13:55:34 -0000	1.5
@@ -120,7 +120,7 @@
 							break;
 						}
 						// font-weight
-						v = CssFontWeight.allowed_values.get(ident.toString());
+						v = CssFontWeight.getAllowedValue(ident);
 						if (v != null) {
 							if (fontWeight != null) {
 								throw new InvalidParamException("value",

Index: CssFontVariantPosition.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/properties/css3/CssFontVariantPosition.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- CssFontVariantPosition.java	19 Aug 2012 17:28:25 -0000	1.2
+++ CssFontVariantPosition.java	23 Aug 2012 13:55:34 -0000	1.3
@@ -12,7 +12,7 @@
 import org.w3c.css.values.CssTypes;
 import org.w3c.css.values.CssValue;
 
-import java.util.HashMap;
+import java.util.Arrays;
 
 /**
  * @spec http://www.w3.org/TR/2011/WD-css3-fonts-20111004/#propdef-font-variant-position
@@ -22,13 +22,23 @@
 	public static final String[] _allowedValues = {"normal", "sub",
 			"super", "ordinal"};
 
-	public static final HashMap<String, CssIdent> allowedValues;
+	public static final CssIdent[] allowedValues;
 
 	static {
-		allowedValues = new HashMap<String, CssIdent>(_allowedValues.length);
-		for (String s : _allowedValues) {
-			allowedValues.put(s, CssIdent.getIdent(s));
+		allowedValues = new CssIdent[_allowedValues.length];
+		for (int i = 0; i < allowedValues.length; i++) {
+			allowedValues[i] = CssIdent.getIdent(_allowedValues[i]);
+		}
+		Arrays.sort(allowedValues);
+	}
+
+	public static final CssIdent getAllowedValue(CssIdent ident) {
+		for (CssIdent id : allowedValues) {
+			if (id.equals(ident)) {
+				return id;
+			}
 		}
+		return null;
 	}
 
 	/**
@@ -63,7 +73,7 @@
 			if (inherit.equals(ident)) {
 				value = inherit;
 			} else {
-				value = allowedValues.get(ident.toString().toLowerCase());
+				value = getAllowedValue(ident);
 				if (value == null) {
 					throw new InvalidParamException("value",
 							val.toString(),

Index: CssFontWeight.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/properties/css3/CssFontWeight.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- CssFontWeight.java	19 Aug 2012 17:28:25 -0000	1.2
+++ CssFontWeight.java	23 Aug 2012 13:55:34 -0000	1.3
@@ -13,38 +13,46 @@
 import org.w3c.css.values.CssTypes;
 import org.w3c.css.values.CssValue;
 
-import java.util.HashMap;
-
 /**
  * @spec http://www.w3.org/TR/2011/WD-css3-fonts-20111004/#font-weight-prop
  */
 public class CssFontWeight extends org.w3c.css.properties.css.CssFontWeight {
 
-	public static final HashMap<String,CssIdent> allowed_values;
+	public static final CssIdent[] allowed_values;
 	static final String[] _allowed_values = {"normal", "bold", "bolder", "lighter"};
 
 	static {
-		allowed_values = new HashMap<String, CssIdent>(_allowed_values.length);
-		for (String s : _allowed_values) {
-			allowed_values.put(s, CssIdent.getIdent(s));
+		allowed_values = new CssIdent[_allowed_values.length];
+		for (int i = 0; i < allowed_values.length; i++) {
+			allowed_values[i] = CssIdent.getIdent(_allowed_values[i]);
 		}
 	}
-    /**
-     * Create a new CssFontWeight
-     */
-    public CssFontWeight() {
+
+	public static final CssIdent getAllowedValue(CssIdent ident) {
+		for (CssIdent id : allowed_values) {
+			if (id.equals(ident)) {
+				return id;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Create a new CssFontWeight
+	 */
+	public CssFontWeight() {
 		value = initial;
-    }
+	}
 
-    /**
-     * Creates a new CssFontWeight
-     *
-     * @param expression The expression for this property
-     * @throws org.w3c.css.util.InvalidParamException
-     *          Expressions are incorrect
-     */
-    public CssFontWeight(ApplContext ac, CssExpression expression, boolean check)
-            throws InvalidParamException {
+	/**
+	 * Creates a new CssFontWeight
+	 *
+	 * @param expression The expression for this property
+	 * @throws org.w3c.css.util.InvalidParamException
+	 *          Expressions are incorrect
+	 */
+	public CssFontWeight(ApplContext ac, CssExpression expression, boolean check)
+			throws InvalidParamException {
 		if (check && expression.getCount() > 1) {
 			throw new InvalidParamException("unrecognize", ac);
 		}
@@ -59,7 +67,7 @@
 		switch (val.getType()) {
 			case CssTypes.CSS_NUMBER:
 				CssNumber num = (CssNumber) val;
-				switch(num.getInt()) {
+				switch (num.getInt()) {
 					case 100:
 					case 200:
 					case 300:
@@ -69,7 +77,7 @@
 					case 700:
 					case 800:
 					case 900:
-					   value = num;
+						value = num;
 						break;
 					default:
 						throw new InvalidParamException("value",
@@ -83,7 +91,7 @@
 					value = inherit;
 					break;
 				}
-				value = allowed_values.get(ident.toString().toLowerCase());
+				value = getAllowedValue(ident);
 				if (value == null) {
 					throw new InvalidParamException("value",
 							val.toString(),
@@ -96,12 +104,12 @@
 						getPropertyName(), ac);
 		}
 		expression.next();
-    }
+	}
 
-    public CssFontWeight(ApplContext ac, CssExpression expression)
-            throws InvalidParamException {
-        this(ac, expression, false);
-    }
+	public CssFontWeight(ApplContext ac, CssExpression expression)
+			throws InvalidParamException {
+		this(ac, expression, false);
+	}
 
 }
 

Index: CssFontVariantEastAsian.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/properties/css3/CssFontVariantEastAsian.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- CssFontVariantEastAsian.java	19 Aug 2012 17:28:25 -0000	1.2
+++ CssFontVariantEastAsian.java	23 Aug 2012 13:55:34 -0000	1.3
@@ -15,50 +15,78 @@
 import org.w3c.css.values.CssValueList;
 
 import java.util.ArrayList;
-import java.util.HashMap;
+import java.util.Arrays;
 
 /**
  * @spec http://www.w3.org/TR/2011/WD-css3-fonts-20111004/#propdef-font-variant-east-asian
  */
 public class CssFontVariantEastAsian extends org.w3c.css.properties.css.CssFontVariantEastAsian {
 
-	public static final String[] _eastAsianVariantValues = { "jis78", "jis83", "jis90", "jis04",
+	public static final String[] _eastAsianVariantValues = {"jis78", "jis83", "jis90", "jis04",
 			"simplified", "traditional"};
-	public static final String[] _eastAsianWidthValues = { "full-width", "proportional-width"};
+	public static final String[] _eastAsianWidthValues = {"full-width", "proportional-width"};
 
-	public static final HashMap<String,CssIdent> eastAsianVariantValues;
-	public static final HashMap<String,CssIdent> eastAsianWidthValues;
+	public static final CssIdent[] eastAsianVariantValues;
+	public static final CssIdent[] eastAsianWidthValues;
 
 	public static final CssIdent normal;
 
 	static {
 		normal = CssIdent.getIdent("normal");
 
-		eastAsianVariantValues = new HashMap<String, CssIdent>(_eastAsianVariantValues.length);
-		for (String s: _eastAsianVariantValues) {
-			eastAsianVariantValues.put(s, CssIdent.getIdent(s));
+		eastAsianVariantValues = new CssIdent[_eastAsianVariantValues.length];
+		for (int i = 0; i < eastAsianVariantValues.length; i++) {
+			eastAsianVariantValues[i] = CssIdent.getIdent(_eastAsianVariantValues[i]);
 		}
-		eastAsianWidthValues = new HashMap<String, CssIdent>(_eastAsianWidthValues.length);
-		for (String s: _eastAsianWidthValues) {
-			eastAsianWidthValues.put(s, CssIdent.getIdent(s));
+		Arrays.sort(eastAsianVariantValues);
+		eastAsianWidthValues = new CssIdent[_eastAsianWidthValues.length];
+		for (int i = 0; i < eastAsianWidthValues.length; i++) {
+			eastAsianWidthValues[i] = CssIdent.getIdent(_eastAsianWidthValues[i]);
 		}
+		Arrays.sort(eastAsianWidthValues);
 	}
-    /**
-     * Create a new CssFontVariantEastAsian
-     */
-    public CssFontVariantEastAsian() {
+
+	public static final CssIdent getEastAsianVariantValue(CssIdent ident) {
+		int idx = Arrays.binarySearch(eastAsianVariantValues, ident);
+		if (idx >= 0) {
+			return eastAsianVariantValues[idx];
+		}
+		return null;
+	}
+
+	public static final CssIdent getEastAsianWidthValue(CssIdent ident) {
+		for (CssIdent id : eastAsianWidthValues) {
+			if (id.equals(ident)) {
+				return id;
+			}
+		}
+		return null;
+	}
+
+	public static final CssIdent getEastAsianValue(CssIdent ident) {
+		CssIdent id = getEastAsianWidthValue(ident);
+		if (id == null) {
+			id = getEastAsianVariantValue(ident);
+		}
+		return id;
+	}
+
+	/**
+	 * Create a new CssFontVariantEastAsian
+	 */
+	public CssFontVariantEastAsian() {
 		value = initial;
-    }
+	}
 
-    /**
-     * Creates a new CssFontVariantEastAsian
-     *
-     * @param expression The expression for this property
-     * @throws org.w3c.css.util.InvalidParamException
-     *          Expressions are incorrect
-     */
-    public CssFontVariantEastAsian(ApplContext ac, CssExpression expression, boolean check)
-            throws InvalidParamException {
+	/**
+	 * Creates a new CssFontVariantEastAsian
+	 *
+	 * @param expression The expression for this property
+	 * @throws org.w3c.css.util.InvalidParamException
+	 *          Expressions are incorrect
+	 */
+	public CssFontVariantEastAsian(ApplContext ac, CssExpression expression, boolean check)
+			throws InvalidParamException {
 		if (check && expression.getCount() > 2) {
 			throw new InvalidParamException("unrecognize", ac);
 		}
@@ -80,8 +108,7 @@
 			} else if (normal.equals(ident)) {
 				value = normal;
 			} else {
-				String idStr = ident.toString().toLowerCase();
-				value = eastAsianVariantValues.get(idStr);
+				value = getEastAsianVariantValue(ident);
 				if (value != null) {
 					if (expression.getCount() > 1) {
 						if (op != CssOperator.SPACE) {
@@ -92,7 +119,7 @@
 						val = expression.getValue();
 						CssIdent value2 = null;
 						if (val.getType() == CssTypes.CSS_IDENT) {
-							value2 = eastAsianWidthValues.get(val.toString().toLowerCase());
+							value2 = getEastAsianWidthValue((CssIdent) val);
 						}
 						if (value2 == null) {
 							throw new InvalidParamException("value",
@@ -105,7 +132,7 @@
 						value = new CssValueList(v);
 					}
 				} else {
-					value = eastAsianWidthValues.get(idStr);
+					value = getEastAsianWidthValue(ident);
 					if (value != null) {
 						if (expression.getCount() > 1) {
 							if (op != CssOperator.SPACE) {
@@ -116,7 +143,7 @@
 							val = expression.getValue();
 							CssIdent value2 = null;
 							if (val.getType() == CssTypes.CSS_IDENT) {
-								value2 = eastAsianVariantValues.get(val.toString().toLowerCase());
+								value2 = getEastAsianVariantValue((CssIdent) val);
 							}
 							if (value2 == null) {
 								throw new InvalidParamException("value",
@@ -141,12 +168,12 @@
 					getPropertyName(), ac);
 		}
 		expression.next();
-    }
+	}
 
-    public CssFontVariantEastAsian(ApplContext ac, CssExpression expression)
-            throws InvalidParamException {
-        this(ac, expression, false);
-    }
+	public CssFontVariantEastAsian(ApplContext ac, CssExpression expression)
+			throws InvalidParamException {
+		this(ac, expression, false);
+	}
 
 }
 

Received on Thursday, 23 August 2012 13:55:43 UTC