Michal Fojtik created DTACLOUD-499:
--------------------------------------
Summary: The 'ref' attributes are not (de)serialized propertly
Key: DTACLOUD-499
URL: https://issues.apache.org/jira/browse/DTACLOUD-499
Project: DeltaCloud
Issue Type: Bug
Components: CIMI/Frontend
Reporter: Michal Fojtik
Assignee: David Lutterkort
If you have this definition in CIMI model (MachineTemplate in this case):
array :volume_templates do
ref :volume_template
end
and you use this JSON in .from_json method to create an instance of the
MachineTemplate:
<snip>
'volume_templates' : [
{ 'volumeConfig' : { 'capacity' : '12345' } }
]
</snip>
The resulting 'machine_template.volume_templates.first.volume_config.capacity'
will be 'nil'.
I tried to play a bit with the input JSON and I found that if you use this:
<snip>
'volume_templates' : [
'volume_template' : {
{ 'volumeConfig' : { 'capacity' : '12345' } }
}
]
</snip>
The resulting
'machine_template.volume_templates.first.volume_template.capacity' is set
properly to '12345' :-)
The XML output then looks like:
<snip>
<volumeTemplate>
<volumeTemplate>
<volumeConfig>
<capacity>10240</capacity>
</volumeConfig>
</volumeTemplate>
</volumeTemplate>
</snip>
I think we need to do something smart in the 'array' to remove the upper
'volumeTemplate' or introduce something like 'ref_arr :volume_templates'.
Anyway, I'm leaving this one to you David, as you might have better schema
knowledge than me ;-)
CC'ing Dies, as he reported this issue original in his email.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira