commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Emmanuel Bourg (JIRA)" <j...@apache.org>
Subject [jira] Commented: (CONFIGURATION-427) XMLPropertyListConfiguration cannot save arrays in the correct plist form
Date Fri, 05 Nov 2010 14:04:44 GMT

    [ https://issues.apache.org/jira/browse/CONFIGURATION-427?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12928591#action_12928591
] 

Emmanuel Bourg commented on CONFIGURATION-427:
----------------------------------------------

The array structure is lost for two reasons:
# adding an array of values is done by adding the values separately
# in a hierarchical configuration, a new node is created for each value

That means that adding an array like ['element1', 'element2'] results in the creation of two
nodes for the same key. This is correct for an XMLConfiguration, it isn't for a plist.

A solution is to change how the nodes are added and ensure that paths are unique. I've implemented
that for XMLPropertyListConfiguration and it works fine for the case reported. However it
doesn't solve the issue with multidimensional arrays, this one is not specific to plist configuration.


> XMLPropertyListConfiguration cannot save arrays in the correct plist form
> -------------------------------------------------------------------------
>
>                 Key: CONFIGURATION-427
>                 URL: https://issues.apache.org/jira/browse/CONFIGURATION-427
>             Project: Commons Configuration
>          Issue Type: Bug
>          Components: Format
>    Affects Versions: 1.6
>         Environment: should show up in any environment, as the test cases are disabled
for arrays and maps:
> http://commons.apache.org/configuration/xref-test/org/apache/commons/configuration/plist/TestXMLPropertyListConfiguration.html#199
> I was testing 1.6 using groovy console under Mac OS X 10.6
>            Reporter: matthew smith
>            Priority: Minor
>         Attachments: configuration-427.patch
>
>
> {code:java}
> groovy> import org.apache.commons.configuration.plist.* 
> groovy> def config = new XMLPropertyListConfiguration() 
> groovy> config.addProperty("things", ['chair', 'hat', 'door'])  
> groovy> config.save(System.out) 
> {code}
> results in
>  
> {code:xml}
> <?xml version="1.0"?>
> <!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
> <plist version="1.0">
>     <dict>
>         <key>things</key>
>         <string>chair</string>
>         <key>things</key>
>         <string>hat</string>
>         <key>things</key>
>         <string>door</string>
>     </dict>
> </plist>
> {code}
> expecting
> {code:xml}
> <?xml version="1.0"?>
> <!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
> <plist version="1.0">
>     <dict>
>         <key>things</key>
>         <array>
>           <string>chair</string>
>           <string>hat</string>
>           <string>door</string>
>       </array>
>     </dict>
> </plist>
> {code}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message