def self.read_one(reader)
return nil unless reader.forward
object = LogicalUnit.new
object.href = reader.get_attribute('href')
value = reader.get_attribute('address')
object.address = value if not value.nil?
value = reader.get_attribute('discard_max_size')
object.discard_max_size = value if not value.nil?
value = reader.get_attribute('discard_zeroes_data')
object.discard_zeroes_data = value if not value.nil?
value = reader.get_attribute('disk_id')
object.disk_id = value if not value.nil?
value = reader.get_attribute('id')
object.id = value if not value.nil?
value = reader.get_attribute('lun_mapping')
object.lun_mapping = value if not value.nil?
value = reader.get_attribute('password')
object.password = value if not value.nil?
value = reader.get_attribute('paths')
object.paths = value if not value.nil?
value = reader.get_attribute('port')
object.port = value if not value.nil?
value = reader.get_attribute('portal')
object.portal = value if not value.nil?
value = reader.get_attribute('product_id')
object.product_id = value if not value.nil?
value = reader.get_attribute('serial')
object.serial = value if not value.nil?
value = reader.get_attribute('size')
object.size = value if not value.nil?
value = reader.get_attribute('status')
object.status = value if not value.nil?
value = reader.get_attribute('storage_domain_id')
object.storage_domain_id = value if not value.nil?
value = reader.get_attribute('target')
object.target = value if not value.nil?
value = reader.get_attribute('username')
object.username = value if not value.nil?
value = reader.get_attribute('vendor_id')
object.vendor_id = value if not value.nil?
value = reader.get_attribute('volume_group_id')
object.volume_group_id = value if not value.nil?
empty = reader.empty_element?
reader.read
return object if empty
while reader.forward do
case reader.node_name
when 'address'
object.address = Reader.read_string(reader)
when 'discard_max_size'
object.discard_max_size = Reader.read_integer(reader)
when 'discard_zeroes_data'
object.discard_zeroes_data = Reader.read_boolean(reader)
when 'disk_id'
object.disk_id = Reader.read_string(reader)
when 'id'
object.id = Reader.read_string(reader)
when 'lun_mapping'
object.lun_mapping = Reader.read_integer(reader)
when 'password'
object.password = Reader.read_string(reader)
when 'paths'
object.paths = Reader.read_integer(reader)
when 'port'
object.port = Reader.read_integer(reader)
when 'portal'
object.portal = Reader.read_string(reader)
when 'product_id'
object.product_id = Reader.read_string(reader)
when 'serial'
object.serial = Reader.read_string(reader)
when 'size'
object.size = Reader.read_integer(reader)
when 'status'
object.status = Reader.read_string(reader)
when 'storage_domain_id'
object.storage_domain_id = Reader.read_string(reader)
when 'target'
object.target = Reader.read_string(reader)
when 'username'
object.username = Reader.read_string(reader)
when 'vendor_id'
object.vendor_id = Reader.read_string(reader)
when 'volume_group_id'
object.volume_group_id = Reader.read_string(reader)
else
reader.next_element
end
end
reader.read
return object
end