package org.ovirt.engine.api.restapi.types;
import org.ovirt.engine.api.model.Method;
import org.ovirt.engine.api.model.Methods;
import org.ovirt.engine.api.model.Sso;
import org.ovirt.engine.core.common.businessentities.SsoMethod;
public class SsoMapper {
@Mapping(from = SsoMethod.class, to = Sso.class)
public static Sso map(SsoMethod entity, Sso template) {
Sso model = (template == null)
? new Sso()
: template;
model.setMethods(new Methods());
if (entity == SsoMethod.GUEST_AGENT) {
Method method = new Method();
method.setId(org.ovirt.engine.api.model.SsoMethod.GUEST_AGENT);
model.getMethods().getMethods().add(method);
}
return model;
}
@Mapping(from = Sso.class, to = SsoMethod.class)
public static SsoMethod map(Sso model, SsoMethod template) {
if (model != null && model.getMethods() != null && model.getMethods().getMethods() != null) {
if (model.getMethods().getMethods().size() == 0) {
return SsoMethod.NONE;
}
if (model.getMethods().getMethods().size() == 1 && model.getMethods().getMethods().get(0).getId() == org.ovirt.engine.api.model.SsoMethod.GUEST_AGENT) {
return SsoMethod.GUEST_AGENT;
}
}
return null;
}
}