package org.ovirt.engine.api.restapi.util; import org.ovirt.engine.api.model.Icon; import org.ovirt.engine.api.model.VmBase; import org.ovirt.engine.core.common.action.HasVmIcon; import org.ovirt.engine.core.common.businessentities.VmIcon; import org.ovirt.engine.core.compat.Guid; public class IconHelper { private IconHelper() {} public static boolean validateIconParameters(VmBase incoming) { final boolean isLargeIconUpload = incoming.isSetLargeIcon() && incoming.getLargeIcon().isSetData() && incoming.getLargeIcon().isSetMediaType() && !incoming.getLargeIcon().isSetId() && !incoming.isSetSmallIcon(); final boolean isLargeIconIdSet = incoming.isSetLargeIcon() && incoming.getLargeIcon().isSetId() && !incoming.getLargeIcon().isSetData() && !incoming.getLargeIcon().isSetMediaType() && !incoming.isSetSmallIcon(); final boolean isSmallIconIdSet = incoming.isSetSmallIcon() && incoming.getSmallIcon().isSetId() && !incoming.getSmallIcon().isSetData() && !incoming.getSmallIcon().isSetMediaType() && !incoming.isSetLargeIcon(); final boolean isBothIconsIdSet = incoming.isSetLargeIcon() && incoming.getLargeIcon().isSetId() && !incoming.getLargeIcon().isSetData() && !incoming.getLargeIcon().isSetMediaType() && incoming.isSetSmallIcon() && incoming.getSmallIcon().isSetId() && !incoming.getSmallIcon().isSetData() && !incoming.getSmallIcon().isSetMediaType(); final boolean isNoIconSet = !incoming.isSetLargeIcon() && !incoming.isSetSmallIcon(); return isLargeIconUpload || isLargeIconIdSet || isSmallIconIdSet || isBothIconsIdSet || isNoIconSet; } public static void setIconToParams(VmBase incoming, HasVmIcon params) { if (isLargeIconSet(incoming)) { params.setVmLargeIcon(VmIcon.typeAndDataToDataUrl( incoming.getLargeIcon().getMediaType(), incoming.getLargeIcon().getData())); } } private static boolean isLargeIconSet(VmBase incoming) { return incoming.isSetLargeIcon() && incoming.getLargeIcon().isSetMediaType() && incoming.getLargeIcon().isSetData() && !incoming.getLargeIcon().isSetId() && !incoming.isSetSmallIcon(); } public static Icon createIcon(Guid id) { final Icon result = new Icon(); result.setId(id.toString()); return result; } }