You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Ho-jin Lee (JIRA)" <ji...@apache.org> on 2014/10/04 13:11:34 UTC
[jira] [Commented] (CONFIGURATION-427) XMLPropertyListConfiguration
cannot save arrays in the correct plist form
[ https://issues.apache.org/jira/browse/CONFIGURATION-427?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14159073#comment-14159073 ]
Ho-jin Lee commented on CONFIGURATION-427:
------------------------------------------
Oliver Heger!
I think the addProperty and setProperty method in the XMLPropertyListConfiguration class is wrong.
They regard 'List' class as a list of inputs not array.
Original source :
@Override
public void addProperty(String key, Object value)
{
if (value instanceof byte[])
{
fireEvent(EVENT_ADD_PROPERTY, key, value, true);
addPropertyDirect(key, value);
fireEvent(EVENT_ADD_PROPERTY, key, value, false);
}
else
{
super.addProperty(key, value);
}
}
Expected source(My opinion) :
@Override
public void addProperty(String key, Object value)
{
if (value instanceof byte[] || value instanceof List)
{
fireEvent(EVENT_ADD_PROPERTY, key, value, true);
addPropertyDirect(key, value);
fireEvent(EVENT_ADD_PROPERTY, key, value, false);
}
else
{
super.addProperty(key, value);
}
}
> 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
> Assignee: Emmanuel Bourg
> 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 was sent by Atlassian JIRA
(v6.3.4#6332)