W3C home > Mailing lists > Public > www-validator-cvs@w3.org > October 2011

2002/css-validator/org/w3c/css/values CssExpression.java,1.10,1.11 CssResolution.java,1.7,1.8

From: Yves Lafon via cvs-syncmail <cvsmail@w3.org>
Date: Fri, 21 Oct 2011 01:49:15 +0000
To: www-validator-cvs@w3.org
Message-Id: <E1RH4EV-0007Zp-Cm@lionel-hutz.w3.org>
Update of /sources/public/2002/css-validator/org/w3c/css/values
In directory hutz:/tmp/cvs-serv28700/org/w3c/css/values

Modified Files:
	CssExpression.java CssResolution.java 
Log Message:
redone the Media Features of media queries, up to date per http://www.w3.org/TR/2010/CR-css3-mediaqueries-20100727/, todo, parsing of media in HTML form

Index: CssResolution.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/values/CssResolution.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- CssResolution.java	14 Sep 2011 16:31:50 -0000	1.7
+++ CssResolution.java	21 Oct 2011 01:49:13 -0000	1.8
@@ -32,11 +32,25 @@
         return type;
     }
 
+    private Float value;
+    private String unit;
+    boolean isInt;
+
     /**
      * Create a new CssResolution
      */
     public CssResolution() {
-        value = defaultValue;
+    }
+
+    private void setValue(String s) {
+        try {
+            new Integer(s);
+            isInt = true;
+        } catch (NumberFormatException e) {
+            isInt = false;
+        } finally {
+            value = new Float(s);
+        }
     }
 
     /**
@@ -47,19 +61,20 @@
      * @throws InvalidParamException The unit is incorrect
      */
     public void set(String s, ApplContext ac) throws InvalidParamException {
+
         s = s.toLowerCase();
         int length = s.length();
         String unit = "";
         if (s.contains("dpi")) {
             unit = s.substring(length - 3, length);
-            this.value = new Float(s.substring(0, length - 3));
+            setValue(s.substring(0, length - 3));
             if (unit.equals("dpi")) {
                 this.unit = unit;
             }
             return;
         } else if (s.contains("dpcm")) {
             unit = s.substring(length - 4, length);
-            this.value = new Float(s.substring(0, length - 4));
+            setValue(s.substring(0, length - 4));
             if (unit.equals("dpcm")) {
                 this.unit = unit;
             }
@@ -77,10 +92,21 @@
      * Returns the current value
      */
     public Object get() {
+        if (isInt) {
+            return new Integer(value.intValue());
+        }
         return value;
     }
 
     /**
+     * @return a float
+     *
+     */
+    public float getFloatValue() {
+        return value.floatValue();
+    }
+
+    /**
      * @return the current value
      */
     public String getUnit() {
@@ -91,11 +117,14 @@
      * Returns a string representation of the object.
      */
     public String toString() {
-        if (value.floatValue() != 0.0) {
-            return Util.displayFloat(value) + unit;
+        StringBuilder sb = new StringBuilder();
+        if (isInt) {
+           sb.append(Integer.toString(value.intValue()));
         } else {
-            return Util.displayFloat(value);
+            sb.append(Util.displayFloat(value));
         }
+        sb.append(unit);
+        return sb.toString();
     }
 
     /**
@@ -108,10 +137,5 @@
                 this.value.equals(((CssResolution) value).value) &&
                 unit.equals(((CssResolution) value).unit));
     }
-
-    private Float value;
-    private String unit;
-    private static Float defaultValue = new Float(0);
-
 }
 

Index: CssExpression.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/values/CssExpression.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- CssExpression.java	9 Jan 2010 10:36:47 -0000	1.10
+++ CssExpression.java	21 Oct 2011 01:49:13 -0000	1.11
@@ -195,7 +195,8 @@
         }
         // remove the last one
         if (sb.length() > 0) {
-            return sb.deleteCharAt(sb.length() - 1).toString();
+//            sb.setLength(sb.length() - 1);
+            return sb.toString();
         } else {
             return "**invalid state**";
         }
Received on Friday, 21 October 2011 01:49:17 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 15:17:47 UTC