[Bug 638] New: writeProperty decomposes ALL properties

For more infomation about this bug, visit <https://www.fmtc.be/bugzilla/orocos/show_bug.cgi?id=638>
Summary: writeProperty decomposes ALL properties
Product: RTT
Version: rtt-trunk
Platform: All
OS/Version: All
Status: NEW
Severity: normal
Priority: P3
Component: Properties & XML
AssignedTo: orocos-dev [..] ...
ReportedBy: tinne [dot] delaet [..] ...
CC: orocos-dev [..] ...
Estimated Hours: 0.0

I observed the following behavior when calling writePoperty for one of my
types:

marshalling.writeProperty("matrix","cpf/prop.cpf")

this call results in a decomposition of ALL properties in my component (luckily
only one is written).

Tinne

[Bug 638] writeProperty decomposes ALL properties

For more infomation about this bug, visit https://www.fmtc.be/bugzilla/orocos/show_bug.cgi?id=638

--- Comment #1 from Peter Soetens <peter [dot] soetens [..] ...> 2009-03-23 09:44:15 ---
I took a quick look at why the code does this. The main point for doing it is
because the user is
(implicitly) allowed to say writeProperty("file","a.b.c") where b.c is the
decomposed part
of the property (so 'a' is a C++ struct which decomposes into 'b', which
decomposes in to 'c'.)

Removing the complete decomposition of the task's properties would only allow
writeProperty("file","a")
and not allow to write individual components of the structure.

The only alternative I see is first trying to write with the not decomposed
tree, if that fails (because 'b.c' is
not found) try to decompose the sub-tree etc. I don't dare to make this change
before more unit tests check reading
and writing property files (and the composition/decomposition semantics).

If that part is properly covered, this optimisation can be done...