package org.ovirt.engine.core.bll.gluster; import java.util.List; import org.ovirt.engine.core.common.businessentities.gluster.BrickProfileDetails; import org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeProfileInfo; import org.ovirt.engine.core.common.queries.gluster.GlusterVolumeProfileParameters; import org.ovirt.engine.core.common.vdscommands.VDSCommandType; import org.ovirt.engine.core.common.vdscommands.VDSReturnValue; import org.ovirt.engine.core.common.vdscommands.gluster.GlusterVolumeProfileInfoVDSParameters; /** * Query to fetch gluster volume profile info for the given the volume */ public class GetGlusterVolumeProfileInfoQuery<P extends GlusterVolumeProfileParameters> extends GlusterQueriesCommandBase<P> { public GetGlusterVolumeProfileInfoQuery(P parameters) { super(parameters); } @Override protected void executeQueryCommand() { VDSReturnValue returnValue = runVdsCommand(VDSCommandType.GetGlusterVolumeProfileInfo, new GlusterVolumeProfileInfoVDSParameters(getParameters().getClusterId(), getUpServerId(getParameters().getClusterId()), getGlusterVolumeName(getParameters().getVolumeId()), getParameters().isNfs())); GlusterVolumeProfileInfo profileInfo = (GlusterVolumeProfileInfo) returnValue.getReturnValue(); if (!getParameters().isNfs()) { populateBrickNames(profileInfo); } getQueryReturnValue().setReturnValue(profileInfo); } protected GlusterVolumeProfileInfo populateBrickNames(GlusterVolumeProfileInfo profileInfo) { List<BrickProfileDetails> brickProfiles= profileInfo.getBrickProfileDetails(); for(BrickProfileDetails brickProfileDetails : brickProfiles) { brickProfileDetails.setIdentity(glusterBrickDao.getById(brickProfileDetails.getBrickId()).getQualifiedName()); } return profileInfo; } }