package org.ovirt.engine.core.bll;
import javax.inject.Inject;
import org.ovirt.engine.core.bll.storage.ovfstore.OvfHelper;
import org.ovirt.engine.core.common.businessentities.ConfigurationType;
import org.ovirt.engine.core.common.queries.GetVmFromConfigurationQueryParameters;
import org.ovirt.engine.core.utils.ovf.OvfReaderException;
public class GetVmFromConfigurationQuery<P extends GetVmFromConfigurationQueryParameters> extends QueriesCommandBase<P> {
@Inject
private OvfHelper ovfHelper;
public GetVmFromConfigurationQuery(P parameters) {
super(parameters);
}
@Override
protected void executeQueryCommand() {
if (ConfigurationType.OVF.equals(getParameters().getConfigurationType())) {
try {
getQueryReturnValue().setReturnValue(ovfHelper.readVmFromOvf(getParameters().getVmConfiguration()));
getQueryReturnValue().setSucceeded(true);
} catch (OvfReaderException e) {
log.debug("failed to parse a given ovf configuration: \n" + getParameters().getVmConfiguration(), e);
getQueryReturnValue().setExceptionString("failed to parse a given ovf configuration " + e.getMessage());
}
}
}
}