package org.ovirt.engine.core.utils.ovf; import java.util.List; import org.ovirt.engine.core.common.businessentities.VmTemplate; import org.ovirt.engine.core.common.businessentities.network.VmNetworkInterface; import org.ovirt.engine.core.common.businessentities.storage.DiskImage; import org.ovirt.engine.core.common.utils.VmCpuCountHelper; import org.ovirt.engine.core.compat.Version; public class OvfTemplateWriter extends OvfWriter { protected VmTemplate _vmTemplate; public OvfTemplateWriter(VmTemplate vmTemplate, List<DiskImage> images, Version version) { super(vmTemplate, images, version); _vmTemplate = vmTemplate; } @Override protected void writeGeneralData() { super.writeGeneralData(); _writer.writeStartElement(OvfProperties.NAME); _writer.writeRaw(_vmTemplate.getName()); _writer.writeEndElement(); _writer.writeStartElement(OvfProperties.TEMPLATE_ID); _writer.writeRaw(_vmTemplate.getId().toString()); _writer.writeEndElement(); _writer.writeStartElement(OvfProperties.ORIGIN); _writer.writeRaw(_vmTemplate.getOrigin() == null ? "" : String.valueOf(_vmTemplate.getOrigin().getValue())); _writer.writeEndElement(); _writer.writeStartElement(OvfProperties.TEMPLATE_DEFAULT_DISPLAY_TYPE); _writer.writeRaw(String.valueOf(_vmTemplate.getDefaultDisplayType().getValue())); _writer.writeEndElement(); _writer.writeStartElement(OvfProperties.IS_DISABLED); _writer.writeRaw(String.valueOf(_vmTemplate.isDisabled())); _writer.writeEndElement(); _writer.writeStartElement(OvfProperties.TRUSTED_SERVICE); _writer.writeRaw(String.valueOf(_vmTemplate.isTrustedService())); _writer.writeEndElement(); _writer.writeStartElement(OvfProperties.TEMPLATE_TYPE); _writer.writeRaw(_vmTemplate.getTemplateType().name()); _writer.writeEndElement(); _writer.writeStartElement(OvfProperties.BASE_TEMPLATE_ID); _writer.writeRaw(_vmTemplate.getBaseTemplateId().toString()); _writer.writeEndElement(); _writer.writeStartElement(OvfProperties.TEMPLATE_VERSION_NUMBER); _writer.writeRaw(String.valueOf(_vmTemplate.getTemplateVersionNumber())); _writer.writeEndElement(); _writer.writeStartElement(OvfProperties.TEMPLATE_VERSION_NAME); _writer.writeRaw(_vmTemplate.getTemplateVersionName()); _writer.writeEndElement(); _writer.writeStartElement("AutoStartup"); // aka highly available _writer.writeRaw(String.valueOf(_vmTemplate.isAutoStartup())); _writer.writeEndElement(); } @Override protected Integer maxNumOfVcpus() { return VmCpuCountHelper.calcMaxVCpu(_vmTemplate, getVersion()); } @Override protected void writeAppList() { } @Override protected void writeMacAddress(VmNetworkInterface iface) { } }