- From: Yves Lafon via cvs-syncmail <cvsmail@w3.org>
- Date: Mon, 29 Aug 2011 07:21:04 +0000
- To: www-validator-cvs@w3.org
Update of /sources/public/2002/css-validator/org/w3c/css/util
In directory hutz:/tmp/cvs-serv18238/css/util
Modified Files:
ApplContext.java Messages.java Util.java
Log Message:
genericity + updated code to 5.0 stds
Index: ApplContext.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/util/ApplContext.java,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -d -r1.18 -r1.19
--- ApplContext.java 12 Jan 2011 15:01:56 -0000 1.18
+++ ApplContext.java 29 Aug 2011 07:21:01 -0000 1.19
@@ -9,49 +9,47 @@
package org.w3c.css.util;
+import org.apache.velocity.io.UnicodeInputStream;
+import org.w3c.css.parser.Frame;
+import org.w3c.www.http.HttpAcceptCharset;
+import org.w3c.www.http.HttpAcceptCharsetList;
+import org.w3c.www.http.HttpFactory;
+
import java.io.ByteArrayInputStream;
-import java.io.InputStream;
import java.io.IOException;
-
-import java.util.HashMap;
+import java.io.InputStream;
import java.net.URL;
import java.nio.charset.Charset;
import java.nio.charset.IllegalCharsetNameException;
import java.nio.charset.UnsupportedCharsetException;
-
-import org.w3c.css.parser.Frame;
-import org.w3c.www.http.HttpAcceptCharset;
-import org.w3c.www.http.HttpAcceptCharsetList;
-import org.w3c.www.http.HttpFactory;
-
-import org.apache.velocity.io.UnicodeInputStream;
+import java.util.HashMap;
/**
- * @version $Revision$
* @author Philippe Le Hegaret
+ * @version $Revision$
*/
public class ApplContext {
// the charset of the first source (url/uploaded/text)
- public static Charset defaultCharset;
+ public static Charset defaultCharset;
public static Charset utf8Charset;
static {
- try {
- defaultCharset = Charset.forName("iso-8859-1");
- utf8Charset = Charset.forName("utf-8");
- } catch (Exception ex) {
- // we are in deep trouble here
- defaultCharset = null;
- utf8Charset = null;
- }
+ try {
+ defaultCharset = Charset.forName("iso-8859-1");
+ utf8Charset = Charset.forName("utf-8");
+ } catch (Exception ex) {
+ // we are in deep trouble here
+ defaultCharset = null;
+ utf8Charset = null;
+ }
}
// charset definition of traversed URLs
- private HashMap<URL,Charset> uricharsets = null;
+ private HashMap<URL, Charset> uricharsets = null;
// namespace definitions
- private HashMap<URL,HashMap<String,String>> namespaces = null;
+ private HashMap<URL, HashMap<String, String>> namespaces = null;
// default prefix
public static String defaultPrefix = "*defaultprefix*";
@@ -72,143 +70,143 @@
boolean treatVendorExtensionsAsWarnings = false;
FakeFile fakefile = null;
- String faketext = null;
- URL fakeurl = null;
+ String faketext = null;
+ URL fakeurl = null;
/**
* Creates a new ApplContext
*/
public ApplContext(String lang) {
- this.lang = lang;
- msgs = new Messages(lang);
+ this.lang = lang;
+ msgs = new Messages(lang);
}
public int getWarningLevel() {
- return warningLevel;
+ return warningLevel;
}
public void setWarningLevel(int warningLevel) {
- this.warningLevel = warningLevel;
+ this.warningLevel = warningLevel;
}
// as ugly as everything else
public String getCredential() {
- return credential;
+ return credential;
}
public void setCredential(String credential) {
- this.credential = credential;
+ this.credential = credential;
}
public void setFrame(Frame frame) {
- this.frame = frame;
- frame.ac = this;
+ this.frame = frame;
+ frame.ac = this;
}
public Frame getFrame() {
- return frame;
+ return frame;
}
public Class getCssSelectorsStyle() {
- return cssselectorstyle;
+ return cssselectorstyle;
}
public void setCssSelectorsStyle(Class s) {
- cssselectorstyle = s;
+ cssselectorstyle = s;
}
public Messages getMsg() {
- return msgs;
+ return msgs;
}
public String getContentType() {
- return (msgs != null) ? msgs.getString("content-type") : null;
+ return (msgs != null) ? msgs.getString("content-type") : null;
}
public String getContentLanguage() {
- return (msgs != null) ? msgs.getString("content-language") : null;
+ return (msgs != null) ? msgs.getString("content-language") : null;
}
/**
* Searches the properties list for a content-encoding one. If it does not
* exist, searches for output-encoding-name. If it still does not exists,
* the method returns the default utf-8 value
- *
+ *
* @return the output encoding of this ApplContext
*/
public String getContentEncoding() {
- // return (msgs != null) ? msgs.getString("content-encoding") : null;
- String res = null;
- if (msgs != null) {
- res = msgs.getString("content-encoding");
- if (res == null) {
- res = msgs.getString("output-encoding-name");
- }
- if (res != null) {
- // if an encoding has been found, return it
- return res;
- }
- }
- // default encoding
- return Utf8Properties.ENCODING;
+ // return (msgs != null) ? msgs.getString("content-encoding") : null;
+ String res = null;
+ if (msgs != null) {
+ res = msgs.getString("content-encoding");
+ if (res == null) {
+ res = msgs.getString("output-encoding-name");
+ }
+ if (res != null) {
+ // if an encoding has been found, return it
+ return res;
+ }
+ }
+ // default encoding
+ return Utf8Properties.ENCODING;
}
-
+
public String getLang() {
- return lang;
+ return lang;
}
-
+
public void setCssVersion(String cssversion) {
- this.cssversion = cssversion;
+ this.cssversion = cssversion;
}
public String getCssVersion() {
- if (cssversion == null) {
- cssversion = "css2";
- }
- return cssversion;
+ if (cssversion == null) {
+ cssversion = "css2";
+ }
+ return cssversion;
}
public void setProfile(String profile) {
- this.profile = profile;
+ this.profile = profile;
}
public String getProfile() {
- if (profile == null) {
- return "";
- }
- return profile;
+ if (profile == null) {
+ return "";
+ }
+ return profile;
}
public void setOrigin(int origin) {
- this.origin = origin;
+ this.origin = origin;
}
public int getOrigin() {
- return origin;
+ return origin;
}
public void setMedium(String medium) {
- this.medium = medium;
+ this.medium = medium;
}
public String getMedium() {
- return medium;
+ return medium;
}
public String getInput() {
- return input;
+ return input;
}
public void setInput(String input) {
- this.input = input;
+ this.input = input;
}
-
+
public String getLink() {
- return link;
+ return link;
}
public void setLink(String queryString) {
- this.link = queryString;
+ this.link = queryString;
}
public boolean getTreatVendorExtensionsAsWarnings() {
@@ -216,7 +214,7 @@
}
public void setTreatVendorExtensionsAsWarnings(
- boolean treatVendorExtensionsAsWarnings) {
+ boolean treatVendorExtensionsAsWarnings) {
this.treatVendorExtensionsAsWarnings = treatVendorExtensionsAsWarnings;
}
@@ -224,233 +222,231 @@
* Sets the content encoding to the first charset that appears in
* <i>acceptCharset</i>. If the charset is not supported, the content
* encoding will be utf-8
- *
- * @param acceptCharset
- * a String representing the Accept-Charset request parameter
+ *
+ * @param acceptCharset a String representing the Accept-Charset request parameter
*/
public void setContentEncoding(String acceptCharset) {
- if (acceptCharset != null) {
- // uses some Jigsaw classes to parse the Accept-Charset
- // these classes need to load a lot of stuff, so it may be quite
- // long the first time
- HttpAcceptCharsetList charsetList;
- HttpAcceptCharset[] charsets;
+ if (acceptCharset != null) {
+ // uses some Jigsaw classes to parse the Accept-Charset
+ // these classes need to load a lot of stuff, so it may be quite
+ // long the first time
+ HttpAcceptCharsetList charsetList;
+ HttpAcceptCharset[] charsets;
- charsetList = HttpFactory.parseAcceptCharsetList(acceptCharset);
- charsets = (HttpAcceptCharset[]) charsetList.getValue();
+ charsetList = HttpFactory.parseAcceptCharsetList(acceptCharset);
+ charsets = (HttpAcceptCharset[]) charsetList.getValue();
- String encoding = null;
- double quality = 0.0;
+ String encoding = null;
+ double quality = 0.0;
- String biasedcharset = getMsg().getString("output-encoding-name");
+ String biasedcharset = getMsg().getString("output-encoding-name");
- for (int i = 0; i < charsets.length && quality < 1.0; i++) {
- HttpAcceptCharset charset = charsets[i];
+ for (int i = 0; i < charsets.length && quality < 1.0; i++) {
+ HttpAcceptCharset charset = charsets[i];
- String currentCharset = charset.getCharset();
+ String currentCharset = charset.getCharset();
- // checks that the charset is supported by Java
+ // checks that the charset is supported by Java
- if (isCharsetSupported(currentCharset)) {
- double currentQuality = charset.getQuality();
+ if (isCharsetSupported(currentCharset)) {
+ double currentQuality = charset.getQuality();
- // we prefer utf-8
- // FIXME (the bias value and the biased charset
- // should be dependant on the language)
- if ((biasedcharset != null) &&
- !biasedcharset.equalsIgnoreCase(currentCharset)) {
- currentQuality = currentQuality * 0.5;
- }
- if (currentQuality > quality) {
- quality = currentQuality;
- encoding = charset.getCharset();
- }
- }
- }
- if (encoding != null) {
- getMsg().properties.setProperty("content-encoding", encoding);
- } else {
- // no valid charset
- getMsg().properties.remove("content-encoding");
- }
- } else {
- // no Accept-Charset given
- getMsg().properties.remove("content-encoding");
- }
+ // we prefer utf-8
+ // FIXME (the bias value and the biased charset
+ // should be dependant on the language)
+ if ((biasedcharset != null) &&
+ !biasedcharset.equalsIgnoreCase(currentCharset)) {
+ currentQuality = currentQuality * 0.5;
+ }
+ if (currentQuality > quality) {
+ quality = currentQuality;
+ encoding = charset.getCharset();
+ }
+ }
+ }
+ if (encoding != null) {
+ getMsg().properties.setProperty("content-encoding", encoding);
+ } else {
+ // no valid charset
+ getMsg().properties.remove("content-encoding");
+ }
+ } else {
+ // no Accept-Charset given
+ getMsg().properties.remove("content-encoding");
+ }
}
private boolean isCharsetSupported(String charset) {
- if ("*".equals(charset)) {
- return true;
- }
- try {
- return Charset.isSupported(charset);
- } catch (Exception e) {
- return false;
- }
+ if ("*".equals(charset)) {
+ return true;
+ }
+ try {
+ return Charset.isSupported(charset);
+ } catch (Exception e) {
+ return false;
+ }
}
/**
* used for storing the charset of the document in use
- * and its update by a @charset statement, or through
- * automatic discovery
+ * and its update by a @charset statement, or through
+ * automatic discovery
*/
public void setCharsetForURL(URL url, String charset) {
- if (uricharsets == null) {
- uricharsets = new HashMap<URL,Charset>();
- }
- Charset c = null;
- try {
- c = Charset.forName(charset);
- } catch (IllegalCharsetNameException icex) {
- // FIXME add a warning in the CSS
- } catch (UnsupportedCharsetException ucex) {
- // FIXME inform about lack of support
- }
- if (c != null) {
- uricharsets.put(url, c);
- }
+ if (uricharsets == null) {
+ uricharsets = new HashMap<URL, Charset>();
+ }
+ Charset c = null;
+ try {
+ c = Charset.forName(charset);
+ } catch (IllegalCharsetNameException icex) {
+ // FIXME add a warning in the CSS
+ } catch (UnsupportedCharsetException ucex) {
+ // FIXME inform about lack of support
+ }
+ if (c != null) {
+ uricharsets.put(url, c);
+ }
}
/**
* used for storing the charset of the document in use
- * and its update by a @charset statement, or through
- * automatic discovery
+ * and its update by a @charset statement, or through
+ * automatic discovery
*/
public void setCharsetForURL(URL url, Charset charset) {
- if (uricharsets == null) {
- uricharsets = new HashMap<URL,Charset>();
- }
- uricharsets.put(url, charset);
+ if (uricharsets == null) {
+ uricharsets = new HashMap<URL, Charset>();
+ }
+ uricharsets.put(url, charset);
}
-
+
/**
* used for storing the charset of the document in use
- * and its update by a @charset statement, or through
- * automatic discovery
+ * and its update by a @charset statement, or through
+ * automatic discovery
*/
public String getCharsetForURL(URL url) {
- Charset c;
- if (uricharsets == null) {
- return null;
- }
- c = uricharsets.get(url);
- if (c != null) {
- return c.toString();
- }
- return null;
+ Charset c;
+ if (uricharsets == null) {
+ return null;
+ }
+ c = uricharsets.get(url);
+ if (c != null) {
+ return c.toString();
+ }
+ return null;
}
-
+
/**
* used for storing the charset of the document in use
- * and its update by a @charset statement, or through
- * automatic discovery
+ * and its update by a @charset statement, or through
+ * automatic discovery
*/
public Charset getCharsetObjForURL(URL url) {
- Charset c;
- if (uricharsets == null) {
- return null;
- }
- return uricharsets.get(url);
+ Charset c;
+ if (uricharsets == null) {
+ return null;
+ }
+ return uricharsets.get(url);
}
/**
- * store content of uploaded file
+ * store content of uploaded file
*/
public void setFakeFile(FakeFile fakefile) {
- this.fakefile = fakefile;
+ this.fakefile = fakefile;
}
/**
* store content of entered text
*/
public void setFakeText(String faketext) {
- this.faketext = faketext;
+ this.faketext = faketext;
}
- public InputStream getFakeInputStream(URL source)
- throws IOException
- {
- InputStream is = null;
- if (fakefile != null) {
- is = fakefile.getInputStream();
- }
- if (faketext != null) {
- is = new ByteArrayInputStream(faketext.getBytes());
- }
- if (is == null) {
- return null;
- }
- Charset c = getCharsetObjForURL(source);
- if (c == null) {
- UnicodeInputStream uis = new UnicodeInputStream(is);
- String guessedCharset = uis.getEncodingFromStream();
- if (guessedCharset != null) {
- setCharsetForURL(source, guessedCharset);
- }
- return uis;
- } else {
- if (utf8Charset.compareTo(c) == 0) {
- return new UnicodeInputStream(is);
- }
- }
- return is;
+ public InputStream getFakeInputStream(URL source)
+ throws IOException {
+ InputStream is = null;
+ if (fakefile != null) {
+ is = fakefile.getInputStream();
+ }
+ if (faketext != null) {
+ is = new ByteArrayInputStream(faketext.getBytes());
+ }
+ if (is == null) {
+ return null;
+ }
+ Charset c = getCharsetObjForURL(source);
+ if (c == null) {
+ UnicodeInputStream uis = new UnicodeInputStream(is);
+ String guessedCharset = uis.getEncodingFromStream();
+ if (guessedCharset != null) {
+ setCharsetForURL(source, guessedCharset);
+ }
+ return uis;
+ } else {
+ if (utf8Charset.compareTo(c) == 0) {
+ return new UnicodeInputStream(is);
+ }
+ }
+ return is;
}
-
+
public boolean isInputFake() {
- return ((faketext != null) || (fakefile != null));
+ return ((faketext != null) || (fakefile != null));
}
public void setFakeURL(String fakeurl) {
- try {
- this.fakeurl = new URL(fakeurl);
- } catch (Exception ex) {
- }
+ try {
+ this.fakeurl = new URL(fakeurl);
+ } catch (Exception ex) {
+ }
}
public URL getFakeURL() {
- return fakeurl;
+ return fakeurl;
}
-
+
/**
* support for namespaces
*/
public void setNamespace(URL url, String prefix, String nsname) {
- if (namespaces == null) {
- namespaces = new HashMap<URL,HashMap<String,String>>();
- }
- // reformat the prefix if null.
- if ((prefix == null) || "".equals(prefix)) {
- prefix = defaultPrefix;
- }
+ if (namespaces == null) {
+ namespaces = new HashMap<URL, HashMap<String, String>>();
+ }
+ // reformat the prefix if null.
+ if ((prefix == null) || prefix.length() == 0) {
+ prefix = defaultPrefix;
+ }
- HashMap<String,String> nsdefs = namespaces.get(url);
- if (nsdefs == null) {
- nsdefs = new HashMap<String,String>();
- nsdefs.put(prefix, nsname);
- namespaces.put(url, nsdefs);
- } else {
- // do we need to check if we have a redefinition ?
- nsdefs.put(prefix, nsname);
- }
+ HashMap<String, String> nsdefs = namespaces.get(url);
+ if (nsdefs == null) {
+ nsdefs = new HashMap<String, String>();
+ nsdefs.put(prefix, nsname);
+ namespaces.put(url, nsdefs);
+ } else {
+ // do we need to check if we have a redefinition ?
+ nsdefs.put(prefix, nsname);
+ }
}
// true if a namespace is defined in the document (CSS fragment)
// defined by the URL, with prefix "prefix"
public boolean isNamespaceDefined(URL url, String prefix) {
- if (prefix == null) { // no prefix, always match
- return true;
- }
- if (prefix.equals("*")) { // any ns, always true
- return true;
- }
- if ("".equals(prefix)) {
- prefix = "*defaultprefix*";
- }
- HashMap<String,String> nsdefs = namespaces.get(url);
- if (nsdefs == null) {
- return false;
- }
- return nsdefs.containsKey(prefix);
+ if (prefix == null) { // no prefix, always match
+ return true;
+ }
+ if (prefix.equals("*")) { // any ns, always true
+ return true;
+ }
+ if (prefix.length() == 0) {
+ prefix = "*defaultprefix*";
+ }
+ HashMap<String, String> nsdefs = namespaces.get(url);
+ if (nsdefs == null) {
+ return false;
+ }
+ return nsdefs.containsKey(prefix);
}
}
Index: Util.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/util/Util.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- Util.java 17 Mar 2008 17:52:54 -0000 1.6
+++ Util.java 29 Aug 2011 07:21:02 -0000 1.7
@@ -380,5 +380,8 @@
*/
public static boolean onDebug = Boolean.getBoolean("CSS.debug");
// public static boolean onDebug = false;
+
+ // default maximum size for checked entities
+ public static long maxEntitySize = 1048576L ;
}
Index: Messages.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/util/Messages.java,v
retrieving revision 1.40
retrieving revision 1.41
diff -u -d -r1.40 -r1.41
--- Messages.java 7 Apr 2011 14:37:41 -0000 1.40
+++ Messages.java 29 Aug 2011 07:21:01 -0000 1.41
@@ -11,7 +11,6 @@
import java.util.Hashtable;
import java.util.Iterator;
import java.util.StringTokenizer;
-import java.util.Vector;
/**
* @version $Revision$
@@ -21,10 +20,10 @@
/**
* Message properties
*/
- public Utf8Properties<String, String> properties;
+ public Utf8Properties<String, String> properties = null;
- public static Hashtable<String, Utf8Properties<String, String>> languages;
- public static ArrayList<String> languages_name;
+ public static final Hashtable<String, Utf8Properties<String, String>> languages;
+ public static final ArrayList<String> languages_name;
/**
* Creates a new Messages
@@ -189,7 +188,7 @@
return "[empty string]";
}
- public String getString(String message, Vector<String> params) {
+ public String getString(String message, ArrayList<String> params) {
if ((params == null) || params.size() == 0) {
return getString(message);
}
Received on Monday, 29 August 2011 07:21:06 UTC