commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Scott Wells (JIRA)" <>
Subject [jira] Commented: (CONFIGURATION-342) DatabaseConfiguration.copy() loses list/array values
Date Sat, 25 Oct 2008 15:54:44 GMT


Scott Wells commented on CONFIGURATION-342:

Yeah, for my proof-of-concept against commons config, I decided to do the work outside of
the library, but yes, it should be encapsulated within the DatabaseConfiguration class, not
external to it.  And yes, this is only intended to help with multi-valued properties, not
yet with true hierarchical structures.  It wouldn't be hard to imagine a similar flattening
for full hierarchies that uses the XPath format for storing keys, though.

If this is something that interests you, I'd be happy to work with you on an implementation
that addresses both issues.  I looked briefly at what it would take to perform a traversal
of a HierarchicalConfiguration and didn't quite "get it" at first glance.  It'd be nice if
there were a simple way to perform depth- and/or breadth-first traversals via a Visitor pattern
or something.

What are your thoughts?  It looks at this point as if we're going to proceed with commons
config for our next phase of the product, and my goals are the ability to store rich config
data (including components with sub-components) in the DB but, with a line or two of code,
enable import/export via XML.  I can do that now, but the richness of the data is limited
because of the way that DatabaseConfiguration "loses" multi-valued properties and hierarchies.
 I can imagine this same mechanism would be broadly useful.

> DatabaseConfiguration.copy() loses list/array values
> ----------------------------------------------------
>                 Key: CONFIGURATION-342
>                 URL:
>             Project: Commons Configuration
>          Issue Type: Bug
>          Components: Type conversion
>    Affects Versions: 1.5
>            Reporter: Scott Wells
>         Attachments:
> I've found a bug where adding a list property to a BaseConfiguration, then copying that
full BaseConfiguration to a DatabaseConfiguration, the list is lost and only the first element
is copied to the destination DatabaseConfiguration.  For example:
> BaseConfiguration bc = new BaseConfiguration();
> bc.addProperty("myList", Arrays.asList("1", "2", "3", "4");
> DatabaseConfiguration dc = new DatabaseConfiguration(...);
> dc.copy(bc);
> List list = dc.getList("myList");
> // At this point, you'll get a single element list containing only "1"

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

View raw message