Return-Path: Delivered-To: apmail-jakarta-commons-dev-archive@www.apache.org Received: (qmail 70046 invoked from network); 2 Oct 2004 03:12:54 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur-2.apache.org with SMTP; 2 Oct 2004 03:12:54 -0000 Received: (qmail 77080 invoked by uid 500); 2 Oct 2004 03:12:50 -0000 Delivered-To: apmail-jakarta-commons-dev-archive@jakarta.apache.org Received: (qmail 76849 invoked by uid 500); 2 Oct 2004 03:12:49 -0000 Mailing-List: contact commons-dev-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Jakarta Commons Developers List" Reply-To: "Jakarta Commons Developers List" Delivered-To: mailing list commons-dev@jakarta.apache.org Received: (qmail 76836 invoked by uid 99); 2 Oct 2004 03:12:48 -0000 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received-SPF: pass (hermes.apache.org: local policy) Received: from [192.18.98.36] (HELO brmea-mail-4.sun.com) (192.18.98.36) by apache.org (qpsmtpd/0.28) with ESMTP; Fri, 01 Oct 2004 20:12:47 -0700 Received: from phys-bur1-1 ([129.148.13.15]) by brmea-mail-4.sun.com (8.12.10/8.12.9) with ESMTP id i923Cj55020316 for ; Fri, 1 Oct 2004 21:12:46 -0600 (MDT) Received: from conversion-daemon.bur-mail2.east.sun.com by bur-mail2.east.sun.com (iPlanet Messaging Server 5.2 HotFix 1.24 (built Dec 19 2003)) id <0I4X00E01RSV7W@bur-mail2.east.sun.com> (original mail from Mark.Roth@Sun.COM) for commons-dev@jakarta.apache.org; Fri, 01 Oct 2004 23:11:03 -0400 (EDT) Received: from [192.168.0.100] (vpn-129-150-64-54.East.Sun.COM [129.150.64.54]) by bur-mail2.east.sun.com (iPlanet Messaging Server 5.2 HotFix 1.24 (built Dec 19 2003)) with ESMTPA id <0I4X00MIFSUF57@bur-mail2.east.sun.com> for commons-dev@jakarta.apache.org; Fri, 01 Oct 2004 23:11:03 -0400 (EDT) Date: Fri, 01 Oct 2004 23:14:37 -0400 From: Mark Roth Subject: [Configuration] autoSave causing FileNotFoundException To: commons-dev@jakarta.apache.org Message-id: <415E1D1D.3020003@sun.com> Organization: Sun Microsystems, Inc. MIME-version: 1.0 Content-type: text/plain; charset=ISO-8859-1; format=flowed Content-transfer-encoding: 7BIT X-Accept-Language: en-us, en User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8a3) Gecko/20040819 X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N I believe I've found a bug. When trying to use autoSave, jakarta-commons-configuration gives me the following error: ----- java.io.FileNotFoundException: file:/tmp/test.xml (No such file or directory) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.(FileOutputStream.java:179) at java.io.FileOutputStream.(FileOutputStream.java:131) at org.apache.commons.configuration.AbstractFileConfiguration.save(AbstractFileConfiguration.java:259) at org.apache.commons.configuration.AbstractFileConfiguration.save(AbstractFileConfiguration.java:216) at org.apache.commons.configuration.AbstractFileConfiguration.save(AbstractFileConfiguration.java:200) at org.apache.commons.configuration.XMLConfiguration.possiblySave(XMLConfiguration.java:566) at org.apache.commons.configuration.XMLConfiguration.clearProperty(XMLConfiguration.java:489) at org.apache.commons.configuration.AbstractConfiguration.setProperty(AbstractConfiguration.java:318) at org.apache.commons.configuration.XMLConfiguration.setProperty(XMLConfiguration.java:371) at test.Main.main(Main.java:22) ----- For some reason, it converted my File into a URL but then tries to access it as a File path again when trying to persist my settings. Here is a simple test application to reproduce the problem: ----- package test; import java.io.File; import java.io.FileWriter; import java.io.PrintWriter; import org.apache.commons.configuration.XMLConfiguration; /** * Illustrates a bug in jakarta-commons-configuration * * @author Mark Roth */ public class Main { public static void main(String[] args) throws Exception { File configFile = new File("/tmp/test.xml"); createSampleTestXml(configFile); XMLConfiguration config = new XMLConfiguration(configFile); config.setAutoSave(true); config.setProperty("a", "b"); } private static void createSampleTestXml(File f) throws Exception { PrintWriter out = new PrintWriter(new FileWriter(f)); out.println(""); out.println(" test"); out.println(""); out.close(); } } ----- Is this a known error? Any known workarounds? Thanks, --- Mark Roth, Staff Engineer, Java Software JSP 2.0 / 2.1 Specification Lead Java Enterprise Community Leader http://community.java.net/java-enterprise Sun Microsystems, Inc. --------------------------------------------------------------------- To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org For additional commands, e-mail: commons-dev-help@jakarta.apache.org