package org.ovirt.engine.core.bll; import org.ovirt.engine.core.common.console.ConsoleDescriptorGenerator; import org.ovirt.engine.core.common.console.ConsoleOptions; import org.ovirt.engine.core.common.queries.ConsoleOptionsParams; /** * Generates descriptor file (for now only .vv file for SPICE and VNC is supported) * for given graphics protocol of given vm. * * @param <P> ConsoleOptions instance used for generating descriptor. */ public class GetConsoleDescriptorFileQuery<P extends ConsoleOptionsParams> extends QueriesCommandBase<P> { public GetConsoleDescriptorFileQuery(P parameters) { super(parameters); } @Override protected boolean validateInputs() { ConsoleOptions options = getParameters().getOptions(); if (options == null) { getQueryReturnValue().setExceptionString("Console options must be specified."); return false; } if (options.getVmId() == null) { getQueryReturnValue().setExceptionString("VM id must be specified."); return false; } if (options.getGraphicsType() == null) { getQueryReturnValue().setExceptionString("Graphics Type or Console Options must must be specified."); return false; } return true; } @Override protected void executeQueryCommand() { getQueryReturnValue().setReturnValue(ConsoleDescriptorGenerator.generateDescriptor(getParameters().getOptions())); } }