- From: Yves Lafon via cvs-syncmail <cvsmail@w3.org>
- Date: Thu, 23 Aug 2012 14:53:41 +0000
- To: www-validator-cvs@w3.org
Update of /sources/public/2002/css-validator/org/w3c/css/properties/css2 In directory hutz:/tmp/cvs-serv28128 Modified Files: CssFont.java CssFontFamily.java CssFontSize.java CssFontStretch.java CssFontStyle.java CssFontWeight.java Log Message: case sensitivity of idents Index: CssFontStretch.java =================================================================== RCS file: /sources/public/2002/css-validator/org/w3c/css/properties/css2/CssFontStretch.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- CssFontStretch.java 4 Aug 2012 21:17:05 -0000 1.1 +++ CssFontStretch.java 23 Aug 2012 14:53:39 -0000 1.2 @@ -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/2008/REC-CSS2-20080411/fonts.html#propdef-font-stretch @@ -22,13 +22,22 @@ static final String[] _allowed_values = {"normal", "wider", "narrower", "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>(); - 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; } /** @@ -62,7 +71,7 @@ if (inherit.equals(ident)) { value = inherit; } else { - value = allowed_values.get(val.toString()); + value = getAllowedValue(ident); if (value == null) { throw new InvalidParamException("value", val.toString(), Index: CssFontStyle.java =================================================================== RCS file: /sources/public/2002/css-validator/org/w3c/css/properties/css2/CssFontStyle.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- CssFontStyle.java 4 Aug 2012 21:17:05 -0000 1.1 +++ CssFontStyle.java 23 Aug 2012 14:53:39 -0000 1.2 @@ -23,7 +23,7 @@ static final ArrayList<CssIdent> allowed_values; static { - allowed_values = new ArrayList<CssIdent>(3); + allowed_values = new ArrayList<CssIdent>(_allowed_values.length); for (String s : _allowed_values) { allowed_values.add(CssIdent.getIdent(s)); } Index: CssFont.java =================================================================== RCS file: /sources/public/2002/css-validator/org/w3c/css/properties/css2/CssFont.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- CssFont.java 5 Aug 2012 06:22:55 -0000 1.2 +++ CssFont.java 23 Aug 2012 14:53:38 -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; import static org.w3c.css.values.CssOperator.SPACE; @@ -22,18 +22,27 @@ public class CssFont extends org.w3c.css.properties.css.CssFont { public static final CssIdent normal; - public static final HashMap<String, CssIdent> systemFonts; + public static final CssIdent[] systemFonts; static final String[] _systemFonts = {"caption", "icon", "menu", "message-box", "small-caption", "status-bar"}; static { normal = CssIdent.getIdent("normal"); - systemFonts = new HashMap<String, CssIdent>(); + systemFonts = new CssIdent[_systemFonts.length]; + int i = 0; for (String s : _systemFonts) { - systemFonts.put(s, CssIdent.getIdent(s)); + systemFonts[i++] = CssIdent.getIdent(s); } + Arrays.sort(systemFonts); } + public static final CssIdent getSystemFont(CssIdent ident) { + int idx = Arrays.binarySearch(systemFonts, ident); + if (idx >= 0) { + return systemFonts[idx]; + } + return null; + } /** * Create a new CssFontSize */ @@ -73,7 +82,7 @@ break; } CssIdent ident; - ident = systemFonts.get(val.toString()); + ident = getSystemFont((CssIdent)val); if (ident != null) { if (expression.getCount() != 1) { throw new InvalidParamException("value", @@ -119,7 +128,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", @@ -135,7 +144,7 @@ // check if we moved past and we now got // a font-size if (state == 0) { - CssIdent v = CssFontSize.allowed_values.get(ident.toString()); + CssIdent v = CssFontSize.getAllowedValue(ident); if (v != null) { // we got a FontSize, so no more style/variant/weight state = 1; Index: CssFontSize.java =================================================================== RCS file: /sources/public/2002/css-validator/org/w3c/css/properties/css2/CssFontSize.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- CssFontSize.java 4 Aug 2012 21:17:05 -0000 1.1 +++ CssFontSize.java 23 Aug 2012 14:53:39 -0000 1.2 @@ -15,26 +15,37 @@ 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/2008/REC-CSS2-20080411/fonts.html#propdef-font-size */ public class CssFontSize extends org.w3c.css.properties.css.CssFontSize { - public static final HashMap<String,CssIdent> allowed_values; + public static final CssIdent[] allowed_values; static final String[] absolute_values = {"xx-small", "x-small", "small", "medium", "large", "x-large", "xx-large"}; static final String[] relative_values = {"smaller", "larger"}; static { - allowed_values = new HashMap<String, CssIdent>(); + allowed_values = new CssIdent[absolute_values.length + relative_values.length]; + int i = 0; for (String s : absolute_values) { - allowed_values.put(s, CssIdent.getIdent(s)); + allowed_values[i++] = CssIdent.getIdent(s); } for (String s : relative_values) { - allowed_values.put(s, CssIdent.getIdent(s)); + allowed_values[i++] = CssIdent.getIdent(s); } + Arrays.sort(allowed_values); } + + public static CssIdent getAllowedValue(CssIdent ident) { + int idx = Arrays.binarySearch(allowed_values, ident); + if (idx >= 0) { + return allowed_values[idx]; + } + return null; + } + /** * Create a new CssFontSize */ @@ -86,7 +97,7 @@ value = inherit; break; } - value = allowed_values.get(val.toString()); + value = getAllowedValue(ident); if (value == null) { throw new InvalidParamException("value", expression.getValue().toString(), Index: CssFontWeight.java =================================================================== RCS file: /sources/public/2002/css-validator/org/w3c/css/properties/css2/CssFontWeight.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- CssFontWeight.java 4 Aug 2012 21:17:05 -0000 1.1 +++ CssFontWeight.java 23 Aug 2012 14:53:39 -0000 1.2 @@ -13,23 +13,32 @@ import org.w3c.css.values.CssTypes; import org.w3c.css.values.CssValue; -import java.util.HashMap; - /** * @spec http://www.w3.org/TR/2008/REC-CSS2-20080411/fonts.html#propdef-font-weight */ 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]); } } - /** + + 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() { @@ -82,7 +91,7 @@ value = inherit; break; } - value = allowed_values.get(val.toString()); + value = getAllowedValue(ident); if (value == null) { throw new InvalidParamException("value", val.toString(), Index: CssFontFamily.java =================================================================== RCS file: /sources/public/2002/css-validator/org/w3c/css/properties/css2/CssFontFamily.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- CssFontFamily.java 4 Aug 2012 21:17:05 -0000 1.1 +++ CssFontFamily.java 23 Aug 2012 14:53:38 -0000 1.2 @@ -37,11 +37,11 @@ }; static { - genericNames = new ArrayList<CssIdent>(); + genericNames = new ArrayList<CssIdent>(_genericNames.length); for (String s : _genericNames) { genericNames.add(CssIdent.getIdent(s)); } - reservedNames = new ArrayList<CssIdent>(); + reservedNames = new ArrayList<CssIdent>(_reservedNames.length); for (String s : _reservedNames) { reservedNames.add(CssIdent.getIdent(s)); }
Received on Thursday, 23 August 2012 14:53:46 UTC