package org.ovirt.engine.api.restapi.types; import org.ovirt.engine.api.model.FencingPolicy; import org.ovirt.engine.api.model.SkipIfConnectivityBroken; import org.ovirt.engine.api.model.SkipIfSdActive; public class FencingPolicyMapper { @Mapping(from = FencingPolicy.class, to = org.ovirt.engine.core.common.businessentities.FencingPolicy.class) public static org.ovirt.engine.core.common.businessentities.FencingPolicy map(FencingPolicy model, org.ovirt.engine.core.common.businessentities.FencingPolicy template) { org.ovirt.engine.core.common.businessentities.FencingPolicy entity = template != null ? template : new org.ovirt.engine.core.common.businessentities.FencingPolicy(); entity.setFencingEnabled(model.isEnabled()); if (model.isSetSkipIfSdActive()) { entity.setSkipFencingIfSDActive(model.getSkipIfSdActive().isEnabled()); } if (model.isSetSkipIfConnectivityBroken()) { entity.setSkipFencingIfConnectivityBroken(model.getSkipIfConnectivityBroken().isEnabled()); if (model.getSkipIfConnectivityBroken().getThreshold() != null) { entity.setHostsWithBrokenConnectivityThreshold(model.getSkipIfConnectivityBroken().getThreshold()); } else { entity.setHostsWithBrokenConnectivityThreshold(50); } } if (model.isSetSkipIfGlusterBricksUp()) { entity.setSkipFencingIfGlusterBricksUp(model.isSkipIfGlusterBricksUp()); } if (model.isSetSkipIfGlusterQuorumNotMet()) { entity.setSkipFencingIfGlusterQuorumNotMet(model.isSkipIfGlusterQuorumNotMet()); } return entity; } @Mapping(from = org.ovirt.engine.core.common.businessentities.FencingPolicy.class, to = FencingPolicy.class) public static FencingPolicy map(org.ovirt.engine.core.common.businessentities.FencingPolicy entity, FencingPolicy template) { FencingPolicy model = template != null ? template : new FencingPolicy(); SkipIfSdActive skipIfSdActive = new SkipIfSdActive(); SkipIfConnectivityBroken skipIfConnBroken = new SkipIfConnectivityBroken(); skipIfSdActive.setEnabled(entity.isSkipFencingIfSDActive()); skipIfConnBroken.setEnabled(entity.isSkipFencingIfConnectivityBroken()); skipIfConnBroken.setThreshold(entity.getHostsWithBrokenConnectivityThreshold()); model.setEnabled(entity.isFencingEnabled()); model.setSkipIfSdActive(skipIfSdActive); model.setSkipIfConnectivityBroken(skipIfConnBroken); model.setSkipIfGlusterBricksUp(entity.isSkipFencingIfGlusterBricksUp()); model.setSkipIfGlusterQuorumNotMet(entity.isSkipFencingIfGlusterQuorumNotMet()); return model; } }