- From: Yves Lafon via cvs-syncmail <cvsmail@w3.org>
- Date: Tue, 25 Mar 2008 18:43:32 +0000
- To: www-validator-cvs@w3.org
Update of /sources/public/2002/css-validator/org/w3c/css/properties/css21
In directory hutz:/tmp/cvs-serv7487/css21
Modified Files:
CssBorderCSS21.java CssBorderTopCSS21.java
Log Message:
various code clarification/updates
Index: CssBorderTopCSS21.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/properties/css21/CssBorderTopCSS21.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- CssBorderTopCSS21.java 14 Sep 2005 15:14:58 -0000 1.2
+++ CssBorderTopCSS21.java 25 Mar 2008 18:43:30 -0000 1.3
@@ -10,6 +10,7 @@
import org.w3c.css.util.ApplContext;
import org.w3c.css.util.InvalidParamException;
import org.w3c.css.values.CssExpression;
+import org.w3c.css.values.CssTypes;
import org.w3c.css.values.CssValue;
/**
@@ -34,7 +35,7 @@
public CssBorderTopCSS21(ApplContext ac, CssExpression expression,
boolean check) throws InvalidParamException {
CssValue val = null;
- char op = SPACE;
+ char op;
boolean find = true;
if(check && expression.getCount() > 3) {
@@ -46,42 +47,60 @@
setByUser();
while (find) {
- find = false;
val = expression.getValue();
- op = expression.getOperator();
if (val == null)
break;
-
- // if there are many values, we can't have inherit as one of them
- if(manyValues && val.equals(inherit)) {
- throw new InvalidParamException("unrecognize", null, null, ac);
- }
-
+ op = expression.getOperator();
if (op != SPACE)
throw new InvalidParamException("operator",
- ((new Character(op)).toString()),
- ac);
- if (getWidth() == null) {
- try {
+ Character.toString(op),
+ ac);
+ switch (val.getType()) {
+ case CssTypes.CSS_COLOR:
+ if (getColor() == null) {
+ // throws an exception if the value is not valid
+ setColor(new CssBorderTopColorCSS21(ac, expression));
+ continue;
+ }
+ break;
+ case CssTypes.CSS_NUMBER:
+ case CssTypes.CSS_LENGTH:
+ if (getWidth() == null) {
setWidth(new CssBorderTopWidthCSS2(ac, expression));
- find = true;
- } catch(InvalidParamException e){
- // nothing to do, style will test this value
+ continue;
}
- }
- if (!find && getStyle() == null) {
- try {
- setStyle(new CssBorderTopStyleCSS2(ac, expression));
- find = true;
- } catch(InvalidParamException e){
- // nothing to do, color will test this value
+ break;
+ case CssTypes.CSS_IDENT:
+ if(manyValues && inherit.equals(val)) {
+ throw new InvalidParamException("unrecognize", null,
+ null, ac);
}
+ if (getWidth() == null) {
+ try {
+ setWidth(new CssBorderTopWidthCSS2(ac, expression));
+ continue;
+ } catch(InvalidParamException e){
+ // nothing to do, color will test this value
+ }
+ }
+ if (getStyle() == null) {
+ try {
+ setStyle(new CssBorderTopStyleCSS2(ac, expression));
+ continue;
+ } catch(InvalidParamException e){
+ // nothing to do, color will test this value
+ }
+ }
+ if (getColor() == null) {
+ // throws an exception if the value is not valid
+ setColor(new CssBorderTopColorCSS21(ac, expression));
+ continue;
+ }
+ default:
+ find = false;
}
- if (!find && getColor() == null) {
- // throws an exception if the value is not valid
- setColor(new CssBorderTopColorCSS21(ac, expression));
- find = true;
- }
+ throw new InvalidParamException("unrecognize", null,
+ null, ac);
}
}
Index: CssBorderCSS21.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/properties/css21/CssBorderCSS21.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- CssBorderCSS21.java 14 Sep 2005 15:14:58 -0000 1.2
+++ CssBorderCSS21.java 25 Mar 2008 18:43:30 -0000 1.3
@@ -62,33 +62,32 @@
setBottom(new CssBorderBottomCSS21());
setLeft(new CssBorderLeftCSS21());
- CssBorderTopWidthCSS2 w = getTop().getWidth2();
- CssBorderTopStyleCSS2 s = getTop().getStyle2();
- CssBorderTopColorCSS2 c = getTop().getColor2();
+ CssBorderTopCSS21 top = (CssBorderTopCSS21) getTop();
+ CssBorderRightCSS21 right = (CssBorderRightCSS21) getRight();
+ CssBorderLeftCSS21 left = (CssBorderLeftCSS21) getLeft();
+ CssBorderBottomCSS21 bottom = (CssBorderBottomCSS21) getBottom();
+
+ CssBorderTopWidthCSS2 w = top.getWidth2();
+ CssBorderTopStyleCSS2 s = top.getStyle2();
+ CssBorderTopColorCSS2 c = top.getColor2();
if(w != null) {
- getRight().setWidth(
- new CssBorderRightWidthCSS2((CssBorderFaceWidthCSS2) w.get()));
- getLeft().setWidth(
- new CssBorderLeftWidthCSS2((CssBorderFaceWidthCSS2) w.get()));
- getBottom().setWidth(
- new CssBorderBottomWidthCSS2((CssBorderFaceWidthCSS2) w.get()));
+ CssBorderFaceWidthCSS2 bfw = (CssBorderFaceWidthCSS2) w.get();
+ right.setWidth(new CssBorderRightWidthCSS2(bfw));
+ left.setWidth(new CssBorderLeftWidthCSS2(bfw));
+ bottom.setWidth(new CssBorderBottomWidthCSS2(bfw));
}
if(s != null) {
- getRight().setStyle(
- new CssBorderRightStyleCSS2((CssBorderFaceStyleCSS2) s.get()));
- getLeft().setStyle(
- new CssBorderLeftStyleCSS2((CssBorderFaceStyleCSS2) s.get()));
- getBottom().setStyle(
- new CssBorderBottomStyleCSS2((CssBorderFaceStyleCSS2) s.get()));
+ CssBorderFaceStyleCSS2 bfs = (CssBorderFaceStyleCSS2) s.get();
+ right.setStyle(new CssBorderRightStyleCSS2(bfs));
+ left.setStyle(new CssBorderLeftStyleCSS2(bfs));
+ bottom.setStyle(new CssBorderBottomStyleCSS2(bfs));
}
if(c != null) {
- getRight().setColor(
- new CssBorderRightColorCSS21((CssBorderFaceColorCSS21) c.get()));
- getLeft().setColor(
- new CssBorderLeftColorCSS21((CssBorderFaceColorCSS21) c.get()));
- getBottom().setColor(
- new CssBorderBottomColorCSS21((CssBorderFaceColorCSS21) c.get()));
+ CssBorderFaceColorCSS21 bfc = (CssBorderFaceColorCSS21) c.get();
+ right.setColor(new CssBorderRightColorCSS21(bfc));
+ left.setColor(new CssBorderLeftColorCSS21(bfc));
+ bottom.setColor(new CssBorderBottomColorCSS21(bfc));
}
}
Received on Tuesday, 25 March 2008 18:44:04 UTC