package org.ovirt.engine.core.vdsbroker.gluster; import java.util.Map; import java.util.Set; import java.util.TreeSet; import org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeOptionInfo; import org.ovirt.engine.core.vdsbroker.irsbroker.StatusReturn; public final class GlusterVolumeOptionsInfoReturn extends StatusReturn { private static final String VOLUME_OPTIONS_DEFAULT = "volumeSetOptions"; // We are ignoring missing fields after the status, because on failure it is // not sent. // [MissingMapping(MappingAction.Ignore), Member("volumeOptionsDefaults")] public Set<GlusterVolumeOptionInfo> optionsHelpSet = new TreeSet<>(); @SuppressWarnings("unchecked") public GlusterVolumeOptionsInfoReturn(Map<String, Object> innerMap) { super(innerMap); Object[] temp = (Object[]) innerMap.get(VOLUME_OPTIONS_DEFAULT); if (temp != null) { for (int i = 0; i < temp.length; i++) { optionsHelpSet.add(prepareOptionHelpEntity((Map<String, Object>) temp[i])); } } } private GlusterVolumeOptionInfo prepareOptionHelpEntity(Map<String, Object> map) { GlusterVolumeOptionInfo entity = new GlusterVolumeOptionInfo(); entity.setKey(map.get("name").toString()); entity.setDefaultValue(map.get("defaultValue").toString()); entity.setDescription(map.get("description").toString()); return entity; } }