[
https://issues.apache.org/jira/browse/DIGESTER-128?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12625266#action_12625266
]
jzwang commented on DIGESTER-128:
---------------------------------
Yes, you are right.
When I try to use "file:/..." it worked.
Now here is my real call stack.
Can you give me some comments about it?
2008-08-22 17:56:32.812 WARN main [ConfigureListener] Can't parse
configuration
file:jar:file:/C:/EAS/中文/temp/JZWANG-DESKTOP/1/default145610.jar!/com/sun/faces/standard-html-renderkit.xml
2008-08-22 17:56:32.812 WARN main Caused by:
java.net.MalformedURLException: no protocol: standard-html-renderkit-impl.xml
2008-08-22 17:56:32.812 WARN main | at java.net.URL.<init>(URL.java:567)
2008-08-22 17:56:32.812 WARN main | at java.net.URL.<init>(URL.java:464)
2008-08-22 17:56:32.812 WARN main | at java.net.URL.<init>(URL.java:413)
2008-08-22 17:56:32.812 WARN main | at
org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown Source)
2008-08-22 17:56:32.812 WARN main | at
org.apache.xerces.impl.XMLEntityManager.startEntity(Unknown Source)
2008-08-22 17:56:32.812 WARN main | at
org.apache.xerces.impl.XMLEntityManager.startEntity(Unknown Source)
2008-08-22 17:56:32.812 WARN main | at
org.apache.xerces.impl.XMLDTDScannerImpl.startPE(Unknown Source)
2008-08-22 17:56:32.812 WARN main | at
org.apache.xerces.impl.XMLDTDScannerImpl.skipSeparator(Unknown Source)
2008-08-22 17:56:32.812 WARN main | at
org.apache.xerces.impl.XMLDTDScannerImpl.scanDecls(Unknown Source)
2008-08-22 17:56:32.812 WARN main | at
org.apache.xerces.impl.XMLDTDScannerImpl.scanDTDInternalSubset(Unknown Source)
2008-08-22 17:56:32.812 WARN main | at
org.apache.xerces.impl.XMLDocumentScannerImpl$DTDDispatcher.dispatch(Unknown
Source)
2008-08-22 17:56:32.812 WARN main | at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
Source)
2008-08-22 17:56:32.812 WARN main | at
org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
2008-08-22 17:56:32.812 WARN main | at
org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
2008-08-22 17:56:32.812 WARN main | at
org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
2008-08-22 17:56:32.812 WARN main | at
org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
2008-08-22 17:56:32.812 WARN main | at
org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
2008-08-22 17:56:32.812 WARN main | at
org.apache.commons.digester.Digester.parse(Digester.java:1647)
2008-08-22 17:56:32.812 WARN main | at
com.sun.faces.config.ConfigureListener.parse(ConfigureListener.java:1239)
2008-08-22 17:56:32.812 WARN main | at
com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:213)
2008-08-22 17:56:32.812 WARN main | at
org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:530)
2008-08-22 17:56:32.812 WARN main | at
org.mortbay.jetty.servlet.Context.startContext(Context.java:135)
2008-08-22 17:56:32.812 WARN main | at
org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1218)
2008-08-22 17:56:32.812 WARN main | at
org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:500)
2008-08-22 17:56:32.812 WARN main | at
org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448)
2008-08-22 17:56:32.812 WARN main | at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
2008-08-22 17:56:32.812 WARN main | at
com.sybase.djc.server.jetty.WebServer.addWebAppContext(WebServer.java:780)
2008-08-22 17:56:32.812 WARN main | at
com.sybase.djc.server.jetty.WebServer.start(WebServer.java:358)
2008-08-22 17:56:32.812 WARN main | at
com.sybase.djc.server.ApplicationServer.start(ApplicationServer.java:2053)
2008-08-22 17:56:32.812 WARN main | at
com.sybase.djc.server.ApplicationServer.start(ApplicationServer.java:93)
2008-08-22 17:56:32.812 WARN main | at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2008-08-22 17:56:32.812 WARN main | at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
2008-08-22 17:56:32.812 WARN main | at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
2008-08-22 17:56:32.812 WARN main | at
java.lang.reflect.Method.invoke(Method.java:585)
20
> When using Digester parsed a file with a directory that contained chinese
> charset it will throw java.net.MalformedURLException.
> -------------------------------------------------------------------------------------------------------------------------------
>
> Key: DIGESTER-128
> URL: https://issues.apache.org/jira/browse/DIGESTER-128
> Project: Commons Digester
> Issue Type: Bug
> Affects Versions: 1.7
> Environment: Windows XP
> Eclipse 3.2
> Reporter: jzwang
> Priority: Critical
>
> When I try to use Digester to parser a file I found if the file is in a
> directory with Chinese(such as c:/tmp/中文/datasource.xml) char set it will
> throw java.net.malformedURLException.
> My code is here.
> -------------------- SampleDigester.java -------------------
> import java.io.IOException;
> import java.util.Hashtable;
> import org.apache.commons.digester.Digester;
> import org.xml.sax.SAXException;
> public class SampleDigester
> {
> private Hashtable dataSources = new Hashtable();
> public static void main(String[] args)
> {
> SampleDigester sample = new SampleDigester();
> try
> {
> sample.run();
> }
> catch(Exception e)
> {
> e.printStackTrace();
> }
> }
> public void run() throws IOException, SAXException
> {
> Digester digester = new Digester();
> digester.push(this);
> digester.addCallMethod("datasources/datasource", "addDataSource", 5 );
> digester.addCallParam("datasources/datasource/name", 0);
> digester.addCallParam("datasources/datasource/driver", 1);
> digester.addCallParam("datasources/datasource/url", 2);
> digester.addCallParam("datasources/datasource/username", 3);
> digester.addCallParam("datasources/datasource/password", 4);
> // digester.parse("datasource.xml"); // ok
> digester.parse("c:/tmp/中文/datasource.xml"); // failed
> // digester.parse("c:/tmp/a b/datasource.xml"); // ok
> }
> public void addDataSource(String name,
> String driver,
> String url,
> String userName,
> String password)
> {
> DataSource dataSource = new DataSource(name, driver,url, userName,
> password);
> dataSources.put(name, dataSource);
> System.out.println("DataSource added: " + name);
> }
> }
> --------------------------- DataSource.java ---------------------
> public class DataSource
> {
> private String name;
> private String driver;
> private String url;
> private String password;
> private String userName;
> public DataSource(String name, String driver, String url, String userName,
> String password)
> {
> this.name = name;
> this.driver = driver;
> this.url = url;
> this.userName = userName;
> this.password = password;
> }
> public String getName()
> {
> return name;
> }
> public String getDriver()
> {
> return driver;
> }
> public String getURL()
> {
> return url;
> }
> public String getPassword()
> {
> return password;
> }
> public String getUserName()
> {
> return userName;
> }
> }
> --------------------------- DataSource.xml -------------
> <?xml version="1.0"?>
> <datasources>
> <datasource>
> <name>HsqlDataSource</name>
> <driver>org.hsqldb.jdbcDriver</driver>
> <url>jdbc:hsqldb:hsql://localhost</url>
> <username>sa</username>
> <password></password>
> </datasource>
> <datasource>
> <name>OracleDataSource</name>
> <driver>oracle.jdbc.driver.OracleDriver</driver>
> <url>jdbc:oracle:thin:@localhost:1521:orcl</url>
> <username>scott</username>
> <password>tiger</password>
> </datasource>
> </datasources>
> ----------------------------------------------
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.