commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Oliver Heger (JIRA)" <>
Subject [jira] Commented: (CONFIGURATION-104) [configuration] Preserve file structure (line comments) when re-saving properties file
Date Sun, 09 Jul 2006 16:20:31 GMT

Oliver Heger commented on CONFIGURATION-104:

+1 for the idea of a Layout class that tries to obtain as much information as possible from
the properties file. I would like to start with a rather simple one that can be enhanced step
by step.

The collaboration between a PropertiesConfiguration object and its Layout object could be
as follows:
- The load(Reader) method of PropertiesConfiguration delegates to the Layout object.
- The Layout object reads the file line by line and stores relevant information, e.g. about
comments, in internal data structures.
- Extracted properties are added to the PropertiesConfiguration.
- The Layout object is also registered as event listener at its PropertiesConfiguration. If
events are received, its content is updated accordingly.
- again delegates to the Layout object for writing the
data back to file.

So the interface of the layout class could roughly look as follows:

public class PropertiesConfigurationLayout implements ConfigurationListener
     * Creates a new instance and sets the associated configuration.
    public PropertiesConfigurationLayou(PropertiesConfiguration config);

     * Reads in a properties file.
    public void load(Reader in) throws ConfigurationException;

     * Writes the internal data into a properties file.
    public void save(Writer out) throws ConfigurationException;

    // it would also be nice to have access to comments for properties
     * Returns the comment for the specified key.
    public String getComment(String key);

     * Sets the comment for the specified key.
    public void setComment(String key, String comment);

     * Returns the header comment.
    public String getHeaderComment();

     * Sets the header comment.
    public void setHeaderComment(String comment);

Any thoughts?

> [configuration] Preserve file structure (line comments) when re-saving properties file
> --------------------------------------------------------------------------------------
>          Key: CONFIGURATION-104
>          URL:
>      Project: Commons Configuration
>         Type: Bug

>  Environment: Operating System: other
> Platform: Other
>     Reporter: Oded Noam
>  Attachments: preserve-comments-patch, preserve-comments-patch-java1.3
> This bug applies when an application allows both manual editing of its 
> configuration files, and  manipulation of the configuration via software. When 
> saving the configuration file after changing, its file structure - file, 
> section and line comments - will all be lost. Next time a human tries to edit 
> the configuration file, all property documentation will be lost.
> I have created a fix for this problem, applicable to PropertiesConfiguration 
> and XMLPropertiesConfiguration. The fix allows these classes to preserve a 
> list of comment lines preceding each property line. By default, comments are 
> not preserved; in case the comment preservation is required, it should be 
> enabled prior to loading the configuration file using:
> AbstractFileConfiguration.setDefaultPreserveComments(true);
> The fix is implemented and tested, attached as a patch file to this bug.

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message