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

Reply via email to